On Thu, Oct 11, 2012 at 09:48:30PM -0700, Kuninori Morimoto wrote: no commit log, please resend with something properly written up ;-) > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > --- > drivers/usb/renesas_usbhs/common.c | 5 +++++ > drivers/usb/renesas_usbhs/common.h | 1 + > drivers/usb/renesas_usbhs/mod_gadget.c | 11 +++++++++++ > 3 files changed, 17 insertions(+) > > diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c > index 072edc1..3bf922ab 100644 > --- a/drivers/usb/renesas_usbhs/common.c > +++ b/drivers/usb/renesas_usbhs/common.c > @@ -132,6 +132,11 @@ void usbhs_sys_function_ctrl(struct usbhs_priv *priv, int enable) > usbhs_bset(priv, SYSCFG, mask, enable ? val : 0); > } > > +void usbhs_sys_function_pullup(struct usbhs_priv *priv, int enable) > +{ > + usbhs_bset(priv, SYSCFG, DPRPU, enable ? DPRPU : 0); > +} > + > void usbhs_sys_set_test_mode(struct usbhs_priv *priv, u16 mode) > { > usbhs_write(priv, TESTMODE, mode); > diff --git a/drivers/usb/renesas_usbhs/common.h b/drivers/usb/renesas_usbhs/common.h > index dddf40a..c69dd2f 100644 > --- a/drivers/usb/renesas_usbhs/common.h > +++ b/drivers/usb/renesas_usbhs/common.h > @@ -285,6 +285,7 @@ void usbhs_bset(struct usbhs_priv *priv, u32 reg, u16 mask, u16 data); > */ > void usbhs_sys_host_ctrl(struct usbhs_priv *priv, int enable); > void usbhs_sys_function_ctrl(struct usbhs_priv *priv, int enable); > +void usbhs_sys_function_pullup(struct usbhs_priv *priv, int enable); > void usbhs_sys_set_test_mode(struct usbhs_priv *priv, u16 mode); > > /* > diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c > index 28478ce..dd41f61 100644 > --- a/drivers/usb/renesas_usbhs/mod_gadget.c > +++ b/drivers/usb/renesas_usbhs/mod_gadget.c > @@ -883,6 +883,16 @@ static int usbhsg_get_frame(struct usb_gadget *gadget) > return usbhs_frame_get_num(priv); > } > > +static int usbhsg_pullup(struct usb_gadget *gadget, int is_on) > +{ > + struct usbhsg_gpriv *gpriv = usbhsg_gadget_to_gpriv(gadget); > + struct usbhs_priv *priv = usbhsg_gpriv_to_priv(gpriv); > + > + usbhs_sys_function_pullup(priv, is_on); > + > + return 0; > +} > + > static int usbhsg_set_selfpowered(struct usb_gadget *gadget, int is_self) > { > struct usbhsg_gpriv *gpriv = usbhsg_gadget_to_gpriv(gadget); > @@ -900,6 +910,7 @@ static struct usb_gadget_ops usbhsg_gadget_ops = { > .set_selfpowered = usbhsg_set_selfpowered, > .udc_start = usbhsg_gadget_start, > .udc_stop = usbhsg_gadget_stop, > + .pullup = usbhsg_pullup, > }; > > static int usbhsg_start(struct usbhs_priv *priv) > -- > 1.7.9.5 > -- balbi
Attachment:
signature.asc
Description: Digital signature