Message ID | 20241106-ucsi-glue-fixes-v1-2-d0183d78c522@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: typec: ucsi: glink: fix and improve orientation handling | expand |
On 24-11-06 17:45:55, Dmitry Baryshkov wrote: > Instead of checking if any of the USB-C ports have orientation GPIO and > thus is orientation-aware, check for the GPIO for the port being > registered. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abel Vesa <abel.vesa@linaro.org> > --- > drivers/usb/typec/ucsi/ucsi_glink.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c > index 2e12758000a7d2d62f6e0b273cb29eafa631122c..90948cd6d2972402465a2adaba3e1ed055cf0cfa 100644 > --- a/drivers/usb/typec/ucsi/ucsi_glink.c > +++ b/drivers/usb/typec/ucsi/ucsi_glink.c > @@ -172,12 +172,12 @@ static int pmic_glink_ucsi_async_control(struct ucsi *__ucsi, u64 command) > static void pmic_glink_ucsi_update_connector(struct ucsi_connector *con) > { > struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi); > - int i; > > - for (i = 0; i < PMIC_GLINK_MAX_PORTS; i++) { > - if (ucsi->port_orientation[i]) > - con->typec_cap.orientation_aware = true; > - } > + if (con->num > PMIC_GLINK_MAX_PORTS || > + !ucsi->port_orientation[con->num - 1]) > + return; > + > + con->typec_cap.orientation_aware = true; > } > > static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con) > > -- > 2.39.5 >
On Wed, Nov 06, 2024 at 05:45:55PM +0200, Dmitry Baryshkov wrote: > Instead of checking if any of the USB-C ports have orientation GPIO and > thus is orientation-aware, check for the GPIO for the port being > registered. What is the visible affect of this change? Does it fix an existing bug? thanks, greg k-h
On 06/11/2024 16:45, Dmitry Baryshkov wrote: > Instead of checking if any of the USB-C ports have orientation GPIO and > thus is orientation-aware, check for the GPIO for the port being > registered. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > drivers/usb/typec/ucsi/ucsi_glink.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c > index 2e12758000a7d2d62f6e0b273cb29eafa631122c..90948cd6d2972402465a2adaba3e1ed055cf0cfa 100644 > --- a/drivers/usb/typec/ucsi/ucsi_glink.c > +++ b/drivers/usb/typec/ucsi/ucsi_glink.c > @@ -172,12 +172,12 @@ static int pmic_glink_ucsi_async_control(struct ucsi *__ucsi, u64 command) > static void pmic_glink_ucsi_update_connector(struct ucsi_connector *con) > { > struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi); > - int i; > > - for (i = 0; i < PMIC_GLINK_MAX_PORTS; i++) { > - if (ucsi->port_orientation[i]) > - con->typec_cap.orientation_aware = true; > - } > + if (con->num > PMIC_GLINK_MAX_PORTS || > + !ucsi->port_orientation[con->num - 1]) > + return; > + > + con->typec_cap.orientation_aware = true; > } > > static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con) > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On Thu, 7 Nov 2024 at 05:19, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > > On Wed, Nov 06, 2024 at 05:45:55PM +0200, Dmitry Baryshkov wrote: > > Instead of checking if any of the USB-C ports have orientation GPIO and > > thus is orientation-aware, check for the GPIO for the port being > > registered. > > What is the visible affect of this change? Currently no visible effects. In future it will allow us to specify that portA is orientation aware, while portB for some reason doesn't have a corresponding GPIO so it is not orientation-aware and can not report such events. > Does it fix an existing bug? No, otherwise I'd have added the Fixes: tag.
On Wed, Nov 06, 2024 at 05:45:55PM +0200, Dmitry Baryshkov wrote: > Instead of checking if any of the USB-C ports have orientation GPIO and > thus is orientation-aware, check for the GPIO for the port being > registered. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org>
diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c index 2e12758000a7d2d62f6e0b273cb29eafa631122c..90948cd6d2972402465a2adaba3e1ed055cf0cfa 100644 --- a/drivers/usb/typec/ucsi/ucsi_glink.c +++ b/drivers/usb/typec/ucsi/ucsi_glink.c @@ -172,12 +172,12 @@ static int pmic_glink_ucsi_async_control(struct ucsi *__ucsi, u64 command) static void pmic_glink_ucsi_update_connector(struct ucsi_connector *con) { struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi); - int i; - for (i = 0; i < PMIC_GLINK_MAX_PORTS; i++) { - if (ucsi->port_orientation[i]) - con->typec_cap.orientation_aware = true; - } + if (con->num > PMIC_GLINK_MAX_PORTS || + !ucsi->port_orientation[con->num - 1]) + return; + + con->typec_cap.orientation_aware = true; } static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con)
Instead of checking if any of the USB-C ports have orientation GPIO and thus is orientation-aware, check for the GPIO for the port being registered. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/usb/typec/ucsi/ucsi_glink.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)