• Richard Purdie's avatar
    [PATCH] backlight: Backlight Class Improvements · 6ca01765
    Richard Purdie authored
    Backlight class attributes are currently easy to implement incorrectly.
    Moving certain handling into the backlight core prevents this whilst at the
    same time makes the drivers simpler and consistent.  The following changes are
    included:
    
    The brightness attribute only sets and reads the brightness variable in the
    backlight_properties structure.
    
    The power attribute only sets and reads the power variable in the
    backlight_properties structure.
    
    Any framebuffer blanking events change a variable fb_blank in the
    backlight_properties structure.
    
    The backlight driver has only two functions to implement.  One function is
    called when any of the above properties change (to update the backlight
    brightness), the second is called to return the current backlight brightness
    value.  A new attribute "actual_brightness" is added to return this brightness
    as determined by the driver having combined all the above factors (and any
    driver/device specific factors).
    
    Additionally, the backlight core takes care of checking the maximum brightness
    is not exceeded and of turning off the backlight before device removal.
    
    The corgi backlight driver is updated to reflect these changes.
    Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
    Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    6ca01765
backlight.h 1.95 KB