summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/freescale
diff options
context:
space:
mode:
authorDong Aisheng <aisheng.dong@nxp.com>2017-09-05 20:35:16 +0800
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit8526f5c38ce8f2ec82df7ca2d30e59e8f43a6704 (patch)
tree262322180442db485a8ecc14e5866cfd3bb226e1 /drivers/pinctrl/freescale
parenta8224b75fee8ff94f99ed012511b52025c536184 (diff)
MLK-17491-8 pinctrl: imx: remove gpio_request_enable and gpio_disable_free
gpio_request_enable/disable_free actually are not quite necessary as standard IMX pinctrl binding already sets GPIO mux from device tree, e.g. VF610_PAD_PTB20__GPIO_42 or MX7D_PAD_SD2_CD_B__GPIO5_IO9 No need to do it again in gpio_request_enable. Fixes: 5d7a13220ade ("MLK-15128-3 pinctrl: freescale: support scu and memmap pinctrl together") Fixes: 07787c40ff3b ("MLK-13485-3 pinctrl: imx: modify the imx pinctrl to support imx7ulp gpio") Cc: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Diffstat (limited to 'drivers/pinctrl/freescale')
-rw-r--r--drivers/pinctrl/freescale/pinctrl-imx.c26
-rw-r--r--drivers/pinctrl/freescale/pinctrl-imx.h28
-rw-r--r--drivers/pinctrl/freescale/pinctrl-memmap.c66
-rw-r--r--drivers/pinctrl/freescale/pinctrl-scu.c12
4 files changed, 0 insertions, 132 deletions
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 15960e8b796b..565b27f81553 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -244,30 +244,6 @@ static int imx_pmx_get_groups(struct pinctrl_dev *pctldev, unsigned selector,
return 0;
}
-static int imx_pmx_gpio_request_enable(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
- const struct imx_pinctrl_soc_info *info = ipctl->info;
-
- if (info->flags & IMX8_USE_SCU)
- return imx_pmx_backend_gpio_request_enable_scu(pctldev, range, offset);
- else
- return imx_pmx_backend_gpio_request_enable_mem(pctldev, range, offset);
-}
-
-static void imx_pmx_gpio_disable_free(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
- const struct imx_pinctrl_soc_info *info = ipctl->info;
-
- if (info->flags & IMX8_USE_SCU)
- imx_pmx_backend_gpio_disable_free_scu(pctldev, range, offset);
- else
- imx_pmx_backend_gpio_disable_free_mem(pctldev, range, offset);
-}
-
static int imx_pmx_gpio_set_direction(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input)
{
@@ -287,8 +263,6 @@ static const struct pinmux_ops imx_pmx_ops = {
.get_function_name = imx_pmx_get_func_name,
.get_function_groups = imx_pmx_get_groups,
.set_mux = imx_pmx_set,
- .gpio_request_enable = imx_pmx_gpio_request_enable,
- .gpio_disable_free = imx_pmx_gpio_disable_free,
.gpio_set_direction = imx_pmx_gpio_set_direction,
};
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h
index 33991633c74e..a66c07c4e0fd 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx.h
@@ -140,10 +140,6 @@ int imx_pinctrl_resume(struct device *dev);
#ifdef CONFIG_PINCTRL_IMX_MEMMAP
int imx_pmx_set_one_pin_mem(struct imx_pinctrl *ipctl, struct imx_pin *pin);
-int imx_pmx_backend_gpio_request_enable_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset);
-void imx_pmx_backend_gpio_disable_free_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset);
int imx_pmx_backend_gpio_set_direction_mem(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input);
int imx_pinconf_backend_get_mem(struct pinctrl_dev *pctldev, unsigned pin_id,
@@ -157,16 +153,6 @@ static inline int imx_pmx_set_one_pin_mem(struct imx_pinctrl *ipctl, struct imx_
{
return 0;
}
-static inline int imx_pmx_backend_gpio_request_enable_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- return 0;
-}
-static inline void imx_pmx_backend_gpio_disable_free_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- return;
-}
static inline int imx_pmx_backend_gpio_set_direction_mem(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input)
{
@@ -191,10 +177,6 @@ static inline int imx_pinctrl_parse_pin_mem(struct imx_pinctrl_soc_info *info,
#ifdef CONFIG_PINCTRL_IMX_SCU
int imx_pmx_set_one_pin_scu(struct imx_pinctrl *ipctl, struct imx_pin *pin);
-int imx_pmx_backend_gpio_request_enable_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset);
-void imx_pmx_backend_gpio_disable_free_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset);
int imx_pmx_backend_gpio_set_direction_scu(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input);
int imx_pinconf_backend_get_scu(struct pinctrl_dev *pctldev, unsigned pin_id,
@@ -208,16 +190,6 @@ static inline int imx_pmx_set_one_pin_scu(struct imx_pinctrl *ipctl, struct imx_
{
return 0;
}
-static inline int imx_pmx_backend_gpio_request_enable_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- return 0;
-}
-static inline void imx_pmx_backend_gpio_disable_free_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- return;
-}
static inline int imx_pmx_backend_gpio_set_direction_scu(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input)
{
diff --git a/drivers/pinctrl/freescale/pinctrl-memmap.c b/drivers/pinctrl/freescale/pinctrl-memmap.c
index ad1f1b1a6005..501f35b1c41f 100644
--- a/drivers/pinctrl/freescale/pinctrl-memmap.c
+++ b/drivers/pinctrl/freescale/pinctrl-memmap.c
@@ -108,72 +108,6 @@ int imx_pmx_set_one_pin_mem(struct imx_pinctrl *ipctl, struct imx_pin *pin)
return 0;
}
-int imx_pmx_backend_gpio_request_enable_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
- const struct imx_pinctrl_soc_info *info = ipctl->info;
- const struct imx_pin_reg *pin_reg;
- struct imx_pin_group *grp;
- struct imx_pin *imx_pin;
- unsigned int pin, group;
- u32 reg;
-
- /* Currently implementation only for shared mux/conf register */
- if (!(info->flags & SHARE_MUX_CONF_REG))
- return 0;
-
- pin_reg = &info->pin_regs[offset];
- if (pin_reg->mux_reg == -1)
- return -EINVAL;
-
- /* Find the pinctrl config with GPIO mux mode for the requested pin */
- for (group = 0; group < info->ngroups; group++) {
- grp = &info->groups[group];
- for (pin = 0; pin < grp->npins; pin++) {
- imx_pin = &grp->pins[pin];
- if (imx_pin->pin == offset)
- goto mux_pin;
- }
- }
-
- return -EINVAL;
-
-mux_pin:
- reg = readl(ipctl->base + pin_reg->mux_reg);
- reg &= ~info->mux_mask;
- reg |= (imx_pin->pin_conf.pin_memmap.mux_mode << info->mux_shift);
- imx_pin->pin_conf.pin_memmap.config &= ~info->mux_mask;
- reg |= imx_pin->pin_conf.pin_memmap.config;
- writel(reg, ipctl->base + pin_reg->mux_reg);
-
- return 0;
-}
-
-void imx_pmx_backend_gpio_disable_free_mem(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range,
- unsigned offset)
-{
- struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
- const struct imx_pinctrl_soc_info *info = ipctl->info;
- const struct imx_pin_reg *pin_reg;
- u32 reg;
- /*
- * Only Vybrid has the input/output buffer enable flags (IBE/OBE)
- * They are part of the shared mux/conf register.
- */
- if (!(info->flags & SHARE_MUX_CONF_REG))
- return;
-
- pin_reg = &info->pin_regs[offset];
- if (pin_reg->mux_reg == -1)
- return;
-
- /* Clear IBE/OBE/PUE to disable the pin (Hi-Z) */
- reg = readl(ipctl->base + pin_reg->mux_reg);
- reg &= ~0x7;
- writel(reg, ipctl->base + pin_reg->mux_reg);
-}
int imx_pmx_backend_gpio_set_direction_mem(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input)
diff --git a/drivers/pinctrl/freescale/pinctrl-scu.c b/drivers/pinctrl/freescale/pinctrl-scu.c
index b7dcf56a99b2..b3667d033cbb 100644
--- a/drivers/pinctrl/freescale/pinctrl-scu.c
+++ b/drivers/pinctrl/freescale/pinctrl-scu.c
@@ -36,18 +36,6 @@ int imx_pmx_set_one_pin_scu(struct imx_pinctrl *ipctl, struct imx_pin *pin)
return 0;
}
-int imx_pmx_backend_gpio_request_enable_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range, unsigned offset)
-{
- return -EINVAL;
-}
-
-void imx_pmx_backend_gpio_disable_free_scu(struct pinctrl_dev *pctldev,
- struct pinctrl_gpio_range *range,
- unsigned offset)
-{
-}
-
int imx_pmx_backend_gpio_set_direction_scu(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range, unsigned offset, bool input)
{