On Fri, Oct 6, 2023 at 4:00 AM Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> wrote: > > exynos_usi_set_sw_conf() has a single caller, exynos_usi_configure, > which called it with exynos_usi_set_sw_conf(usi, usi->mode). Since the > mode is already defined in struct exynos_usi, remove the superfluous > pass of the mode parameter. While in exynos_usi_set_sw_conf(), remove the > reinitialization of usi->mode with its same value. > > Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> > --- This driver was designed with the easiness of its further possible extension in mind. For example, passing the "mode" into exynos_usi_set_sw_conf() allows one to implement some sysfs nodes for switching USI configuration manually, just by passing the user's mode into exynos_usi_set_sw_conf(). Other things which might also appear as over-engineered, make it easy to add USI_V1 implementation, as we discussed that possibility at the time. So yeah, it was done for a reason, and I'd prefer to leave it as is. > drivers/soc/samsung/exynos-usi.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/soc/samsung/exynos-usi.c b/drivers/soc/samsung/exynos-usi.c > index 114352695ac2..269ed930c5a9 100644 > --- a/drivers/soc/samsung/exynos-usi.c > +++ b/drivers/soc/samsung/exynos-usi.c > @@ -95,14 +95,14 @@ MODULE_DEVICE_TABLE(of, exynos_usi_dt_match); > /** > * exynos_usi_set_sw_conf - Set USI block configuration mode > * @usi: USI driver object > - * @mode: Mode index > * > * Select underlying serial protocol (UART/SPI/I2C) in USI IP-core. > * > * Return: 0 on success, or negative error code on failure. > */ > -static int exynos_usi_set_sw_conf(struct exynos_usi *usi, size_t mode) > +static int exynos_usi_set_sw_conf(struct exynos_usi *usi) > { > + size_t mode = usi->mode; > unsigned int val; > int ret; > > @@ -115,8 +115,7 @@ static int exynos_usi_set_sw_conf(struct exynos_usi *usi, size_t mode) > if (ret) > return ret; > > - usi->mode = mode; > - dev_dbg(usi->dev, "protocol: %s\n", exynos_usi_modes[usi->mode].name); > + dev_dbg(usi->dev, "protocol: %s\n", exynos_usi_modes[mode].name); > > return 0; > } > @@ -164,7 +163,7 @@ static int exynos_usi_configure(struct exynos_usi *usi) > { > int ret; > > - ret = exynos_usi_set_sw_conf(usi, usi->mode); > + ret = exynos_usi_set_sw_conf(usi); > if (ret) > return ret; > > -- > 2.42.0.609.gbb76f46606-goog >