linux/drivers/acpi
Mika Westerberg 06f64c8f23 driver core / ACPI: Move ACPI support to core device and driver types
With ACPI 5 we are starting to see devices that don't natively support
discovery but can be enumerated with the help of the ACPI namespace.
Typically, these devices can be represented in the Linux device driver
model as platform devices or some serial bus devices, like SPI or I2C
devices.

Since we want to re-use existing drivers for those devices, we need a
way for drivers to specify the ACPI IDs of supported devices, so that
they can be matched against device nodes in the ACPI namespace.  To
this end, it is sufficient to add a pointer to an array of supported
ACPI device IDs, that can be provided by the driver, to struct device.

Moreover, things like ACPI power management need to have access to
the ACPI handle of each supported device, because that handle is used
to invoke AML methods associated with the corresponding ACPI device
node.  The ACPI handles of devices are now stored in the archdata
member structure of struct device whose definition depends on the
architecture and includes the ACPI handle only on x86 and ia64. Since
the pointer to an array of supported ACPI IDs is added to struct
device_driver in an architecture-independent way, it is logical to
move the ACPI handle from archdata to struct device itself at the same
time.  This also makes code more straightforward in some places and
follows the example of Device Trees that have a poiter to struct
device_node in there too.

This changeset is based on Mika Westerberg's work.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-15 00:28:00 +01:00
..
acpica ACPICA: Table Manager: Merge duplicate code (root table) 2012-09-21 00:35:12 -04:00
apei ACPI, APEI: Fixup common access width firmware bug 2012-07-14 11:01:42 -04:00
ac.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
acpi_ipmi.c IPMI/ACPI: Add the IPMI opregion driver to enable ACPI to access BMC controller 2010-12-14 00:22:14 -05:00
acpi_memhotplug.c ACPI: Add _OST support for ACPI memory hotplug 2012-06-04 01:09:21 -04:00
acpi_pad.c Merge branches 'acpi_pad', 'acpica', 'apei-bugzilla-43282', 'battery', 'cpuidle-coupled', 'cpuidle-tweaks', 'intel_idle-ivb', 'ost', 'red-hat-bz-772730', 'thermal', 'thermal-spear' and 'turbostat-v2' into release 2012-07-26 00:03:58 -04:00
battery.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
bgrt.c efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
blacklist.c acpi: delete module.h include from files explicitly not needing it 2011-10-31 19:30:33 -04:00
bus.c ACPI: run _OSC after ACPI_FULL_INITIALIZATION 2012-09-25 00:15:07 -04:00
button.c ACPI/button: convert to module_acpi_driver() 2012-09-21 13:38:29 -04:00
cm_sbs.c
container.c ACPI: Add _OST support for ACPI container hotplug 2012-06-04 01:09:22 -04:00
custom_method.c ACPI: Split out custom_method functionality into an own driver 2011-05-29 01:50:40 -04:00
debugfs.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
dock.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ec_sys.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ec.c ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop 2012-10-06 14:57:33 -04:00
event.c acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL 2011-10-31 19:30:34 -04:00
fan.c ACPI/fan: convert to module_acpi_driver() 2012-09-21 13:39:03 -04:00
glue.c driver core / ACPI: Move ACPI support to core device and driver types 2012-11-15 00:28:00 +01:00
hed.c ACPI/hed: convert to module_acpi_driver() 2012-09-21 13:39:25 -04:00
internal.h ACPI: Cleanup custom_method debug stuff 2011-05-29 01:50:04 -04:00
Kconfig efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
Makefile ACPI: Reorder IPMI driver before any other ACPI drivers 2012-10-16 18:07:12 -07:00
numa.c ACPI: Only count valid srat memory structures 2012-08-03 00:15:53 -04:00
nvs.c ACPI / PM: print physical addresses consistently with other parts of kernel 2012-03-30 02:46:57 -04:00
osl.c ACPICA: Remove argument of acpi_os_wait_events_complete 2012-06-01 11:51:53 -04:00
pci_bind.c
pci_irq.c PCI/PM/Runtime: make PCI traces quieter 2012-01-06 12:11:16 -08:00
pci_link.c acpi: use KERN_CONT in printk() continuation lines 2012-05-08 08:55:26 -07:00
pci_root.c Merge branch 'pci/taku-acpi-pci-host-bridge-v3' into next 2012-09-24 16:36:10 -06:00
pci_slot.c PCI/ACPI: Use acpi_pci_root info rather than looking it up again 2012-09-24 15:29:40 -06:00
power.c ACPI / PM: Use KERN_DEBUG when no power resources are found 2012-09-14 20:54:44 +02:00
proc.c ACPI: Allow ACPI binding with USB-3.0 hub 2012-09-21 13:30:29 -04:00
processor_core.c cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression 2012-07-12 22:39:32 +02:00
processor_driver.c ACPI: missing break 2012-10-26 01:05:56 +02:00
processor_idle.c cpuidle / ACPI: fix potential NULL pointer dereference 2012-10-08 22:51:27 -04:00
processor_perflib.c ACPI: Add fixups for AMD P-state figures 2012-09-09 22:05:02 +02:00
processor_thermal.c ACPI: Do cpufreq clamping for throttling per package v2 2012-03-22 02:16:14 -04:00
processor_throttling.c ACPI throttling: fix endian bug in acpi_read_throttling_status() 2012-03-30 16:06:12 -04:00
reboot.c Revert "ACPI: ignore FADT reset-reg-sup flag" 2012-04-20 11:19:35 -07:00
sbs.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
sbshc.c ACPI/sbshc: convert to module_acpi_driver() 2012-09-21 13:39:40 -04:00
sbshc.h
scan.c Merge branches 'acpica', 'acpidump', 'intel-idle', 'misc', 'module_acpi_driver-simplify', 'turbostat' and 'usb3' into release 2012-10-06 16:00:32 -04:00
sleep.c Merge branches 'delete-gts-bfs', 'misc', 'novell-bugzilla-757888-numa' and 'osc-pcie' into base 2012-08-03 00:31:23 -04:00
sleep.h ACPI: static sleep_states[] and acpi_gts_bfs_check 2010-10-19 13:44:37 -04:00
sysfs.c ACPI: replace strlen("string") with sizeof("string") -1 2012-07-26 21:35:28 -04:00
tables.c ACPI: Harden acpi_table_parse_entries() against BIOS bug 2012-10-06 15:51:49 -04:00
thermal.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux into thermal 2012-10-09 01:35:52 -04:00
utils.c ACPI: Use ACPICA native way to decode the PLD buffer 2012-09-21 00:31:33 -04:00
video_detect.c acpi/video_detect: blacklist samsung x360 2012-07-28 00:11:48 -04:00
video.c ACPI video: Ignore errors after _DOD evaluation. 2012-11-03 09:52:54 +08:00
wakeup.c ACPI / Wakeup: Enable button GPEs unconditionally during initialization 2011-02-12 01:39:53 +01:00