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 <s...@ravnborg.org>

Reviewed-by: Daniel Thompson <daniel.thomp...@linaro.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 | 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
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to