Re: [PATCH] leds: Add Chrome OS keyboard backlight LEDs driver

From: Evan McClain
Date: Fri Mar 04 2016 - 15:41:56 EST


On Fri, 2016-03-04 at 11:13 -0800, Dmitry Torokhov wrote:
> On Fri, Mar 04, 2016 at 10:38:40AM +0100, Jacek Anaszewski wrote:
> >
> > Hi Evan,
> >
> > On 03/04/2016 09:38 AM, Evan McClain wrote:
> > >
> > > On Thu, 2016-03-03 at 15:46 -0800, Dmitry Torokhov wrote:
> > > >
> > > > From: Simon Que <sque@xxxxxxxxxxxx>
> > > >
> > > > This is a driver for ACPI-based keyboard backlight LEDs found
> > > > on
> > > > Chromebooks. The driver locates \\_SB.KBLT ACPI device and
> > > > exports
> > > > backlight as "chromeos::kbd_backlight" LED class device in
> > > > sysfs.
> > > Was it ever decided where this driver should live? I was planning
> > > on
> > > submitting to platform/chrome since most keyboard backlights seem
> > > to
> > > live over there but I don't think I got a response.
> > >
> > It hasn't been decided yet. I can take it, but could you submit one
> > more
> > version, without
> >
> > 'owner = THIS_MODULE' in struct platform_driver
> > keyboard_led_driver ?
> >
> > It is redundant, because the core will do it.
> >
> > Also the line with devm_kzalloc has over 80 characters.
> Also:
>
> - preferably use sizeof(*cdev) instead of sizeof(struct ...)
> - do not check cdev->flags & LED_SUSPENDED in
> Â keyboard_led_set_brightness() as it is not going to be called when
> led
> Â device is suspended anyway

Your patch is definitely better, I was only taking Simon's original
submission and doing the minimal cleanup to help get it submitted (as
someone using mainline linux on a pixel 2/samus).

> - change the MODULE_LICENSE from "GPL v2" to "GPL" as to match the
> Â actual license notice

I think this got changed in one of the revisions in error.

> - report ACPI errors in error messages (since we clobber them)
> - preferably use ENXIO instead of ENODEV

Most other drivers seem to use ENODEV on probe, but I'm in the 'learn
through grep' level of understanding for parts of linux.

> - maybe add "depends on CHROME_PLATFORMS || COMPILE_TEST" so that we
> do
> Â not prompt for it on non-Chrome platforms

Adding depends on CHROME_PLATFORMS definitely makes sense, but also
might support putting this driver in platform/chrome. Either way I just
selfishly want better mainline support for this laptop.

The only change I made (other than the changes suggested by Jacek) was
to remove the line setting brightness to max_brightness on probe. I can
resubmit a cleaned up patch incorporating your changes unless you would
like to take over.

Thanks
--
Evan McClain
https://keybase.io/aeroevan

Attachment: signature.asc
Description: This is a digitally signed message part