Lines Matching defs:syscon
20 #include <linux/platform_data/syscon.h>
23 #include <linux/mfd/syscon.h>
31 struct syscon {
43 static struct syscon *of_syscon_register(struct device_node *np, bool check_clk)
46 struct syscon *syscon;
54 syscon = kzalloc(sizeof(*syscon), GFP_KERNEL);
55 if (!syscon)
136 syscon->regmap = regmap;
137 syscon->np = np;
140 list_add_tail(&syscon->list, &syscon_list);
143 return syscon;
153 kfree(syscon);
160 struct syscon *entry, *syscon = NULL;
166 syscon = entry;
172 if (!syscon)
173 syscon = of_syscon_register(np, check_clk);
175 if (IS_ERR(syscon))
176 return ERR_CAST(syscon);
178 return syscon->regmap;
189 if (!of_device_is_compatible(np, "syscon"))
266 struct syscon *syscon;
271 syscon = devm_kzalloc(dev, sizeof(*syscon), GFP_KERNEL);
272 if (!syscon)
286 syscon->regmap = devm_regmap_init_mmio(dev, base, &syscon_config);
287 if (IS_ERR(syscon->regmap)) {
289 return PTR_ERR(syscon->regmap);
292 platform_set_drvdata(pdev, syscon);
300 { "syscon", },
306 .name = "syscon",