diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-01-13 11:03:30 +0000 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-01-18 09:56:35 +0100 |
commit | ad9ec4ecee6889321ae1752ce8793524a8cdfa7a (patch) | |
tree | 3db527cd0ad1da68a344ee2404c9715f48f3e25a /drivers/pinctrl/mvebu/pinctrl-mvebu.h | |
parent | pinctrl: mvebu: provide generic simple mmio-based implementation (diff) | |
download | linux-dev-ad9ec4ecee6889321ae1752ce8793524a8cdfa7a.tar.xz linux-dev-ad9ec4ecee6889321ae1752ce8793524a8cdfa7a.zip |
pinctrl: mvebu: switch drivers to generic simple mmio
Move the mvebu pinctrl drivers over to the generic simple mmio
implementation, saving a substantial number of lines of code in
the process.
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 | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-mvebu.h b/drivers/pinctrl/mvebu/pinctrl-mvebu.h index c055581cf887..a9304cdc23e2 100644 --- a/drivers/pinctrl/mvebu/pinctrl-mvebu.h +++ b/drivers/pinctrl/mvebu/pinctrl-mvebu.h @@ -190,30 +190,6 @@ struct mvebu_pinctrl_soc_info { #define MVEBU_MPP_BITS 4 #define MVEBU_MPP_MASK 0xf -static inline int default_mpp_ctrl_get(void __iomem *base, unsigned int pid, - unsigned long *config) -{ - unsigned off = (pid / MVEBU_MPPS_PER_REG) * MVEBU_MPP_BITS; - unsigned shift = (pid % MVEBU_MPPS_PER_REG) * MVEBU_MPP_BITS; - - *config = (readl(base + off) >> shift) & MVEBU_MPP_MASK; - - return 0; -} - -static inline int default_mpp_ctrl_set(void __iomem *base, unsigned int pid, - unsigned long config) -{ - unsigned off = (pid / MVEBU_MPPS_PER_REG) * MVEBU_MPP_BITS; - unsigned shift = (pid % MVEBU_MPPS_PER_REG) * MVEBU_MPP_BITS; - unsigned long reg; - - reg = readl(base + off) & ~(MVEBU_MPP_MASK << shift); - writel(reg | (config << shift), base + off); - - return 0; -} - 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, |