Lines Matching +full:data +full:- +full:path
1 // SPDX-License-Identifier: GPL-2.0
11 * pseries_of_derive_parent - basically like dirname(1)
12 * @path: the full_name of a node to be added to the tree
15 * described by path. E.g., for path = "/foo/bar", returns
18 struct device_node *pseries_of_derive_parent(const char *path) in pseries_of_derive_parent() argument
25 tail = kbasename(path) - 1; in pseries_of_derive_parent()
27 /* reject if path is "/" */ in pseries_of_derive_parent()
28 if (!strcmp(path, "/")) in pseries_of_derive_parent()
29 return ERR_PTR(-EINVAL); in pseries_of_derive_parent()
31 if (tail > path) { in pseries_of_derive_parent()
32 parent_path = kstrndup(path, tail - path, GFP_KERNEL); in pseries_of_derive_parent()
34 return ERR_PTR(-ENOMEM); in pseries_of_derive_parent()
39 return parent ? parent : ERR_PTR(-EINVAL); in pseries_of_derive_parent()
46 struct of_drc_info *data) in of_read_drc_info_cell() argument
51 if (!data) in of_read_drc_info_cell()
52 return -EINVAL; in of_read_drc_info_cell()
54 /* Get drc-type:encode-string */ in of_read_drc_info_cell()
55 data->drc_type = (char *)p; in of_read_drc_info_cell()
58 return -EINVAL; in of_read_drc_info_cell()
60 /* Get drc-name-prefix:encode-string */ in of_read_drc_info_cell()
61 data->drc_name_prefix = (char *)p; in of_read_drc_info_cell()
64 return -EINVAL; in of_read_drc_info_cell()
66 /* Get drc-index-start:encode-int */ in of_read_drc_info_cell()
68 data->drc_index_start = be32_to_cpu(*p2); in of_read_drc_info_cell()
70 /* Get drc-name-suffix-start:encode-int */ in of_read_drc_info_cell()
71 p2 = of_prop_next_u32(*prop, p2, &data->drc_name_suffix_start); in of_read_drc_info_cell()
73 return -EINVAL; in of_read_drc_info_cell()
75 /* Get number-sequential-elements:encode-int */ in of_read_drc_info_cell()
76 p2 = of_prop_next_u32(*prop, p2, &data->num_sequential_elems); in of_read_drc_info_cell()
78 return -EINVAL; in of_read_drc_info_cell()
80 /* Get sequential-increment:encode-int */ in of_read_drc_info_cell()
81 p2 = of_prop_next_u32(*prop, p2, &data->sequential_inc); in of_read_drc_info_cell()
83 return -EINVAL; in of_read_drc_info_cell()
85 /* Get drc-power-domain:encode-int */ in of_read_drc_info_cell()
86 p2 = of_prop_next_u32(*prop, p2, &data->drc_power_domain); in of_read_drc_info_cell()
88 return -EINVAL; in of_read_drc_info_cell()
92 data->last_drc_index = data->drc_index_start + in of_read_drc_info_cell()
93 ((data->num_sequential_elems - 1) * data->sequential_inc); in of_read_drc_info_cell()