> -----Original Message----- > From: Felipe Balbi [mailto:balbi@xxxxxx] > Sent: 2013年3月22日 23:15 > To: Linux USB Mailing List > Cc: Alan Stern; Ido Shayevitz; Yu Xu; Yunfan Zhang; Virupax Sadashivpetimath; > Vinod Koul; Sebastian Andrzej Siewior; Alexander Shishkin; Jingoo Han; Bill > Pemberton; Neil Zhang; Chao Xie; Michal Nazarewicz; Linus Walleij; Felipe > Balbi > Subject: [PATCH 4/6] usb: gadget: mv_udc_core: fix sparse warnings > > 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> > > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > --- > drivers/usb/gadget/mv_udc_core.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/mv_udc_core.c > b/drivers/usb/gadget/mv_udc_core.c > index 9a68c05..88be74e 100644 > --- a/drivers/usb/gadget/mv_udc_core.c > +++ b/drivers/usb/gadget/mv_udc_core.c > @@ -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; > -- > 1.8.2 Acked-by: Neil Zhang <zhangwm@xxxxxxxxxxx> Best Regards, Neil Zhang ?韬{.n?????%??檩??w?{.n???{炳???骅w*jg????????G??⒏⒎?:+v????????????"??????