From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Tue, 26 Aug 2014 08:46:59 +0200 Subject: [U-Boot] [RFC PATCH] USB: get rid of warning when compile with debug enabled In-Reply-To: <53FBDEB1.4050408@atmel.com> References: <1408958599-13518-1-git-send-email-voice.shen@atmel.com> <201408251243.18740.marex@denx.de> <53FBDEB1.4050408@atmel.com> Message-ID: <201408260846.59463.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, August 26, 2014 at 03:11:13 AM, Bo Shen wrote: > 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. Then those need fixing. There is no problem with the macro. > I see the spin_lock_irqsave() function in > 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 > , or use the patch as I suggest, or > anything else, what about your opinion? Fix all the offending drivers which pass uninited variable into macro which might use it. That's the fix. Best regards, Marek Vasut