b45f72f59a77862b8256f4bd19d6d2db77694d5a
[oweals/u-boot.git] / arch / arm / mach-uniphier / pinctrl-glue.c
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;
17         int ret;
18
19         ret = uclass_first_device(UCLASS_PINCTRL, &pctldev);
20         if (ret)
21                 return ret;
22
23         device_foreach_child(config, 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 }