Merge branch 'leds-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds

Pull LED fix from Bryan Wu:
"Pali Rohár and Pavel Machek reported the LED of Nokia N900 doesn't
work with our latest 3.13-rc6 kernel. Milo fixed the regression here"

* 'leds-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
leds: lp5521/5523: Remove duplicate mutex

Changed files
+8 -16
drivers
+4 -8
drivers/leds/leds-lp5521.c
··· 244 244 if (i % 2) 245 245 goto err; 246 246 247 - mutex_lock(&chip->lock); 248 - 249 247 for (i = 0; i < LP5521_PROGRAM_LENGTH; i++) { 250 248 ret = lp55xx_write(chip, addr[idx] + i, pattern[i]); 251 - if (ret) { 252 - mutex_unlock(&chip->lock); 249 + if (ret) 253 250 return -EINVAL; 254 - } 255 251 } 256 - 257 - mutex_unlock(&chip->lock); 258 252 259 253 return size; 260 254 ··· 421 427 { 422 428 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); 423 429 struct lp55xx_chip *chip = led->chip; 430 + int ret; 424 431 425 432 mutex_lock(&chip->lock); 426 433 427 434 chip->engine_idx = nr; 428 435 lp5521_load_engine(chip); 436 + ret = lp5521_update_program_memory(chip, buf, len); 429 437 430 438 mutex_unlock(&chip->lock); 431 439 432 - return lp5521_update_program_memory(chip, buf, len); 440 + return ret; 433 441 } 434 442 store_load(1) 435 443 store_load(2)
+4 -8
drivers/leds/leds-lp5523.c
··· 337 337 if (i % 2) 338 338 goto err; 339 339 340 - mutex_lock(&chip->lock); 341 - 342 340 for (i = 0; i < LP5523_PROGRAM_LENGTH; i++) { 343 341 ret = lp55xx_write(chip, LP5523_REG_PROG_MEM + i, pattern[i]); 344 - if (ret) { 345 - mutex_unlock(&chip->lock); 342 + if (ret) 346 343 return -EINVAL; 347 - } 348 344 } 349 - 350 - mutex_unlock(&chip->lock); 351 345 352 346 return size; 353 347 ··· 542 548 { 543 549 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); 544 550 struct lp55xx_chip *chip = led->chip; 551 + int ret; 545 552 546 553 mutex_lock(&chip->lock); 547 554 548 555 chip->engine_idx = nr; 549 556 lp5523_load_engine_and_select_page(chip); 557 + ret = lp5523_update_program_memory(chip, buf, len); 550 558 551 559 mutex_unlock(&chip->lock); 552 560 553 - return lp5523_update_program_memory(chip, buf, len); 561 + return ret; 554 562 } 555 563 store_load(1) 556 564 store_load(2)