15ac9dfbeSMasahiro Yamada /* 25ac9dfbeSMasahiro Yamada * Copyright (C) 2016 Socionext Inc. 35ac9dfbeSMasahiro Yamada * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 45ac9dfbeSMasahiro Yamada * 55ac9dfbeSMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 65ac9dfbeSMasahiro Yamada */ 75ac9dfbeSMasahiro Yamada 8*4af0d7e8SSimon Glass #include <common.h> 90f4ec05bSMasahiro Yamada #include <linux/errno.h> 109d922450SSimon Glass #include <dm.h> 115ac9dfbeSMasahiro Yamada #include <dm/pinctrl.h> 125ac9dfbeSMasahiro Yamada 135ac9dfbeSMasahiro Yamada #include "init.h" 145ac9dfbeSMasahiro Yamada uniphier_pin_init(const char * pinconfig_name)155ac9dfbeSMasahiro Yamadaint uniphier_pin_init(const char *pinconfig_name) 165ac9dfbeSMasahiro Yamada { 175ac9dfbeSMasahiro Yamada struct udevice *pctldev, *config, *next; 185ac9dfbeSMasahiro Yamada int ret; 195ac9dfbeSMasahiro Yamada 205ac9dfbeSMasahiro Yamada ret = uclass_first_device(UCLASS_PINCTRL, &pctldev); 215ac9dfbeSMasahiro Yamada if (ret) 225ac9dfbeSMasahiro Yamada return ret; 235ac9dfbeSMasahiro Yamada 245ac9dfbeSMasahiro Yamada device_foreach_child_safe(config, next, pctldev) { 255ac9dfbeSMasahiro Yamada if (strcmp(config->name, pinconfig_name)) 265ac9dfbeSMasahiro Yamada continue; 275ac9dfbeSMasahiro Yamada 285ac9dfbeSMasahiro Yamada return pinctrl_generic_set_state(pctldev, config); 295ac9dfbeSMasahiro Yamada } 305ac9dfbeSMasahiro Yamada 315ac9dfbeSMasahiro Yamada return -ENODEV; 325ac9dfbeSMasahiro Yamada } 33