linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / acpi / tables.c
index bfb3bfc..31d4f3f 100644 (file)
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -281,8 +282,8 @@ acpi_get_table_header_early(enum acpi_table_id id,
 
        /* Map the DSDT header via the pointer in the FADT */
        if (id == ACPI_DSDT) {
-               struct fadt_descriptor *fadt =
-                   (struct fadt_descriptor *)*header;
+               struct fadt_descriptor_rev2 *fadt =
+                   (struct fadt_descriptor_rev2 *)*header;
 
                if (fadt->revision == 3 && fadt->Xdsdt) {
                        *header = (void *)__acpi_map_table(fadt->Xdsdt,
@@ -586,8 +587,7 @@ int __init acpi_table_init(void)
                return -ENODEV;
        }
 
-       rsdp = (struct acpi_table_rsdp *)__acpi_map_table(rsdp_phys,
-               sizeof(struct acpi_table_rsdp));
+       rsdp = (struct acpi_table_rsdp *)__va(rsdp_phys);
        if (!rsdp) {
                printk(KERN_WARNING PREFIX "Unable to map RSDP\n");
                return -ENODEV;