diff options
| -rw-r--r-- | drivers/leds/leds-mc13783.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/leds/leds-mc13783.c b/drivers/leds/leds-mc13783.c index ec704f2ab70d..ca87a1b4a0db 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) | |||
| 117 | BUG(); | 117 | BUG(); |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | mc13xxx_lock(led->master); | ||
| 121 | mc13xxx_reg_rmw(led->master, reg, mask << shift, value << shift); | 120 | mc13xxx_reg_rmw(led->master, reg, mask << shift, value << shift); |
| 122 | mc13xxx_unlock(led->master); | ||
| 123 | } | 121 | } |
| 124 | 122 | ||
| 125 | static void mc13xxx_led_set(struct led_classdev *led_cdev, | 123 | static void mc13xxx_led_set(struct led_classdev *led_cdev, |
| @@ -164,19 +162,12 @@ static int __init mc13xxx_led_probe(struct platform_device *pdev) | |||
| 164 | leds->num_leds = num_leds; | 162 | leds->num_leds = num_leds; |
| 165 | platform_set_drvdata(pdev, leds); | 163 | platform_set_drvdata(pdev, leds); |
| 166 | 164 | ||
| 167 | mc13xxx_lock(mcdev); | ||
| 168 | for (i = 0; i < devtype->num_regs; i++) { | 165 | for (i = 0; i < devtype->num_regs; i++) { |
| 169 | reg = pdata->led_control[i]; | 166 | reg = pdata->led_control[i]; |
| 170 | WARN_ON(reg >= (1 << 24)); | 167 | WARN_ON(reg >= (1 << 24)); |
| 171 | ret = mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), reg); | 168 | ret = mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), reg); |
| 172 | if (ret) | 169 | if (ret) |
| 173 | break; | 170 | return ret; |
| 174 | } | ||
| 175 | mc13xxx_unlock(mcdev); | ||
| 176 | |||
| 177 | if (ret) { | ||
| 178 | dev_err(&pdev->dev, "Unable to init LED driver\n"); | ||
| 179 | return ret; | ||
| 180 | } | 171 | } |
| 181 | 172 | ||
| 182 | for (i = 0; i < num_leds; i++) { | 173 | for (i = 0; i < num_leds; i++) { |
| @@ -237,10 +228,8 @@ static int mc13xxx_led_remove(struct platform_device *pdev) | |||
| 237 | cancel_work_sync(&leds->led[i].work); | 228 | cancel_work_sync(&leds->led[i].work); |
| 238 | } | 229 | } |
| 239 | 230 | ||
| 240 | mc13xxx_lock(mcdev); | ||
| 241 | for (i = 0; i < leds->devtype->num_regs; i++) | 231 | for (i = 0; i < leds->devtype->num_regs; i++) |
| 242 | mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), 0); | 232 | mc13xxx_reg_write(mcdev, MC13XXX_REG_LED_CONTROL(i), 0); |
| 243 | mc13xxx_unlock(mcdev); | ||
| 244 | 233 | ||
| 245 | return 0; | 234 | return 0; |
| 246 | } | 235 | } |
