From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Wed, 07 Nov 2012 17:08:25 +0100 Subject: [U-Boot] [PATCH 1/4] microblaze: Fix compilation warning in ext2_find_next_zero_bit In-Reply-To: <201210051848.03806.marex@denx.de> References: <1349441933-22840-1-git-send-email-monstr@monstr.eu> <201210051848.03806.marex@denx.de> Message-ID: <509A8779.7040501@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 10/05/2012 06:48 PM, Marek Vasut wrote: > Dear Michal Simek, > >> ext2_find_next_zero_bit must be also static if __swab32 is also static. >> >> Warning: >> include/asm/bitops.h:369:22: warning: '__fswab32' is static but >> used in inline function 'ext2_find_next_zero_bit' >> which is not static [enabled by default] >> >> Signed-off-by: Michal Simek >> --- >> arch/microblaze/include/asm/bitops.h | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/arch/microblaze/include/asm/bitops.h >> b/arch/microblaze/include/asm/bitops.h index e8c835f..eafa2b5 100644 >> --- a/arch/microblaze/include/asm/bitops.h >> +++ b/arch/microblaze/include/asm/bitops.h >> @@ -319,7 +319,8 @@ extern __inline__ int ext2_test_bit(int nr, const >> volatile void * addr) #define ext2_find_first_zero_bit(addr, size) \ >> ext2_find_next_zero_bit((addr), (size), 0) >> >> -extern __inline__ unsigned long ext2_find_next_zero_bit(void *addr, >> unsigned long size, unsigned long offset) +static inline unsigned long >> ext2_find_next_zero_bit(void *addr, >> + unsigned long size, unsigned long offset) >> { >> unsigned long *p = ((unsigned long *) addr) + (offset >> 5); >> unsigned long result = offset & ~31UL; > > I'd rather see it done the other way -- drop the inline and let compiler decide. > What are the size penalties ? With inline text data bss dec hex filename 361914 14698 232344 608956 94abc ./u-boot without inline text data bss dec hex filename 361922 14698 232368 608988 94adc ./u-boot But the problem is that I can see a lot of warnings that this function is unused. u-boot/include/asm/bitops.h:322:22: warning: 'ext2_find_next_zero_bit' defined but not used [-Wunused-function] FYI: I have just grepped source tree and I see that the same solution is used by blackfin/mips and powerpc. $ grep -rn "ext2_find_next_zero_bit" arch/ | grep static arch/microblaze/include/asm/bitops.h:322:static inline unsigned long ext2_find_next_zero_bit(void *addr, arch/blackfin/include/asm/bitops.h:324:static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, arch/mips/include/asm/bitops.h:830:static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, unsigned long size, unsigned long offset) arch/powerpc/include/asm/bitops.h:344:static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, Thanks, Michal -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian