参照元

説明

引数

返り値

参考

実装

/**
 * pinctrl_request_gpio() - request a single pin to be used as GPIO
 * @gpio: the GPIO pin number from the GPIO subsystem number space
 *
 * This function should *ONLY* be used from gpiolib-based GPIO drivers,
 * as part of their gpio_request() semantics, platforms and individual drivers
 * shall *NOT* request GPIO pins to be muxed in.
 */
int pinctrl_request_gpio(unsigned gpio)
{
        struct pinctrl_dev *pctldev;
        struct pinctrl_gpio_range *range;
        int ret;
        int pin;
        ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range);
        if (ret) {
                if (pinctrl_ready_for_gpio_range(gpio))
                        ret = 0;
                return ret;
        }
        mutex_lock(&pctldev->mutex);
        /* Convert to the pin controllers number space */
        pin = gpio_to_pin(range, gpio);
        ret = pinmux_request_gpio(pctldev, range, pin, gpio);
        mutex_unlock(&pctldev->mutex);
        return ret;
}
EXPORT_SYMBOL_GPL(pinctrl_request_gpio);

コメント


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