From: Rosen Penev <rosenp@gmail.com>
To: linux-leds@vger.kernel.org
Cc: Lee Jones <lee@kernel.org>, Pavel Machek <pavel@kernel.org>,
linux-kernel@vger.kernel.org (open list)
Subject: [PATCH] leds: is31fl32xx: Use fwnode/device property APIs
Date: Mon, 7 Sep 2026 13:19:40 -0700 [thread overview]
Message-ID: <20260907201940.40524-1-rosenp@gmail.com> (raw)
Convert the DT-specific helpers in is31fl32xx_parse_dt() and
is31fl32xx_parse_child_dt() to their fwnode/device equivalents.
Behaviour is unchanged for device tree: device_property_read_bool(),
device_for_each_child_node_scoped() and device_get_child_node_count()
operate on the same nodes and keep the skip of unavailable children.
Use the %pfwP format specifier in error messages, as child is now a
struct fwnode_handle and %pOF would misread it as a device_node.
Assisted-by: opencode:deepseek-v4-flash-free
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/leds/leds-is31fl32xx.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c
index 6c8d6b833260..285085d27453 100644
--- a/drivers/leds/leds-is31fl32xx.c
+++ b/drivers/leds/leds-is31fl32xx.c
@@ -378,23 +378,23 @@ static int is31fl32xx_init_regs(struct is31fl32xx_priv *priv)
}
static int is31fl32xx_parse_child_dt(const struct device *dev,
- const struct device_node *child,
+ const struct fwnode_handle *child,
struct is31fl32xx_led_data *led_data)
{
struct led_classdev *cdev = &led_data->cdev;
int ret = 0;
u32 reg;
- ret = of_property_read_u32(child, "reg", ®);
+ ret = fwnode_property_read_u32(child, "reg", ®);
if (ret || reg < 1 || reg > led_data->priv->cdef->channels) {
dev_err(dev,
- "Child node %pOF does not have a valid reg property\n",
+ "Child node %pfwP does not have a valid reg property\n",
child);
return -EINVAL;
}
led_data->channel = reg;
- of_property_read_u32(child, "led-max-microamp", &led_data->max_microamp);
+ fwnode_property_read_u32(child, "led-max-microamp", &led_data->max_microamp);
cdev->brightness_set_blocking = is31fl32xx_brightness_set;
@@ -422,7 +422,7 @@ static int is31fl32xx_parse_dt(struct device *dev,
int ret = 0;
if ((cdef->output_frequency_setting_reg != IS31FL32XX_REG_NONE) &&
- of_property_read_bool(dev_of_node(dev), "issi,22khz-pwm")) {
+ device_property_read_bool(dev, "issi,22khz-pwm")) {
ret = is31fl32xx_write(priv, cdef->output_frequency_setting_reg,
IS31FL32XX_PWM_FREQUENCY_22KHZ);
@@ -433,7 +433,7 @@ static int is31fl32xx_parse_dt(struct device *dev,
}
}
- for_each_available_child_of_node_scoped(dev_of_node(dev), child) {
+ device_for_each_child_node_scoped(dev, child) {
struct led_init_data init_data = {};
struct is31fl32xx_led_data *led_data =
&priv->leds[priv->num_leds];
@@ -451,17 +451,17 @@ static int is31fl32xx_parse_dt(struct device *dev,
led_data->channel);
if (other_led_data) {
dev_err(dev,
- "Node %pOF 'reg' conflicts with another LED\n",
+ "Node %pfwP 'reg' conflicts with another LED\n",
child);
return -EINVAL;
}
- init_data.fwnode = of_fwnode_handle(child);
+ init_data.fwnode = child;
ret = devm_led_classdev_register_ext(dev, &led_data->cdev,
&init_data);
if (ret) {
- dev_err(dev, "Failed to register LED for %pOF: %d\n",
+ dev_err(dev, "Failed to register LED for %pfwP: %d\n",
child, ret);
return ret;
}
@@ -576,7 +576,7 @@ static int is31fl32xx_probe(struct i2c_client *client)
cdef = device_get_match_data(dev);
- count = of_get_available_child_count(dev_of_node(dev));
+ count = device_get_child_node_count(dev);
if (!count)
return -EINVAL;
--
2.55.0
reply other threads:[~2026-09-07 20:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20260907201940.40524-1-rosenp@gmail.com \
--to=rosenp@gmail.com \
--cc=lee@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®