[PATCH 19/32] dell-laptop: Port to new backlight interface selection API

Hans de Goede hdegoede at redhat.com
Thu Jun 11 05:29:24 PDT 2015


Hi,

On 11-06-15 13:47, Pali Rohár wrote:
> On Wednesday 10 June 2015 15:01:19 Hans de Goede wrote:
>> Port the backlight selection logic to the new backlight interface
>> selection API.
>>
>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>> ---
>>   drivers/platform/x86/dell-laptop.c | 6 ++----
>>   1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
>> index d688d80..db2e031 100644
>> --- a/drivers/platform/x86/dell-laptop.c
>> +++ b/drivers/platform/x86/dell-laptop.c
>> @@ -31,6 +31,7 @@
>>   #include <linux/slab.h>
>>   #include <linux/debugfs.h>
>>   #include <linux/seq_file.h>
>> +#include <acpi/video.h>
>>   #include "../../firmware/dcdbas.h"
>>
>>   #define BRIGHTNESS_TOKEN 0x7d
>> @@ -1921,10 +1922,7 @@ static int __init dell_init(void)
>>   				    &dell_debugfs_fops);
>>
>>   #ifdef CONFIG_ACPI
>> -	/* In the event of an ACPI backlight being available, don't
>> -	 * register the platform controller.
>> -	 */
>> -	if (acpi_video_backlight_support())
>> +	if (acpi_video_get_backlight_type() != acpi_backlight_vendor)
>>   		return 0;
>>   #endif
>>
>
> Now I'm thinking... Is this correct condition? And do we need it? This
> Dell backlight interface works even if ACPI or intel i915 driver
> controls backlight. Why we should prevent dell-laptop.ko to register
> Dell backlight interface if ACPI video already register one? And why not
> prevent when intel i915 driver register another?

3 things:

1) This is mostly a cleanup series, it does not make any behavioral
changes (other then renaming the kernelcmdline option and we've
already discussed fixing that).

2) All 3 drivers ultimately bit-bang the same hardware, we really should
have only one driver banging the hardware, so
	if (acpi_video_get_backlight_type() != acpi_backlight_vendor)
		return 0;

Definitely is the right thing todo here.

3) You're right that the intel_backlight still registering even if
acpi_video_get_backlight_type() != acpi_backlight_native is weird, but
that is how it was before this series, and userspace prefers firmware
type backlight sysfs entries over platform /raw ones so it will
automatically pick the right one.  We should consider not registering
the backlight sysfs class interface from the intel code when
acpi_video_get_backlight_type() != acpi_backlight_native but that is
something for later...

Regards,

Hans


More information about the dri-devel mailing list