diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-08 12:55:03 -0500 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-08 12:55:03 -0500 |
commit | 859cb7f2a4244ea6da206d3fe9cc8a6810947a68 (patch) | |
tree | 3389fe6c191418d6acc30d84e11a0760608f7431 /drivers/leds/leds-ams-delta.c | |
parent | 0081e8020ebd814a99e45720a10e869a54ee08a6 (diff) |
leds: Add suspend/resume to the core class
Add suspend/resume to the core class and remove all the now unneeded
code from various drivers. Originally the class code couldn't support
suspend/resume but since class_device can there is no reason for
each driver doing its own suspend/resume anymore.
Diffstat (limited to 'drivers/leds/leds-ams-delta.c')
-rw-r--r-- | drivers/leds/leds-ams-delta.c | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/drivers/leds/leds-ams-delta.c b/drivers/leds/leds-ams-delta.c index 072157c3ba72..446050759b4d 100644 --- a/drivers/leds/leds-ams-delta.c +++ b/drivers/leds/leds-ams-delta.c | |||
@@ -79,37 +79,12 @@ static struct ams_delta_led ams_delta_leds[] = { | |||
79 | }, | 79 | }, |
80 | }; | 80 | }; |
81 | 81 | ||
82 | #ifdef CONFIG_PM | ||
83 | static int ams_delta_led_suspend(struct platform_device *dev, | ||
84 | pm_message_t state) | ||
85 | { | ||
86 | int i; | ||
87 | |||
88 | for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i++) | ||
89 | led_classdev_suspend(&ams_delta_leds[i].cdev); | ||
90 | |||
91 | return 0; | ||
92 | } | ||
93 | |||
94 | static int ams_delta_led_resume(struct platform_device *dev) | ||
95 | { | ||
96 | int i; | ||
97 | |||
98 | for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i++) | ||
99 | led_classdev_resume(&ams_delta_leds[i].cdev); | ||
100 | |||
101 | return 0; | ||
102 | } | ||
103 | #else | ||
104 | #define ams_delta_led_suspend NULL | ||
105 | #define ams_delta_led_resume NULL | ||
106 | #endif | ||
107 | |||
108 | static int ams_delta_led_probe(struct platform_device *pdev) | 82 | static int ams_delta_led_probe(struct platform_device *pdev) |
109 | { | 83 | { |
110 | int i, ret; | 84 | int i, ret; |
111 | 85 | ||
112 | for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i++) { | 86 | for (i = 0; i < ARRAY_SIZE(ams_delta_leds); i++) { |
87 | ams_delta_leds[i].cdev.flags |= LED_CORE_SUSPENDRESUME; | ||
113 | ret = led_classdev_register(&pdev->dev, | 88 | ret = led_classdev_register(&pdev->dev, |
114 | &ams_delta_leds[i].cdev); | 89 | &ams_delta_leds[i].cdev); |
115 | if (ret < 0) | 90 | if (ret < 0) |
@@ -136,8 +111,6 @@ static int ams_delta_led_remove(struct platform_device *pdev) | |||
136 | static struct platform_driver ams_delta_led_driver = { | 111 | static struct platform_driver ams_delta_led_driver = { |
137 | .probe = ams_delta_led_probe, | 112 | .probe = ams_delta_led_probe, |
138 | .remove = ams_delta_led_remove, | 113 | .remove = ams_delta_led_remove, |
139 | .suspend = ams_delta_led_suspend, | ||
140 | .resume = ams_delta_led_resume, | ||
141 | .driver = { | 114 | .driver = { |
142 | .name = "ams-delta-led", | 115 | .name = "ams-delta-led", |
143 | .owner = THIS_MODULE, | 116 | .owner = THIS_MODULE, |