On Friday, January 10, 2014 03:52:19 PM al.stone@xxxxxxxxxx wrote: > From: Al Stone <al.stone@xxxxxxxxxx> > > Several of the FADT fields are normally kept in specific memory > regions. Since these fields are to be ignored in hardware reduced > ACPI mode, do not map those addresses when in that mode, and of > course do not release the mappings that have not been made. > > The function acpi_os_initialize() could become a stub in the header > file but is left here in case it can be of further use. Why exactly is this change necessary? Will things work incorrectly on HW-reduced ACPI systems if we don't make it? > Signed-off-by: Al Stone <al.stone@xxxxxxxxxx> > --- > drivers/acpi/osl.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index c946a3a..7822821 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -1778,10 +1778,12 @@ __setup("acpi_no_auto_ssdt", acpi_no_auto_ssdt_setup); > > acpi_status __init acpi_os_initialize(void) > { > - acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1a_event_block); > - acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1b_event_block); > - acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe0_block); > - acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe1_block); > + if (!acpi_gbl_reduced_hardware) { > + acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1a_event_block); > + acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1b_event_block); > + acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe0_block); > + acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe1_block); > + } > > return AE_OK; > } > @@ -1806,10 +1808,12 @@ acpi_status acpi_os_terminate(void) > acpi_irq_handler); > } > > - acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe1_block); > - acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe0_block); > - acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1b_event_block); > - acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1a_event_block); > + if (!acpi_gbl_reduced_hardware) { > + acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe1_block); > + acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe0_block); > + acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1b_event_block); > + acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1a_event_block); > + } > > destroy_workqueue(kacpid_wq); > destroy_workqueue(kacpi_notify_wq); > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html