按类别调整结构并补充 GPIO 相关函数.

Signed-off-by: rick.chan <chenyang@autoai.com>
This commit is contained in:
rick.chan 2020-07-28 11:33:35 +08:00
parent b0ce8b89fb
commit f0d2ca3307
1 changed files with 118 additions and 7 deletions

View File

@ -2,7 +2,9 @@
Devm APIs 是一组便捷易用的接口,通过该接口申请的内核资源是跟设备(device)有关的,在设备(device)被detached或者驱动(driver)卸载(unloaded)时,会被自动释放。 Devm APIs 是一组便捷易用的接口,通过该接口申请的内核资源是跟设备(device)有关的,在设备(device)被detached或者驱动(driver)卸载(unloaded)时,会被自动释放。
## devm_kmalloc 函数 ## Memory
### devm_kmalloc 函数
**函数原型:** **函数原型:**
@ -26,7 +28,7 @@ size要分配的内存大小以字节为单位
申请成功返回有效的内存首地址,失败返回 NULL。 申请成功返回有效的内存首地址,失败返回 NULL。
## devm_kzalloc 函数 ### devm_kzalloc 函数
**函数原型:** **函数原型:**
@ -50,7 +52,9 @@ size要分配的内存大小以字节为单位
申请成功返回有效的内存首地址,失败返回 NULL。 申请成功返回有效的内存首地址,失败返回 NULL。
## devm_ioremap_resource 函数 ## IOMEM
### devm_ioremap_resource 函数
**函数原型:** **函数原型:**
@ -83,7 +87,7 @@ resresource to be handled。
Returns a pointer to the remapped memory or an ERR_PTR() encoded error code on failure. Returns a pointer to the remapped memory or an ERR_PTR() encoded error code on failure.
## devm_request_mem_region 函数 ### devm_request_mem_region 函数
**函数原型:** **函数原型:**
@ -109,7 +113,7 @@ name该 mmio 空间的名称。
成功返回非 0 值,失败返回 NULL。 成功返回非 0 值,失败返回 NULL。
## devm_ioremap 函数 ### devm_ioremap 函数
**函数原型:** **函数原型:**
@ -134,7 +138,7 @@ sizeSize of map.
成功则返回映射内存首地址,失败返回 NULL。 成功则返回映射内存首地址,失败返回 NULL。
## devm_ioremap_nocache 函数 ### devm_ioremap_nocache 函数
**函数原型:** **函数原型:**
@ -161,7 +165,9 @@ sizeSize of map.
成功则返回映射内存首地址,失败返回 NULL。 成功则返回映射内存首地址,失败返回 NULL。
## devm_request_irq 函数 ## Interrupt
### devm_request_irq 函数
**头文件:** **头文件:**
@ -172,6 +178,7 @@ sizeSize of map.
**函数原型:** **函数原型:**
```c ```c
static inline int __must_check
devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id); devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id);
``` ```
@ -200,3 +207,107 @@ dev_id该参数将会传递给 handler 所对应的回调函数。
-INVAL表示中断号无效或处理函数指针为NULL -INVAL表示中断号无效或处理函数指针为NULL
-EBUSY表示中断已经被占用且不能共享。 -EBUSY表示中断已经被占用且不能共享。
## GPIO
### devm_gpiod_get_index 函数
**头文件:**
```cpp
#include <linux/gpio/consumer.h>
```
**函数原型:**
```cpp
struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev,
const char *con_id,
unsigned int idx,
enum gpiod_flags flags);
```
**说明:**
Managed gpiod_get_index(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index() for detailed information about behavior and return values。
**参数:**
devGPIO consumer
con_idfunction within the GPIO consumer
idxindex of the GPIO to obtain in the consumer
flagsoptional GPIO initialization flags。
**返回值:**
See gpiod_get_index() for detailed information about behavior and return values。
### devm_gpiod_get_index_optional 函数
**头文件:**
```cpp
#include <linux/gpio/consumer.h>
```
**函数原型:**
```cpp
struct gpio_desc *__must_check devm_gpiod_get_index_optional(struct device *dev,
const char *con_id,
unsigned int index,
enum gpiod_flags flags);
```
**说明:**
Managed gpiod_get_index_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index_optional() for detailed information about behavior and return values。
**参数:**
devGPIO consumer
con_idfunction within the GPIO consumer
indexindex of the GPIO to obtain in the consumer
flagsoptional GPIO initialization flags。
**返回值:**
See gpiod_get_index_optional() for detailed information about behavior and return values。
### devm_gpiod_get_optional 函数
**头文件:**
```cpp
#include <linux/gpio/consumer.h>
```
**函数原型:**
```cpp
struct gpio_desc *__must_check devm_gpiod_get_optional(struct device *dev,
const char *con_id,
enum gpiod_flags flags);
```
**说明:**
Managed gpiod_get_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_optional() for detailed information about behavior and return values。
**参数:**
devGPIO consumer
con_idfunction within the GPIO consumer
flagsoptional GPIO initialization flags。
**返回值:**
See gpiod_get_optional() for detailed information about behavior and return values。