Lines Matching full:syscon
21 #include <linux/mfd/syscon.h>
27 struct syscon { struct
40 static struct syscon *of_syscon_register(struct device_node *np, bool check_res) in of_syscon_register() argument
54 struct syscon *syscon __free(kfree) = kzalloc(sizeof(*syscon), GFP_KERNEL); in of_syscon_register()
55 if (!syscon) 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()
154 return_ptr(syscon); in of_syscon_register()
172 struct syscon *entry, *syscon = NULL; in device_node_get_regmap() local
178 syscon = entry; in device_node_get_regmap()
182 if (!syscon) { in device_node_get_regmap()
184 syscon = of_syscon_register(np, check_res); in device_node_get_regmap()
186 syscon = ERR_PTR(-EINVAL); in device_node_get_regmap()
190 if (IS_ERR(syscon)) in device_node_get_regmap()
191 return ERR_CAST(syscon); in device_node_get_regmap()
193 return syscon->regmap; in device_node_get_regmap()
201 * Register an externally created regmap object with syscon for the specified
209 struct syscon *entry, *syscon = NULL; in of_syscon_register_regmap() local
215 syscon = kzalloc(sizeof(*syscon), GFP_KERNEL); in of_syscon_register_regmap()
216 if (!syscon) in of_syscon_register_regmap()
219 /* check if syscon entry already exists */ in of_syscon_register_regmap()
228 syscon->regmap = regmap; in of_syscon_register_regmap()
229 syscon->np = np; in of_syscon_register_regmap()
231 /* register the regmap in syscon list */ in of_syscon_register_regmap()
232 list_add_tail(&syscon->list, &syscon_list); in of_syscon_register_regmap()
239 kfree(syscon); in of_syscon_register_regmap()
262 * syscon_node_to_regmap() - Get or create a regmap for specified syscon device node
266 * regmap, then one is instantiated if the node is a generic "syscon". This
267 * function is safe to use for a syscon registered with
274 return device_node_get_regmap(np, of_device_is_compatible(np, "syscon"), true); in syscon_node_to_regmap()