diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-01-13 14:03:35 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-01-18 11:58:04 +0300 |
commit | d068b0988a48418a1b6679f5b7d650400846d17f (patch) | |
tree | 4919ca6853a15e6f46f26bbf7861edcca378486d /drivers/pinctrl/mvebu/pinctrl-mvebu.h | |
parent | ad9ec4ecee6889321ae1752ce8793524a8cdfa7a (diff) | |
download | linux-d068b0988a48418a1b6679f5b7d650400846d17f.tar.xz |
pinctrl: mvebu: add simple regmap based pinctrl implementation
Add a simple regmap based pinctrl implementation for mvebu, for syscon
based regmap drivers.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/mvebu/pinctrl-mvebu.h')
-rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-mvebu.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-mvebu.h b/drivers/pinctrl/mvebu/pinctrl-mvebu.h index a9304cdc23e2..c90704e74884 100644 --- a/drivers/pinctrl/mvebu/pinctrl-mvebu.h +++ b/drivers/pinctrl/mvebu/pinctrl-mvebu.h @@ -16,9 +16,17 @@ /** * struct mvebu_mpp_ctrl_data - private data for the mpp ctrl operations * @base: base address of pinctrl hardware + * @regmap.map: regmap structure + * @regmap.offset: regmap offset */ struct mvebu_mpp_ctrl_data { - void __iomem *base; + union { + void __iomem *base; + struct { + struct regmap *map; + u32 offset; + } regmap; + }; }; /** @@ -194,8 +202,14 @@ int mvebu_mmio_mpp_ctrl_get(struct mvebu_mpp_ctrl_data *data, unsigned pid, unsigned long *config); int mvebu_mmio_mpp_ctrl_set(struct mvebu_mpp_ctrl_data *data, unsigned pid, unsigned long config); +int mvebu_regmap_mpp_ctrl_get(struct mvebu_mpp_ctrl_data *data, unsigned pid, + unsigned long *config); +int mvebu_regmap_mpp_ctrl_set(struct mvebu_mpp_ctrl_data *data, unsigned pid, + unsigned long config); int mvebu_pinctrl_probe(struct platform_device *pdev); int mvebu_pinctrl_simple_mmio_probe(struct platform_device *pdev); +int mvebu_pinctrl_simple_regmap_probe(struct platform_device *pdev, + struct device *syscon_dev); #endif |