Message ID | 20250310150835.3139322-4-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | leds: Introduce and use fwnode_get_child_node_count() | expand |
On Mon, 10 Mar 2025 16:54:53 +0200 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Since fwnode_get_child_node_count() was split from its device property > counterpart, we may utilise it in the driver and drop custom implementation. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/leds/rgb/leds-ncp5623.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/leds/rgb/leds-ncp5623.c b/drivers/leds/rgb/leds-ncp5623.c > index f18156683375..7c7d44623a9e 100644 > --- a/drivers/leds/rgb/leds-ncp5623.c > +++ b/drivers/leds/rgb/leds-ncp5623.c > @@ -155,9 +155,9 @@ static int ncp5623_probe(struct i2c_client *client) > struct device *dev = &client->dev; > struct fwnode_handle *mc_node, *led_node; > struct led_init_data init_data = { }; > - int num_subleds = 0; > struct ncp5623 *ncp; > struct mc_subled *subled_info; > + unsigned int num_subleds; I have no idea what the scheme is for ordering here. My gut feeling would have been to leave it in original location but it's not something I feel strongly about. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > u32 color_index; > u32 reg; > int ret; > @@ -172,8 +172,7 @@ static int ncp5623_probe(struct i2c_client *client) > if (!mc_node) > return -EINVAL; > > - fwnode_for_each_child_node(mc_node, led_node) > - num_subleds++; > + num_subleds = fwnode_get_child_node_count(mc_node); > > subled_info = devm_kcalloc(dev, num_subleds, sizeof(*subled_info), GFP_KERNEL); > if (!subled_info) {
On Tue, Mar 11, 2025 at 09:54:02AM +0000, Jonathan Cameron wrote: > On Mon, 10 Mar 2025 16:54:53 +0200 > Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: ... > > static int ncp5623_probe(struct i2c_client *client) > > struct device *dev = &client->dev; > > struct fwnode_handle *mc_node, *led_node; > > struct led_init_data init_data = { }; > > - int num_subleds = 0; > > struct ncp5623 *ncp; > > struct mc_subled *subled_info; > > + unsigned int num_subleds; > I have no idea what the scheme is for ordering here. My gut > feeling would have been to leave it in original location but it's > not something I feel strongly about. I guess I tried to follow multiple approaches here while moving it: 1) it follows "longer line first"; 2) it follows "group the variables of the same type". I also dunno what was behind the original code, but I think my approach has a benefit as pointed out above. > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Thank you! > > u32 color_index; > > u32 reg; > > int ret;
diff --git a/drivers/leds/rgb/leds-ncp5623.c b/drivers/leds/rgb/leds-ncp5623.c index f18156683375..7c7d44623a9e 100644 --- a/drivers/leds/rgb/leds-ncp5623.c +++ b/drivers/leds/rgb/leds-ncp5623.c @@ -155,9 +155,9 @@ static int ncp5623_probe(struct i2c_client *client) struct device *dev = &client->dev; struct fwnode_handle *mc_node, *led_node; struct led_init_data init_data = { }; - int num_subleds = 0; struct ncp5623 *ncp; struct mc_subled *subled_info; + unsigned int num_subleds; u32 color_index; u32 reg; int ret; @@ -172,8 +172,7 @@ static int ncp5623_probe(struct i2c_client *client) if (!mc_node) return -EINVAL; - fwnode_for_each_child_node(mc_node, led_node) - num_subleds++; + num_subleds = fwnode_get_child_node_count(mc_node); subled_info = devm_kcalloc(dev, num_subleds, sizeof(*subled_info), GFP_KERNEL); if (!subled_info) {
Since fwnode_get_child_node_count() was split from its device property counterpart, we may utilise it in the driver and drop custom implementation. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/leds/rgb/leds-ncp5623.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)