Linux 内核设备驱动之GPIO驱动之GPIO 由名字到GPIO描述符

    xiaoxiao2021-03-25  104

    /**  * 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名字都要进行匹配,限显然这种效率很低。

         
    转载请注明原文地址: https://ju.6miu.com/read-17912.html

    最新回复(0)