aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2010-10-25 22:06:54 -0400
committerLen Brown <len.brown@intel.com>2010-10-26 04:55:29 -0400
commitb1d248d96c71665c79befb81207f38f894c7c082 (patch)
treeeab81c2786ace3ee0121cd8a0a18c53e7c940bd0 /drivers
parentaf48931c4863ced64cc52c58757be6e254437f9a (diff)
ACPI: install ACPI table handler before any dynamic tables being loaded
ACPI table sysfs I/F is broken by commit 78f1699659963fff97975df44db6d5dbe7218e55 Author: Alex Chiang <achiang@hp.com> Date: Sun Dec 20 12:19:09 2009 -0700 ACPI: processor: call _PDC early because dynamic SSDT tables may be loaded in _PDC, before installing the ACPI table handler. As a result, the sysfs I/F of these dynamic tables are located at /sys/firmware/acpi/tables instead of /sys/firmware/acpi/tables/dynamic, which is not true. Invoke acpi_sysfs_init() before acpi_early_processor_set_pdc(), so that the table handler is installed before any dynamic tables loaded. https://bugzilla.kernel.org/show_bug.cgi?id=21142 CC: Dennis Jansen <dennis.jansen@web.de> CC: Alex Chiang <achiang@hp.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/bus.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 310e3b9749cb..d68bd61072bb 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -935,6 +935,12 @@ static int __init acpi_bus_init(void)
935 goto error1; 935 goto error1;
936 } 936 }
937 937
938 /*
939 * _PDC control method may load dynamic SSDT tables,
940 * and we need to install the table handler before that.
941 */
942 acpi_sysfs_init();
943
938 acpi_early_processor_set_pdc(); 944 acpi_early_processor_set_pdc();
939 945
940 /* 946 /*
@@ -1026,7 +1032,6 @@ static int __init acpi_init(void)
1026 acpi_scan_init(); 1032 acpi_scan_init();
1027 acpi_ec_init(); 1033 acpi_ec_init();
1028 acpi_power_init(); 1034 acpi_power_init();
1029 acpi_sysfs_init();
1030 acpi_debugfs_init(); 1035 acpi_debugfs_init();
1031 acpi_sleep_proc_init(); 1036 acpi_sleep_proc_init();
1032 acpi_wakeup_device_init(); 1037 acpi_wakeup_device_init();