diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2019-02-24 19:52:50 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-25 09:46:10 +0100 |
commit | 52085506972f6acf04c2f7252de62da2711cea6d (patch) | |
tree | 6b251c9d9e3a52e70715797e1aecc5cb11668550 /drivers/mfd | |
parent | b559b5c5e60f783dce654684ed192e65e11afbf3 (diff) | |
download | barebox-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.c | 14 |
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; |