• Andrew Jeffery's avatar
    gpio: gpiolib: Generalise state persistence beyond sleep · e10f72bf
    Andrew Jeffery authored
    General support for state persistence is added to gpiolib with the
    introduction of a new pinconf parameter to propagate the request to
    hardware. The existing persistence support for sleep is adapted to
    include hardware support if the GPIO driver provides it. Persistence
    continues to be enabled by default; in-kernel consumers can opt out, but
    userspace (currently) does not have a choice.
    
    The *_SLEEP_MAY_LOSE_VALUE and *_SLEEP_MAINTAIN_VALUE symbols are
    renamed, dropping the SLEEP prefix to reflect that the concept is no
    longer sleep-specific.  I feel that renaming to just *_MAY_LOSE_VALUE
    could initially be misinterpreted, so I've further changed the symbols
    to *_TRANSITORY and *_PERSISTENT to address this.
    
    The sysfs interface is modified only to keep consistency with the
    chardev interface in enforcing persistence for userspace exports.
    Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
    Reviewed-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
    Acked-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    e10f72bf
gpiolib-sysfs.c 19.3 KB