mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
gpiolib: export descriptor-based GPIO interface
This patch exports the gpiod_* family of API functions, a safer alternative to the legacy GPIO interface. Differences between the gpiod and legacy gpio APIs are: - gpio works with integers, whereas gpiod operates on opaque handlers which cannot be forged or used before proper acquisition - gpiod get/set functions are aware of the active low state of a GPIO - gpio consumers should now include <linux/gpio/consumer.h> to access the new interface, whereas chips drivers will use <linux/gpio/driver.h> The legacy gpio API is now built as inline functions on top of gpiod. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
b41fb43911
commit
79a9becda8
5 changed files with 662 additions and 366 deletions
|
@ -16,14 +16,17 @@
|
|||
#define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW)
|
||||
#define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH)
|
||||
|
||||
/* Gpio pin is active-low */
|
||||
#define GPIOF_ACTIVE_LOW (1 << 2)
|
||||
|
||||
/* Gpio pin is open drain */
|
||||
#define GPIOF_OPEN_DRAIN (1 << 2)
|
||||
#define GPIOF_OPEN_DRAIN (1 << 3)
|
||||
|
||||
/* Gpio pin is open source */
|
||||
#define GPIOF_OPEN_SOURCE (1 << 3)
|
||||
#define GPIOF_OPEN_SOURCE (1 << 4)
|
||||
|
||||
#define GPIOF_EXPORT (1 << 4)
|
||||
#define GPIOF_EXPORT_CHANGEABLE (1 << 5)
|
||||
#define GPIOF_EXPORT (1 << 5)
|
||||
#define GPIOF_EXPORT_CHANGEABLE (1 << 6)
|
||||
#define GPIOF_EXPORT_DIR_FIXED (GPIOF_EXPORT)
|
||||
#define GPIOF_EXPORT_DIR_CHANGEABLE (GPIOF_EXPORT | GPIOF_EXPORT_CHANGEABLE)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue