1. 17 1月, 2015 27 次提交
  2. 20 10月, 2014 1 次提交
  3. 06 10月, 2014 1 次提交
  4. 30 7月, 2014 5 次提交
  5. 28 5月, 2014 1 次提交
    • L
      ACPI: Clean up acpi_os_map/unmap_memory() to eliminate __iomem. · a238317c
      Lv Zheng 提交于
      ACPICA doesn't include protections around address space checking, Linux
      build tests always complain increased sparse warnings around ACPICA
      internal acpi_os_map/unmap_memory() invocations.  This patch tries to fix
      this issue permanently.
      
      There are 2 choices left for us to solve this issue:
       1. Add __iomem address space awareness into ACPICA.
       2. Remove sparse checker of __iomem from ACPICA source code.
      
      This patch chooses solution 2, because:
       1.  Most of the acpi_os_map/unmap_memory() invocations are used for ACPICA.
           table mappings, which in fact are not IO addresses.
       2.  The only IO addresses usage is for "system memory space" mapping code in:
            drivers/acpi/acpica/exregion.c
            drivers/acpi/acpica/evrgnini.c
            drivers/acpi/acpica/exregion.c
          The mapped address is accessed in the handler of "system memory space"
          - acpi_ex_system_memory_space_handler().  This function in fact can be
          changed to invoke acpi_os_read/write_memory() so that __iomem can
          always be type-casted in the OSL layer.
      
      According to the above investigation, we drew the following conclusion:
      It is not a good idea to introduce __iomem address space awareness into
      ACPICA mostly in order to protect non-IO addresses.
      
      We can simply remove __iomem for acpi_os_map/unmap_memory() to remove
      __iomem checker for ACPICA code. Then we need to enforce external usages
      to invoke other APIs that are aware of __iomem address space.
      The external usages are:
       drivers/acpi/apei/einj.c
       drivers/acpi/acpi_extlog.c
       drivers/char/tpm/tpm_acpi.c
       drivers/acpi/nvs.c
      
      This patch thus performs cleanups in this way:
       1. Add acpi_os_map/unmap_iomem() to be invoked by non-ACPICA code.
       2. Remove __iomem from acpi_os_map/unmap_memory().
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a238317c
  6. 12 5月, 2014 1 次提交
    • R
      ACPI / TPM: Fix resume regression on Chromebooks · f7595464
      Rafael J. Wysocki 提交于
      Chromebooks (at least Acer C720 and Pixel) implement an ACPI object
      for TPM, but don't implement the _DSM method to support PPI.  As
      a result, the TPM driver fails to load on those machines after
      commit 1569a4c4 (ACPI / TPM: detect PPI features by checking
      availability of _DSM functions) which causes them to fail to
      resume from system suspend, becuase they require the TPM hardware
      to be put into the right state during resume and the TPM driver
      is necessary for that.
      
      Fix the problem by making tpm_add_ppi() return 0 when tpm_ppi_handle
      is still NULL after walking the ACPI namespace in search for the PPI
      _DSM, which allows the TPM driver to load and operate the hardware
      (during system resume in particular), but avoid creating the PPI
      sysfs group in that case.
      
      This change is based on a prototype patch from Jiang Liu.
      
      Fixes: 1569a4c4 (ACPI / TPM: detect PPI features by checking availability of _DSM functions)
      References: https://bugzilla.kernel.org/show_bug.cgi?id=74021Reported-by: NJames Duley <jagduley@gmail.com>
      Reported-by: NPhillip Dixon <phil@dixon.gen.nz>
      Tested-by: NBrandon Casey <drafnel@gmail.com>
      Cc: 3.14+ <stable@vger.kernel.org> # 3.14+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f7595464
  7. 08 4月, 2014 1 次提交
  8. 08 2月, 2014 1 次提交
    • P
      drivers/char: delete non-required instances of include <linux/init.h> · 4c020b03
      Paul Gortmaker 提交于
      None of these files are actually using any __init type directives
      and hence don't need to include <linux/init.h>.  Most are just a
      left over from __devinit and __cpuinit removal, or simply due to
      code getting copied from one driver to the next.
      
      Cc: David Airlie <airlied@linux.ie>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Peter Huewe <peterhuewe@gmx.de>
      Cc: Ashley Lai <ashley@ashleylai.com>
      Cc: Marcel Selhorst <tpmdd@selhorst.net>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4c020b03
  9. 06 1月, 2014 2 次提交