structgpio_desc*gpio_hog_lookup_name(constchar*name); intgpio_hog_lookup_name(constchar*name,structgpio_desc**desc); /** * gpio_hog_probe_all() - probe all gpio devices with Expand DownExpand Up@@ -523,12 +524,13 @@ int gpio_request_list_by_name_nodev(ofnode node, const char ...
| 三. gpio_request相关操作: | 四. ioremap相关操作: | 五. LED驱动写法: | 六. 测试LED驱动:\\\///一. list_head常用接口:1. 定义内核链表头,并初始化: LIST_HEAD(test_head);2. 两种链表添加方式:1. 头插: list_add();2. 尾插: list_add_tail();3. 两种特殊的for each循环遍历,内部使用...
return gpio_request_tail(ret, ofnode_get_name(node), &args, list_name, index, desc, flags, add_index, NULL); } int gpio_request_by_name_nodev(ofnode node, const char *list_name, int index, @@ -707,13 +824,14 @@ int gpio_request_by_name(struct udevice *dev, const char *...
(&gc->bgpio_lock); gc->parent = dev; gc->label = dev_name(dev); /*使用device的名字*/ gc->base = -1; gc->ngpio = gc->bgpio_bits; /*同样也是32,代表每个gpio控制器的pin数量*/ gc->request = bgpio_request; /*函数,判断传入的pin号是否大于gc->ngpio的范围 */ /*记录了如何...
NT_SUCCESS(status)) { return status; } // // Commit the resource // status = WdfIoTargetSendIoctlSynchronously( resourceHandle, WDF_NO_HANDLE, // WdfRequest IOCTL_GPIO_COMMIT_FUNCTION_CONFIG_PINS, nullptr, // InputBuffer nullptr, // OutputBuffer nullptr, // RequestOptions nullptr); // ...
static int pctrltest_request_all_resource(void) { struct device *dev; struct device_node *node; struct pinctrl *pinctrl; struct sunxi_gpio_config *gpio_list = NULL; struct sunxi_gpio_config *gpio_cfg; unsigned gpio_count = 0; unsigned gpio_index; unsigned long config; int ret; dev = ...
NT_SUCCESS(status)) { return status; } // // Commit the resource // status = WdfIoTargetSendIoctlSynchronously( resourceHandle, WDF_NO_HANDLE, // WdfRequest IOCTL_GPIO_COMMIT_FUNCTION_CONFIG_PINS, nullptr, // InputBuffer nullptr, // OutputBuffer nullptr, // RequestOptions nullptr); // ...
static int pctrltest_request_all_resource(void) { struct device *dev; struct device_node *node; struct pinctrl *pinctrl; struct sunxi_gpio_config *gpio_list = NULL; struct sunxi_gpio_config *gpio_cfg; unsigned gpio_count = 0; unsigned gpio_index; unsigned long config; int ret; dev = ...
const char *name, void *dev) request_ir用于中断注册,同时函数内部会使能中断,不需手动再去...
(gpio_request(gpio,"firefly-irq-gpio")){dev_err(&pdev->dev,"firefly-irq-gpio:%drequest failed!\n",gpio);gpio_free(gpio);returnIRQ_NONE;}ret=request_irq(gpio_info->firefly_irq,firefly_gpio_irq,flag,"firefly-gpio",gpio_info);if(ret!=0){free_irq(gpio_info->firefly_irq,gpio_info)...