static int dm_gpio_requestf(struct gpio_desc *desc, const char *fmt, ...) { #if !defined(CONFIG_SPL_BUILD) || !defined(CONFIG_USE_TINY_PRINTF) va_list args; char buf[40]; va_start(args, fmt); vscnprintf(buf, sizeof(buf), fmt, args); va_end(args); return dm_gpio_request(desc, buf); #else return dm_gpio_request(desc, fmt); #endif }
static int dm_gpio_requestf(struct gpio_desc *desc, const char *fmt, ...) { va_list args; char buf[40]; va_start(args, fmt); vscnprintf(buf, sizeof(buf), fmt, args); va_end(args); return dm_gpio_request(desc, buf); }
/** * gpio_request() - [COMPAT] Request GPIO * gpio: GPIO number * label: Name for the requested GPIO * * The label is copied and allocated so the caller does not need to keep * the pointer around. * * This function implements the API that's compatible with current * GPIO API used in U-Boot. The request is forwarded to particular * GPIO driver. Returns 0 on success, negative value on error. */ int gpio_request(unsigned gpio, const char *label) { struct gpio_desc desc; int ret; ret = gpio_to_device(gpio, &desc); if (ret) return ret; return dm_gpio_request(&desc, label); }
int request_gpio_by_name(struct gpio_desc *gpio, const char *gpio_dev_name, uint offset, char *gpio_name) { struct udevice *gpio_dev = NULL; if (uclass_get_device_by_name(UCLASS_GPIO, gpio_dev_name, &gpio_dev)) return 1; gpio->dev = gpio_dev; gpio->offset = offset; gpio->flags = 0; return dm_gpio_request(gpio, gpio_name); }
static int configure_emmc(struct udevice *pinctrl) { #if defined(CONFIG_TARGET_CHROMEBOOK_JERRY) struct gpio_desc desc; int ret; pinctrl_request_noflags(pinctrl, PERIPH_ID_EMMC); /* * TODO([email protected]): Pick this up from device tree or perhaps * use the EMMC_PWREN setting. */ ret = dm_gpio_lookup_name("D9", &desc); if (ret) { debug("gpio ret=%d\n", ret); return ret; } ret = dm_gpio_request(&desc, "emmc_pwren"); if (ret) { debug("gpio_request ret=%d\n", ret); return ret; } ret = dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT); if (ret) { debug("gpio dir ret=%d\n", ret); return ret; } ret = dm_gpio_set_value(&desc, 1); if (ret) { debug("gpio value ret=%d\n", ret); return ret; } #endif return 0; }