aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/scan.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-02-11 07:21:27 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-02-11 07:21:27 -0500
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[] = {
38 { "PNP0D40" }, 38 { "PNP0D40" },
39 39
40 /* Haswell LPSS devices */ 40 /* Haswell LPSS devices */
41 { "INT33C0", 0 }, 41 { "INT33C0", ACPI_PLATFORM_CLK },
42 { "INT33C1", 0 }, 42 { "INT33C1", ACPI_PLATFORM_CLK },
43 { "INT33C2", 0 }, 43 { "INT33C2", ACPI_PLATFORM_CLK },
44 { "INT33C3", 0 }, 44 { "INT33C3", ACPI_PLATFORM_CLK },
45 { "INT33C4", 0 }, 45 { "INT33C4", ACPI_PLATFORM_CLK },
46 { "INT33C5", 0 }, 46 { "INT33C5", ACPI_PLATFORM_CLK },
47 { "INT33C6", 0 }, 47 { "INT33C6", ACPI_PLATFORM_CLK },
48 { "INT33C7", 0 }, 48 { "INT33C7", ACPI_PLATFORM_CLK },
49 49
50 { } 50 { }
51}; 51};
@@ -1578,6 +1578,7 @@ static acpi_status acpi_bus_check_add(acpi_handle handle, u32 lvl_not_used,
1578static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used, 1578static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
1579 void *not_used, void **ret_not_used) 1579 void *not_used, void **ret_not_used)
1580{ 1580{
1581 const struct acpi_device_id *id;
1581 acpi_status status = AE_OK; 1582 acpi_status status = AE_OK;
1582 struct acpi_device *device; 1583 struct acpi_device *device;
1583 unsigned long long sta_not_used; 1584 unsigned long long sta_not_used;
@@ -1593,9 +1594,10 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
1593 if (acpi_bus_get_device(handle, &device)) 1594 if (acpi_bus_get_device(handle, &device))
1594 return AE_CTRL_DEPTH; 1595 return AE_CTRL_DEPTH;
1595 1596
1596 if (!acpi_match_device_ids(device, acpi_platform_device_ids)) { 1597 id = __acpi_match_device(device, acpi_platform_device_ids);
1598 if (id) {
1597 /* This is a known good platform device. */ 1599 /* This is a known good platform device. */
1598 acpi_create_platform_device(device); 1600 acpi_create_platform_device(device, id->driver_data);
1599 } else if (device_attach(&device->dev) < 0) { 1601 } else if (device_attach(&device->dev) < 0) {
1600 status = AE_CTRL_DEPTH; 1602 status = AE_CTRL_DEPTH;
1601 } 1603 }
@@ -1717,6 +1719,7 @@ int __init acpi_scan_init(void)
1717 } 1719 }
1718 1720
1719 acpi_pci_root_init(); 1721 acpi_pci_root_init();
1722 acpi_csrt_init();
1720 1723
1721 /* 1724 /*
1722 * Enumerate devices in the ACPI namespace. 1725 * Enumerate devices in the ACPI namespace.