Greg, This was a resend, you've asked... Can you please update us on its status? Thanks > ulpi_set_vbus and ulpi_set_flags are using ULPI_SET(register) to write > to the PHY's registers, which means we can only set bits in the PHY's > register and not clear them. > By directly using the address of the register without any offset, we > now get the expected behaviour for these functions. > > Signed-off-by: Eric Bénard <eric@xxxxxxxxxx> > Cc: Daniel Mack <daniel@xxxxxxxx> > Cc: linux-usb@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> > --- > v2 : > drop reg/val swap which is handled in a better way by Igor's patch here : > http://comments.gmane.org/gmane.linux.usb.general/32092 > > drivers/usb/otg/ulpi.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/otg/ulpi.c b/drivers/usb/otg/ulpi.c > index b1b3469..086853b 100644 > --- a/drivers/usb/otg/ulpi.c > +++ b/drivers/usb/otg/ulpi.c > @@ -54,7 +54,7 @@ static int ulpi_set_flags(struct otg_transceiver *otg) > if (otg->flags & USB_OTG_EXT_VBUS_INDICATOR) > flags |= ULPI_OTG_CTRL_EXTVBUSIND; > > - return otg_io_write(otg, flags, ULPI_SET(ULPI_OTG_CTRL)); > + return otg_io_write(otg, flags, ULPI_OTG_CTRL); > } > > static int ulpi_init(struct otg_transceiver *otg) > @@ -90,7 +90,7 @@ static int ulpi_set_vbus(struct otg_transceiver *otg, bool on) > flags |= ULPI_OTG_CTRL_DRVVBUS_EXT; > } > > - return otg_io_write(otg, flags, ULPI_SET(ULPI_OTG_CTRL)); > + return otg_io_write(otg, flags, ULPI_OTG_CTRL); > } > > struct otg_transceiver * > -- Regards, Igor. -- 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