• Milo Kim's avatar
    leds: lp5523: restore legacy device attributes · 45e611bf
    Milo Kim authored
    git commit db6eaf83
    (leds-lp5523: use generic firmware interface) causes an application conflict.
    This interface should be maintained for compatibility.
    
    Restored device attributes are 'engineN_mode', 'engineN_load' and
    'engineN_leds'. (N = 1, 2 or 3)
    A 'selftest' attribute macro is replaced with LP55xx common macro.
    Those are accessed when a LED pattern is run by an application.
    
    Use a mutex in lp5523_update_program_memory()
    : This function is called when an user-application writes a 'engineN_load' file
    or pattern data is loaded from generic firmware interface.
    So, writing program memory should be protected.
    If an error occurs on accessing this area, just it returns as -EINVAL quickly.
    This error code is exact same as old driver function, lp5523_do_store_load()
    because it should be kept for an user-application compatibility.
    Even the driver is changed, we can use the application without re-compiling
    sources.
    Reported-by: default avatarPali Rohár <pali.rohar@gmail.com>
    Signed-off-by: default avatarMilo Kim <milo.kim@ti.com>
    Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
    45e611bf
leds-lp5523.c 20.1 KB