> From: Hanjun Guo [mailto:hanjun.guo@xxxxxxxxxx] > Sent: Sunday, September 22, 2013 11:27 AM > > On 2013-9-19 10:37, Moore, Robert wrote: > > While we are at it, here is the *complete* list of ACPICA interfaces that are > > meaningless on a hardware-reduced platform. If we are going to dynamically > > disable some of these interfaces, we will need to disable all of them -- for > > completeness. So, this is actually not a trivial change. > > Yes, you are right. > Actually, before I send this patch out, I searched all the ACPICA API on > a hardware-reduced platform as you did, I found some of them will finally call > acpi_hw_register_read/write(), so some of the ACPICA API do not need to change. > I agreed. My idea is to keep the call path implemented using non-HWREDUCED ACPI silicon not-changed, but changing the code inside of a function implemented with the non-HWREDUCED logic to contain a HWREDUCED logic. This might be more reasonable. So IMO, it is not a good idea to reduce the APIs, but need to re-implement the APIs using HWREDUCED logic. And the non-HWREDUCED code inside of an API should be marked with ACPI_HARDWARE_REDUCED macro rather than the API itself be marked out. If the APIs (aka., ACPI functionalities) are kept un-modified, the device drivers can be kept un-modified on HWREDUCED platforms. Thanks -Lv > Some of these APIs are already disabled in linux kernel tree now, such as > acpi_enable(): > acpi_status acpi_enable(void) > { > acpi_status status; > int retry; > > ACPI_FUNCTION_TRACE(acpi_enable); > > /* ACPI tables must be present */ > > if (!acpi_tb_tables_loaded()) { > return_ACPI_STATUS(AE_NO_ACPI_TABLES); > } > > /* If the Hardware Reduced flag is set, machine is always in acpi mode */ > > if (acpi_gbl_reduced_hardware) { > return_ACPI_STATUS(AE_OK); > } > ... > } > > and some of them need to be disabled as you said. > > > > > I'll let the linux experts chime in on this one. > > Bob > > > > > > AcpiInstallSciHandler > > AcpiRemoveSciHandler > > AcpiInstallGlobalEventHandler > > AcpiInstallFixedEventHandler > > AcpiRemoveFixedEventHandler > > AcpiInstallGpeHandler > > AcpiRemoveGpeHandler > > AcpiAcquireGlobalLock > > AcpiReleaseGlobalLock > > AcpiEnable > > AcpiDisable > > AcpiEnableEvent > > AcpiDisableEvent > > AcpiClearEvent > > AcpiGetEventStatus > > AcpiUpdateAllGpes > > AcpiEnableGpe > > AcpiDisableGpe > > AcpiSetGpe > > AcpiSetupGpeForWake > > AcpiSetGpeWakeMask > > AcpiClearGpe > > AcpiGetGpeStatus > > AcpiFinishGpe > > AcpiDisableAllGpes > > AcpiEnableAllRuntimeGpes > > AcpiInstallGpeBlock > > AcpiRemoveGpeBlock > > AcpiGetGpeDevice > > AcpiGetTimerResolution > > AcpiGetTimer > > AcpiGetTimerDuration > > AcpiReadBitRegister > > AcpiWriteBitRegister > > AcpiSetFirmwareWakingVector > > AcpiSetFirmwareWakingVector64 > > AcpiEnterSleepStateS4bios > -- 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