• Enric Balletbo i Serra's avatar
    platform/chrome: cros_ec_lightbar: Instantiate only if the EC has a lightbar · fd68bd0f
    Enric Balletbo i Serra authored
    Due to the way attribute groups visibility work, the function
    cros_ec_lightbar_attrs_are_visible is called multiple times, once per
    attribute, and each of these calls makes an EC transaction. For what is
    worth the EC log reports multiple errors on boot when the lightbar is
    not available. Instead, check if the EC has a lightbar in the probe
    function and only instantiate the device.
    
    Ideally we should have instantiate the driver only if the
    EC_FEATURE_LIGHTBAR is defined, but that's not possible because that flag
    is not in the very first Pixel Chromebook (Link), only on Samus. So, the
    driver is instantiated by his parent always.
    
    This patch changes a bit the actual behaviour. Before the patch if an EC
    doesn't have a lightbar an empty lightbar folder is created in
    /sys/class/chromeos/<ec-device-name>, after the patch the empty folder is
    not created, so, the folder is only created if the lightbar exists.
    Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
    Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    fd68bd0f
cros_ec_lightbar.c 14.6 KB