Commit ca7c20b2 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by Lee Jones

backlight: backlight: Improve backlight_ops documentation

Improve the documentation for backlight_ops and adapt it to kernel-doc
style.
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 1c91b465
......@@ -55,19 +55,66 @@ enum backlight_scale {
struct backlight_device;
struct fb_info;
/**
* struct backlight_ops - backlight operations
*
* The backlight operations are specified when the backlight device is registered.
*/
struct backlight_ops {
/**
* @options: Configure how operations are called from the core.
*
* The options parameter is used to adjust the behaviour of the core.
* Set BL_CORE_SUSPENDRESUME to get the update_status() operation called
* upon suspend and resume.
*/
unsigned int options;
#define BL_CORE_SUSPENDRESUME (1 << 0)
/* Notify the backlight driver some property has changed */
/**
* @update_status: Operation called when properties have changed.
*
* Notify the backlight driver some property has changed.
* The update_status operation is protected by the update_lock.
*
* The backlight driver is expected to use backlight_is_blank()
* to check if the display is blanked and set brightness accordingly.
* update_status() is called when any of the properties has changed.
*
* RETURNS:
*
* 0 on success, negative error code if any failure occurred.
*/
int (*update_status)(struct backlight_device *);
/* Return the current backlight brightness (accounting for power,
fb_blank etc.) */
/**
* @get_brightness: Return the current backlight brightness.
*
* The driver may implement this as a readback from the HW.
* This operation is optional and if not present then the current
* brightness property value is used.
*
* RETURNS:
*
* A brightness value which is 0 or a positive number.
* On failure a negative error code is returned.
*/
int (*get_brightness)(struct backlight_device *);
/* Check if given framebuffer device is the one bound to this backlight;
return 0 if not, !=0 if it is. If NULL, backlight always matches the fb. */
int (*check_fb)(struct backlight_device *, struct fb_info *);
/**
* @check_fb: Check the framebuffer device.
*
* Check if given framebuffer device is the one bound to this backlight.
* This operation is optional and if not implemented it is assumed that the
* fbdev is always the one bound to the backlight.
*
* RETURNS:
*
* If info is NULL or the info matches the fbdev bound to the backlight return true.
* If info does not match the fbdev bound to the backlight return false.
*/
int (*check_fb)(struct backlight_device *bd, struct fb_info *info);
};
/* This structure defines all the properties of a backlight */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment