diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-20 16:25:04 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-20 16:25:04 -0500 |
| commit | 82023bb7f75b0052f40d3e74169d191c3e4e6286 (patch) | |
| tree | 06ad7f507852adf41a2ca33d5cb7100faeaf8499 /include/linux | |
| parent | e6d69a60b77a6ea8d5f9d41765c7571bb8d45531 (diff) | |
| parent | ed6a82546d2e8f6b5902269541733814d4adacc2 (diff) | |
Merge tag 'pm+acpi-2-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more ACPI and power management updates from Rafael Wysocki:
- ACPI-based device hotplug fixes for issues introduced recently and a
fix for an older error code path bug in the ACPI PCI host bridge
driver
- Fix for recently broken OMAP cpufreq build from Viresh Kumar
- Fix for a recent hibernation regression related to s2disk
- Fix for a locking-related regression in the ACPI EC driver from
Puneet Kumar
- System suspend error code path fix related to runtime PM and runtime
PM documentation update from Ulf Hansson
- cpufreq's conservative governor fix from Xiaoguang Chen
- New processor IDs for intel_idle and turbostat and removal of an
obsolete Kconfig option from Len Brown
- New device IDs for the ACPI LPSS (Low-Power Subsystem) driver and
ACPI-based PCI hotplug (ACPIPHP) cleanup from Mika Westerberg
- Removal of several ACPI video DMI blacklist entries that are not
necessary any more from Aaron Lu
- Rework of the ACPI companion representation in struct device and code
cleanup related to that change from Rafael J Wysocki, Lan Tianyu and
Jarkko Nikula
- Fixes for assigning names to ACPI-enumerated I2C and SPI devices from
Jarkko Nikula
* tag 'pm+acpi-2-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration
ACPI / scan: Set flags.match_driver in acpi_bus_scan_fixed()
ACPI / PCI root: Clear driver_data before failing enumeration
ACPI / hotplug: Fix PCI host bridge hot removal
ACPI / hotplug: Fix acpi_bus_get_device() return value check
cpufreq: governor: Remove fossil comment in the cpufreq_governor_dbs()
ACPI / video: clean up DMI table for initial black screen problem
ACPI / EC: Ensure lock is acquired before accessing ec struct members
PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()
ACPI / AC: Remove struct acpi_device pointer from struct acpi_ac
spi: Use stable dev_name for ACPI enumerated SPI slaves
i2c: Use stable dev_name for ACPI enumerated I2C slaves
ACPI: Provide acpi_dev_name accessor for struct acpi_device device name
ACPI / bind: Use (put|get)_device() on ACPI device objects too
ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro
ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node
cpufreq: OMAP: Fix compilation error 'r & ret undeclared'
PM / Runtime: Fix error path for prepare
PM / Runtime: Update documentation around probe|remove|suspend
cpufreq: conservative: set requested_freq to policy max when it is over policy max
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/acpi.h | 23 | ||||
| -rw-r--r-- | include/linux/device.h | 12 | ||||
| -rw-r--r-- | include/linux/pci-acpi.h | 4 |
3 files changed, 28 insertions, 11 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index b0972c4ce81c..d9099b15b472 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -44,6 +44,20 @@ | |||
| 44 | #include <acpi/acpi_numa.h> | 44 | #include <acpi/acpi_numa.h> |
| 45 | #include <asm/acpi.h> | 45 | #include <asm/acpi.h> |
| 46 | 46 | ||
| 47 | static inline acpi_handle acpi_device_handle(struct acpi_device *adev) | ||
| 48 | { | ||
| 49 | return adev ? adev->handle : NULL; | ||
| 50 | } | ||
| 51 | |||
| 52 | #define ACPI_COMPANION(dev) ((dev)->acpi_node.companion) | ||
| 53 | #define ACPI_COMPANION_SET(dev, adev) ACPI_COMPANION(dev) = (adev) | ||
| 54 | #define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev)) | ||
| 55 | |||
| 56 | static inline const char *acpi_dev_name(struct acpi_device *adev) | ||
| 57 | { | ||
| 58 | return dev_name(&adev->dev); | ||
| 59 | } | ||
| 60 | |||
| 47 | enum acpi_irq_model_id { | 61 | enum acpi_irq_model_id { |
| 48 | ACPI_IRQ_MODEL_PIC = 0, | 62 | ACPI_IRQ_MODEL_PIC = 0, |
| 49 | ACPI_IRQ_MODEL_IOAPIC, | 63 | ACPI_IRQ_MODEL_IOAPIC, |
| @@ -401,6 +415,15 @@ static inline bool acpi_driver_match_device(struct device *dev, | |||
| 401 | 415 | ||
| 402 | #define acpi_disabled 1 | 416 | #define acpi_disabled 1 |
| 403 | 417 | ||
| 418 | #define ACPI_COMPANION(dev) (NULL) | ||
| 419 | #define ACPI_COMPANION_SET(dev, adev) do { } while (0) | ||
| 420 | #define ACPI_HANDLE(dev) (NULL) | ||
| 421 | |||
| 422 | static inline const char *acpi_dev_name(struct acpi_device *adev) | ||
| 423 | { | ||
| 424 | return NULL; | ||
| 425 | } | ||
| 426 | |||
| 404 | static inline void acpi_early_init(void) { } | 427 | static inline void acpi_early_init(void) { } |
| 405 | 428 | ||
| 406 | static inline int early_acpi_boot_init(void) | 429 | static inline int early_acpi_boot_init(void) |
diff --git a/include/linux/device.h b/include/linux/device.h index b025925df7f7..952b01033c32 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -644,9 +644,11 @@ struct device_dma_parameters { | |||
| 644 | unsigned long segment_boundary_mask; | 644 | unsigned long segment_boundary_mask; |
| 645 | }; | 645 | }; |
| 646 | 646 | ||
| 647 | struct acpi_device; | ||
| 648 | |||
| 647 | struct acpi_dev_node { | 649 | struct acpi_dev_node { |
| 648 | #ifdef CONFIG_ACPI | 650 | #ifdef CONFIG_ACPI |
| 649 | void *handle; | 651 | struct acpi_device *companion; |
| 650 | #endif | 652 | #endif |
| 651 | }; | 653 | }; |
| 652 | 654 | ||
| @@ -790,14 +792,6 @@ static inline struct device *kobj_to_dev(struct kobject *kobj) | |||
| 790 | return container_of(kobj, struct device, kobj); | 792 | return container_of(kobj, struct device, kobj); |
| 791 | } | 793 | } |
| 792 | 794 | ||
| 793 | #ifdef CONFIG_ACPI | ||
| 794 | #define ACPI_HANDLE(dev) ((dev)->acpi_node.handle) | ||
| 795 | #define ACPI_HANDLE_SET(dev, _handle_) (dev)->acpi_node.handle = (_handle_) | ||
| 796 | #else | ||
| 797 | #define ACPI_HANDLE(dev) (NULL) | ||
| 798 | #define ACPI_HANDLE_SET(dev, _handle_) do { } while (0) | ||
| 799 | #endif | ||
| 800 | |||
| 801 | /* Get the wakeup routines, which depend on struct device */ | 795 | /* Get the wakeup routines, which depend on struct device */ |
| 802 | #include <linux/pm_wakeup.h> | 796 | #include <linux/pm_wakeup.h> |
| 803 | 797 | ||
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h index d006f0ca60f4..5a462c4e5009 100644 --- a/include/linux/pci-acpi.h +++ b/include/linux/pci-acpi.h | |||
| @@ -27,7 +27,7 @@ static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev) | |||
| 27 | while (!pci_is_root_bus(pbus)) | 27 | while (!pci_is_root_bus(pbus)) |
| 28 | pbus = pbus->parent; | 28 | pbus = pbus->parent; |
| 29 | 29 | ||
| 30 | return DEVICE_ACPI_HANDLE(pbus->bridge); | 30 | return ACPI_HANDLE(pbus->bridge); |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus) | 33 | static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus) |
| @@ -39,7 +39,7 @@ static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus) | |||
| 39 | else | 39 | else |
| 40 | dev = &pbus->self->dev; | 40 | dev = &pbus->self->dev; |
| 41 | 41 | ||
| 42 | return DEVICE_ACPI_HANDLE(dev); | 42 | return ACPI_HANDLE(dev); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | void acpi_pci_add_bus(struct pci_bus *bus); | 45 | void acpi_pci_add_bus(struct pci_bus *bus); |
