aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/backlight')
-rw-r--r--drivers/video/backlight/hp680_bl.c39
1 files changed, 24 insertions, 15 deletions
diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c
index 074625a46e3d..e7444c8f289d 100644
--- a/drivers/video/backlight/hp680_bl.c
+++ b/drivers/video/backlight/hp680_bl.c
@@ -28,7 +28,6 @@
28static int hp680bl_suspended; 28static int hp680bl_suspended;
29static int current_intensity = 0; 29static int current_intensity = 0;
30static DEFINE_SPINLOCK(bl_lock); 30static DEFINE_SPINLOCK(bl_lock);
31static struct backlight_device *hp680_backlight_device;
32 31
33static void hp680bl_send_intensity(struct backlight_device *bd) 32static void hp680bl_send_intensity(struct backlight_device *bd)
34{ 33{
@@ -66,17 +65,21 @@ static void hp680bl_send_intensity(struct backlight_device *bd)
66 65
67 66
68#ifdef CONFIG_PM 67#ifdef CONFIG_PM
69static int hp680bl_suspend(struct platform_device *dev, pm_message_t state) 68static int hp680bl_suspend(struct platform_device *pdev, pm_message_t state)
70{ 69{
70 struct backlight_device *bd = platform_get_drvdata(pdev);
71
71 hp680bl_suspended = 1; 72 hp680bl_suspended = 1;
72 hp680bl_send_intensity(hp680_backlight_device); 73 hp680bl_send_intensity(bd);
73 return 0; 74 return 0;
74} 75}
75 76
76static int hp680bl_resume(struct platform_device *dev) 77static int hp680bl_resume(struct platform_device *pdev)
77{ 78{
79 struct backlight_device *bd = platform_get_drvdata(pdev);
80
78 hp680bl_suspended = 0; 81 hp680bl_suspended = 0;
79 hp680bl_send_intensity(hp680_backlight_device); 82 hp680bl_send_intensity(bd);
80 return 0; 83 return 0;
81} 84}
82#else 85#else
@@ -101,26 +104,32 @@ static struct backlight_properties hp680bl_data = {
101 .update_status = hp680bl_set_intensity, 104 .update_status = hp680bl_set_intensity,
102}; 105};
103 106
104static int __init hp680bl_probe(struct platform_device *dev) 107static int __init hp680bl_probe(struct platform_device *pdev)
105{ 108{
106 hp680_backlight_device = backlight_device_register ("hp680-bl", 109 struct backlight_device *bd;
107 &dev->dev, NULL, &hp680bl_data); 110
108 if (IS_ERR (hp680_backlight_device)) 111 bd = backlight_device_register ("hp680-bl", &pdev->dev, NULL,
109 return PTR_ERR (hp680_backlight_device); 112 &hp680bl_data);
113 if (IS_ERR(bd))
114 return PTR_ERR(bd);
110 115
111 hp680_backlight_device->props->brightness = HP680_DEFAULT_INTENSITY; 116 platform_set_drvdata(pdev, bd);
112 hp680bl_send_intensity(hp680_backlight_device); 117
118 bd->props->brightness = HP680_DEFAULT_INTENSITY;
119 hp680bl_send_intensity(bd);
113 120
114 return 0; 121 return 0;
115} 122}
116 123
117static int hp680bl_remove(struct platform_device *dev) 124static int hp680bl_remove(struct platform_device *pdev)
118{ 125{
126 struct backlight_device *bd = platform_get_drvdata(pdev);
127
119 hp680bl_data.brightness = 0; 128 hp680bl_data.brightness = 0;
120 hp680bl_data.power = 0; 129 hp680bl_data.power = 0;
121 hp680bl_send_intensity(hp680_backlight_device); 130 hp680bl_send_intensity(bd);
122 131
123 backlight_device_unregister(hp680_backlight_device); 132 backlight_device_unregister(bd);
124 133
125 return 0; 134 return 0;
126} 135}