On Fri, Dec 6, 2013 at 10:22 PM, Alexander Shiyan <shc_work@xxxxxxx> wrote: > LED registers are used only in this driver, so no additional > locking is needed. Read-Modify-Write cycle in workqueue is already > protected by regmap. > Good, I will merge this. Thanks, -Bryan > Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> > --- > drivers/leds/leds-mc13783.c | 13 +------------ > 1 file changed, 1 insertion(+), 12 deletions(-) > > diff --git a/drivers/leds/leds-mc13783.c b/drivers/leds/leds-mc13783.c > index ec704f2..ca87a1b 100644 > --- a/drivers/leds/leds-mc13783.c > +++ b/drivers/leds/leds-mc13783.c > @@ -117,9 +117,7 @@ static void mc13xxx_led_work(struct work_struct *work) > BUG(); > } > > - mc13xxx_lock(led->master); > mc13xxx_reg_rmw(led->master, reg, mask << shift, value << shift); > - mc13xxx_unlock(led->master); > } > > static void mc13xxx_led_set(struct led_classdev *led_cdev, > @@ -164,19 +162,12 @@ static int __init mc13xxx_led_probe(struct platform_device *pdev) > leds->num_leds = num_leds; > platform_set_drvdata(pdev, leds); > > - mc13xxx_lock(mcdev); > for (i = 0; i < devtype->num_regs; i++) { > reg = pdata->led_control[i]; > WARN_ON(reg >= (1 << 24)); > ret = mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), reg); > if (ret) > - break; > - } > - mc13xxx_unlock(mcdev); > - > - if (ret) { > - dev_err(&pdev->dev, "Unable to init LED driver\n"); > - return ret; > + return ret; > } > > for (i = 0; i < num_leds; i++) { > @@ -237,10 +228,8 @@ static int mc13xxx_led_remove(struct platform_device *pdev) > cancel_work_sync(&leds->led[i].work); > } > > - mc13xxx_lock(mcdev); > for (i = 0; i < leds->devtype->num_regs; i++) > mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), 0); > - mc13xxx_unlock(mcdev); > > return 0; > } > -- > 1.8.3.2 > -- To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html