All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
Cc: pavel@ucw.cz, robh+dt@kernel.org,
	sven.schwermer@disruptive-technologies.com,
	krzysztof.kozlowski+dt@linaro.org, johan+linaro@kernel.org,
	marijn.suijten@somainline.org, bjorn.andersson@linaro.org,
	linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, sha@pengutronix.de
Subject: Re: [RESEND PATCH v3 4/4] leds: Add a multicolor LED driver to group monochromatic LEDs
Date: Sat, 17 Sep 2022 11:37:44 +0300	[thread overview]
Message-ID: <CAHp75VeAnJQt7kS8UE+OKcqnScYnmHnVvL+QNW6jR=yF0=oMAA@mail.gmail.com> (raw)
In-Reply-To: <20220917081339.3354075-5-jjhiblot@traphandler.com>

On Sat, Sep 17, 2022 at 11:14 AM Jean-Jacques Hiblot
<jjhiblot@traphandler.com> wrote:
>
> By allowing to group multiple monochrome LED into multicolor LEDs,
> all involved LEDs can be controlled in-sync. This enables using effects
> using triggers, etc.

...

> +config LEDS_GRP_MULTICOLOR
> +       tristate "Multi-color LED grouping support"
> +       help
> +         This option enables support for monochrome LEDs that are
> +         grouped into multicolor LEDs.

What will be the module name in case of "m" choice?

...

> +       struct led_mcg_priv *priv =
> +               container_of(mc_cdev, struct led_mcg_priv, mc_cdev);

One line?

...

> +               /*
> +                * Scale the intensity according the max brightness of the
> +                * monochromatic LED

Usually we put a grammar period at the end of sentences in multi-line comments.

> +                */

...

> +               actual_led_brightness = DIV_ROUND_CLOSEST(
> +                       mono->max_brightness * mc_cdev->subled_info[i].brightness,
> +                       mc_cdev->led_cdev.max_brightness);

Can you fix an indentation, so it won't leave the line ending by open
parenthesis? I believe with the help of a temporary variable it can be
easily achieved.

...

> +       for (;;) {
> +               struct led_classdev *led_cdev;

> +               led_cdev = devm_of_led_get(dev, count);

Why _of_ variant? Please, make this OF independent since it's
pretending to cover not only OF-based systems.


> +               if (IS_ERR(led_cdev)) {

> +                       /* Reached the end of the list ? */
> +                       if (PTR_ERR(led_cdev) == -ENOENT)
> +                               break;

Looks like the above needs an _optional() variant

> +                       return dev_err_probe(dev, PTR_ERR(led_cdev),
> +                                            "Unable to get led #%d", count);
> +               }

...

> +               priv->monochromatics = devm_krealloc(dev, priv->monochromatics,
> +                                       count * sizeof(*priv->monochromatics),
> +                                       GFP_KERNEL);

This needs at minimum to use one of the helpers from overflow.h,
ideally you may implement devm_krealloc_array() as a suitable wrapper
for that.

> +               if (!priv->monochromatics)
> +                       return -ENOMEM;

...

> +       subled = devm_kzalloc(dev, count * sizeof(*subled), GFP_KERNEL);

NIH devm_kcalloc()

> +       if (!subled)
> +               return -ENOMEM;

--
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2022-09-17  8:38 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-17  8:13 [RESEND PATCH v3 0/4] Add a multicolor LED driver for groups of monochromatic LEDs Jean-Jacques Hiblot
2022-09-17  8:13 ` [RESEND PATCH v3 1/4] leds: class: simplify the implementation of devm_of_led_get() Jean-Jacques Hiblot
2022-09-17  8:23   ` Andy Shevchenko
2022-09-17  8:13 ` [RESEND PATCH v3 2/4] leds: class: store the color index in struct led_classdev Jean-Jacques Hiblot
2022-09-17  8:40   ` Andy Shevchenko
2022-10-07  6:29     ` Jean-Jacques Hiblot
2022-09-18 11:25   ` Jacek Anaszewski
2022-09-18 13:19     ` Jacek Anaszewski
2022-09-17  8:13 ` [RESEND PATCH v3 3/4] dt-bindings: leds: Add binding for a multicolor group of LEDs Jean-Jacques Hiblot
2022-09-17  8:13 ` [RESEND PATCH v3 4/4] leds: Add a multicolor LED driver to group monochromatic LEDs Jean-Jacques Hiblot
2022-09-17  8:37   ` Andy Shevchenko [this message]
2022-10-07  6:34     ` Jean-Jacques Hiblot
2022-10-07  8:53       ` Andy Shevchenko
2022-10-07 12:03         ` Jean-Jacques Hiblot
2022-10-07 13:14           ` Andy Shevchenko
2022-09-18 14:54   ` Jacek Anaszewski
2022-10-07  6:46     ` Jean-Jacques Hiblot
2022-09-17  8:25 ` [RESEND PATCH v3 0/4] Add a multicolor LED driver for groups of " Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHp75VeAnJQt7kS8UE+OKcqnScYnmHnVvL+QNW6jR=yF0=oMAA@mail.gmail.com' \
    --to=andy.shevchenko@gmail.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jjhiblot@traphandler.com \
    --cc=johan+linaro@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    --cc=sha@pengutronix.de \
    --cc=sven.schwermer@disruptive-technologies.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.