backlight: corgi_lcd: use devm_{backlight,lcd}_device_register()
Use devm_backlight_device_register() and devm_lcd_device_register() to make cleanup paths simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7a78e1b24b
commit
10645a1d18
|
@ -550,8 +550,8 @@ static int corgi_lcd_probe(struct spi_device *spi)
|
|||
|
||||
lcd->spi_dev = spi;
|
||||
|
||||
lcd->lcd_dev = lcd_device_register("corgi_lcd", &spi->dev,
|
||||
lcd, &corgi_lcd_ops);
|
||||
lcd->lcd_dev = devm_lcd_device_register(&spi->dev, "corgi_lcd",
|
||||
&spi->dev, lcd, &corgi_lcd_ops);
|
||||
if (IS_ERR(lcd->lcd_dev))
|
||||
return PTR_ERR(lcd->lcd_dev);
|
||||
|
||||
|
@ -561,18 +561,18 @@ static int corgi_lcd_probe(struct spi_device *spi)
|
|||
memset(&props, 0, sizeof(struct backlight_properties));
|
||||
props.type = BACKLIGHT_RAW;
|
||||
props.max_brightness = pdata->max_intensity;
|
||||
lcd->bl_dev = backlight_device_register("corgi_bl", &spi->dev, lcd,
|
||||
&corgi_bl_ops, &props);
|
||||
if (IS_ERR(lcd->bl_dev)) {
|
||||
ret = PTR_ERR(lcd->bl_dev);
|
||||
goto err_unregister_lcd;
|
||||
}
|
||||
lcd->bl_dev = devm_backlight_device_register(&spi->dev, "corgi_bl",
|
||||
&spi->dev, lcd, &corgi_bl_ops,
|
||||
&props);
|
||||
if (IS_ERR(lcd->bl_dev))
|
||||
return PTR_ERR(lcd->bl_dev);
|
||||
|
||||
lcd->bl_dev->props.brightness = pdata->default_intensity;
|
||||
lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
|
||||
|
||||
ret = setup_gpio_backlight(lcd, pdata);
|
||||
if (ret)
|
||||
goto err_unregister_bl;
|
||||
return ret;
|
||||
|
||||
lcd->kick_battery = pdata->kick_battery;
|
||||
|
||||
|
@ -583,12 +583,6 @@ static int corgi_lcd_probe(struct spi_device *spi)
|
|||
lcd->limit_mask = pdata->limit_mask;
|
||||
the_corgi_lcd = lcd;
|
||||
return 0;
|
||||
|
||||
err_unregister_bl:
|
||||
backlight_device_unregister(lcd->bl_dev);
|
||||
err_unregister_lcd:
|
||||
lcd_device_unregister(lcd->lcd_dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int corgi_lcd_remove(struct spi_device *spi)
|
||||
|
@ -598,11 +592,7 @@ static int corgi_lcd_remove(struct spi_device *spi)
|
|||
lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
|
||||
lcd->bl_dev->props.brightness = 0;
|
||||
backlight_update_status(lcd->bl_dev);
|
||||
backlight_device_unregister(lcd->bl_dev);
|
||||
|
||||
corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_POWERDOWN);
|
||||
lcd_device_unregister(lcd->lcd_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue