Use devm_lcd_device_register() to make cleanup paths simpler,
and remove unnecessary remove().

Signed-off-by: Jingoo Han <jg1....@samsung.com>
---
 drivers/video/backlight/hx8357.c |   18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/video/backlight/hx8357.c b/drivers/video/backlight/hx8357.c
index c7af8c4..0d252e7 100644
--- a/drivers/video/backlight/hx8357.c
+++ b/drivers/video/backlight/hx8357.c
@@ -648,7 +648,8 @@ static int hx8357_probe(struct spi_device *spi)
                lcd->use_im_pins = 0;
        }
 
-       lcdev = lcd_device_register("mxsfb", &spi->dev, lcd, &hx8357_ops);
+       lcdev = devm_lcd_device_register(&spi->dev, "mxsfb", &spi->dev, lcd,
+                                       &hx8357_ops);
        if (IS_ERR(lcdev)) {
                ret = PTR_ERR(lcdev);
                return ret;
@@ -660,29 +661,16 @@ static int hx8357_probe(struct spi_device *spi)
        ret = ((int (*)(struct lcd_device *))match->data)(lcdev);
        if (ret) {
                dev_err(&spi->dev, "Couldn't initialize panel\n");
-               goto init_error;
+               return ret;
        }
 
        dev_info(&spi->dev, "Panel probed\n");
 
        return 0;
-
-init_error:
-       lcd_device_unregister(lcdev);
-       return ret;
-}
-
-static int hx8357_remove(struct spi_device *spi)
-{
-       struct lcd_device *lcdev = spi_get_drvdata(spi);
-
-       lcd_device_unregister(lcdev);
-       return 0;
 }
 
 static struct spi_driver hx8357_driver = {
        .probe  = hx8357_probe,
-       .remove = hx8357_remove,
        .driver = {
                .name = "hx8357",
                .of_match_table = of_match_ptr(hx8357_dt_ids),
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to