From: Sam Ravnborg <sam@ravnborg.org>
To: dri-devel@lists.freedesktop.org,
Jingoo Han <jingoohan1@gmail.com>,
Lee Jones <lee.jones@linaro.org>,
Daniel Thompson <daniel.thompson@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
David Airlie <airlied@linux.ie>,
Emil Velikov <emil.l.velikov@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
linux-arm-msm@vger.kernel.org, linux-pwm@vger.kernel.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Michael Hennerich <michael.hennerich@analog.com>,
patches@opensource.cirrus.com,
Support Opensource <support.opensource@diasemi.com>,
Thierry Reding <thierry.reding@gmail.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Uwe Kleine-Konig <u.kleine-koenig@pengutronix.de>,
Peter Ujfalusi <peter.ujfalusi@ti.com>, Tomi Valkeinen <tomi.v>
Subject: [PATCH v3 05/13] backlight: improve backlight_device documentation
Date: Mon, 1 Jun 2020 08:51:59 +0200 [thread overview]
Message-ID: <20200601065207.492614-6-sam@ravnborg.org> (raw)
In-Reply-To: <20200601065207.492614-1-sam@ravnborg.org>
Improve the documentation for backlight_device and
adapt it to kernel-doc style.
v2:
- Add short intro to all fields (Daniel)
- Updated description of update_lock (Daniel)
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jingoo Han <jingoohan1@gmail.com>
---
include/linux/backlight.h | 72 ++++++++++++++++++++++++++-------------
1 file changed, 49 insertions(+), 23 deletions(-)
diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index 69a20da03035..cae1af95dd9d 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,
@@ -215,30 +200,71 @@ 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: The lock used when calling the update_status() operation.
+ *
+ * update_lock is an internal backlight lock that serialise access
+ * to the update_status() operation. The backlight core holds the update_lock
+ * when calling the update_status() operation. The update_lock 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: The lock used around everything related to backlight_ops.
+ *
+ * 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 ops_lock 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: The state of individual fbdev's.
+ *
+ * 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
next prev parent reply other threads:[~2020-06-01 6:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-01 6:51 [PATCH v3 0/16] backlight updates Sam Ravnborg
2020-06-01 6:51 ` [PATCH v3 01/13] backlight: refactor fb_notifier_callback() Sam Ravnborg
2020-06-01 6:51 ` [PATCH v3 02/13] backlight: add backlight_is_blank() Sam Ravnborg
2020-06-01 12:27 ` Peter Ujfalusi
2020-06-01 6:51 ` [PATCH v3 03/13] backlight: improve backlight_ops documentation Sam Ravnborg
2020-06-01 6:51 ` [PATCH v3 04/13] backlight: improve backlight_properties documentation Sam Ravnborg
2020-06-01 10:10 ` Daniel Thompson
2020-06-01 6:51 ` Sam Ravnborg [this message]
2020-06-01 10:23 ` [PATCH v3 05/13] backlight: improve backlight_device documentation Daniel Thompson
2020-06-01 6:52 ` [PATCH v3 06/13] backlight: document inline functions in backlight.h Sam Ravnborg
2020-06-01 6:52 ` [PATCH v3 07/13] backlight: document enums " Sam Ravnborg
2020-06-01 6:52 ` [PATCH v3 08/13] backlight: remove the unused backlight_bl driver Sam Ravnborg
2020-06-01 6:52 ` [PATCH v3 09/13] backlight: drop extern from prototypes Sam Ravnborg
2020-06-01 6:52 ` [PATCH v3 10/13] backlight: add overview and update existing doc Sam Ravnborg
2020-06-01 10:34 ` Daniel Thompson
2020-06-01 6:52 ` [PATCH v3 11/13] backlight: wire up kernel-doc documentation Sam Ravnborg
2020-06-01 6:52 ` [PATCH v3 12/13] backlight: as3711_bl: introduce backlight_is_blank() Sam Ravnborg
2020-06-01 10:35 ` Daniel Thompson
2020-06-01 6:52 ` [PATCH v3 13/13] backlight: use backlight_is_blank() in all backlight drivers Sam Ravnborg
2020-06-01 12:28 ` Peter Ujfalusi
2020-06-01 12:39 ` Sam Ravnborg
2020-06-02 14:04 ` [PATCH v3 0/16] backlight updates Emil Velikov
2020-07-02 8:01 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200601065207.492614-6-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=agross@kernel.org \
--cc=airlied@linux.ie \
--cc=b.zolnierkie@samsung.com \
--cc=bjorn.andersson@linaro.org \
--cc=corbet@lwn.net \
--cc=daniel.thompson@linaro.org \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=jingoohan1@gmail.com \
--cc=lee.jones@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=michael.hennerich@analog.com \
--cc=mripard@kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=peter.ujfalusi@ti.com \
--cc=support.opensource@diasemi.com \
--cc=thierry.reding@gmail.com \
--cc=tzimmermann@suse.de \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).