summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2019-02-24 19:52:50 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-02-25 09:46:10 +0100
commit52085506972f6acf04c2f7252de62da2711cea6d (patch)
tree6b251c9d9e3a52e70715797e1aecc5cb11668550 /drivers/mfd
parentb559b5c5e60f783dce654684ed192e65e11afbf3 (diff)
downloadbarebox-52085506972f6acf04c2f7252de62da2711cea6d.tar.gz
barebox-52085506972f6acf04c2f7252de62da2711cea6d.tar.xz
regmap: Implement syscon_regmap_lookup_by_compatible()
Implement syscon_regmap_lookup_by_compatible() to simplify porting kernel code. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Tested-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/syscon.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
index 30ed65f737..b1ff1b1eac 100644
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -160,6 +160,20 @@ struct regmap *syscon_node_to_regmap(struct device_node *np)
return syscon->regmap;
}
+struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
+{
+ struct device_node *syscon_np;
+ struct regmap *regmap;
+
+ syscon_np = of_find_compatible_node(NULL, NULL, s);
+ if (!syscon_np)
+ return ERR_PTR(-ENODEV);
+
+ regmap = syscon_node_to_regmap(syscon_np);
+
+ return regmap;
+}
+
static int syscon_probe(struct device_d *dev)
{
struct syscon *syscon;