• Alexandre Courbot's avatar
    gpio: add flags argument to gpiod_get*() functions · 39b2bbe3
    Alexandre Courbot authored
    The huge majority of GPIOs have their direction and initial value set
    right after being obtained by one of the gpiod_get() functions. The
    integer GPIO API had gpio_request_one() that took a convenience flags
    parameter allowing to specify an direction and value applied to the
    returned GPIO. This feature greatly simplifies client code and ensures
    errors are always handled properly.
    
    A similar feature has been requested for the gpiod API. Since setting
    the direction of a GPIO is so often the very next action done after
    obtaining its descriptor, we prefer to extend the existing functions
    instead of introducing new functions that would raise the
    number of gpiod getters to 16 (!).
    
    The drawback of this approach is that all gpiod clients need to be
    updated. To limit the pain, temporary macros are introduced that allow
    gpiod_get*() to be called with or without the extra flags argument. They
    will be removed once all consumer code has been updated.
    Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
    Reviewed-by: default avatarMark Brown <broonie@linaro.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    39b2bbe3
gpiolib.c 49.4 KB