usb: gadget: mv_udc_core: fix sparse warnings
authorFelipe Balbi <balbi@ti.com>
Fri, 22 Mar 2013 14:58:18 +0000 (16:58 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 27 Mar 2013 11:18:59 +0000 (13:18 +0200)
fix the following sparse warnings:

drivers/usb/gadget/mv_udc_core.c:1850:6: warning: symbol 'irq_process_reset' was not declared. Should it be static?
drivers/usb/gadget/mv_udc_core.c:247:9: warning: context imbalance in 'done' - unexpected unlock
drivers/usb/gadget/mv_udc_core.c:1692:25: warning: context imbalance in 'handle_setup_packet' - unexpected unlock

Note that there are still other sparse warnings
which aren't trivial to fix, so I left them out:

drivers/usb/gadget/mv_udc_core.c:848:34: warning: incorrect type in argument 1 (different address spaces)
drivers/usb/gadget/mv_udc_core.c:848:34:    expected void const volatile [noderef] <asn:2>*addr
drivers/usb/gadget/mv_udc_core.c:848:34:    got unsigned int *<noident>
drivers/usb/gadget/mv_udc_core.c:849:42: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/gadget/mv_udc_core.c:849:42:    expected void volatile [noderef] <asn:2>*addr
drivers/usb/gadget/mv_udc_core.c:849:42:    got unsigned int *<noident>

Acked-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/mv_udc_core.c

index 9a68c051a5a843864292fe4420693e18bb87f3cd..88be74e6297dc9bb90319b635407f746412e9591 100644 (file)
@@ -212,6 +212,8 @@ static int process_ep_req(struct mv_udc *udc, int index,
  * request is still in progress.
  */
 static void done(struct mv_ep *ep, struct mv_req *req, int status)
+       __releases(&ep->udc->lock)
+       __acquires(&ep->udc->lock)
 {
        struct mv_udc *udc = NULL;
        unsigned char stopped = ep->stopped;
@@ -1651,6 +1653,8 @@ out:
 
 static void handle_setup_packet(struct mv_udc *udc, u8 ep_num,
        struct usb_ctrlrequest *setup)
+       __releases(&ep->udc->lock)
+       __acquires(&ep->udc->lock)
 {
        bool delegate = false;
 
@@ -1847,7 +1851,7 @@ static void irq_process_tr_complete(struct mv_udc *udc)
        }
 }
 
-void irq_process_reset(struct mv_udc *udc)
+static void irq_process_reset(struct mv_udc *udc)
 {
        u32 tmp;
        unsigned int loops;