Lines Matching full:regmap
19 #include <linux/regmap.h>
29 struct regmap *regmap; member
43 struct regmap *regmap; in of_syscon_register() local
117 regmap = regmap_init_mmio(NULL, base, &syscon_config); in of_syscon_register()
119 if (IS_ERR(regmap)) { in of_syscon_register()
120 pr_err("regmap init failed\n"); in of_syscon_register()
121 ret = PTR_ERR(regmap); in of_syscon_register()
133 ret = regmap_mmio_attach_clk(regmap, clk); in of_syscon_register()
149 syscon->regmap = regmap; in of_syscon_register()
162 regmap_exit(regmap); in of_syscon_register()
168 static struct regmap *device_node_get_regmap(struct device_node *np, 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
199 * @regmap: Pointer to regmap object
201 * Register an externally created regmap object with syscon for the specified
202 * device tree node. This regmap will then be returned to client drivers using
207 int of_syscon_register_regmap(struct device_node *np, struct regmap *regmap) in of_syscon_register_regmap() argument
212 if (!np || !regmap) in of_syscon_register_regmap()
228 syscon->regmap = regmap; in of_syscon_register_regmap()
231 /* register the regmap in syscon list */ in of_syscon_register_regmap()
245 * device_node_to_regmap() - Get or create a regmap for specified device node
248 * Get a regmap for the specified device node. If there's not an existing
249 * regmap, then one is instantiated. This function should not be used if the
250 * device node has a custom regmap driver or has resources (clocks, resets) to
253 * Return: regmap ptr on success, negative error code on failure.
255 struct regmap *device_node_to_regmap(struct device_node *np) in device_node_to_regmap()
262 * syscon_node_to_regmap() - Get or create a regmap for specified syscon device node
265 * Get a regmap for the specified device node. If there's not an existing
266 * regmap, then one is instantiated if the node is a generic "syscon". This
270 * Return: regmap ptr on success, negative error code on failure.
272 struct regmap *syscon_node_to_regmap(struct device_node *np) in syscon_node_to_regmap()
278 struct regmap *syscon_regmap_lookup_by_compatible(const char *s) in syscon_regmap_lookup_by_compatible()
281 struct regmap *regmap; in syscon_regmap_lookup_by_compatible() local
287 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_compatible()
290 return regmap; in syscon_regmap_lookup_by_compatible()
294 struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np, in syscon_regmap_lookup_by_phandle()
298 struct regmap *regmap; in syscon_regmap_lookup_by_phandle() local
308 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle()
313 return regmap; in syscon_regmap_lookup_by_phandle()
317 struct regmap *syscon_regmap_lookup_by_phandle_args(struct device_node *np, in syscon_regmap_lookup_by_phandle_args()
324 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_args() local
337 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle_args()
342 return regmap; in syscon_regmap_lookup_by_phandle_args()
348 * there is no regmap phandle. In this case, instead of returning -ENODEV,
351 struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np, in syscon_regmap_lookup_by_phandle_optional()
354 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_optional() local
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()
360 return regmap; in syscon_regmap_lookup_by_phandle_optional()