linux/drivers/acpi
Rafael J. Wysocki 141a297bd0 ACPI / platform: Use struct acpi_scan_handler for creating devices
Currently, the ACPI namespace scanning code creates platform device
objects for ACPI device nodes whose IDs match the contents of the
acpi_platform_device_ids[] table.  However, this adds a superfluous
special case into acpi_bus_device_attach() and makes it more
difficult to follow than it has to be.  It also will make it more
difficult to implement removal code for those platform device objects
in the future.

For the above reasons, introduce a struct acpi_scan_handler object
for creating platform devices and move the code related to that from
acpi_bus_device_attach() to the .attach() callback of that object.
Also move the acpi_platform_device_ids[] table to acpi_platform.c.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Acked-by: Toshi Kani <toshi.kani@hp.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2013-01-30 14:27:40 +01:00
..
acpica ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
apei ACPI, APEI: Fixup incorrect 64-bit access width firmware bug 2013-01-19 01:34:43 +01:00
ac.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_i2c.c i2c / ACPI: add ACPI enumeration support 2012-11-23 12:23:40 +01: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: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_pad.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_platform.c ACPI / platform: Use struct acpi_scan_handler for creating devices 2013-01-30 14:27:40 +01:00
battery.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01: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 / PM: Move device power management functions to device_pm.c 2013-01-19 22:09:22 +01:00
button.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
cm_sbs.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
container.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
csrt.c ACPI: add support for CSRT table 2013-01-19 22:16:21 +01: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
device_pm.c Merge branch 'acpi-scan' into acpi-cleanup 2013-01-26 00:36:44 +01:00
dock.c ACPI / scan: Make it clear that acpi_bus_trim() cannot fail 2013-01-26 00:27:44 +01:00
ec_sys.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ec.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01: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: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
glue.c Merge branch 'acpi-scan' into acpi-cleanup 2013-01-26 00:36:44 +01:00
hed.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
internal.h ACPI / platform: Use struct acpi_scan_handler for creating devices 2013-01-30 14:27:40 +01:00
Kconfig Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 10:03:23 -08:00
Makefile ACPI: add support for CSRT table 2013-01-19 22:16:21 +01:00
numa.c ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
nvs.c ACPI / PM: print physical addresses consistently with other parts of kernel 2012-03-30 02:46:57 -04:00
osl.c Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 10:03:23 -08:00
pci_irq.c PCI changes for the v3.8 merge window: 2012-12-13 12:14:47 -08:00
pci_link.c ACPI / PCI: Make PCI IRQ link driver use struct acpi_scan_handler 2013-01-30 14:27:37 +01:00
pci_root.c ACPI / PCI: Make PCI root driver use struct acpi_scan_handler 2013-01-30 14:27:33 +01: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: Fix consistency check for power resources during resume 2013-01-25 21:51:57 +01:00
proc.c ACPI / PM: Fix /proc/acpi/wakeup for devices w/o bus or parent 2013-01-27 21:40:11 +01: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: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
processor_idle.c Merge branch 'acpi-lpss' into acpi-cleanup 2013-01-29 13:59:00 +01:00
processor_perflib.c ACPI: Check MSR valid bit before using P-state frequencies 2013-01-22 13:37:21 +01: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
resource.c ACPI: remove unnecessary INIT_LIST_HEAD 2012-11-27 13:49:36 +01:00
sbs.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.h
scan.c ACPI / platform: Use struct acpi_scan_handler for creating devices 2013-01-30 14:27:40 +01:00
sleep.c ACPI / PM: Consolidate suspend-specific and hibernate-specific code 2013-01-19 22:09:23 +01:00
sleep.h ACPI: Drop power resources driver 2013-01-17 14:11:06 +01:00
sysfs.c ACPICA: Fix AcpiSrc caused divergences. 2012-11-15 00:31:23 +01:00
tables.c ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
thermal.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
utils.c ACPI: Add acpi_handle_<level>() interfaces 2012-11-21 23:20:22 +01:00
video_detect.c ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist 2012-11-30 13:02:50 +01:00
video.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
wakeup.c ACPI / Wakeup: Enable button GPEs unconditionally during initialization 2011-02-12 01:39:53 +01:00