Re: [PATCH v7] Add multicolor support to BlinkM LED driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 24/05/31 11:38AM, Lee Jones wrote:
> On Mon, 06 May 2024, Joseph Strauss wrote:
> 
> > Add multicolor support to the BlinkM driver, making it easier to control
> > from userspace. The BlinkM LED is a programmable RGB LED. The driver
> > currently supports only the regular LED sysfs class, resulting in the
> > creation of three distinct classes, one for red, green, and blue. The
> > user then has to input three values into the three seperate brightness
> > files within those classes. The multicolor LED framework makes the
> > device easier to control with the multi_intensity file: the user can
> > input three values at once to form a color, while still controlling the
> > lightness with the brightness file.
> > 
> > The main struct blinkm_led has changed slightly. The struct led_classdev
> > for the regular sysfs classes remain. The blinkm_probe function checks
> > CONFIG_LEDS_BLINKM_MULTICOLOR to decide whether to load the seperate
> > sysfs classes or the single multicolor one, but never both. The
> > blinkm_set_mc_brightness() function had to be added to calculate the
> > three color components and then set the fields of the blinkm_data
> > structure accordingly.
> > 
> > Signed-off-by: Joseph Strauss <jstrauss@xxxxxxxxxxx>
> > ---
> > Changes in v2:
> > - Replaced instances of the constant 3 with NUM_LEDS, where applicable
> > - Fixed formatting errors
> > - Replaced loop inside of blinkm_set_mc_brightness() with equivalent
> >   statements
> > - Changed id of multicolor class from 4 to 3
> > - Replaced call to devm_kmalloc_array() with devm_kcalloc()
> > Changes in v3:
> > - Add CONFIG_LEDS_BLINKM_MULTICOLOR to check whether to use multicolor
> >   funcitonality
> > - Extend well-known-leds.txt to include standard names for RGB and indicator
> >   LEDS
> > - Change name of Blinkm sysfs class according to well-known-leds.txt
> > - Simplify struct blinkm_led and struct blinkm_data
> > - Remove magic numbers
> > - Fix formatting errors
> > - Remove unrelated changes
> > Changes in v4:
> > - Fix indentation
> > - Add default case to switch statement
> > Changes in v5:
> > - Fix warnings related to snprintf on s390 architecture, reported by
> >   0-DAY CI Kernel Test Service
> > Changes in v6:
> > - Refactored struct blinkm_led to use a union
> > - Refactored blinkm_probe()
> > - Clarified documentation
> > Changes in v7:
> > - Fix formatting and spelling errors
> > 
> >  Documentation/leds/leds-blinkm.rst     |  31 +++-
> >  Documentation/leds/well-known-leds.txt |   8 +
> >  drivers/leds/Kconfig                   |   8 +
> >  drivers/leds/leds-blinkm.c             | 224 +++++++++++++++++--------
> >  4 files changed, 199 insertions(+), 72 deletions(-)
> 
> Applying patch(es)
> Applying: Add multicolor support to BlinkM LED driver
> Using index info to reconstruct a base tree...
> M	Documentation/leds/well-known-leds.txt
> M	drivers/leds/Kconfig
> M	drivers/leds/leds-blinkm.c
> Checking patch Documentation/leds/leds-blinkm.rst...
> Checking patch Documentation/leds/well-known-leds.txt...
> Checking patch drivers/leds/Kconfig...
> Checking patch drivers/leds/leds-blinkm.c...
> Applied patch Documentation/leds/leds-blinkm.rst cleanly.
> Applied patch Documentation/leds/well-known-leds.txt cleanly.
> Applied patch drivers/leds/Kconfig cleanly.
> Applied patch drivers/leds/leds-blinkm.c cleanly.
> Falling back to patching base and 3-way merge...
> error: Your local changes to the following files would be overwritten by merge:
> 	Documentation/leds/leds-blinkm.rst
> 	Documentation/leds/well-known-leds.txt
> 	drivers/leds/Kconfig
> 	drivers/leds/leds-blinkm.c
> Please commit your changes or stash them before you merge.
> Aborting
> error: Failed to merge in the changes.
> Patch failed at 0001 Add multicolor support to BlinkM LED driver
> 
> -- 
> Lee Jones [李琼斯]
Hi,
I am having trouble recreating this issue. Maybe I am misunderstanding
the maintainer workflow. I am working on the for-next branch of
pavel/linux-leds.git. When I apply my generated patch file on a
freshly cloned repository with `git am`, I don't get any errors. Any
help is appreciated.

Joe Strauss




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux