[U-Boot] [RFC PATCH] USB: get rid of warning when compile with debug enabled

Bo Shen
2014-08-26T01:11:13Z

Hi Marek,

On 08/25/2014 06:43 PM, Marek Vasut wrote:
> On Monday, August 25, 2014 at 11:23:19 AM, Bo Shen wrote:
>> When compile with debug information is enabled, if call
>> spin_lock_irqsave, it will give following warning information.
>> This patch is used to get rid of it.
>> --->8---
>> warning: 'flags' is used uninitialized in this function [-Wuninitialized]
>> ---8<---
>
> The patch is wrong. The compiler complains that flags might be used uninited
> because that is the case -- you call spin_lock_irqsave() with uninited flags
> and because debug() is expanded to printf() I guess, the compiler spews.
>
> So which file does this warning come from ?

I enable debug information (In common.h, define the DEBUG).

It comes out from usb gadget driver, for example, atmel_usba_udc.c and
also s3c_udc_otg.c and etc.

I see the spin_lock_irqsave() function in
<drivers/usb/musb-new/linux-compat.h> defined as:
--->8---
#define spin_lock_irqsave(lock, flags) do {} while (0)
---8<---

As in u-boot, there is no lock actually, so I think we can fix it as
<drivers/usb/musb-new/linux-compat.h>, or use the patch as I suggest, or
anything else, what about your opinion?

>> Signed-off-by: Bo Shen <voice.shen@atmel.com>
>> ---
>>
>> include/usb/lin_gadget_compat.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/usb/lin_gadget_compat.h
>> b/include/usb/lin_gadget_compat.h index a25e9d9..fb525e7 100644
>> --- a/include/usb/lin_gadget_compat.h
>> +++ b/include/usb/lin_gadget_compat.h
>> @@ -15,7 +15,7 @@
>> /* common */
>> #define spin_lock_init(...)
>> #define spin_lock(...)
>> -#define spin_lock_irqsave(lock, flags) do { debug("%lu\n", flags); } while
>> (0) +#define spin_lock_irqsave(lock, flags) do { flags = 1; debug("%lu\n",
>> flags); } while (0) #define spin_unlock(...)
>> #define spin_unlock_irqrestore(lock, flags) do {flags = 0; } while (0)
>> #define disable_irq(...)
>
> Best regards,
> Marek Vasut
>

Best Regards,
Bo Shen