diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-01-30 14:27:40 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-01-30 14:27:40 +0100 |
commit | 141a297bd02e8ddc5ab625cc3a1a5926b1ff929a (patch) | |
tree | f89584c92cf7593fe8f52b28f2f80c97aa590721 /drivers/acpi/internal.h | |
parent | 4daeaf68379f75dedd120582add5206c7c5ad72e (diff) | |
download | linux-141a297bd02e8ddc5ab625cc3a1a5926b1ff929a.tar.gz linux-141a297bd02e8ddc5ab625cc3a1a5926b1ff929a.tar.bz2 linux-141a297bd02e8ddc5ab625cc3a1a5926b1ff929a.zip |
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>
Diffstat (limited to 'drivers/acpi/internal.h')
-rw-r--r-- | drivers/acpi/internal.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h index e5a65217e480..0d1397dc7003 100644 --- a/drivers/acpi/internal.h +++ b/drivers/acpi/internal.h @@ -27,6 +27,7 @@ int init_acpi_device_notify(void); int acpi_scan_init(void); void acpi_pci_root_init(void); void acpi_pci_link_init(void); +void acpi_platform_init(void); int acpi_sysfs_init(void); void acpi_csrt_init(void); @@ -119,10 +120,4 @@ static inline void suspend_nvs_restore(void) {} -------------------------------------------------------------------------- */ struct platform_device; -/* Flags for acpi_create_platform_device */ -#define ACPI_PLATFORM_CLK BIT(0) - -struct platform_device *acpi_create_platform_device(struct acpi_device *adev, - unsigned long flags); - #endif /* _ACPI_INTERNAL_H_ */ |