Message ID | 20200604123033.25499-3-patrick.delaunay@st.com |
---|---|
State | Accepted |
Commit | 84115cd06648f45e1496e3a55b08a654f8e3a258 |
Delegated to: | Patrick Delaunay |
Headers | show |
Series | stm32mp1: activate gpio hog support and add new pinctrl ops | expand |
Hi Patrick On 6/4/20 2:30 PM, Patrick Delaunay wrote: > Move the functions stmfx_pinctrl_set_pupd and stmfx_pinctrl_set_type; > they can be used by the new ops get_dir_flags and set_dir_flags introduced > by next patch. > > No functional change. > > Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> > --- > > Changes in v2: > - NEW: split previous patch [5/5] gpio: stmfx: add set_config ops > > drivers/pinctrl/pinctrl-stmfx.c | 60 ++++++++++++++++----------------- > 1 file changed, 30 insertions(+), 30 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c > index a3240ccd5a..d74121725c 100644 > --- a/drivers/pinctrl/pinctrl-stmfx.c > +++ b/drivers/pinctrl/pinctrl-stmfx.c > @@ -74,6 +74,36 @@ static int stmfx_write(struct udevice *dev, uint offset, unsigned int val) > return dm_i2c_reg_write(dev_get_parent(dev), offset, val); > } > > +static int stmfx_pinctrl_set_pupd(struct udevice *dev, > + unsigned int pin, u32 pupd) > +{ > + u8 reg = STMFX_REG_GPIO_PUPD + get_reg(pin); > + u32 mask = get_mask(pin); > + int ret; > + > + ret = stmfx_read(dev, reg); > + if (ret < 0) > + return ret; > + ret = (ret & ~mask) | (pupd ? mask : 0); > + > + return stmfx_write(dev, reg, ret); > +} > + > +static int stmfx_pinctrl_set_type(struct udevice *dev, > + unsigned int pin, u32 type) > +{ > + u8 reg = STMFX_REG_GPIO_TYPE + get_reg(pin); > + u32 mask = get_mask(pin); > + int ret; > + > + ret = stmfx_read(dev, reg); > + if (ret < 0) > + return ret; > + ret = (ret & ~mask) | (type ? mask : 0); > + > + return stmfx_write(dev, reg, ret); > +} > + > static int stmfx_gpio_get(struct udevice *dev, unsigned int offset) > { > u32 reg = STMFX_REG_GPIO_STATE + get_reg(offset); > @@ -190,36 +220,6 @@ static const struct pinconf_param stmfx_pinctrl_conf_params[] = { > { "output-low", PIN_CONFIG_OUTPUT, 0 }, > }; > > -static int stmfx_pinctrl_set_pupd(struct udevice *dev, > - unsigned int pin, u32 pupd) > -{ > - u8 reg = STMFX_REG_GPIO_PUPD + get_reg(pin); > - u32 mask = get_mask(pin); > - int ret; > - > - ret = stmfx_read(dev, reg); > - if (ret < 0) > - return ret; > - ret = (ret & ~mask) | (pupd ? mask : 0); > - > - return stmfx_write(dev, reg, ret); > -} > - > -static int stmfx_pinctrl_set_type(struct udevice *dev, > - unsigned int pin, u32 type) > -{ > - u8 reg = STMFX_REG_GPIO_TYPE + get_reg(pin); > - u32 mask = get_mask(pin); > - int ret; > - > - ret = stmfx_read(dev, reg); > - if (ret < 0) > - return ret; > - ret = (ret & ~mask) | (type ? mask : 0); > - > - return stmfx_write(dev, reg, ret); > -} > - > static int stmfx_pinctrl_conf_set(struct udevice *dev, unsigned int pin, > unsigned int param, unsigned int arg) > { Reviewed-by: Patrice Chotard <patrice.chotard@st.com> Thanks
diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c index a3240ccd5a..d74121725c 100644 --- a/drivers/pinctrl/pinctrl-stmfx.c +++ b/drivers/pinctrl/pinctrl-stmfx.c @@ -74,6 +74,36 @@ static int stmfx_write(struct udevice *dev, uint offset, unsigned int val) return dm_i2c_reg_write(dev_get_parent(dev), offset, val); } +static int stmfx_pinctrl_set_pupd(struct udevice *dev, + unsigned int pin, u32 pupd) +{ + u8 reg = STMFX_REG_GPIO_PUPD + get_reg(pin); + u32 mask = get_mask(pin); + int ret; + + ret = stmfx_read(dev, reg); + if (ret < 0) + return ret; + ret = (ret & ~mask) | (pupd ? mask : 0); + + return stmfx_write(dev, reg, ret); +} + +static int stmfx_pinctrl_set_type(struct udevice *dev, + unsigned int pin, u32 type) +{ + u8 reg = STMFX_REG_GPIO_TYPE + get_reg(pin); + u32 mask = get_mask(pin); + int ret; + + ret = stmfx_read(dev, reg); + if (ret < 0) + return ret; + ret = (ret & ~mask) | (type ? mask : 0); + + return stmfx_write(dev, reg, ret); +} + static int stmfx_gpio_get(struct udevice *dev, unsigned int offset) { u32 reg = STMFX_REG_GPIO_STATE + get_reg(offset); @@ -190,36 +220,6 @@ static const struct pinconf_param stmfx_pinctrl_conf_params[] = { { "output-low", PIN_CONFIG_OUTPUT, 0 }, }; -static int stmfx_pinctrl_set_pupd(struct udevice *dev, - unsigned int pin, u32 pupd) -{ - u8 reg = STMFX_REG_GPIO_PUPD + get_reg(pin); - u32 mask = get_mask(pin); - int ret; - - ret = stmfx_read(dev, reg); - if (ret < 0) - return ret; - ret = (ret & ~mask) | (pupd ? mask : 0); - - return stmfx_write(dev, reg, ret); -} - -static int stmfx_pinctrl_set_type(struct udevice *dev, - unsigned int pin, u32 type) -{ - u8 reg = STMFX_REG_GPIO_TYPE + get_reg(pin); - u32 mask = get_mask(pin); - int ret; - - ret = stmfx_read(dev, reg); - if (ret < 0) - return ret; - ret = (ret & ~mask) | (type ? mask : 0); - - return stmfx_write(dev, reg, ret); -} - static int stmfx_pinctrl_conf_set(struct udevice *dev, unsigned int pin, unsigned int param, unsigned int arg) {
Move the functions stmfx_pinctrl_set_pupd and stmfx_pinctrl_set_type; they can be used by the new ops get_dir_flags and set_dir_flags introduced by next patch. No functional change. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> --- Changes in v2: - NEW: split previous patch [5/5] gpio: stmfx: add set_config ops drivers/pinctrl/pinctrl-stmfx.c | 60 ++++++++++++++++----------------- 1 file changed, 30 insertions(+), 30 deletions(-)