aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight/ld9040.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/backlight/ld9040.c')
-rw-r--r--drivers/video/backlight/ld9040.c23
1 files changed, 7 insertions, 16 deletions
diff --git a/drivers/video/backlight/ld9040.c b/drivers/video/backlight/ld9040.c
index 1e0a3093ce50..506a6c236039 100644
--- a/drivers/video/backlight/ld9040.c
+++ b/drivers/video/backlight/ld9040.c
@@ -702,7 +702,7 @@ static int ld9040_probe(struct spi_device *spi)
702 lcd->spi = spi; 702 lcd->spi = spi;
703 lcd->dev = &spi->dev; 703 lcd->dev = &spi->dev;
704 704
705 lcd->lcd_pd = spi->dev.platform_data; 705 lcd->lcd_pd = dev_get_platdata(&spi->dev);
706 if (!lcd->lcd_pd) { 706 if (!lcd->lcd_pd) {
707 dev_err(&spi->dev, "platform data is NULL.\n"); 707 dev_err(&spi->dev, "platform data is NULL.\n");
708 return -EINVAL; 708 return -EINVAL;
@@ -716,7 +716,8 @@ static int ld9040_probe(struct spi_device *spi)
716 return ret; 716 return ret;
717 } 717 }
718 718
719 ld = lcd_device_register("ld9040", &spi->dev, lcd, &ld9040_lcd_ops); 719 ld = devm_lcd_device_register(&spi->dev, "ld9040", &spi->dev, lcd,
720 &ld9040_lcd_ops);
720 if (IS_ERR(ld)) 721 if (IS_ERR(ld))
721 return PTR_ERR(ld); 722 return PTR_ERR(ld);
722 723
@@ -726,12 +727,10 @@ static int ld9040_probe(struct spi_device *spi)
726 props.type = BACKLIGHT_RAW; 727 props.type = BACKLIGHT_RAW;
727 props.max_brightness = MAX_BRIGHTNESS; 728 props.max_brightness = MAX_BRIGHTNESS;
728 729
729 bd = backlight_device_register("ld9040-bl", &spi->dev, 730 bd = devm_backlight_device_register(&spi->dev, "ld9040-bl", &spi->dev,
730 lcd, &ld9040_backlight_ops, &props); 731 lcd, &ld9040_backlight_ops, &props);
731 if (IS_ERR(bd)) { 732 if (IS_ERR(bd))
732 ret = PTR_ERR(bd); 733 return PTR_ERR(bd);
733 goto out_unregister_lcd;
734 }
735 734
736 bd->props.brightness = MAX_BRIGHTNESS; 735 bd->props.brightness = MAX_BRIGHTNESS;
737 lcd->bd = bd; 736 lcd->bd = bd;
@@ -757,11 +756,6 @@ static int ld9040_probe(struct spi_device *spi)
757 756
758 dev_info(&spi->dev, "ld9040 panel driver has been probed.\n"); 757 dev_info(&spi->dev, "ld9040 panel driver has been probed.\n");
759 return 0; 758 return 0;
760
761out_unregister_lcd:
762 lcd_device_unregister(lcd->ld);
763
764 return ret;
765} 759}
766 760
767static int ld9040_remove(struct spi_device *spi) 761static int ld9040_remove(struct spi_device *spi)
@@ -769,9 +763,6 @@ static int ld9040_remove(struct spi_device *spi)
769 struct ld9040 *lcd = spi_get_drvdata(spi); 763 struct ld9040 *lcd = spi_get_drvdata(spi);
770 764
771 ld9040_power(lcd, FB_BLANK_POWERDOWN); 765 ld9040_power(lcd, FB_BLANK_POWERDOWN);
772 backlight_device_unregister(lcd->bd);
773 lcd_device_unregister(lcd->ld);
774
775 return 0; 766 return 0;
776} 767}
777 768