diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-04-29 19:18:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 21:28:18 -0400 |
commit | 1dde37d4574cce3c0c99ddffc3623b533578be49 (patch) | |
tree | 5dd8309f161d166e3dc375201d5a8a784580b35c /drivers/video/backlight | |
parent | 07cac9d78fcc9a0a3dd7c5b8523371f4d8cae591 (diff) |
backlight: tosa: convert tosa to dev_pm_ops
Instead of using legacy suspend/resume methods, using newer dev_pm_ops
structure allows better control over power management.
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>
Diffstat (limited to 'drivers/video/backlight')
-rw-r--r-- | drivers/video/backlight/tosa_bl.c | 18 | ||||
-rw-r--r-- | drivers/video/backlight/tosa_lcd.c | 18 |
2 files changed, 16 insertions, 20 deletions
diff --git a/drivers/video/backlight/tosa_bl.c b/drivers/video/backlight/tosa_bl.c index 2326fa810c59..9df66ac68b34 100644 --- a/drivers/video/backlight/tosa_bl.c +++ b/drivers/video/backlight/tosa_bl.c | |||
@@ -134,28 +134,27 @@ static int tosa_bl_remove(struct i2c_client *client) | |||
134 | return 0; | 134 | return 0; |
135 | } | 135 | } |
136 | 136 | ||
137 | #ifdef CONFIG_PM | 137 | #ifdef CONFIG_PM_SLEEP |
138 | static int tosa_bl_suspend(struct i2c_client *client, pm_message_t pm) | 138 | static int tosa_bl_suspend(struct device *dev) |
139 | { | 139 | { |
140 | struct tosa_bl_data *data = i2c_get_clientdata(client); | 140 | struct tosa_bl_data *data = dev_get_drvdata(dev); |
141 | 141 | ||
142 | tosa_bl_set_backlight(data, 0); | 142 | tosa_bl_set_backlight(data, 0); |
143 | 143 | ||
144 | return 0; | 144 | return 0; |
145 | } | 145 | } |
146 | 146 | ||
147 | static int tosa_bl_resume(struct i2c_client *client) | 147 | static int tosa_bl_resume(struct device *dev) |
148 | { | 148 | { |
149 | struct tosa_bl_data *data = i2c_get_clientdata(client); | 149 | struct tosa_bl_data *data = dev_get_drvdata(dev); |
150 | 150 | ||
151 | backlight_update_status(data->bl); | 151 | backlight_update_status(data->bl); |
152 | return 0; | 152 | return 0; |
153 | } | 153 | } |
154 | #else | ||
155 | #define tosa_bl_suspend NULL | ||
156 | #define tosa_bl_resume NULL | ||
157 | #endif | 154 | #endif |
158 | 155 | ||
156 | static SIMPLE_DEV_PM_OPS(tosa_bl_pm_ops, tosa_bl_suspend, tosa_bl_resume); | ||
157 | |||
159 | static const struct i2c_device_id tosa_bl_id[] = { | 158 | static const struct i2c_device_id tosa_bl_id[] = { |
160 | { "tosa-bl", 0 }, | 159 | { "tosa-bl", 0 }, |
161 | { }, | 160 | { }, |
@@ -165,11 +164,10 @@ static struct i2c_driver tosa_bl_driver = { | |||
165 | .driver = { | 164 | .driver = { |
166 | .name = "tosa-bl", | 165 | .name = "tosa-bl", |
167 | .owner = THIS_MODULE, | 166 | .owner = THIS_MODULE, |
167 | .pm = &tosa_bl_pm_ops, | ||
168 | }, | 168 | }, |
169 | .probe = tosa_bl_probe, | 169 | .probe = tosa_bl_probe, |
170 | .remove = tosa_bl_remove, | 170 | .remove = tosa_bl_remove, |
171 | .suspend = tosa_bl_suspend, | ||
172 | .resume = tosa_bl_resume, | ||
173 | .id_table = tosa_bl_id, | 171 | .id_table = tosa_bl_id, |
174 | }; | 172 | }; |
175 | 173 | ||
diff --git a/drivers/video/backlight/tosa_lcd.c b/drivers/video/backlight/tosa_lcd.c index 666fe2593ea4..bf081573e5b5 100644 --- a/drivers/video/backlight/tosa_lcd.c +++ b/drivers/video/backlight/tosa_lcd.c | |||
@@ -240,19 +240,19 @@ static int tosa_lcd_remove(struct spi_device *spi) | |||
240 | return 0; | 240 | return 0; |
241 | } | 241 | } |
242 | 242 | ||
243 | #ifdef CONFIG_PM | 243 | #ifdef CONFIG_PM_SLEEP |
244 | static int tosa_lcd_suspend(struct spi_device *spi, pm_message_t state) | 244 | static int tosa_lcd_suspend(struct device *dev) |
245 | { | 245 | { |
246 | struct tosa_lcd_data *data = spi_get_drvdata(spi); | 246 | struct tosa_lcd_data *data = dev_get_drvdata(dev); |
247 | 247 | ||
248 | tosa_lcd_tg_off(data); | 248 | tosa_lcd_tg_off(data); |
249 | 249 | ||
250 | return 0; | 250 | return 0; |
251 | } | 251 | } |
252 | 252 | ||
253 | static int tosa_lcd_resume(struct spi_device *spi) | 253 | static int tosa_lcd_resume(struct device *dev) |
254 | { | 254 | { |
255 | struct tosa_lcd_data *data = spi_get_drvdata(spi); | 255 | struct tosa_lcd_data *data = dev_get_drvdata(dev); |
256 | 256 | ||
257 | tosa_lcd_tg_init(data); | 257 | tosa_lcd_tg_init(data); |
258 | if (POWER_IS_ON(data->lcd_power)) | 258 | if (POWER_IS_ON(data->lcd_power)) |
@@ -262,20 +262,18 @@ static int tosa_lcd_resume(struct spi_device *spi) | |||
262 | 262 | ||
263 | return 0; | 263 | return 0; |
264 | } | 264 | } |
265 | #else | ||
266 | #define tosa_lcd_suspend NULL | ||
267 | #define tosa_lcd_resume NULL | ||
268 | #endif | 265 | #endif |
269 | 266 | ||
267 | static SIMPLE_DEV_PM_OPS(tosa_lcd_pm_ops, tosa_lcd_suspend, tosa_lcd_resume); | ||
268 | |||
270 | static struct spi_driver tosa_lcd_driver = { | 269 | static struct spi_driver tosa_lcd_driver = { |
271 | .driver = { | 270 | .driver = { |
272 | .name = "tosa-lcd", | 271 | .name = "tosa-lcd", |
273 | .owner = THIS_MODULE, | 272 | .owner = THIS_MODULE, |
273 | .pm = &tosa_lcd_pm_ops, | ||
274 | }, | 274 | }, |
275 | .probe = tosa_lcd_probe, | 275 | .probe = tosa_lcd_probe, |
276 | .remove = tosa_lcd_remove, | 276 | .remove = tosa_lcd_remove, |
277 | .suspend = tosa_lcd_suspend, | ||
278 | .resume = tosa_lcd_resume, | ||
279 | }; | 277 | }; |
280 | 278 | ||
281 | module_spi_driver(tosa_lcd_driver); | 279 | module_spi_driver(tosa_lcd_driver); |