lkml.org 
[lkml]   [2021]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH v2 1/5] leds: trigger: add API for HW offloading of triggers
    > +static inline int led_trigger_offload(struct led_classdev *led_cdev)
    > +{
    > + int ret;
    > +
    > + if (!led_cdev->trigger_offload)
    > + return -EOPNOTSUPP;
    > +
    > + ret = led_cdev->trigger_offload(led_cdev, true);
    > + led_cdev->offloaded = !ret;
    > +
    > + return ret;
    > +}
    > +
    > +static inline void led_trigger_offload_stop(struct led_classdev *led_cdev)
    > +{
    > + if (!led_cdev->trigger_offload)
    > + return;
    > +
    > + if (led_cdev->offloaded) {
    > + led_cdev->trigger_offload(led_cdev, false);
    > + led_cdev->offloaded = false;
    > + }
    > +}
    > +#endif

    I think there should be two calls into the cdev driver, not this
    true/false parameter. trigger_offload_start() and
    trigger_offload_stop().

    There are also a number of PHYs which don't allow software blinking of
    the LED. So for them, trigger_offload_stop() is going to return
    -EOPNOTSUPP. And you need to handle that correctly.

    It would be go to also document the expectations of
    trigger_offload_stop(). Should it leave the LED in whatever state it
    was, or force it off?

    Andrew

    \
     
     \ /
      Last update: 2021-11-08 15:15    [W:3.291 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site