On Wed, Sep 10, 2014 at 05:54:22PM +0200, David Herrmann wrote: [...]
+void backlight_set_brightness(struct backlight_device *bd, unsigned int value,
enum backlight_update_reason reason)
+{
- mutex_lock(&bd->ops_lock);
- if (bd->ops) {
value = clamp(value, 0U, (unsigned)bd->props.max_brightness);
max_brightness should really be unsigned to begin with...
pr_debug("set brightness to %u\n", value);
dev_dbg(&bd->dev, ...)?
diff --git a/include/linux/backlight.h b/include/linux/backlight.h index adb14a8..bcc0dec 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h @@ -141,6 +141,22 @@ extern bool backlight_device_registered(enum backlight_type type); extern int backlight_register_notifier(struct notifier_block *nb); extern int backlight_unregister_notifier(struct notifier_block *nb);
+struct backlight_device *backlight_device_lookup(const char *name); +void backlight_set_brightness(struct backlight_device *bd, unsigned int value,
enum backlight_update_reason reason);
+static inline void backlight_device_ref(struct backlight_device *bd) +{
- if (bd)
get_device(&bd->dev);
+}
Perhaps for consistency with get_device() this should return bd? That way you can chain things like so:
priv->backlight = backlight_device_ref(bd);
Thierry