参照元

説明

引数

返り値

参考

実装

/**
 * pinctrl_match_gpio_range() - check if a certain GPIO pin is in range
 * @pctldev: pin controller device to check
 * @gpio: gpio pin to check taken from the global GPIO pin space
 *
 * Tries to match a GPIO pin number to the ranges handled by a certain pin
 * controller, return the range or NULL
 */
static struct pinctrl_gpio_range *
pinctrl_match_gpio_range(struct pinctrl_dev *pctldev, unsigned gpio)
{
        struct pinctrl_gpio_range *range = NULL;
        mutex_lock(&pctldev->mutex);
        /* Loop over the ranges */
        list_for_each_entry(range, &pctldev->gpio_ranges, node) {
                /* Check if we're in the valid range */
                if (gpio >= range->base &&
                    gpio < range->base + range->npins) {
                        mutex_unlock(&pctldev->mutex);
                        return range;
                }
        }
        mutex_unlock(&pctldev->mutex);
        return NULL;
}

コメント


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS