From: Lee Jones <lee@kernel.org>
To: Bevan Weiss <bevan.weiss@gmail.com>
Cc: Pavel Machek <pavel@kernel.org>,
linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/1] leds: syscon: Add tristate option
Date: Thu, 19 Mar 2026 10:13:27 +0000 [thread overview]
Message-ID: <20260319101327.GH554736@google.com> (raw)
In-Reply-To: <20260308015824.2318366-2-bevan.weiss@gmail.com>
On Sun, 08 Mar 2026, Bevan Weiss wrote:
> This reverts commit f7d98a65d031 ("leds: syscon: Make the driver
> explicitly non-modular").
>
> OpenWrt builds with a single .config for a given subtarget, whilst boards
> below that subtarget may not want to carry the disk usage of all options.
> So there is a preference to have all functionality not required on all
> boards as modules that can simply not be included in a given board rootfs
> to reduce disk usage.
>
> Additional changes:
> - (int)(struct platform_device *pdev) => void return
Please rephrase into a human parseable sentence.
> - Add MODULE_DESCRIPTION and MODULE_LICENSE macros
> - Add tristate option to Kconfig
>
> Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
> ---
> drivers/leds/Kconfig | 4 ++--
> drivers/leds/leds-syscon.c | 20 +++++++++++++++++---
> 2 files changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
> index 597d7a79c988..ea3afc76a9c6 100644
> --- a/drivers/leds/Kconfig
> +++ b/drivers/leds/Kconfig
> @@ -903,8 +903,8 @@ config LEDS_POWERNV
> will be called leds-powernv.
>
> config LEDS_SYSCON
> - bool "LED support for LEDs on system controllers"
> - depends on LEDS_CLASS=y
> + tristate "LED support for LEDs on system controllers"
> + depends on LEDS_CLASS
> depends on MFD_SYSCON
> depends on OF
> help
> diff --git a/drivers/leds/leds-syscon.c b/drivers/leds/leds-syscon.c
> index d633ad519d0c..bc968e8a326d 100644
> --- a/drivers/leds/leds-syscon.c
> +++ b/drivers/leds/leds-syscon.c
> @@ -6,7 +6,7 @@
> * Author: Linus Walleij <linus.walleij@linaro.org>
> */
> #include <linux/io.h>
> -#include <linux/init.h>
> +#include <linux/module.h>
> #include <linux/of.h>
> #include <linux/platform_device.h>
> #include <linux/stat.h>
> @@ -121,17 +121,31 @@ static int syscon_led_probe(struct platform_device *pdev)
> return 0;
> }
>
> +static void syscon_led_remove(struct platform_device *pdev)
> +{
> + struct syscon_led *sled = platform_get_drvdata(pdev);
> +
> + led_classdev_unregister(&sled->cdev);
The driver uses devm_led_classdev_register() in probe, which automatically
handles unregistering the LED class device when the driver is detached.
Calling it here manually will result in a double-unregister.
> + /* Turn it off */
Turn what off?
> + regmap_update_bits(sled->map, sled->offset, sled->mask, 0);
If 0 was defined, as it should be, then you can drop the comment.
> +}
> +
> static const struct of_device_id of_syscon_leds_match[] = {
> { .compatible = "register-bit-led", },
> {},
> };
>
> +MODULE_DEVICE_TABLE(of, of_syscon_leds_match);
> +
> static struct platform_driver syscon_led_driver = {
> .probe = syscon_led_probe,
> + .remove = syscon_led_remove,
> .driver = {
> .name = "leds-syscon",
> .of_match_table = of_syscon_leds_match,
> - .suppress_bind_attrs = true,
> },
> };
> -builtin_platform_driver(syscon_led_driver);
> +module_platform_driver(syscon_led_driver);
> +
> +MODULE_DESCRIPTION("SYSCON LED driver");
> +MODULE_LICENSE("GPL");
The MODULE_LICENSE() string should match the SPDX identifier at the top
of the file.
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2026-03-19 10:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-08 1:58 [PATCH v2 0/1] leds: syscon: Add tristate option Bevan Weiss
2026-03-08 1:58 ` [PATCH v2 1/1] " Bevan Weiss
2026-03-19 10:13 ` Lee Jones [this message]
2026-03-19 11:33 ` Bevan Weiss
2026-04-06 3:49 ` Bevan Weiss
-- strict thread matches above, loose matches on Subject: below --
2026-03-08 1:56 [PATCH v2 0/1] " Bevan Weiss
2026-03-08 1:56 ` [PATCH v2 1/1] " Bevan Weiss
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=20260319101327.GH554736@google.com \
--to=lee@kernel.org \
--cc=bevan.weiss@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@kernel.org \
/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.