Message ID | 20240603083558.9629-3-francesco@dolcini.it (mailing list archive) |
---|---|
State | Accepted |
Commit | df1c5d55abc118f083854ff7e5048a16c98be714 |
Headers | show |
Series | usb: typec: mux: gpio-sbu: Make enable gpio optional | expand |
On Mon, Jun 03, 2024 at 10:35:58AM +0200, Francesco Dolcini wrote: > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > The enable gpio is not required when the SBU mux is used only for > orientation, make it optional. > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> > --- > v2: > - removed useless NULL check for optional enable gpio > --- > drivers/usb/typec/mux/gpio-sbu-mux.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
On Mon, Jun 03, 2024 at 10:35:58AM +0200, Francesco Dolcini wrote: > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > The enable gpio is not required when the SBU mux is used only for > orientation, make it optional. > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > v2: > - removed useless NULL check for optional enable gpio > --- > drivers/usb/typec/mux/gpio-sbu-mux.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/mux/gpio-sbu-mux.c b/drivers/usb/typec/mux/gpio-sbu-mux.c > index 374168482d36..8902102c05a8 100644 > --- a/drivers/usb/typec/mux/gpio-sbu-mux.c > +++ b/drivers/usb/typec/mux/gpio-sbu-mux.c > @@ -66,6 +66,9 @@ static int gpio_sbu_mux_set(struct typec_mux_dev *mux, > { > struct gpio_sbu_mux *sbu_mux = typec_mux_get_drvdata(mux); > > + if (!sbu_mux->enable_gpio) > + return -EOPNOTSUPP; > + > mutex_lock(&sbu_mux->lock); > > switch (state->mode) { > @@ -102,7 +105,8 @@ static int gpio_sbu_mux_probe(struct platform_device *pdev) > > mutex_init(&sbu_mux->lock); > > - sbu_mux->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); > + sbu_mux->enable_gpio = devm_gpiod_get_optional(dev, "enable", > + GPIOD_OUT_LOW); > if (IS_ERR(sbu_mux->enable_gpio)) > return dev_err_probe(dev, PTR_ERR(sbu_mux->enable_gpio), > "unable to acquire enable gpio\n"); > -- > 2.39.2
diff --git a/drivers/usb/typec/mux/gpio-sbu-mux.c b/drivers/usb/typec/mux/gpio-sbu-mux.c index 374168482d36..8902102c05a8 100644 --- a/drivers/usb/typec/mux/gpio-sbu-mux.c +++ b/drivers/usb/typec/mux/gpio-sbu-mux.c @@ -66,6 +66,9 @@ static int gpio_sbu_mux_set(struct typec_mux_dev *mux, { struct gpio_sbu_mux *sbu_mux = typec_mux_get_drvdata(mux); + if (!sbu_mux->enable_gpio) + return -EOPNOTSUPP; + mutex_lock(&sbu_mux->lock); switch (state->mode) { @@ -102,7 +105,8 @@ static int gpio_sbu_mux_probe(struct platform_device *pdev) mutex_init(&sbu_mux->lock); - sbu_mux->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); + sbu_mux->enable_gpio = devm_gpiod_get_optional(dev, "enable", + GPIOD_OUT_LOW); if (IS_ERR(sbu_mux->enable_gpio)) return dev_err_probe(dev, PTR_ERR(sbu_mux->enable_gpio), "unable to acquire enable gpio\n");