> >On 20-07-13 12:05:52, Pawel Laszczak wrote: >> Patch removes 'goto not_otg' instruction from >> cdns3_hw_role_state_machine function. >> >> Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx> >> --- >> drivers/usb/cdns3/core.c | 20 +++++++++----------- >> 1 file changed, 9 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c >> index c498b585eb13..8e3996f211a8 100644 >> --- a/drivers/usb/cdns3/core.c >> +++ b/drivers/usb/cdns3/core.c >> @@ -191,11 +191,17 @@ static int cdns3_core_init_role(struct cdns3 *cdns) >> */ >> static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns) >> { >> - enum usb_role role; >> + enum usb_role role = USB_ROLE_NONE; >> int id, vbus; >> >> - if (cdns->dr_mode != USB_DR_MODE_OTG) >> - goto not_otg; >> + if (cdns->dr_mode != USB_DR_MODE_OTG) { >> + if (cdns3_is_host(cdns)) >> + role = USB_ROLE_HOST; >> + if (cdns3_is_device(cdns)) >> + role = USB_ROLE_DEVICE; >> + >> + return role; >> + } > >Would you please improve it a bit like below: > > if (cdns->dr_mode != USB_DR_MODE_OTG) { > if (cdns3_is_host(cdns)) > role = USB_ROLE_HOST; > else if (cdns3_is_device(cdns)) > role = USB_ROLE_DEVICE; > else > role = USB_ROLE_NONE; > > return role; > } > Sorry for delay, I had holiday. Currently this patch was added by Greg to his usb-next branch, so I don't want to change anything. Next time I will add such changes. >Peter >> >> id = cdns3_get_id(cdns); >> vbus = cdns3_get_vbus(cdns); >> @@ -232,14 +238,6 @@ static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns) >> dev_dbg(cdns->dev, "role %d -> %d\n", cdns->role, role); >> >> return role; >> - >> -not_otg: >> - if (cdns3_is_host(cdns)) >> - role = USB_ROLE_HOST; >> - if (cdns3_is_device(cdns)) >> - role = USB_ROLE_DEVICE; >> - >> - return role; >> } >> >> static int cdns3_idle_role_start(struct cdns3 *cdns) >> -- >> 2.17.1 >> > >-- > >Thanks, >Peter Chen Thanks, Pawel