Improve the documentation for backlight_device and
adapt it to kernel-doc style.

Signed-off-by: Sam Ravnborg <s...@ravnborg.org>
Cc: Lee Jones <lee.jo...@linaro.org>
Cc: Daniel Thompson <daniel.thomp...@linaro.org>
Cc: Jingoo Han <jingooh...@gmail.com>
---
 include/linux/backlight.h | 81 ++++++++++++++++++++++++++++-----------
 1 file changed, 58 insertions(+), 23 deletions(-)

diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index c81b77af44d4..34ba1e444334 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -14,21 +14,6 @@
 #include <linux/mutex.h>
 #include <linux/notifier.h>
 
-/* Notes on locking:
- *
- * backlight_device->ops_lock is an internal backlight lock protecting the
- * ops pointer and no code outside the core should need to touch it.
- *
- * Access to update_status() is serialised by the update_lock mutex since
- * most drivers seem to need this and historically get it wrong.
- *
- * Most drivers don't need locking on their get_brightness() method.
- * If yours does, you need to implement it in the driver. You can use the
- * update_lock mutex if appropriate.
- *
- * Any other use of the locks below is probably wrong.
- */
-
 enum backlight_update_reason {
        BACKLIGHT_UPDATE_HOTKEY,
        BACKLIGHT_UPDATE_SYSFS,
@@ -221,30 +206,80 @@ struct backlight_properties {
        enum backlight_scale scale;
 };
 
+/**
+ * struct backlight_device - backlight device data
+ *
+ * This structure holds all data required by a backlight device.
+ */
 struct backlight_device {
-       /* Backlight properties */
+       /**
+        * @props:
+        *
+        * Backlight properties
+        */
        struct backlight_properties props;
 
-       /* Serialise access to update_status method */
+       /**
+        * @update_lock:
+        *
+        * update_lock is an internal backlight lock that serialise access
+        * to the update_status() method. The iupdate_lock mutex shall not be 
used
+        * by backlight drivers.
+        */
        struct mutex update_lock;
 
-       /* This protects the 'ops' field. If 'ops' is NULL, the driver that
-          registered this device has been unloaded, and if class_get_devdata()
-          points to something in the body of that driver, it is also invalid. 
*/
+       /**
+        * @ops_lock:
+        *
+        * ops_lock is an internal backlight lock that protects the ops pointer
+        * and is used around all accesses to ops and when the operations are
+        * invoked. The mutex shall not be used by backlight drivers.
+        */
        struct mutex ops_lock;
+
+       /**
+        * @ops:
+        *
+        * Pointer to the backlight operations. If ops is NULL, the driver that
+        * registered this device has been unloaded, and if class_get_devdata()
+        * points to something in the body of that driver, it is also invalid.
+        */
        const struct backlight_ops *ops;
 
-       /* The framebuffer notifier block */
+       /**
+        * @fb_notif:
+        *
+        * The framebuffer notifier block
+        */
        struct notifier_block fb_notif;
 
-       /* list entry of all registered backlight devices */
+       /**
+        * @entry:
+        *
+        * List entry of all registered backlight devices
+        */
        struct list_head entry;
 
+       /**
+        * @dev:
+        *
+        * Parent device.
+        */
        struct device dev;
 
-       /* Multiple framebuffers may share one backlight device */
+       /**
+        * @fb_bl_on:
+        *
+        * Multiple fbdev's may share one backlight device. The fb_bl_on
+        * records the state of the individual fbdev.
+        */
        bool fb_bl_on[FB_MAX];
 
+       /**
+        * @use_count:
+        *
+        * The number of uses of fb_bl_on.
+        */
        int use_count;
 };
 
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to