提交 05876f88 编写于 作者: J Jeremy Fitzhardinge 提交者: Ingo Molnar

acpi: remove final __acpi_map_table mapping before setting acpi_gbl_permanent_mmap

On x86, __acpi_map_table uses early_ioremap() to create the mapping,
replacing the previous mapping with a new one.  Once enough of the
kernel is up an running it switches to using normal ioremap().  At
that point, we need to clean up the final mapping to avoid a warning
from the early_ioremap subsystem.

This can be removed after all the instances in the ACPI code are fixed
that rely on early-ioremap's implicit overmapping of previously
mapped tables.
Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: NLen Brown <len.brown@intel.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 eecb9a69
......@@ -124,12 +124,14 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size)
static char *prev_map;
static unsigned long prev_size;
if (prev_map) {
early_iounmap(prev_map, prev_size);
prev_map = NULL;
}
if (!phys || !size)
return NULL;
if (prev_map)
early_iounmap(prev_map, prev_size);
prev_size = size;
prev_map = early_ioremap(phys, size);
......
......@@ -694,6 +694,12 @@ void __init acpi_early_init(void)
if (!acpi_strict)
acpi_gbl_enable_interpreter_slack = TRUE;
/*
* Doing a zero-sized mapping will clear out the previous
* __acpi_map_table() mapping, if any.
*/
__acpi_map_table(0, 0);
acpi_gbl_permanent_mmap = 1;
status = acpi_reallocate_root_table();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册