aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/backlight/tdo24m.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c
index 2ccfa46eee7c..908016fc5829 100644
--- a/drivers/video/backlight/tdo24m.c
+++ b/drivers/video/backlight/tdo24m.c
@@ -385,21 +385,17 @@ static int tdo24m_probe(struct spi_device *spi)
385 return -EINVAL; 385 return -EINVAL;
386 } 386 }
387 387
388 lcd->lcd_dev = lcd_device_register("tdo24m", &spi->dev, 388 lcd->lcd_dev = devm_lcd_device_register(&spi->dev, "tdo24m", &spi->dev,
389 lcd, &tdo24m_ops); 389 lcd, &tdo24m_ops);
390 if (IS_ERR(lcd->lcd_dev)) 390 if (IS_ERR(lcd->lcd_dev))
391 return PTR_ERR(lcd->lcd_dev); 391 return PTR_ERR(lcd->lcd_dev);
392 392
393 spi_set_drvdata(spi, lcd); 393 spi_set_drvdata(spi, lcd);
394 err = tdo24m_power(lcd, FB_BLANK_UNBLANK); 394 err = tdo24m_power(lcd, FB_BLANK_UNBLANK);
395 if (err) 395 if (err)
396 goto out_unregister; 396 return err;
397 397
398 return 0; 398 return 0;
399
400out_unregister:
401 lcd_device_unregister(lcd->lcd_dev);
402 return err;
403} 399}
404 400
405static int tdo24m_remove(struct spi_device *spi) 401static int tdo24m_remove(struct spi_device *spi)
@@ -407,8 +403,6 @@ static int tdo24m_remove(struct spi_device *spi)
407 struct tdo24m *lcd = spi_get_drvdata(spi); 403 struct tdo24m *lcd = spi_get_drvdata(spi);
408 404
409 tdo24m_power(lcd, FB_BLANK_POWERDOWN); 405 tdo24m_power(lcd, FB_BLANK_POWERDOWN);
410 lcd_device_unregister(lcd->lcd_dev);
411
412 return 0; 406 return 0;
413} 407}
414 408