Re: [GIT PULL] Backlight for v6.1

From: Hans de Goede
Date: Sat Oct 08 2022 - 15:59:26 EST


Hi Linus,

On 10/8/22 21:02, Linus Torvalds wrote:
> On Sat, Oct 8, 2022 at 11:31 AM Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>>
>> The Intel PMICs are the beasts when we want to run the code on the real
>> hardware.
>
> Yeah, I don't expect he driver to work on real hardware,

I'm not sure what you mean here. I guess you mean that you
do not expect to be able to test the driver on real hw
yourself?

I have several x86 tablets with this PMIC and the driver
does actually work on real hw, I test it regularly.

As for the admittedly weird:

depends on I2C_DESIGNWARE_PLATFORM=y

dependency, as Andy mentioned on most of these devices
the ACPI tables (often the _PS0 / _PS3 power on/off methods)
poke at the PMIC through ACPI Opregions which are registered
through the MFD driver. This all needs to be available early
on which is why I2C_DESIGNWARE_PLATFORM needs to be builtin
(the PMIC is connected to the system through a designware
I2C controller).

When built as a module we get a whole bunch of ACPI subsys
errors about OpRegion calls to a non registered OpRegion in
dmesg and this can also results in real bugs like e.g.
a touchscreen not working because it was not powered on.

After several bug reports about this I decided to add this
dependency to force distros to built I2C_DESIGNWARE_PLATFORM
into the main vmlinuz image if they want to enable these
drivers.

<snip>

> depends on I2C_DESIGNWARE_PLATFORM=y
>
> might be better with a "|| COMPILE_TEST" to at least find the build
> issues, even if actual runtime testing is a different anumal entirely.

Adding "|| COMPILE_TEST" sounds like a good idea to me. Note that as
I tried to explain the:

depends on I2C_DESIGNWARE_PLATFORM=y

is actually there to avoid known runtime issues with having that
built as a module in combination with this (and a few other similar)
PMIC drivers.

Regards,

Hans