本文共 606 字,大约阅读时间需要 2 分钟。
/** * Convert a GPIO name to its descriptor */static struct gpio_desc *gpio_name_to_desc(const char * const name){ struct gpio_device *gdev; unsigned long flags; spin_lock_irqsave(&gpio_lock, flags); list_for_each_entry(gdev, &gpio_devices, list) {每个设备处理 int i; for (i = 0; i != gdev->ngpio; ++i) {每个GPIO处理 struct gpio_desc *desc = &gdev->descs[i]; if (!desc->name || !name) continue; if (!strcmp(desc->name, name)) { spin_unlock_irqrestore(&gpio_lock, flags); return desc; } } } spin_unlock_irqrestore(&gpio_lock, flags); return NULL;}从设备中的每一个GPIO名字都要进行匹配,限显然这种效率很低。
转载地址:http://pgqti.baihongyu.com/