1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Copyright (C) 2016 Socionext Inc. 4 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5 */ 6 7 #include <common.h> 8 #include <linux/errno.h> 9 #include <dm.h> 10 #include <dm/pinctrl.h> 11 12 #include "init.h" 13 14 int uniphier_pin_init(const char *pinconfig_name) 15 { 16 struct udevice *pctldev, *config, *next; 17 int ret; 18 19 ret = uclass_first_device(UCLASS_PINCTRL, &pctldev); 20 if (ret) 21 return ret; 22 23 device_foreach_child_safe(config, next, pctldev) { 24 if (strcmp(config->name, pinconfig_name)) 25 continue; 26 27 return pinctrl_generic_set_state(pctldev, config); 28 } 29 30 return -ENODEV; 31 } 32