All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabio Estevam <fabio.estevam@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 14/16] powerpc: Remove __ilog2_u64 and ffs4 from bitops
Date: Mon, 26 Oct 2015 14:11:56 -0200	[thread overview]
Message-ID: <1445875918-14777-14-git-send-email-fabio.estevam@freescale.com> (raw)
In-Reply-To: <1445875918-14777-1-git-send-email-fabio.estevam@freescale.com>

Remove __ilog2_u64 and ffs4 from powerpc bitops to align with the
kernel implementation.

Use the generic __ffs64 instead of a custom powerpc implementation.

Cc: York Sun <yorksun@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
---
Changes since v3:
- None

 arch/powerpc/cpu/mpc83xx/law.c      |  5 +++--
 arch/powerpc/cpu/mpc85xx/tlb.c      |  2 ++
 arch/powerpc/cpu/mpc8xxx/law.c      |  5 +++--
 arch/powerpc/include/asm/bitops.h   | 11 +----------
 arch/powerpc/include/asm/fsl_law.h  |  1 +
 arch/powerpc/include/asm/fsl_srio.h |  2 ++
 6 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/arch/powerpc/cpu/mpc83xx/law.c b/arch/powerpc/cpu/mpc83xx/law.c
index 66c88b6..262ae7f 100644
--- a/arch/powerpc/cpu/mpc83xx/law.c
+++ b/arch/powerpc/cpu/mpc83xx/law.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <asm/fsl_law.h>
 #include <asm/mmu.h>
+#include <linux/log2.h>
 
 int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id)
 {
@@ -20,7 +21,7 @@ int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id)
 	if (start == 0)
 		start_align = 1ull << (LAW_SIZE_2G + 1);
 	else
-		start_align = 1ull << (ffs64(start) - 1);
+		start_align = 1ull << (__ffs64(start) - 1);
 	law_sz = min(start_align, sz);
 	law_sz_enc = __ilog2_u64(law_sz) - 1;
 
@@ -40,7 +41,7 @@ int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id)
 	if (sz) {
 		start += law_sz;
 
-		start_align = 1ull << (ffs64(start) - 1);
+		start_align = 1ull << (__ffs64(start) - 1);
 		law_sz = min(start_align, sz);
 		law_sz_enc = __ilog2_u64(law_sz) - 1;
 		ecm = &immap->sysconf.ddrlaw[1];
diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c
index 8e0508f..cf31eb2 100644
--- a/arch/powerpc/cpu/mpc85xx/tlb.c
+++ b/arch/powerpc/cpu/mpc85xx/tlb.c
@@ -14,6 +14,8 @@
 #include <addr_map.h>
 #endif
 
+#include <linux/log2.h>
+
 DECLARE_GLOBAL_DATA_PTR;
 
 void invalidate_tlb(u8 tlb)
diff --git a/arch/powerpc/cpu/mpc8xxx/law.c b/arch/powerpc/cpu/mpc8xxx/law.c
index 33d53a8..24baad4 100644
--- a/arch/powerpc/cpu/mpc8xxx/law.c
+++ b/arch/powerpc/cpu/mpc8xxx/law.c
@@ -11,6 +11,7 @@
 #include <linux/compiler.h>
 #include <asm/fsl_law.h>
 #include <asm/io.h>
+#include <linux/log2.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -187,7 +188,7 @@ int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id)
 	if (start == 0)
 		start_align = 1ull << (LAW_SIZE_32G + 1);
 	else
-		start_align = 1ull << (ffs64(start) - 1);
+		start_align = 1ull << (__ffs64(start) - 1);
 	law_sz = min(start_align, sz);
 	law_sz_enc = __ilog2_u64(law_sz) - 1;
 
@@ -202,7 +203,7 @@ int set_ddr_laws(u64 start, u64 sz, enum law_trgt_if id)
 	if (sz) {
 		start += law_sz;
 
-		start_align = 1ull << (ffs64(start) - 1);
+		start_align = 1ull << (__ffs64(start) - 1);
 		law_sz = min(start_align, sz);
 		law_sz_enc = __ilog2_u64(law_sz) - 1;
 
diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
index a6bcf3c..14217ef 100644
--- a/arch/powerpc/include/asm/bitops.h
+++ b/arch/powerpc/include/asm/bitops.h
@@ -6,6 +6,7 @@
 #define _PPC_BITOPS_H
 
 #include <asm/byteorder.h>
+#include <asm-generic/bitops/__ffs.h>
 
 extern void set_bit(int nr, volatile void *addr);
 extern void clear_bit(int nr, volatile void *addr);
@@ -209,16 +210,6 @@ static inline int fls64(__u64 x)
 #error BITS_PER_LONG not 32 or 64
 #endif
 
-static inline int __ilog2_u64(u64 n)
-{
-	return fls64(n) - 1;
-}
-
-static inline int ffs64(u64 x)
-{
-	return __ilog2_u64(x & -x) + 1ull;
-}
-
 #ifdef __KERNEL__
 
 /*
diff --git a/arch/powerpc/include/asm/fsl_law.h b/arch/powerpc/include/asm/fsl_law.h
index 3b50487..8e1d22a 100644
--- a/arch/powerpc/include/asm/fsl_law.h
+++ b/arch/powerpc/include/asm/fsl_law.h
@@ -10,6 +10,7 @@
 #define _FSL_LAW_H_
 
 #include <asm/io.h>
+#include <linux/log2.h>
 
 #define LAW_EN	0x80000000
 
diff --git a/arch/powerpc/include/asm/fsl_srio.h b/arch/powerpc/include/asm/fsl_srio.h
index e5aab2a..ec25e16 100644
--- a/arch/powerpc/include/asm/fsl_srio.h
+++ b/arch/powerpc/include/asm/fsl_srio.h
@@ -7,6 +7,8 @@
 #ifndef _FSL_SRIO_H_
 #define _FSL_SRIO_H_
 
+#include <linux/log2.h>
+
 enum atmu_size {
 	ATMU_SIZE_4K = 0xb,
 	ATMU_SIZE_8K,
-- 
1.9.1

  parent reply	other threads:[~2015-10-26 16:11 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-26 16:11 [U-Boot] [PATCH v4 01/16] include: Add log2 header from the kernel Fabio Estevam
2015-10-26 16:11 ` [U-Boot] [PATCH v4 02/16] include: Add generic bitops headers Fabio Estevam
2015-10-30  6:10   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 03/16] ARM: bitops: Use the " Fabio Estevam
2015-10-30  6:11   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 04/16] x86: " Fabio Estevam
2015-10-30  6:13   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 05/16] m68k: " Fabio Estevam
2015-10-30  6:15   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 06/16] blackfin: " Fabio Estevam
2015-10-30  6:16   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 07/16] sh: " Fabio Estevam
2015-10-30  6:18   ` Jagan Teki
2015-10-30 14:55     ` Fabio Estevam
2015-10-26 16:11 ` [U-Boot] [PATCH v4 08/16] sandbox: " Fabio Estevam
2015-10-30  6:19   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 09/16] sparc: " Fabio Estevam
2015-10-30  6:20   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 10/16] openrisc: " Fabio Estevam
2015-10-30  6:23   ` Jagan Teki
2015-10-30 11:35     ` Fabio Estevam
2015-10-26 16:11 ` [U-Boot] [PATCH v4 11/16] nds32: " Fabio Estevam
2015-10-26 16:11 ` [U-Boot] [PATCH v4 12/16] nios2: " Fabio Estevam
2015-10-27  2:52   ` Thomas Chou
2015-10-30  6:24     ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 13/16] compat: Remove is_power_of_2() definition Fabio Estevam
2015-10-30  6:26   ` Jagan Teki
2015-10-26 16:11 ` Fabio Estevam [this message]
2015-10-30  6:27   ` [U-Boot] [PATCH v4 14/16] powerpc: Remove __ilog2_u64 and ffs4 from bitops Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 15/16] spi: sf_ops: Add SPI protection mechanism from the kernel Fabio Estevam
2015-10-30 16:29   ` Jagan Teki
2015-10-26 16:11 ` [U-Boot] [PATCH v4 16/16] spi: Add SPI NOR protection mechanism Fabio Estevam
2015-10-30 16:28   ` Jagan Teki
2015-10-30 16:51     ` Fabio Estevam
2015-10-30 18:23       ` Jagan Teki
2015-11-03  0:28         ` Fabio Estevam
2015-10-30  6:08 ` [U-Boot] [PATCH v4 01/16] include: Add log2 header from the kernel Jagan Teki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1445875918-14777-14-git-send-email-fabio.estevam@freescale.com \
    --to=fabio.estevam@freescale.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.