Message ID | 20231013022010.854367-1-chunyan.zhang@unisoc.com |
---|---|
State | New |
Headers | show |
Series | [V3] leds: sc27xx: Move mutex_init() down | expand |
On 10/13/2023 10:20 AM, Chunyan Zhang wrote: > Move the mutex_init() to avoid redundant mutex_destroy() calls after > that for each time the probe fails. > > Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com> LGTM. Thanks. Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> > --- > Rebased onto linux-next. > > V3: Move the mutex_init() before sc27xx_led_register(), in case it maybe > used right after led registerd. > > V2: Move the mutex_init() to the end of .probe() instead of adding mutex_destroy(). > --- > drivers/leds/leds-sc27xx-bltc.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/leds/leds-sc27xx-bltc.c b/drivers/leds/leds-sc27xx-bltc.c > index af1f00a2f328..f04db793e8d6 100644 > --- a/drivers/leds/leds-sc27xx-bltc.c > +++ b/drivers/leds/leds-sc27xx-bltc.c > @@ -296,7 +296,6 @@ static int sc27xx_led_probe(struct platform_device *pdev) > return -ENOMEM; > > platform_set_drvdata(pdev, priv); > - mutex_init(&priv->lock); > priv->base = base; > priv->regmap = dev_get_regmap(dev->parent, NULL); > if (!priv->regmap) { > @@ -309,13 +308,11 @@ static int sc27xx_led_probe(struct platform_device *pdev) > err = of_property_read_u32(child, "reg", ®); > if (err) { > of_node_put(child); > - mutex_destroy(&priv->lock); > return err; > } > > if (reg >= SC27XX_LEDS_MAX || priv->leds[reg].active) { > of_node_put(child); > - mutex_destroy(&priv->lock); > return -EINVAL; > } > > @@ -323,6 +320,8 @@ static int sc27xx_led_probe(struct platform_device *pdev) > priv->leds[reg].active = true; > } > > + mutex_init(&priv->lock); > + > err = sc27xx_led_register(dev, priv); > if (err) > mutex_destroy(&priv->lock);
On Fri, 13 Oct 2023 10:20:10 +0800, Chunyan Zhang wrote: > Move the mutex_init() to avoid redundant mutex_destroy() calls after > that for each time the probe fails. > > Applied, thanks! [1/1] leds: sc27xx: Move mutex_init() down commit: 8f3a620c7830d7b50d32614d48c4b7df7205309a -- Lee Jones [李琼斯]
diff --git a/drivers/leds/leds-sc27xx-bltc.c b/drivers/leds/leds-sc27xx-bltc.c index af1f00a2f328..f04db793e8d6 100644 --- a/drivers/leds/leds-sc27xx-bltc.c +++ b/drivers/leds/leds-sc27xx-bltc.c @@ -296,7 +296,6 @@ static int sc27xx_led_probe(struct platform_device *pdev) return -ENOMEM; platform_set_drvdata(pdev, priv); - mutex_init(&priv->lock); priv->base = base; priv->regmap = dev_get_regmap(dev->parent, NULL); if (!priv->regmap) { @@ -309,13 +308,11 @@ static int sc27xx_led_probe(struct platform_device *pdev) err = of_property_read_u32(child, "reg", ®); if (err) { of_node_put(child); - mutex_destroy(&priv->lock); return err; } if (reg >= SC27XX_LEDS_MAX || priv->leds[reg].active) { of_node_put(child); - mutex_destroy(&priv->lock); return -EINVAL; } @@ -323,6 +320,8 @@ static int sc27xx_led_probe(struct platform_device *pdev) priv->leds[reg].active = true; } + mutex_init(&priv->lock); + err = sc27xx_led_register(dev, priv); if (err) mutex_destroy(&priv->lock);
Move the mutex_init() to avoid redundant mutex_destroy() calls after that for each time the probe fails. Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com> --- Rebased onto linux-next. V3: Move the mutex_init() before sc27xx_led_register(), in case it maybe used right after led registerd. V2: Move the mutex_init() to the end of .probe() instead of adding mutex_destroy(). --- drivers/leds/leds-sc27xx-bltc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)