• Kim, Milo's avatar
    drivers/leds/leds-lp5521.c: support led pattern data · 011af7bc
    Kim, Milo authored
    The lp5521 has autonomous operation mode without external control.
    Using lp5521_platform_data, various led patterns can be configurable.
    For supporting this feature, new functions and device attribute are
    added.
    
    Structure of lp5521_led_pattern: 3 channels are supported - red, green
    and blue.  Pattern(s) of each channel and numbers of pattern(s) are
    defined in the pla= tform data.  Pattern data are hexa codes which
    include pattern commands such like set pwm, wait, ramp up/down, branch
    and so on.
    
    Pattern mode functions:
     * lp5521_clear_program_memory
    	Before running new led pattern, program memory should be cleared.
     * lp5521_write_program_memory
    	Pattern data updated in the program memory via the i2c.
     * lp5521_get_pattern
    	Get pattern from predefined in the platform data.
     * lp5521_run_led_pattern
    	Stop current pattern or run new pattern.
    	Transition time is required between different operation mode.
    
    Device attribute - 'led_pattern': To load specific led pattern, new device
    attribute is added.
    
    When the lp5521 driver is unloaded, stop current led pattern mode.
    
    Documentation updated : description about how to define the led patterns
    and example.
    
    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Cc: Arun MURTHY <arun.murthy@stericsson.com>
    Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
    Cc: Richard Purdie <rpurdie@rpsys.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    011af7bc
leds-lp5521.h 2.09 KB