summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Dolcini <francesco.dolcini@toradex.com>2024-06-03 10:35:58 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-06-04 15:44:57 +0200
commitdf1c5d55abc118f083854ff7e5048a16c98be714 (patch)
treead6caee5034c791f41cd2ab7e454024a784d9b13
parentf12e04c39e45b38d60263c41775b0a76b3f8dd0e (diff)
downloadlinux-df1c5d55abc118f083854ff7e5048a16c98be714.tar.gz
linux-df1c5d55abc118f083854ff7e5048a16c98be714.tar.bz2
linux-df1c5d55abc118f083854ff7e5048a16c98be714.zip
usb: typec: mux: gpio-sbu: Make enable gpio optional
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: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20240603083558.9629-3-francesco@dolcini.it Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/typec/mux/gpio-sbu-mux.c6
1 files changed, 5 insertions, 1 deletions
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");