diff options
author | Heiko Stuebner <heiko@sntech.de> | 2018-05-18 11:52:04 +0800 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-05-23 10:07:26 +0200 |
commit | aa1fdda8f7ebf83f678e8d3c2ab4f1638c94195f (patch) | |
tree | 54cc822d6ffe2409563c4e62fd5adc343399e880 /drivers/gpio/gpio-syscon.c | |
parent | c65ef0ced1da5a323c3d6d251aef911943a53479 (diff) | |
download | linux-aa1fdda8f7ebf83f678e8d3c2ab4f1638c94195f.tar.gz linux-aa1fdda8f7ebf83f678e8d3c2ab4f1638c94195f.tar.bz2 linux-aa1fdda8f7ebf83f678e8d3c2ab4f1638c94195f.zip |
gpio: syscon: allow fetching syscon from parent node
Syscon nodes can be a simple-mfd and the syscon-users then be declared
as children of this node. That way the parent-child structure can be
better represented for devices that are fully embedded in the syscon.
Therefore allow getting the syscon from the parent if neither
a special compatible nor a gpio,syscon-dev property is defined.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-syscon.c')
-rw-r--r-- | drivers/gpio/gpio-syscon.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c index 2512acd99027..8b0a69c5ba88 100644 --- a/drivers/gpio/gpio-syscon.c +++ b/drivers/gpio/gpio-syscon.c @@ -200,6 +200,8 @@ static int syscon_gpio_probe(struct platform_device *pdev) } else { priv->syscon = syscon_regmap_lookup_by_phandle(np, "gpio,syscon-dev"); + if (IS_ERR(priv->syscon) && np->parent) + priv->syscon = syscon_node_to_regmap(np->parent); if (IS_ERR(priv->syscon)) return PTR_ERR(priv->syscon); |