Lines Matching full:regmap

19 #include <linux/regmap.h>
29 struct regmap *regmap; member
43 struct regmap *regmap; in of_syscon_register() local
110 regmap = regmap_init_mmio(NULL, base, &syscon_config); in of_syscon_register()
112 if (IS_ERR(regmap)) { in of_syscon_register()
113 pr_err("regmap init failed\n"); in of_syscon_register()
114 ret = PTR_ERR(regmap); in of_syscon_register()
126 ret = regmap_mmio_attach_clk(regmap, clk); in of_syscon_register()
142 syscon->regmap = regmap; in of_syscon_register()
155 regmap_exit(regmap); in of_syscon_register()
161 static struct regmap *device_node_get_regmap(struct device_node *np, in device_node_get_regmap()
186 return syscon->regmap; in device_node_get_regmap()
190 * of_syscon_register_regmap() - Register regmap for specified device node
192 * @regmap: Pointer to regmap object
194 * Register an externally created regmap object with syscon for the specified
195 * device tree node. This regmap will then be returned to client drivers using
200 int of_syscon_register_regmap(struct device_node *np, struct regmap *regmap) in of_syscon_register_regmap() argument
205 if (!np || !regmap) in of_syscon_register_regmap()
221 syscon->regmap = regmap; in of_syscon_register_regmap()
224 /* register the regmap in syscon list */ in of_syscon_register_regmap()
238 * device_node_to_regmap() - Get or create a regmap for specified device node
241 * Get a regmap for the specified device node. If there's not an existing
242 * regmap, then one is instantiated. This function should not be used if the
243 * device node has a custom regmap driver or has resources (clocks, resets) to
246 * Return: regmap ptr on success, negative error code on failure.
248 struct regmap *device_node_to_regmap(struct device_node *np) in device_node_to_regmap()
255 * syscon_node_to_regmap() - Get or create a regmap for specified syscon device node
258 * Get a regmap for the specified device node. If there's not an existing
259 * regmap, then one is instantiated if the node is a generic "syscon". This
263 * Return: regmap ptr on success, negative error code on failure.
265 struct regmap *syscon_node_to_regmap(struct device_node *np) in syscon_node_to_regmap()
271 struct regmap *syscon_regmap_lookup_by_compatible(const char *s) in syscon_regmap_lookup_by_compatible()
274 struct regmap *regmap; in syscon_regmap_lookup_by_compatible() local
280 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_compatible()
283 return regmap; in syscon_regmap_lookup_by_compatible()
287 struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np, in syscon_regmap_lookup_by_phandle()
291 struct regmap *regmap; in syscon_regmap_lookup_by_phandle() local
301 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle()
306 return regmap; in syscon_regmap_lookup_by_phandle()
310 struct regmap *syscon_regmap_lookup_by_phandle_args(struct device_node *np, in syscon_regmap_lookup_by_phandle_args()
317 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_args() local
330 regmap = syscon_node_to_regmap(syscon_np); in syscon_regmap_lookup_by_phandle_args()
335 return regmap; in syscon_regmap_lookup_by_phandle_args()
341 * there is no regmap phandle. In this case, instead of returning -ENODEV,
344 struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np, in syscon_regmap_lookup_by_phandle_optional()
347 struct regmap *regmap; in syscon_regmap_lookup_by_phandle_optional() local
349 regmap = syscon_regmap_lookup_by_phandle(np, property); in syscon_regmap_lookup_by_phandle_optional()
350 if (IS_ERR(regmap) && PTR_ERR(regmap) == -ENODEV) in syscon_regmap_lookup_by_phandle_optional()
353 return regmap; in syscon_regmap_lookup_by_phandle_optional()