All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drivers/vidfeo/backlight: ld9040 cleanups
@ 2011-06-28 13:45 Axel Lin
  0 siblings, 0 replies; only message in thread
From: Axel Lin @ 2011-06-28 13:45 UTC (permalink / raw)
  To: linux-kernel; +Cc: Donghwa Lee, Richard Purdie, Andrew Morton

This patch includes below fixes:
1. Fix checking wrong return value for backlight_device_register.
2. Properly free allocated resources in ld9040_probe() error path
   and ld9040_remove().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
 drivers/video/backlight/ld9040.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/video/backlight/ld9040.c b/drivers/video/backlight/ld9040.c
index 7281b25..62bcde3 100644
--- a/drivers/video/backlight/ld9040.c
+++ b/drivers/video/backlight/ld9040.c
@@ -701,9 +701,9 @@ static int ld9040_probe(struct spi_device *spi)
 
 	bd = backlight_device_register("ld9040-bl", &spi->dev,
 		lcd, &ld9040_backlight_ops, NULL);
-	if (IS_ERR(ld)) {
-		ret = PTR_ERR(ld);
-		goto out_free_lcd;
+	if (IS_ERR(bd)) {
+		ret = PTR_ERR(bd);
+		goto out_unregister_lcd;
 	}
 
 	bd->props.max_brightness = MAX_BRIGHTNESS;
@@ -731,6 +731,8 @@ static int ld9040_probe(struct spi_device *spi)
 	dev_info(&spi->dev, "ld9040 panel driver has been probed.\n");
 	return 0;
 
+out_unregister_lcd:
+	lcd_device_unregister(lcd->ld);
 out_free_lcd:
 	kfree(lcd);
 	return ret;
@@ -741,6 +743,7 @@ static int __devexit ld9040_remove(struct spi_device *spi)
 	struct ld9040 *lcd = dev_get_drvdata(&spi->dev);
 
 	ld9040_power(lcd, FB_BLANK_POWERDOWN);
+	backlight_device_unregister(lcd->bd);
 	lcd_device_unregister(lcd->ld);
 	kfree(lcd);
 
-- 
1.7.4.1




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-06-28 13:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-28 13:45 [PATCH] drivers/vidfeo/backlight: ld9040 cleanups Axel Lin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.