> -----Original Message-----
> From: Felipe Balbi [mailto:ba...@ti.com]
> 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 <ba...@ti.com>
> ---
>  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 <zhan...@marvell.com>


Best Regards,
Neil Zhang

Reply via email to