Lines Matching full:regmap
24 #include <linux/regmap.h>
36 struct regmap *regmap; member
50 struct regmap *regmap; in of_syscon_register() local
115 regmap = regmap_init_mmio(NULL, base, &syscon_config); in of_syscon_register()
117 if (IS_ERR(regmap)) { in of_syscon_register()
118 pr_err("regmap init failed\n"); in of_syscon_register()
119 ret = PTR_ERR(regmap); in of_syscon_register()
131 ret = regmap_mmio_attach_clk(regmap, clk); in of_syscon_register()
147 syscon->regmap = regmap; in of_syscon_register()
160 regmap_exit(regmap); in of_syscon_register()
166 static struct regmap *device_node_get_regmap(struct device_node *np, in device_node_get_regmap()
187 return syscon->regmap; in device_node_get_regmap()
191 * of_syscon_register_regmap() - Register regmap for specified device node
193 * @regmap: Pointer to regmap object
195 * Register an externally created regmap object with syscon for the specified
196 * device tree node. This regmap will then be returned to client drivers using
201 int of_syscon_register_regmap(struct device_node *np, struct regmap *regmap) in of_syscon_register_regmap() argument
206 if (!np || !regmap) in of_syscon_register_regmap()
222 syscon->regmap = regmap; in of_syscon_register_regmap()
225 /* register the regmap in syscon list */ in of_syscon_register_regmap()
238 struct regmap *device_node_to_regmap(struct device_node *np) in device_node_to_regmap()
244 struct regmap *syscon_node_to_regmap(struct device_node *np) in syscon_node_to_regmap()
253 struct regmap *syscon_regmap_lookup_by_compatible(const char *s) in syscon_regmap_lookup_by_compatible()
256 struct regmap *regmap; in syscon_regmap_lookup_by_compatible() local
262 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_compatible()
265 return regmap; in syscon_regmap_lookup_by_compatible()
269 struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np, in syscon_regmap_lookup_by_phandle()
273 struct regmap *regmap; in syscon_regmap_lookup_by_phandle() local
283 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle()
288 return regmap; in syscon_regmap_lookup_by_phandle()
292 struct regmap *syscon_regmap_lookup_by_phandle_args(struct device_node *np, in syscon_regmap_lookup_by_phandle_args()
299 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_args() local
312 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle_args()
317 return regmap; in syscon_regmap_lookup_by_phandle_args()
323 * there is no regmap phandle. In this case, instead of returning -ENODEV,
326 struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np, in syscon_regmap_lookup_by_phandle_optional()
329 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_optional() local
331 regmap = syscon_regmap_lookup_by_phandle(np, property); in syscon_regmap_lookup_by_phandle_optional()
332 if (IS_ERR(regmap) && PTR_ERR(regmap) == -ENODEV) in syscon_regmap_lookup_by_phandle_optional()
335 return regmap; in syscon_regmap_lookup_by_phandle_optional()
363 syscon->regmap = devm_regmap_init_mmio(dev, base, &syscon_config); in syscon_probe()
364 if (IS_ERR(syscon->regmap)) { in syscon_probe()
365 dev_err(dev, "regmap init failed\n"); in syscon_probe()
366 return PTR_ERR(syscon->regmap); in syscon_probe()
371 dev_dbg(dev, "regmap %pR registered\n", res); in syscon_probe()