Messages in this thread | | | Date | Thu, 11 Sep 2008 14:07:39 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 6 of 7] x86: use early_ioremap in __acpi_map_table |
| |
Yinghai Lu wrote: > void __iomem *__init_refok > acpi_os_map_memory(acpi_physical_address phys, acpi_size size) > { > if (phys > ULONG_MAX) { > printk(KERN_ERR PREFIX "Cannot map memory that high\n"); > return NULL; > } > if (acpi_gbl_permanent_mmap) > /* > * ioremap checks to ensure this is in reserved space > */ > return ioremap((unsigned long)phys, size); > else > return __acpi_map_table((unsigned long)phys, size); > } > EXPORT_SYMBOL_GPL(acpi_os_map_memory); > > void acpi_os_unmap_memory(void __iomem * virt, acpi_size size) > { > if (acpi_gbl_permanent_mmap) { > iounmap(virt); > } > } > EXPORT_SYMBOL_GPL(acpi_os_unmap_memory); > > just let acpi_os_unmap_memory to call __acpi_unmap_table... >
That was my first attempt. Unfortunately a lot of the acpi code seems pretty sloppy about unmapping its tables, and basically relies on __acpi_map_table's current behaviour of removing the previous mapping when creating the new mapping.
J
| |