patch-2.4.0-test11 linux/arch/i386/kernel/acpi.c

Next file: linux/arch/i386/kernel/apic.c
Previous file: linux/arch/i386/defconfig
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/arch/i386/kernel/acpi.c linux/arch/i386/kernel/acpi.c
@@ -258,6 +258,8 @@
 	{ACPI_FACP, "facp", &acpi_facp, 0, 0644, NULL, &acpi_do_table},
 
 	{ACPI_DSDT, "dsdt", &acpi_dsdt, 0, 0644, NULL, &acpi_do_table},
+	
+	{ACPI_FACS, "facs", &acpi_facs, 0, 0644, NULL, &acpi_do_table},
 
 	{ACPI_PM1_ENABLE, "pm1_enable",
 	 NULL, 0,
@@ -722,12 +724,21 @@
 		if (!acpi_init_table(&acpi_facp, dt, 1)) {
 			struct acpi_facp *facp
 				= (struct acpi_facp*) acpi_facp.table;
+			struct acpi_table *facs;
 
 			// map DSDT if it exists
-			dt = acpi_map_table(facp->dsdt);
-			if (acpi_init_table(&acpi_dsdt, dt, 1))
-				acpi_unmap_table(dt);
-
+			if ((dt = acpi_map_table(facp->dsdt))) {
+				if (acpi_init_table(&acpi_dsdt, dt, 1))
+					acpi_unmap_table(dt);
+			}
+			
+			/*
+			 * map FACS if it exists
+			 */
+			if ((facs = acpi_map_table(facp->facs))) {
+				if (acpi_init_table(&acpi_facs,facs,1))
+					acpi_unmap_table(facs);
+			}
 			break;
 		}
 		else {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)