Hi Lars-Peter,
On Monday 26 November 2012 11:44:04 Lars-Peter Clausen wrote:
On 11/26/2012 10:49 AM, Jingoo Han wrote:
quoted
On Saturday, November 24, 2012 1:35 AM, Laurent Pinchart wrote
[...]
quoted
quoted
+static int gpio_backlight_check_fb(struct backlight_device *bl,
+ struct fb_info *info)
+{
+ struct gpio_backlight *gbl = bl_get_data(bl);
+
+ return gbl->fbdev = info->dev;
I think it makes sense to return true if fbdev is NULL, to provide a simple
fallback for systems with only one framebuffer device.
Agreed, I'll change that.
quoted
quoted
+}
+
[...]
quoted
quoted
+#ifdef CONFIG_PM
+static int gpio_backlight_suspend(struct device *dev)
+{
+ struct backlight_device *bl = dev_get_drvdata(dev);
+ struct gpio_backlight *gbl = bl_get_data(bl);
+
+ gpio_set_value(gbl->gpio, !gbl->active);
+
+ return 0;
+}
+
+static int gpio_backlight_resume(struct device *dev)
+{
+ struct backlight_device *bl = dev_get_drvdata(dev);
+
+ backlight_update_status(bl);
+ return 0;
+}
If you use BL_CORE_SUSPENDRESUME you can get rid of the custom
suspend/resume handlers.
Good point, I'll do that.
quoted
quoted
+
+static SIMPLE_DEV_PM_OPS(gpio_backlight_pm_ops, gpio_backlight_suspend,
+ gpio_backlight_resume);
+
+#endif
+
--
Regards,
Laurent Pinchart