From ceb3263b276ea6d9859e31ab6e556a9dc1649843 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 7 Sep 2026 13:24:36 -0700 Subject: [PATCH] leds: syscon: Use device property API Replace the DT-specific of_property_read_u32() calls and the dev_of_node()/of_fwnode_handle() roundtrip with their device/fwnode equivalents. Behaviour is unchanged for device tree: device_property_read_u32() and dev_fwnode() operate on the same node, and the fallback from "reg" to "offset" is preserved. Use dev_fwnode() for init_data.fwnode; unlike a child node from a scoped iterator, the platform device's own node is held by the driver core for the device lifetime. Assisted-by: opencode:deepseek-v4-flash-free Signed-off-by: Rosen Penev Link: https://patch.msgid.link/20260907202436.42304-1-rosenp@gmail.com Signed-off-by: Lee Jones --- drivers/leds/leds-syscon.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/leds/leds-syscon.c b/drivers/leds/leds-syscon.c index d633ad519d0c..741850f35f19 100644 --- a/drivers/leds/leds-syscon.c +++ b/drivers/leds/leds-syscon.c @@ -56,7 +56,6 @@ static int syscon_led_probe(struct platform_device *pdev) { struct led_init_data init_data = {}; struct device *dev = &pdev->dev; - struct device_node *np = dev_of_node(dev); struct device *parent; struct regmap *map; struct syscon_led *sled; @@ -81,13 +80,13 @@ static int syscon_led_probe(struct platform_device *pdev) sled->map = map; - if (of_property_read_u32(np, "reg", &sled->offset) && - of_property_read_u32(np, "offset", &sled->offset)) + if (device_property_read_u32(dev, "reg", &sled->offset) && + device_property_read_u32(dev, "offset", &sled->offset)) return -EINVAL; - if (of_property_read_u32(np, "mask", &sled->mask)) + if (device_property_read_u32(dev, "mask", &sled->mask)) return -EINVAL; - init_data.fwnode = of_fwnode_handle(np); + init_data.fwnode = dev_fwnode(dev); state = led_init_default_state_get(init_data.fwnode); switch (state) {