From c7c6c46e6873fb273e8a6c1cb3ec353a202deca2 Mon Sep 17 00:00:00 2001 From: Yoshihiro Shimoda Date: Thu, 7 Jul 2011 09:58:50 +0900 Subject: [PATCH] --- yaml --- r: 259307 b: refs/heads/master c: 7eff1d83a3b846d16a4cd706d06b5827a07c08a3 h: refs/heads/master i: 259305: dc1b18e358b9bc52a757ae214d44c94361e29605 259303: ebf6254f00c344444649696ce7b419a47bca4283 v: v3 --- [refs] | 2 +- trunk/drivers/usb/gadget/m66592-udc.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 27120af976fe..aaf675d8639a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bb59dbff4e5fb0ac14e3ee47d3f688490f128155 +refs/heads/master: 7eff1d83a3b846d16a4cd706d06b5827a07c08a3 diff --git a/trunk/drivers/usb/gadget/m66592-udc.c b/trunk/drivers/usb/gadget/m66592-udc.c index 5c9c04d7aa76..491f825ed5c9 100644 --- a/trunk/drivers/usb/gadget/m66592-udc.c +++ b/trunk/drivers/usb/gadget/m66592-udc.c @@ -1561,10 +1561,26 @@ static int m66592_get_frame(struct usb_gadget *_gadget) return m66592_read(m66592, M66592_FRMNUM) & 0x03FF; } +static int m66592_pullup(struct usb_gadget *gadget, int is_on) +{ + struct m66592 *m66592 = gadget_to_m66592(gadget); + unsigned long flags; + + spin_lock_irqsave(&m66592->lock, flags); + if (is_on) + m66592_bset(m66592, M66592_DPRPU, M66592_SYSCFG); + else + m66592_bclr(m66592, M66592_DPRPU, M66592_SYSCFG); + spin_unlock_irqrestore(&m66592->lock, flags); + + return 0; +} + static struct usb_gadget_ops m66592_gadget_ops = { .get_frame = m66592_get_frame, .start = m66592_start, .stop = m66592_stop, + .pullup = m66592_pullup, }; static int __exit m66592_remove(struct platform_device *pdev)