diff mbox

[U-Boot,03/13] compat: Remove is_power_of_2() definition

Message ID 1445689693-21436-3-git-send-email-festevam@gmail.com
State Superseded
Headers show

Commit Message

Fabio Estevam Oct. 24, 2015, 12:28 p.m. UTC
From: Fabio Estevam <fabio.estevam@freescale.com>

Use the is_power_of_2() definition from log2.h to align with the
kernel implementation.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 arch/arm/mach-mvebu/mbus.c | 2 +-
 drivers/mtd/mtdcore.c      | 2 +-
 drivers/mtd/ubi/build.c    | 2 +-
 fs/ubifs/super.c           | 2 +-
 include/linux/compat.h     | 6 ------
 5 files changed, 4 insertions(+), 10 deletions(-)

Comments

Tom Rini Oct. 24, 2015, 1:32 p.m. UTC | #1
On Sat, Oct 24, 2015 at 10:28:03AM -0200, Fabio Estevam wrote:

> From: Fabio Estevam <fabio.estevam@freescale.com>
> 
> Use the is_power_of_2() definition from log2.h to align with the
> kernel implementation.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Heiko Schocher Oct. 26, 2015, 5:11 a.m. UTC | #2
Hello Fabian,

Am 24.10.2015 um 14:28 schrieb Fabio Estevam:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> Use the is_power_of_2() definition from log2.h to align with the
> kernel implementation.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>   arch/arm/mach-mvebu/mbus.c | 2 +-
>   drivers/mtd/mtdcore.c      | 2 +-
>   drivers/mtd/ubi/build.c    | 2 +-
>   fs/ubifs/super.c           | 2 +-
>   include/linux/compat.h     | 6 ------
>   5 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-mvebu/mbus.c b/arch/arm/mach-mvebu/mbus.c
> index 771cce6..346278e 100644
> --- a/arch/arm/mach-mvebu/mbus.c
> +++ b/arch/arm/mach-mvebu/mbus.c
> @@ -52,7 +52,7 @@
>   #include <asm/io.h>
>   #include <asm/arch/cpu.h>
>   #include <asm/arch/soc.h>
> -#include <linux/compat.h>
> +#include <linux/log2.h>
>   #include <linux/mbus.h>
>
>   /* DDR target is the same on all platforms */
> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> index 2f2172b..81be0f7 100644
> --- a/drivers/mtd/mtdcore.c
> +++ b/drivers/mtd/mtdcore.c
> @@ -27,8 +27,8 @@
>   #include <linux/gfp.h>
>   #include <linux/slab.h>
>   #else
> -#include <linux/compat.h>
>   #include <linux/err.h>
> +#include <linux/log2.h>
>   #include <ubi_uboot.h>
>   #endif
>
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index 290d524..6ed7667 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -30,7 +30,7 @@
>   #include <linux/slab.h>
>   #include <linux/major.h>
>   #else
> -#include <linux/compat.h>
> +#include <linux/log2.h>
>   #endif
>   #include <linux/err.h>
>   #include <ubi_uboot.h>
> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
> index 41763a1..eaae5fb 100644
> --- a/fs/ubifs/super.c
> +++ b/fs/ubifs/super.c
> @@ -31,7 +31,7 @@
>   #include <common.h>
>   #include <malloc.h>
>   #include <memalign.h>
> -#include <linux/compat.h>
> +#include <linux/log2.h>
>   #include <linux/stat.h>
>   #include <linux/err.h>
>   #include "ubifs.h"

It would be nice to ge rid of linux/compat.h at all in ubi/ubifs
code ... but does this really compile for all boards?

I think you should add here linux/log2.h, without deleting linux/compat.h

bye,
Heiko
> diff --git a/include/linux/compat.h b/include/linux/compat.h
> index fbebf91..7a99599 100644
> --- a/include/linux/compat.h
> +++ b/include/linux/compat.h
> @@ -104,12 +104,6 @@ static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
>   static inline void led_trigger_event(struct led_trigger *trigger,
>   					enum led_brightness event) {}
>
> -/* include/linux/log2.h */
> -static inline int is_power_of_2(unsigned long n)
> -{
> -	return (n != 0 && ((n & (n - 1)) == 0));
> -}
> -
>   /* uapi/linux/limits.h */
>   #define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */
>
>
Fabio Estevam Oct. 26, 2015, 10:22 a.m. UTC | #3
Hi Heiko,

On Mon, Oct 26, 2015 at 3:11 AM, Heiko Schocher <hs@denx.de> wrote:

>> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
>> index 41763a1..eaae5fb 100644
>> --- a/fs/ubifs/super.c
>> +++ b/fs/ubifs/super.c
>> @@ -31,7 +31,7 @@
>>   #include <common.h>
>>   #include <malloc.h>
>>   #include <memalign.h>
>> -#include <linux/compat.h>
>> +#include <linux/log2.h>
>>   #include <linux/stat.h>
>>   #include <linux/err.h>
>>   #include "ubifs.h"

> It would be nice to ge rid of linux/compat.h at all in ubi/ubifs
> code ... but does this really compile for all boards?

I haven't seen a board failure because of this change on the several
arch's/boards I have built.

Could you please provide a failure case?

> I think you should add here linux/log2.h, without deleting linux/compat.h

My understanding is that linux/compat.h is currently used only for
providing is_power_of_2() in this file.

Now that we have log2.h (which provides is_power_of_2()), we can
simply use it instead.

Am I missing anything here?

Thanks
Heiko Schocher Oct. 26, 2015, 10:39 a.m. UTC | #4
Hello Fabio,

Am 26.10.2015 um 11:22 schrieb Fabio Estevam:
> Hi Heiko,
>
> On Mon, Oct 26, 2015 at 3:11 AM, Heiko Schocher <hs@denx.de> wrote:
>
>>> diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
>>> index 41763a1..eaae5fb 100644
>>> --- a/fs/ubifs/super.c
>>> +++ b/fs/ubifs/super.c
>>> @@ -31,7 +31,7 @@
>>>    #include <common.h>
>>>    #include <malloc.h>
>>>    #include <memalign.h>
>>> -#include <linux/compat.h>
>>> +#include <linux/log2.h>
>>>    #include <linux/stat.h>
>>>    #include <linux/err.h>
>>>    #include "ubifs.h"
>
>> It would be nice to ge rid of linux/compat.h at all in ubi/ubifs
>> code ... but does this really compile for all boards?
>
> I haven't seen a board failure because of this change on the several
> arch's/boards I have built.

Did you compilied all arm boards?

> Could you please provide a failure case?

I did not tried your patches, but:

fs/ubifs/super.c calls a lot of functions, which are "defined" in
include/linux/compat.h

for example:

kfree
kmem_cache_alloc
mutex_init
spin_lock_init
...

>> I think you should add here linux/log2.h, without deleting linux/compat.h
>
> My understanding is that linux/compat.h is currently used only for
> providing is_power_of_2() in this file.

I think there is more used from include/linux/compat.h

> Now that we have log2.h (which provides is_power_of_2()), we can
> simply use it instead.
>
> Am I missing anything here?

I think the aristainetos or aristainetos2 board will fail ... Could you
please try to compile them? If not, I try to find time to do it.

bye,
Heiko
Fabio Estevam Oct. 26, 2015, 2:29 p.m. UTC | #5
Hi Heiko,


On Mon, Oct 26, 2015 at 8:39 AM, Heiko Schocher <hs@denx.de> wrote:

> I think the aristainetos or aristainetos2 board will fail ... Could you
> please try to compile them? If not, I try to find time to do it.

Sure, both boards build fine with all this patch series applied:

Building aristainetos board...
   text       data        bss        dec        hex    filename
 565968      50392     313772     930132      e3154    /tmp/u-boot-build/u-boot
Building aristainetos2 board...
   text       data        bss        dec        hex    filename
 567366      50744     313772     931882      e382a    /tmp/u-boot-build/u-boot

--------------------- SUMMARY ----------------------------
Boards compiled: 2
----------------------------------------------------------

Regards,

Fabio Estevam
Fabio Estevam Oct. 26, 2015, 3:18 p.m. UTC | #6
On Mon, Oct 26, 2015 at 12:29 PM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Heiko,
>
>
> On Mon, Oct 26, 2015 at 8:39 AM, Heiko Schocher <hs@denx.de> wrote:
>
>> I think the aristainetos or aristainetos2 board will fail ... Could you
>> please try to compile them? If not, I try to find time to do it.
>
> Sure, both boards build fine with all this patch series applied:

However, the order of this patch is not correct: I should add the
bitops headers first and then use log2.h later.

Will do so in v4 so that we always have a clean build. Will also
provide bitops headers for openrisc, nds32, nios2 and sparc.

Regards,

Fabio Estevam
Heiko Schocher Oct. 26, 2015, 3:30 p.m. UTC | #7
Hello Fabio,

Am 26.10.2015 um 15:29 schrieb Fabio Estevam:
> Hi Heiko,
>
>
> On Mon, Oct 26, 2015 at 8:39 AM, Heiko Schocher <hs@denx.de> wrote:
>
>> I think the aristainetos or aristainetos2 board will fail ... Could you
>> please try to compile them? If not, I try to find time to do it.
>
> Sure, both boards build fine with all this patch series applied:
>
> Building aristainetos board...
>     text       data        bss        dec        hex    filename
>   565968      50392     313772     930132      e3154    /tmp/u-boot-build/u-boot
> Building aristainetos2 board...
>     text       data        bss        dec        hex    filename
>   567366      50744     313772     931882      e382a    /tmp/u-boot-build/u-boot
>
> --------------------- SUMMARY ----------------------------
> Boards compiled: 2
> ----------------------------------------------------------

Ok, thanks! Sorry for the noise.

You can add my

Reviewed-by: Heiko Schocher <hs@denx.de>

to your serie.

bye,
Heiko
diff mbox

Patch

diff --git a/arch/arm/mach-mvebu/mbus.c b/arch/arm/mach-mvebu/mbus.c
index 771cce6..346278e 100644
--- a/arch/arm/mach-mvebu/mbus.c
+++ b/arch/arm/mach-mvebu/mbus.c
@@ -52,7 +52,7 @@ 
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
-#include <linux/compat.h>
+#include <linux/log2.h>
 #include <linux/mbus.h>
 
 /* DDR target is the same on all platforms */
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 2f2172b..81be0f7 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -27,8 +27,8 @@ 
 #include <linux/gfp.h>
 #include <linux/slab.h>
 #else
-#include <linux/compat.h>
 #include <linux/err.h>
+#include <linux/log2.h>
 #include <ubi_uboot.h>
 #endif
 
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 290d524..6ed7667 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -30,7 +30,7 @@ 
 #include <linux/slab.h>
 #include <linux/major.h>
 #else
-#include <linux/compat.h>
+#include <linux/log2.h>
 #endif
 #include <linux/err.h>
 #include <ubi_uboot.h>
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 41763a1..eaae5fb 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -31,7 +31,7 @@ 
 #include <common.h>
 #include <malloc.h>
 #include <memalign.h>
-#include <linux/compat.h>
+#include <linux/log2.h>
 #include <linux/stat.h>
 #include <linux/err.h>
 #include "ubifs.h"
diff --git a/include/linux/compat.h b/include/linux/compat.h
index fbebf91..7a99599 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -104,12 +104,6 @@  static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
 static inline void led_trigger_event(struct led_trigger *trigger,
 					enum led_brightness event) {}
 
-/* include/linux/log2.h */
-static inline int is_power_of_2(unsigned long n)
-{
-	return (n != 0 && ((n & (n - 1)) == 0));
-}
-
 /* uapi/linux/limits.h */
 #define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */