Lines Matching +full:bool +full:- +full:property
1 // SPDX-License-Identifier: GPL-2.0-or-later
40 static struct syscon *of_syscon_register(struct device_node *np, bool check_res) in of_syscon_register()
56 return ERR_PTR(-ENOMEM); in of_syscon_register()
59 return ERR_PTR(-ENOMEM); in of_syscon_register()
63 return ERR_PTR(-ENOMEM); in of_syscon_register()
66 if (of_property_read_bool(np, "big-endian")) in of_syscon_register()
68 else if (of_property_read_bool(np, "little-endian")) in of_syscon_register()
70 else if (of_property_read_bool(np, "native-endian")) in of_syscon_register()
74 * search for reg-io-width property in DT. If it is not provided, in of_syscon_register()
78 ret = of_property_read_u32(np, "reg-io-width", ®_io_width); in of_syscon_register()
89 case -ENOENT: in of_syscon_register()
95 case -EPROBE_DEFER: in of_syscon_register()
102 ret = -EFAULT; in of_syscon_register()
108 ret = -ENOMEM; in of_syscon_register()
113 syscon_config.max_register = res_size - reg_io_width; in of_syscon_register()
130 if (ret != -ENOENT) in of_syscon_register()
149 syscon->regmap = regmap; in of_syscon_register()
150 syscon->np = np; in of_syscon_register()
152 list_add_tail(&syscon->list, &syscon_list); in of_syscon_register()
169 bool create_regmap, in device_node_get_regmap()
170 bool check_res) in device_node_get_regmap()
177 if (entry->np == np) { in device_node_get_regmap()
186 syscon = ERR_PTR(-EINVAL); in device_node_get_regmap()
193 return syscon->regmap; in device_node_get_regmap()
197 * of_syscon_register_regmap() - Register regmap for specified device node
213 return -EINVAL; in of_syscon_register_regmap()
217 return -ENOMEM; in of_syscon_register_regmap()
223 if (entry->np == np) { in of_syscon_register_regmap()
224 ret = -EEXIST; in of_syscon_register_regmap()
228 syscon->regmap = regmap; in of_syscon_register_regmap()
229 syscon->np = np; in of_syscon_register_regmap()
232 list_add_tail(&syscon->list, &syscon_list); in of_syscon_register_regmap()
245 * device_node_to_regmap() - Get or create a regmap for specified device node
262 * syscon_node_to_regmap() - Get or create a regmap for specified syscon device node
285 return ERR_PTR(-ENODEV); in syscon_regmap_lookup_by_compatible()
295 const char *property) in syscon_regmap_lookup_by_phandle() argument
300 if (property) in syscon_regmap_lookup_by_phandle()
301 syscon_np = of_parse_phandle(np, property, 0); in syscon_regmap_lookup_by_phandle()
306 return ERR_PTR(-ENODEV); in syscon_regmap_lookup_by_phandle()
310 if (property) in syscon_regmap_lookup_by_phandle()
318 const char *property, in syscon_regmap_lookup_by_phandle_args() argument
328 rc = of_parse_phandle_with_fixed_args(np, property, arg_count, in syscon_regmap_lookup_by_phandle_args()
335 return ERR_PTR(-ENODEV); in syscon_regmap_lookup_by_phandle_args()
348 * there is no regmap phandle. In this case, instead of returning -ENODEV,
352 const char *property) in syscon_regmap_lookup_by_phandle_optional() argument
356 regmap = syscon_regmap_lookup_by_phandle(np, property); in syscon_regmap_lookup_by_phandle_optional()
357 if (IS_ERR(regmap) && PTR_ERR(regmap) == -ENODEV) in syscon_regmap_lookup_by_phandle_optional()