“3dc494e86d1c93afd4c66385f270899dbfae483d”上不存在“arch/x86/include/asm/pgtable-3level.h”
  1. 04 2月, 2015 1 次提交
  2. 26 1月, 2015 1 次提交
    • L
      ACPICA: Resources: Provide common part for struct acpi_resource_address structures. · a45de93e
      Lv Zheng 提交于
      struct acpi_resource_address and struct acpi_resource_extended_address64 share substracts
      just at different offsets. To unify the parsing functions, OSPMs like Linux
      need a new ACPI_ADDRESS64_ATTRIBUTE as their substructs, so they can
      extract the shared data.
      
      This patch also synchronizes the structure changes to the Linux kernel.
      The usages are searched by matching the following keywords:
      1. acpi_resource_address
      2. acpi_resource_extended_address
      3. ACPI_RESOURCE_TYPE_ADDRESS
      4. ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS
      And we found and fixed the usages in the following files:
       arch/ia64/kernel/acpi-ext.c
       arch/ia64/pci/pci.c
       arch/x86/pci/acpi.c
       arch/x86/pci/mmconfig-shared.c
       drivers/xen/xen-acpi-memhotplug.c
       drivers/acpi/acpi_memhotplug.c
       drivers/acpi/pci_root.c
       drivers/acpi/resource.c
       drivers/char/hpet.c
       drivers/pnp/pnpacpi/rsparser.c
       drivers/hv/vmbus_drv.c
      
      Build tests are passed with defconfig/allnoconfig/allyesconfig and
      defconfig+CONFIG_ACPI=n.
      Original-by: NThomas Gleixner <tglx@linutronix.de>
      Original-by: NJiang Liu <jiang.liu@linux.intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a45de93e
  3. 14 10月, 2014 1 次提交
  4. 30 7月, 2014 1 次提交
    • R
      ACPI / PNP: Fix acpi_pnp_match() · b6328a07
      Rafael J. Wysocki 提交于
      The acpi_pnp_match() function is used for finding the ACPI device
      object that should be associated with the given PNP device.
      Unfortunately, the check used by that function is not strict enough
      and may cause success to be returned for a wrong ACPI device object.
      
      To fix that, use the observation that the pointer to the ACPI
      device object in question is already stored in the data field
      in struct pnp_dev, so acpi_pnp_match() can simply use that
      field to do its job.
      
      This problem was uncovered in 3.14 by commit 202317a5 (ACPI / scan:
      Add acpi_device objects for all device nodes in the namespace).
      
      Fixes: 202317a5 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
      Reported-and-tested-by: NVinson Lee <vlee@twopensource.com>
      Cc: 3.14+ <stable@vger.kernel.org> # 3.14+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b6328a07
  5. 23 7月, 2014 1 次提交
    • R
      ACPI / PNP: Use ACPI_COMPANION() instead of ACPI_HANDLE() · e70dba60
      Rafael J. Wysocki 提交于
      The ACPI_HANDLE() macro evaluates ACPI_COMPANION() internally to
      return the handle of the device's ACPI companion, so it is much
      more straightforward and efficient to use ACPI_COMPANION()
      directly to obtain the device's ACPI companion object instead of
      using ACPI_HANDLE() and acpi_bus_get_device() on the returned
      handle for the same thing.
      
      Do that in several places in the ACPI PNP core code.
      
      Also use acpi_device_set_power() and acpi_device_power_manageable()
      instead of acpi_bus_set_power() and acpi_bus_power_manageable(),
      respectively, because the former two are more efficient if the
      ACPI device object is already available.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e70dba60
  6. 07 7月, 2014 1 次提交
    • Z
      ACPI / PNP: do ACPI binding directly · f1b1dc84
      Zhang Rui 提交于
      PNPACPI uses acpi_bus_type to do ACPI binding for the PNPACPI devices.
      
      This is overkill because PNPACPI code already knows which ACPI
      device object to bind during PNPACPI device enumeration.
      
      This patch removes acpi_pnp_bus and does the binding by invoking
      acpi_bind_one() directly after device enumerated.
      
      This also fixes a bug in the previous code that some PNPACPI devices failed
      to be bound because
       1. the ACPI device _HID is not pnpid, e.g. "MSFT0001", but its _CID is,
          e.g. "PNP0303", thus ACPI _CID is used as the pnp device device id.
       2. device is bound only if the pnp device id matches the ACPI device _HID.
      Tested-by: NPrigent Christophe <christophe.prigent@intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f1b1dc84
  7. 30 5月, 2014 1 次提交
    • Z
      ACPI / PNP: use device ID list for PNPACPI device enumeration · eec15edb
      Zhang Rui 提交于
      ACPI can be used to enumerate PNP devices, but the code does not
      handle this in the right way currently.  Namely, if an ACPI device
      object
       1. Has a _CRS method,
       2. Has an identification of
          "three capital characters followed by four hex digits",
       3. Is not in the excluded IDs list,
      it will be enumerated to PNP bus (that is, a PNP device object will
      be create for it).  This means that, actually, the PNP bus type is
      used as the default bus type for enumerating _HID devices in ACPI.
      
      However, more and more _HID devices need to be enumerated to the
      platform bus instead (that is, platform device objects need to be
      created for them).  As a result, the device ID list in acpi_platform.c
      is used to enforce creating platform device objects rather than PNP
      device objects for matching devices.  That list has been continuously
      growing recently, unfortunately, and it is pretty much guaranteed to
      grow even more in the future.
      
      To address that problem it is better to enumerate _HID devices
      as platform devices by default.  To this end, change the way of
      enumerating PNP devices by adding a PNP ACPI scan handler that
      will use a device ID list to create PNP devices for the ACPI
      device objects whose device IDs are present in that list.
      
      The initial device ID list in the PNP ACPI scan handler contains
      all of the pnp_device_id strings from all the existing PNP drivers,
      so this change should be transparent to the PNP core and all of the
      PNP drivers.  Still, in the future it should be possible to reduce
      its size by converting PNP drivers that need not be PNP for any
      technical reasons into platform drivers.
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      [rjw: Rewrote the changelog, modified the PNP ACPI scan handler code]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      eec15edb
  8. 10 5月, 2014 1 次提交
  9. 06 5月, 2014 1 次提交
  10. 01 5月, 2014 1 次提交
  11. 30 4月, 2014 1 次提交
  12. 24 4月, 2014 1 次提交
  13. 21 3月, 2014 1 次提交
  14. 12 3月, 2014 1 次提交
  15. 14 2月, 2014 1 次提交
  16. 07 1月, 2014 1 次提交
  17. 06 1月, 2014 2 次提交
  18. 23 12月, 2013 1 次提交
  19. 07 12月, 2013 2 次提交
    • R
      ACPI / bind: Rework struct acpi_bus_type · e3f02c52
      Rafael J. Wysocki 提交于
      Replace the .find_device function pointer in struct acpi_bus_type
      with a new one, .find_companion, that is supposed to point to a
      function returning struct acpi_device pointer (instead of an int)
      and takes one argument (instead of two).  This way the role of
      this callback is more clear and the implementation of it can
      be more straightforward.
      
      Update all of the users of struct acpi_bus_type (PCI, PNP/ACPI and
      USB) to reflect the structure change.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Tested-by: Lan Tianyu <tianyu.lan@intel.com> # for USB/ACPI
      e3f02c52
    • L
      ACPI: Clean up inclusions of ACPI header files · 8b48463f
      Lv Zheng 提交于
      Replace direct inclusions of <acpi/acpi.h>, <acpi/acpi_bus.h> and
      <acpi/acpi_drivers.h>, which are incorrect, with <linux/acpi.h>
      inclusions and remove some inclusions of those files that aren't
      necessary.
      
      First of all, <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h>
      should not be included directly from any files that are built for
      CONFIG_ACPI unset, because that generally leads to build warnings about
      undefined symbols in !CONFIG_ACPI builds.  For CONFIG_ACPI set,
      <linux/acpi.h> includes those files and for CONFIG_ACPI unset it
      provides stub ACPI symbols to be used in that case.
      
      Second, there are ordering dependencies between those files that always
      have to be met.  Namely, it is required that <acpi/acpi_bus.h> be included
      prior to <acpi/acpi_drivers.h> so that the acpi_pci_root declarations the
      latter depends on are always there.  And <acpi/acpi.h> which provides
      basic ACPICA type declarations should always be included prior to any other
      ACPI headers in CONFIG_ACPI builds.  That also is taken care of including
      <linux/acpi.h> as appropriate.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Acked-by: Bjorn Helgaas <bhelgaas@google.com> (drivers/pci stuff)
      Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> (Xen stuff)
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8b48463f
  20. 05 12月, 2013 1 次提交
  21. 15 11月, 2013 1 次提交
  22. 17 10月, 2013 1 次提交
  23. 24 9月, 2013 1 次提交
  24. 12 9月, 2013 1 次提交
    • S
      pnp: change pnp bus pm_ops to invoke pnp driver dev_pm_ops if specified · 729377d5
      Shuah Khan 提交于
      pnp_bus_suspend() and pnp_bus_resume() invoke legacy pm_ops from
      pnp_driver.  Changed pnp_bus_suspend() and pnp_bus_resume() to check if
      pnp driver has dev_pm_ops and call.  If dev_pm_ops don't exist, then call
      use legacy pm_ops.  Without this change, pnp_driver dev_pm_ops will not
      get called.
      
      In addition to the pnp driver bus pm_ops change to invoke driver
      dev_pm_ops, this patch set contains changes to rtc-cmos, tpm_tis, and
      apple-gmux pnp drivers to convert from legacy pm_ops to dev_pm_ops.
      
      This patch (of 4):
      
      pnp_bus_suspend() and pnp_bus_resume() invoke legacy pm_ops from
      pnp_driver.  Changed pnp_bus_suspend() and pnp_bus_resume() to check if
      pnp driver has dev_pm_ops and call.  If dev_pm_ops don't exist, then call
      use legacy pm_ops.  Without this change, pnp_driver dev_pm_ops will not
      get called.
      Signed-off-by: NShuah Khan <shuah.kh@samsung.com>
      Cc: Matthew Garrett <matthew.garrett@nebula.com>
      Cc: Leonidas Da Silva Barbosa <leosilva@linux.vnet.ibm.com>
      Cc: Ashley Lai <ashley@ashleylai.com>
      Cc: Rajiv Andrade <mail@srajiv.net>
      Cc: Marcel Selhorst <tpmdd@selhorst.net>
      Cc: Sirrix AG <tpmdd@sirrix.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Peter Hüwe <PeterHuewe@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      729377d5
  25. 30 7月, 2013 1 次提交
  26. 27 7月, 2013 1 次提交
  27. 18 7月, 2013 1 次提交
  28. 29 6月, 2013 1 次提交
  29. 22 5月, 2013 1 次提交
    • D
      pnp: restore automatic resolution of DMA conflicts · bdf0eb3a
      David Flater 提交于
      To fix a 5-year-old regression, reverse changes made by commit
      7ef36390 (PNP: don't fail device init if no DMA channel available).
      
      As an example to show the problem, my sound card provides a
      prioritized list of PnP "dependent sets" of requested resources:
      
        dependent set 0 (preferred) wants DMA 5.
        dependent set 1 (acceptable) will take DMA 5, 6, or 7.
        ...
        dependent set 4 (acceptable) doesn't request a high DMA.
      
      If DMA 5 is not available, pnp_assign_dma has to fail on set 0 so that
      pnp_auto_config_dev will move on to set 1 and get DMA 6 or 7.
      Instead, pnp_assign_dma adds the resource with flags |=
      IORESOURCE_DISABLED and returns success.  pnp_auto_config_dev just
      sees success and therefore chooses set 0 with a disabled DMA and never
      tries the sets that would have resolved the conflict.
      
      Furthermore, this mode of "success" is unexpected and unhandled in
      sound/isa/sb and probably other drivers.  sb assumes that the returned
      DMA is enabled and obliviously uses the invalid DMA number.  Observed
      consequences were sb successfully grabbing a DMA that was expressly
      forbidden by the kernel parameter pnp_reserve_dma.
      
      The only upside to the original change would be as a kludge for
      devices that can operate in degraded mode without a DMA but that don't
      provide the corresponding non-preferred dependent set.  The right
      workaround for those devices is to synthesize the missing set in
      quirks.c; otherwise, you're reinventing PnP fallback functionality at
      the driver level for that device and all others.
      Signed-off-by: NDavid Flater <dave@flaterco.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      bdf0eb3a
  30. 02 5月, 2013 1 次提交
  31. 23 4月, 2013 2 次提交
  32. 18 4月, 2013 1 次提交
  33. 10 4月, 2013 1 次提交
    • A
      procfs: new helper - PDE_DATA(inode) · d9dda78b
      Al Viro 提交于
      The only part of proc_dir_entry the code outside of fs/proc
      really cares about is PDE(inode)->data.  Provide a helper
      for that; static inline for now, eventually will be moved
      to fs/proc, along with the knowledge of struct proc_dir_entry
      layout.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d9dda78b
  34. 24 3月, 2013 1 次提交
  35. 04 3月, 2013 1 次提交
    • R
      ACPI / glue: Add .match() callback to struct acpi_bus_type · 53540098
      Rafael J. Wysocki 提交于
      USB uses the .find_bridge() callback from struct acpi_bus_type
      incorrectly, because as a result of the way it is used by USB every
      device in the system that doesn't have a bus type or parent is
      passed to usb_acpi_find_device() for inspection.
      
      What USB actually needs, though, is to call usb_acpi_find_device()
      for USB ports that don't have a bus type defined, but have
      usb_port_device_type as their device type, as well as for USB
      devices.
      
      To fix that replace the struct bus_type pointer in struct
      acpi_bus_type used for matching devices to specific subsystems
      with a .match() callback to be used for this purpose and update
      the users of struct acpi_bus_type, including USB, accordingly.
      Define the .match() callback routine for USB, usb_acpi_bus_match(),
      in such a way that it will cover both USB devices and USB ports
      and remove the now redundant .find_bridge() callback pointer from
      usb_acpi_bus.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NYinghai Lu <yinghai@kernel.org>
      Acked-by: NJeff Garzik <jgarzik@pobox.com>
      53540098
  36. 23 2月, 2013 1 次提交
  37. 01 2月, 2013 1 次提交