[PATCH v3 04/13] backlight: improve backlight_properties documentation
Daniel Thompson
daniel.thompson at linaro.org
Mon Jun 1 10:10:18 UTC 2020
On Mon, Jun 01, 2020 at 08:51:58AM +0200, Sam Ravnborg wrote:
> Improve the documentation for backlight_properties and
> adapt it to kernel-doc style.
>
> v2:
> - Added into for each field (Daniel)
> - Re-written some parts to explain what to do, rather
> than what not to do.
> Partly based on suggestions from the review (Daniel)
>
> Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
> Cc: Lee Jones <lee.jones at linaro.org>
> Cc: Daniel Thompson <daniel.thompson at linaro.org>
> Cc: Jingoo Han <jingoohan1 at gmail.com>
> ---
> include/linux/backlight.h | 96 ++++++++++++++++++++++++++++++++++-----
> 1 file changed, 85 insertions(+), 11 deletions(-)
>
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index b6c1ab6c922a..69a20da03035 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -117,28 +117,102 @@ struct backlight_ops {
> int (*check_fb)(struct backlight_device *bd, struct fb_info *info);
> };
>
> -/* This structure defines all the properties of a backlight */
> +/**
> + * struct backlight_properties - backlight properties
> + *
> + * This structure defines all the properties of a backlight.
> + */
> struct backlight_properties {
> - /* Current User requested brightness (0 - max_brightness) */
> + /**
> + * @brightness: The current brightness requested by the user.
> + *
> + * The backlight core makes sure the range is (0 to max_brightness)
> + * when the brightness is set via the sysfs attribute:
> + * /sys/class/backlight/<backlight>/brightness.
> + *
> + * This value can be set in the backlight_properties passed
> + * to devm_backlight_device_register() to set a default brightness
> + * value.
> + */
> int brightness;
> - /* Maximal value for brightness (read-only) */
> +
> + /**
> + * @max_brightness: The maximum brightness value.
> + *
> + * This value must be set in the backlight_properties passed to
> + * devm_backlight_device_register() and shall not be modified by the
> + * driver after registration.
> + */
> int max_brightness;
> - /* Current FB Power mode (0: full on, 1..3: power saving
> - modes; 4: full off), see FB_BLANK_XXX */
> +
> + /**
> + * @power: The current power mode.
> + *
> + * User space can configure the power mode using the sysfs
> + * attribute: /sys/class/backlight/<backlight>/bl_power
> + * When the power property is updated update_status() is called.
> + *
> + * The possible values are: (0: full on, 1 to 3: power saving
> + * modes; 4: full off), see FB_BLANK_XXX.
> + *
> + * When the backlight device is enabled @power is set
> + * to FB_BLANK_UNBLANK. When the backlight device is disabled
> + * @power is set to FB_BLANK_POWERDOWN.
> + */
> int power;
> - /* FB Blanking active? (values as for power) */
> - /* Due to be removed, please use (state & BL_CORE_FBBLANK) */
> +
> + /**
> + * @fb_blank: The power state from the FBIOBLANK ioclt.
> + *
> + * When the FBIOBLANK ioctl is called fb_blank is set to the
> + * blank parameter and the update_status() operation is called.
> + *
> + * When the backlight device is enabled @fb_blank is set
> + * to FB_BLANK_UNBLANK. When the backlight device is disabled
> + * @fb_blank is set to FB_BLANK_POWERDOWN.
> + *
> + * Backlight drivers should avoid using this property. It has been
> + * replaced by state & BL_CORE_FBLANK (although most drivers should
> + * use backlight_is_blank() as the preferred means to get the blank
> + * state).
> + *
> + * fb_blank is deprecated and will be removed.
> + */
> int fb_blank;
> - /* Backlight type */
> +
> + /**
> + * @type: The type of backlight supported.
> + *
> + * The backlight type allows userspace to make appropriate
> + * policy desicions based on the backlight type.
> + *
> + * This value must be set in the backlight_properties
> + * passed to devm_backlight_device_register().
> + */
> enum backlight_type type;
> - /* Flags used to signal drivers of state changes */
> +
> + /**
> + * @state: The state of the backlight core.
> + *
> + * The state is a bitmask. BL_CORE_FBBLANK is set when the display
> + * is expected to be blank. BL_CORE_SUSPENDED is set when the
> + * driver is suspended.
> + *
> + * backlight drivers are excpected to use backlight_is_blank()
> + * in their update_status() operation rather than reading the
> + * state property.
> + *
> + * The state is maintained by the core and drivers may not modify it.
> + */
> unsigned int state;
> - /* Type of the brightness scale (linear, non-linear, ...) */
> - enum backlight_scale scale;
>
> #define BL_CORE_SUSPENDED (1 << 0) /* backlight is suspended */
> #define BL_CORE_FBBLANK (1 << 1) /* backlight is under an fb blank event */
>
> + /**
> + * @scale: The type of the brightness scale.
> + */
> + enum backlight_scale scale;
> };
>
> struct backlight_device {
> --
> 2.25.1
>
More information about the dri-devel
mailing list