Lines Matching +full:child +full:- +full:node
2 * Copyright (C) 2016-2017 Intel Corporation <www.intel.com>
4 * SPDX-License-Identifier: GPL-2.0
12 static int do_pinctr_pin(const void *blob, int child, const char *node_name) in do_pinctr_pin() argument
20 base_addr = fdtdec_get_addr_size(blob, child, "reg", &size); in do_pinctr_pin()
22 cell = fdt_getprop(blob, child, "pinctrl-single,pins", &len); in do_pinctr_pin()
24 return -EFAULT; in do_pinctr_pin()
27 for (; len > 0; len -= (2 * sizeof(u32))) { in do_pinctr_pin()
35 return -EFAULT; in do_pinctr_pin()
38 static int do_pinctrl_pins(const void *blob, int node, const char *child_name) in do_pinctrl_pins() argument
40 int child, len; in do_pinctrl_pins() local
43 child = fdt_first_subnode(blob, node); in do_pinctrl_pins()
45 if (child < 0) in do_pinctrl_pins()
46 return -EINVAL; in do_pinctrl_pins()
48 node_name = fdt_get_name(blob, child, &len); in do_pinctrl_pins()
52 return do_pinctr_pin(blob, child, node_name); in do_pinctrl_pins()
54 child = fdt_next_subnode(blob, child); in do_pinctrl_pins()
56 if (child < 0) in do_pinctrl_pins()
59 node_name = fdt_get_name(blob, child, &len); in do_pinctrl_pins()
62 return -EFAULT; in do_pinctrl_pins()
67 int node; in config_dedicated_pins() local
69 node = fdtdec_next_compatible(blob, 0, in config_dedicated_pins()
71 if (node < 0) in config_dedicated_pins()
72 return -EINVAL; in config_dedicated_pins()
74 if (do_pinctrl_pins(blob, node, "dedicated_cfg")) in config_dedicated_pins()
75 return -EFAULT; in config_dedicated_pins()
77 if (do_pinctrl_pins(blob, node, "dedicated")) in config_dedicated_pins()
78 return -EFAULT; in config_dedicated_pins()
85 int node; in config_pins() local
87 node = fdtdec_next_compatible(blob, 0, in config_pins()
89 if (node < 0) in config_pins()
90 return -EINVAL; in config_pins()
92 if (do_pinctrl_pins(blob, node, pin_grp)) in config_pins()
93 return -EFAULT; in config_pins()