Linux 内核设备驱动之GPIO驱动之GPIO API

 
gpio_get_value(unsigned int gpio)
gpio_set_value(unsigned int gpio, int value)
 gpio_to_irq(unsigned int gpio)
 
int gpiod_count(struct device *dev, const char *con_id);

/* Acquire and dispose GPIOs */ struct gpio_desc *__must_check gpiod_get(struct device *dev,       const char *con_id,       enum gpiod_flags flags); struct gpio_desc *__must_check gpiod_get_index(struct device *dev,             const char *con_id,             unsigned int idx,             enum gpiod_flags flags); struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,         const char *con_id,         enum gpiod_flags flags); struct gpio_desc *__must_check gpiod_get_index_optional(struct device *dev,        const char *con_id,        unsigned int index,        enum gpiod_flags flags); struct gpio_descs *__must_check gpiod_get_array(struct device *dev,       const char *con_id,       enum gpiod_flags flags); struct gpio_descs *__must_check gpiod_get_array_optional(struct device *dev,        const char *con_id,        enum gpiod_flags flags); void gpiod_put(struct gpio_desc *desc); void gpiod_put_array(struct gpio_descs *descs);

 

void devm_gpiod_put(struct device *dev, struct gpio_desc *desc); void devm_gpiod_put_array(struct device *dev, struct gpio_descs *descs);

int gpiod_get_direction(struct gpio_desc *desc); int gpiod_direction_input(struct gpio_desc *desc); int gpiod_direction_output(struct gpio_desc *desc, int value); int gpiod_direction_output_raw(struct gpio_desc *desc, int value);

/* Value get/set from non-sleeping context */ int gpiod_get_value(const struct gpio_desc *desc); void gpiod_set_value(struct gpio_desc *desc, int value); void gpiod_set_array_value(unsigned int array_size,       struct gpio_desc **desc_array, int *value_array); int gpiod_get_raw_value(const struct gpio_desc *desc); void gpiod_set_raw_value(struct gpio_desc *desc, int value); void gpiod_set_raw_array_value(unsigned int array_size,           struct gpio_desc **desc_array,           int *value_array);

/* Value get/set from sleeping context */ int gpiod_get_value_cansleep(const struct gpio_desc *desc); void gpiod_set_value_cansleep(struct gpio_desc *desc, int value); void gpiod_set_array_value_cansleep(unsigned int array_size,         struct gpio_desc **desc_array,         int *value_array); int gpiod_get_raw_value_cansleep(const struct gpio_desc *desc); void gpiod_set_raw_value_cansleep(struct gpio_desc *desc, int value); void gpiod_set_raw_array_value_cansleep(unsigned int array_size,      struct gpio_desc **desc_array,      int *value_array);

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值