[PATCH v2 3/5] ACPI: add arch-specific compilation for _OSI and the blacklist

Al Stone ahs3 at redhat.com
Wed Feb 4 14:46:17 PST 2015


On 02/04/2015 07:03 AM, Rafael J. Wysocki wrote:
> On Wednesday, February 04, 2015 03:00:15 PM Rafael J. Wysocki wrote:
>> On Tuesday, February 03, 2015 05:21:42 PM al.stone at linaro.org wrote:
>>> From: Al Stone <al.stone at linaro.org>
>>>
>>> Now that all of the _OSI functionality has been separated out, we can
>>> provide arch-specific functionality for it.  This also allows us to do
>>> the same for the acpi_blacklisted() function.
>>>
>>> Whether arch-specific functions are used or not now depends on the config
>>> options CONFIG_ACPI_ARCH_SPECIFIC_OSI and CONFIG_ARCH_SPECIFIC_BLACKLIST.
>>> By default, both are set false which causes the x86/ia64 versions to be
>>> used, just as is done today.  Setting one or both of these options true
>>> will cause architecture-specific implementations to be built instead; this
>>> patch also provides arm64 implementations.
>>>
>>> For x86/ia64, there is no functional change.
>>>
>>> For arm64, any use of _OSI will issue a warning that it is deprecated.
>>> All use of _OSI will return false -- i.e., it will return no useful
>>> information to any firmware using it.  The ability to temporarily turn
>>> on _OSI, or turn off _OSI, or affect it in other ways from the command
>>> line is no longer available for arm64, either.  The blacklist for ACPI
>>> on arm64 is empty.  This will, of course, require ACPI to be enabled
>>> for arm64.
>>>
>>> Signed-off-by: Al Stone <al.stone at linaro.org>
>>> ---
>>>  drivers/acpi/Kconfig         | 22 ++++++++++++++++++++++
>>>  drivers/acpi/Makefile        | 19 ++++++++++++++++++-
>>>  drivers/acpi/blacklist-arm.c | 20 ++++++++++++++++++++
>>>  drivers/acpi/blacklist.c     |  5 +++++
>>>  drivers/acpi/osi-arm.c       | 25 +++++++++++++++++++++++++
>>>  5 files changed, 90 insertions(+), 1 deletion(-)
>>>  create mode 100644 drivers/acpi/blacklist-arm.c
>>>  create mode 100644 drivers/acpi/osi-arm.c
>>>
>>> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
>>> index 3e3bd35..4190940 100644
>>> --- a/drivers/acpi/Kconfig
>>> +++ b/drivers/acpi/Kconfig
>>> @@ -369,6 +369,28 @@ config ACPI_REDUCED_HARDWARE_ONLY
>>>  
>>>  	  If you are unsure what to do, do not enable this option.
>>>  
>>> +config ACPI_ARCH_SPECIFIC_OSI
>>
>> I woulnd't make this and the other one user-selectable.  Let architectures
>> select them from their top-level Kconfig files.
>>
>> That's what we do with the other CONFIG_ARCH_ things.
>>
>> So in the architecture-specific Kconfig you'll have
>>
>> config ACPI_ARCH_SPECIFIC_OSI
>> 	def_bool n
>> 	depends on ACPI
>>
>> Moreover, I'd call that ARCH_SPECIFIC_ACPI_OSI.
> 
> Or even better, you can define them here (drivers/acpi/Kconfig/) as
> 
> config ARCH_SPECIFIC_ACPI_OSI
> 	def_bool n
> 
> and then do
> 
> 	select ARCH_SPECIFIC_ACPI_OSI if ACPI
> 
> as you did in [4/5].
> 
> 

Ah, indeed I did.  Okay; I'll touch that up.

-- 
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Red Hat, Inc.
ahs3 at redhat.com
-----------------------------------



More information about the linux-arm-kernel mailing list