aboutsummaryrefslogtreecommitdiff
path: root/drivers/acpi/scan.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-02-11 13:21:27 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-02-11 13:21:27 +0100
commit17b1639b30e080dc577cbffe7a08d063708ec789 (patch)
tree3185a9a556b032504e753a536e693a5edfc413c3 /drivers/acpi/scan.c
parenta9834cb205bf0d2b52da7f603f43b62a09f503b7 (diff)
parente375325ce55eb841ccda54a4472cf3b0139ea5f2 (diff)
Merge branch 'acpi-lpss'
* acpi-lpss: ACPI / platform: create LPSS clocks if Lynxpoint devices are found during scan clk: x86: add support for Lynxpoint LPSS clocks x86: add support for Intel Low Power Subsystem ACPI / platform: fix comment about the platform device name ACPI: add support for CSRT table
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r--drivers/acpi/scan.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index cbf6e7729c39..c4358716aadc 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -38,14 +38,14 @@ static const struct acpi_device_id acpi_platform_device_ids[] = {
{ "PNP0D40" },
/* Haswell LPSS devices */
- { "INT33C0", 0 },
- { "INT33C1", 0 },
- { "INT33C2", 0 },
- { "INT33C3", 0 },
- { "INT33C4", 0 },
- { "INT33C5", 0 },
- { "INT33C6", 0 },
- { "INT33C7", 0 },
+ { "INT33C0", ACPI_PLATFORM_CLK },
+ { "INT33C1", ACPI_PLATFORM_CLK },
+ { "INT33C2", ACPI_PLATFORM_CLK },
+ { "INT33C3", ACPI_PLATFORM_CLK },
+ { "INT33C4", ACPI_PLATFORM_CLK },
+ { "INT33C5", ACPI_PLATFORM_CLK },
+ { "INT33C6", ACPI_PLATFORM_CLK },
+ { "INT33C7", ACPI_PLATFORM_CLK },
{ }
};
@@ -1578,6 +1578,7 @@ static acpi_status acpi_bus_check_add(acpi_handle handle, u32 lvl_not_used,
static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
void *not_used, void **ret_not_used)
{
+ const struct acpi_device_id *id;
acpi_status status = AE_OK;
struct acpi_device *device;
unsigned long long sta_not_used;
@@ -1593,9 +1594,10 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
if (acpi_bus_get_device(handle, &device))
return AE_CTRL_DEPTH;
- if (!acpi_match_device_ids(device, acpi_platform_device_ids)) {
+ id = __acpi_match_device(device, acpi_platform_device_ids);
+ if (id) {
/* This is a known good platform device. */
- acpi_create_platform_device(device);
+ acpi_create_platform_device(device, id->driver_data);
} else if (device_attach(&device->dev) < 0) {
status = AE_CTRL_DEPTH;
}
@@ -1717,6 +1719,7 @@ int __init acpi_scan_init(void)
}
acpi_pci_root_init();
+ acpi_csrt_init();
/*
* Enumerate devices in the ACPI namespace.