aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight/omap1_bl.c
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2012-03-23 18:02:00 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-23 19:58:33 -0400
commitce969228fdb54a7e3d7cc1ed27367fd4b9525d74 (patch)
tree9850c7cc96d582302769c442e00142ac30a7bbc3 /drivers/video/backlight/omap1_bl.c
parent1107d40a50956146d1272f5cffcdf1d83f7e703e (diff)
drivers/video/backlight: use devm_ functions
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/backlight/omap1_bl.c')
-rw-r--r--drivers/video/backlight/omap1_bl.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/video/backlight/omap1_bl.c b/drivers/video/backlight/omap1_bl.c
index d8cde277ec83..0175bfb08a1c 100644
--- a/drivers/video/backlight/omap1_bl.c
+++ b/drivers/video/backlight/omap1_bl.c
@@ -141,7 +141,8 @@ static int omapbl_probe(struct platform_device *pdev)
141 if (!pdata) 141 if (!pdata)
142 return -ENXIO; 142 return -ENXIO;
143 143
144 bl = kzalloc(sizeof(struct omap_backlight), GFP_KERNEL); 144 bl = devm_kzalloc(&pdev->dev, sizeof(struct omap_backlight),
145 GFP_KERNEL);
145 if (unlikely(!bl)) 146 if (unlikely(!bl))
146 return -ENOMEM; 147 return -ENOMEM;
147 148
@@ -150,10 +151,8 @@ static int omapbl_probe(struct platform_device *pdev)
150 props.max_brightness = OMAPBL_MAX_INTENSITY; 151 props.max_brightness = OMAPBL_MAX_INTENSITY;
151 dev = backlight_device_register("omap-bl", &pdev->dev, bl, &omapbl_ops, 152 dev = backlight_device_register("omap-bl", &pdev->dev, bl, &omapbl_ops,
152 &props); 153 &props);
153 if (IS_ERR(dev)) { 154 if (IS_ERR(dev))
154 kfree(bl);
155 return PTR_ERR(dev); 155 return PTR_ERR(dev);
156 }
157 156
158 bl->powermode = FB_BLANK_POWERDOWN; 157 bl->powermode = FB_BLANK_POWERDOWN;
159 bl->current_intensity = 0; 158 bl->current_intensity = 0;
@@ -177,10 +176,8 @@ static int omapbl_probe(struct platform_device *pdev)
177static int omapbl_remove(struct platform_device *pdev) 176static int omapbl_remove(struct platform_device *pdev)
178{ 177{
179 struct backlight_device *dev = platform_get_drvdata(pdev); 178 struct backlight_device *dev = platform_get_drvdata(pdev);
180 struct omap_backlight *bl = dev_get_drvdata(&dev->dev);
181 179
182 backlight_device_unregister(dev); 180 backlight_device_unregister(dev);
183 kfree(bl);
184 181
185 return 0; 182 return 0;
186} 183}