Dear Peter Chen, > Since we need otgsc to know vbus's status at some chipidea > controllers even it is peripheral-only mode. Besides, some > SoCs (eg, AR9331 SoC) don't have otgsc register even > the DCCPARAMS_DC and DCCPARAMS_HC are both 1 at CAP_DCCPARAMS. > We inroduce otg_cap attribute to indicate if the controller > is otg capable, defaultly, we follow the rule that if DCCPARAMS_DC > and DCCPARAMS_HC are both 1 at CAP_DCCPARAMS are otg capable, but if there > is exception, the platform can override it by device tree or platform data. > > Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> > --- > drivers/usb/chipidea/core.c | 35 ++++++++++++++++++++++++++++------- > include/linux/usb/chipidea.h | 13 +++++++++++++ > 2 files changed, 41 insertions(+), 7 deletions(-) > > diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c > index 93961ff..e8ceb04 100644 > --- a/drivers/usb/chipidea/core.c > +++ b/drivers/usb/chipidea/core.c > @@ -405,6 +405,18 @@ static inline void ci_role_destroy(struct ci_hdrc *ci) > ci_hdrc_host_destroy(ci); > } > > +static void ci_get_otg_capable(struct ci_hdrc *ci) > +{ > + if (ci->platdata->otg_cap != OTG_CAP_ATTR_IS_NOT_EXISTED) IS_NONEXISTENT , no? [..] Best regards, Marek Vasut -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html