On Wed, Sep 03, 2014 at 09:40:39AM +0200, Antoine Tenart wrote: > Move the usb_otg member from struct usb_phy to struct ci_hdrc. Rework > its initialization taking in account this modification. > > Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> > --- > drivers/usb/chipidea/ci.h | 1 + > drivers/usb/chipidea/host.c | 5 +++-- > drivers/usb/chipidea/otg_fsm.c | 16 +++------------- > 3 files changed, 7 insertions(+), 15 deletions(-) > > diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h > index b2caa1772712..dac5ab6adfa2 100644 > --- a/drivers/usb/chipidea/ci.h > +++ b/drivers/usb/chipidea/ci.h > @@ -177,6 +177,7 @@ struct ci_hdrc { > struct ci_role_driver *roles[CI_ROLE_END]; > enum ci_role role; > bool is_otg; > + struct usb_otg otg; > struct otg_fsm fsm; > struct ci_otg_fsm_timer_list *fsm_timer; > struct work_struct work; > diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c > index 0b67d78dd953..4fcebb6a6d14 100644 > --- a/drivers/usb/chipidea/host.c > +++ b/drivers/usb/chipidea/host.c > @@ -85,10 +85,11 @@ static int host_start(struct ci_hdrc *ci) > if (ret) { > goto disable_reg; > } else { > - struct usb_otg *otg = ci->usb_phy->otg; > + struct usb_otg *otg = &ci->otg; > > ci->hcd = hcd; > - if (otg) { > + > + if (ci_otg_is_fsm_mode(ci)) { > otg->host = &hcd->self; > hcd->self.otg_port = 1; > } > diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c > index 8a64ce87364e..862d7cb01b92 100644 > --- a/drivers/usb/chipidea/otg_fsm.c > +++ b/drivers/usb/chipidea/otg_fsm.c > @@ -778,20 +778,10 @@ void ci_hdrc_otg_fsm_start(struct ci_hdrc *ci) > int ci_hdrc_otg_fsm_init(struct ci_hdrc *ci) > { > int retval = 0; > - struct usb_otg *otg; > > - otg = devm_kzalloc(ci->dev, > - sizeof(struct usb_otg), GFP_KERNEL); > - if (!otg) { > - dev_err(ci->dev, > - "Failed to allocate usb_otg structure for ci hdrc otg!\n"); > - return -ENOMEM; > - } > - > - otg->usb_phy = ci->usb_phy; > - otg->gadget = &ci->gadget; > - ci->fsm.otg = otg; > - ci->usb_phy->otg = ci->fsm.otg; > + ci->otg.usb_phy = ci->usb_phy; > + ci->otg.gadget = &ci->gadget; > + ci->fsm.otg = &ci->otg; > ci->fsm.power_up = 1; > ci->fsm.id = hw_read_otgsc(ci, OTGSC_ID) ? 1 : 0; > ci->fsm.otg->state = OTG_STATE_UNDEFINED; > -- Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> -- Best Regards, Peter Chen -- 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