RE: [PATCH 4/6] usb: gadget: mv_udc_core: fix sparse warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----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????????????"??????




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux