[PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

Subsystems: cell broadband engine architecture, linux for power macintosh, linux for powerpc (32-bit and 64-bit), ps3 platform support, the rest

STALE3975d

9 messages, 3 authors, 2015-10-02 · open the first message on its own page

[PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Boqun Feng <hidden>
Date: 2015-09-06 23:58:26

Currently, little endian is only supported on powernv and pseries,
however, Kconfigs still allow us to include other platforms in a LE
kernel, this may result in space wasting or even build error if some
BE-only platforms always assume they are built for a BE kernel. So just
modify the Kconfigs of BE-only platforms to remove them from being built
for a LE kernel.

For 32bit only platforms, nothing needs to be done, because
CPU_LITTLE_ENDIAN depends on PPC64. For 64bit supported platforms, add
CPU_BIG_ENDIAN to dependencies explicitly, so that these platforms will
be disabled for LE [Suggested-by: Cédric Le Goater [off-list ref]].

Signed-off-by: Boqun Feng <redacted>
---
 arch/powerpc/platforms/cell/Kconfig     | 4 ++--
 arch/powerpc/platforms/maple/Kconfig    | 2 +-
 arch/powerpc/platforms/pasemi/Kconfig   | 2 +-
 arch/powerpc/platforms/powermac/Kconfig | 2 +-
 arch/powerpc/platforms/ps3/Kconfig      | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 2f23133..808a904 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -25,7 +25,7 @@ config PPC_CELL_NATIVE
 
 config PPC_IBM_CELL_BLADE
 	bool "IBM Cell Blade"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL_NATIVE
 	select PPC_OF_PLATFORM_PCI
 	select PCI
@@ -35,7 +35,7 @@ config PPC_IBM_CELL_BLADE
 
 config PPC_CELL_QPACE
 	bool "IBM Cell - QPACE"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL_COMMON
 
 config AXON_MSI
diff --git a/arch/powerpc/platforms/maple/Kconfig b/arch/powerpc/platforms/maple/Kconfig
index 1ea621a..e359d0d 100644
--- a/arch/powerpc/platforms/maple/Kconfig
+++ b/arch/powerpc/platforms/maple/Kconfig
@@ -1,5 +1,5 @@
 config PPC_MAPLE
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	bool "Maple 970FX Evaluation Board"
 	select PCI
 	select MPIC
diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
index a2aeb32..00d4b28 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -1,5 +1,5 @@
 config PPC_PASEMI
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	bool "PA Semi SoC-based platforms"
 	default n
 	select MPIC
diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
index 607124b..43c6062 100644
--- a/arch/powerpc/platforms/powermac/Kconfig
+++ b/arch/powerpc/platforms/powermac/Kconfig
@@ -1,6 +1,6 @@
 config PPC_PMAC
 	bool "Apple PowerMac based machines"
-	depends on PPC_BOOK3S
+	depends on PPC_BOOK3S && CPU_BIG_ENDIAN
 	select MPIC
 	select PCI
 	select PPC_INDIRECT_PCI if PPC32
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig
index 56f2740..b27f40f 100644
--- a/arch/powerpc/platforms/ps3/Kconfig
+++ b/arch/powerpc/platforms/ps3/Kconfig
@@ -1,6 +1,6 @@
 config PPC_PS3
 	bool "Sony PS3"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL
 	select USB_OHCI_LITTLE_ENDIAN
 	select USB_OHCI_BIG_ENDIAN_MMIO
-- 
2.5.1

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Geoff Levand <geoff@infradead.org>
Date: 2015-09-08 17:04:20

On Mon, 2015-09-07 at 07:58 +0800, Boqun Feng wrote:
 arch/powerpc/platforms/ps3/Kconfig      | 2 +-
Looks OK for PS3.

Acked-by: Geoff Levand <geoff@infradead.org>

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-09-09 02:26:54

On Mon, 2015-09-07 at 07:58 +0800, Boqun Feng wrote:
quoted hunk
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 2f23133..808a904 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -25,7 +25,7 @@ config PPC_CELL_NATIVE
 
 config PPC_IBM_CELL_BLADE
 	bool "IBM Cell Blade"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
We end up saying this five times.

We already have PPC_BOOK3S_64 which captures the first two conditions, should
we add a PPC_BOOK3S_64_BE which expresses it all?

cheers

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Boqun Feng <hidden>
Date: 2015-09-09 03:26:27

Hi Michael,

On Wed, Sep 09, 2015 at 12:26:44PM +1000, Michael Ellerman wrote:
On Mon, 2015-09-07 at 07:58 +0800, Boqun Feng wrote:
quoted
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 2f23133..808a904 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -25,7 +25,7 @@ config PPC_CELL_NATIVE
 
 config PPC_IBM_CELL_BLADE
 	bool "IBM Cell Blade"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
We end up saying this five times.

We already have PPC_BOOK3S_64 which captures the first two conditions, should
we add a PPC_BOOK3S_64_BE which expresses it all?
I'm not sure whether this is worth.. IMO, we add a config option only if

1.	we can use this config somewhere in the code, for example,
	"#ifdef CONFIG_XXX"
or

2.	we want to offer a option for users to choose.

PPC_BOOK3S_64_BE satisfies neither condition. Further more,
CONFIG_PPC64, CONFIG_PPC_BOOK3S and CONFIG_CPU_BIG_ENDIAN all are used
in some #ifdefs in current code. As a newbie of kernel, I'm happy to get
some knowledge like: "If I'm hacking PS3, then #ifndef CONFIG_PPC64 is
guaranteed to be false, so I can just ignore the code guarded by them".
But if we add a PPC_BOOK3S_64_BE, it will take a little more effort to
see this.

Regards,
Boqun

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-09-09 05:48:20

On Wed, 2015-09-09 at 11:25 +0800, Boqun Feng wrote:
Hi Michael,

On Wed, Sep 09, 2015 at 12:26:44PM +1000, Michael Ellerman wrote:
quoted
On Mon, 2015-09-07 at 07:58 +0800, Boqun Feng wrote:
quoted
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 2f23133..808a904 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -25,7 +25,7 @@ config PPC_CELL_NATIVE
 
 config PPC_IBM_CELL_BLADE
 	bool "IBM Cell Blade"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
We end up saying this five times.

We already have PPC_BOOK3S_64 which captures the first two conditions, should
we add a PPC_BOOK3S_64_BE which expresses it all?
I'm not sure whether this is worth.. IMO, we add a config option only if

1.	we can use this config somewhere in the code, for example,
	"#ifdef CONFIG_XXX"
or

2.	we want to offer a option for users to choose.

PPC_BOOK3S_64_BE satisfies neither condition. Further more,
CONFIG_PPC64, CONFIG_PPC_BOOK3S and CONFIG_CPU_BIG_ENDIAN all are used
in some #ifdefs in current code. As a newbie of kernel, I'm happy to get
some knowledge like: "If I'm hacking PS3, then #ifndef CONFIG_PPC64 is
guaranteed to be false, so I can just ignore the code guarded by them".
But if we add a PPC_BOOK3S_64_BE, it will take a little more effort to
see this.
Yeah those are good points, so I'll take it as is. Thanks for thinking about it :)

cheers

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Boqun Feng <hidden>
Date: 2015-09-18 00:22:32

Ping ;-)

Regards,
Boqun

On Mon, Sep 07, 2015 at 07:58:00AM +0800, Boqun Feng wrote:
quoted hunk
Currently, little endian is only supported on powernv and pseries,
however, Kconfigs still allow us to include other platforms in a LE
kernel, this may result in space wasting or even build error if some
BE-only platforms always assume they are built for a BE kernel. So just
modify the Kconfigs of BE-only platforms to remove them from being built
for a LE kernel.

For 32bit only platforms, nothing needs to be done, because
CPU_LITTLE_ENDIAN depends on PPC64. For 64bit supported platforms, add
CPU_BIG_ENDIAN to dependencies explicitly, so that these platforms will
be disabled for LE [Suggested-by: Cédric Le Goater [off-list ref]].

Signed-off-by: Boqun Feng <redacted>
---
 arch/powerpc/platforms/cell/Kconfig     | 4 ++--
 arch/powerpc/platforms/maple/Kconfig    | 2 +-
 arch/powerpc/platforms/pasemi/Kconfig   | 2 +-
 arch/powerpc/platforms/powermac/Kconfig | 2 +-
 arch/powerpc/platforms/ps3/Kconfig      | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 2f23133..808a904 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -25,7 +25,7 @@ config PPC_CELL_NATIVE
 
 config PPC_IBM_CELL_BLADE
 	bool "IBM Cell Blade"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL_NATIVE
 	select PPC_OF_PLATFORM_PCI
 	select PCI
@@ -35,7 +35,7 @@ config PPC_IBM_CELL_BLADE
 
 config PPC_CELL_QPACE
 	bool "IBM Cell - QPACE"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL_COMMON
 
 config AXON_MSI
diff --git a/arch/powerpc/platforms/maple/Kconfig b/arch/powerpc/platforms/maple/Kconfig
index 1ea621a..e359d0d 100644
--- a/arch/powerpc/platforms/maple/Kconfig
+++ b/arch/powerpc/platforms/maple/Kconfig
@@ -1,5 +1,5 @@
 config PPC_MAPLE
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	bool "Maple 970FX Evaluation Board"
 	select PCI
 	select MPIC
diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
index a2aeb32..00d4b28 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -1,5 +1,5 @@
 config PPC_PASEMI
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	bool "PA Semi SoC-based platforms"
 	default n
 	select MPIC
diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
index 607124b..43c6062 100644
--- a/arch/powerpc/platforms/powermac/Kconfig
+++ b/arch/powerpc/platforms/powermac/Kconfig
@@ -1,6 +1,6 @@
 config PPC_PMAC
 	bool "Apple PowerMac based machines"
-	depends on PPC_BOOK3S
+	depends on PPC_BOOK3S && CPU_BIG_ENDIAN
 	select MPIC
 	select PCI
 	select PPC_INDIRECT_PCI if PPC32
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig
index 56f2740..b27f40f 100644
--- a/arch/powerpc/platforms/ps3/Kconfig
+++ b/arch/powerpc/platforms/ps3/Kconfig
@@ -1,6 +1,6 @@
 config PPC_PS3
 	bool "Sony PS3"
-	depends on PPC64 && PPC_BOOK3S
+	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
 	select PPC_CELL
 	select USB_OHCI_LITTLE_ENDIAN
 	select USB_OHCI_BIG_ENDIAN_MMIO
-- 
2.5.1

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-09-18 09:50:00

On Fri, 2015-09-18 at 08:22 +0800, Boqun Feng wrote:
Ping ;-)
Hi Boqun,

We keep track of patches in patchwork:

  http://patchwork.ozlabs.org/project/linuxppc-dev/list/?submitter=67102

So your patch won't be forgotten.

I tend to start taking patches for next after rc2, which should come out on
Sunday. So I'll probably merge this patch next week, when I do you'll get an
email.

cheers

Re: [PATCH] powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Boqun Feng <hidden>
Date: 2015-09-18 09:59:31

On Fri, Sep 18, 2015 at 07:49:56PM +1000, Michael Ellerman wrote:
On Fri, 2015-09-18 at 08:22 +0800, Boqun Feng wrote:
quoted
Ping ;-)
Hi Boqun,
Hello,
We keep track of patches in patchwork:

  http://patchwork.ozlabs.org/project/linuxppc-dev/list/?submitter=67102
Good to know ;-)
So your patch won't be forgotten.

I tend to start taking patches for next after rc2, which should come out on
Sunday. So I'll probably merge this patch next week, when I do you'll get an
email.
Understood. Thank you!

Regards,
Boqun

Re: powerpc: Kconfig: remove BE-only platforms from LE kernel build

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-10-02 07:48:58

On Sun, 2015-06-09 at 23:58:00 UTC, Boqun Feng wrote:
Currently, little endian is only supported on powernv and pseries,
however, Kconfigs still allow us to include other platforms in a LE
kernel, this may result in space wasting or even build error if some
BE-only platforms always assume they are built for a BE kernel. So just
modify the Kconfigs of BE-only platforms to remove them from being built
for a LE kernel.

For 32bit only platforms, nothing needs to be done, because
CPU_LITTLE_ENDIAN depends on PPC64. For 64bit supported platforms, add
CPU_BIG_ENDIAN to dependencies explicitly, so that these platforms will
be disabled for LE [Suggested-by: C��dric Le Goater [off-list ref]].

Signed-off-by: Boqun Feng <redacted>
Acked-by: Geoff Levand <geoff@infradead.org>
Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/e5e16d8f3ec6973af2068897

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help