[v2,2/3] usb: chipidea: imx: Warn if oc polarity isn't specified

Message ID 20181202213325.26017-2-u.kleine-koenig@pengutronix.de
State New
Headers show
Series
  • [v2,1/3] usb: chipidea: imx: support configuring for active low oc signal
Related show

Commit Message

Uwe Kleine-König Dec. 2, 2018, 9:33 p.m.
The polarity of the over current detection pin isn't configured on i.MX6/7
if it's unspecified in the device tree. So the actual configuration depends
on bootloader behavior which is bad.

So encourage users to fix their device tree by issuing a warning in this
case.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/usb/chipidea/ci_hdrc_imx.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Peter Chen Dec. 4, 2018, 6:19 a.m. | #1
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/usb/chipidea/ci_hdrc_imx.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index 80b4e4ef9b68..3dcfd0d97f94 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -141,6 +141,8 @@ static struct imx_usbmisc_data
> *usbmisc_get_init_data(struct device *dev)
>  	} else if (of_find_property(np, "over-current-active-low", NULL)) {
>  		data->oc_pol_active_low = 1;
>  		data->oc_pol_configured = 1;
> +	} else {
> +		dev_warn(dev, "No over current polarity defined\n");
>  	}

If the platform doesn't support OC, the polarity setting is not needed. You could consider
getting polarity property only "disable-over-current" is not found at patch 1.

Peter
Uwe Kleine-König Dec. 4, 2018, 8:20 a.m. | #2
Hello Peter,

On Tue, Dec 04, 2018 at 06:19:11AM +0000, PETER CHEN wrote:
> > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> > index 80b4e4ef9b68..3dcfd0d97f94 100644
> > --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> > @@ -141,6 +141,8 @@ static struct imx_usbmisc_data
> > *usbmisc_get_init_data(struct device *dev)
> >  	} else if (of_find_property(np, "over-current-active-low", NULL)) {
> >  		data->oc_pol_active_low = 1;
> >  		data->oc_pol_configured = 1;
> > +	} else {
> > +		dev_warn(dev, "No over current polarity defined\n");
> >  	}
> 
> If the platform doesn't support OC, the polarity setting is not needed. You could consider
> getting polarity property only "disable-over-current" is not found at patch 1.

Right, just fixed that up and will send out v3 in a moment.

Best regards
Uwe

Patch

diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
index 80b4e4ef9b68..3dcfd0d97f94 100644
--- a/drivers/usb/chipidea/ci_hdrc_imx.c
+++ b/drivers/usb/chipidea/ci_hdrc_imx.c
@@ -141,6 +141,8 @@  static struct imx_usbmisc_data *usbmisc_get_init_data(struct device *dev)
 	} else if (of_find_property(np, "over-current-active-low", NULL)) {
 		data->oc_pol_active_low = 1;
 		data->oc_pol_configured = 1;
+	} else {
+		dev_warn(dev, "No over current polarity defined\n");
 	}
 
 	if (of_find_property(np, "external-vbus-divider", NULL))