Skip to contentSkip to conversation

isdn: disable HiSax NetJet driver on microblaze arch

PATCH In review Nicolai Stange 3 participants 7 messages Jun 17, 2015 – Jun 22, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 isdn: disable HiSax NetJet driver on microblaze arch

Fix an allmodconfig compilation failer on microblaze due to big endian architectures being apparently unsupported by the NetJet code:
drivers/isdn/hisax/nj_s.c: In function 'setup_netjet_s':
drivers/isdn/hisax/nj_s.c:265:2:
error: #error "not running on big endian machines now"

Modify the relevant Kconfig such that the NetJet code is not built on microblaze anymore.

Note that endianess on microblaze is not determined through Kconfig, but by means of a compiler provided CPP macro, namely __MICROBLAZEEL__. However, gcc defaults to big endianess on that platform.

---
The maintainer tree listed under "ISDN SUBSYSTEM" in MAINTAINERS does not exist anymore. I created the diff against the Linus tree.

 drivers/isdn/hisax/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/isdn/hisax/Kconfig +2 -2
index 97465ac..eb83d94 100644
@@ -237,7 +237,7 @@ config HISAX_MIC
 
 config HISAX_NETJET
 	bool "NETjet card"
-	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
+	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN) || MICROBLAZE))
 	depends on VIRT_TO_BUS
 	help
 	  This enables HiSax support for the NetJet from Traverse
@@ -249,7 +249,7 @@ config HISAX_NETJET
 
 config HISAX_NETJET_U
 	bool "NETspider U card"
-	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
+	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN) || MICROBLAZE))
 	depends on VIRT_TO_BUS
 	help
 	  This enables HiSax support for the Netspider U interface ISDN card
Signature · 1 line
2.4.3
Acked-by on v1 1/1
#1 lore raw
Quoted 35 lines · Nicolai Stange

Fix an allmodconfig compilation failer on microblaze due to big endian architectures being apparently unsupported by the NetJet code:
drivers/isdn/hisax/nj_s.c: In function 'setup_netjet_s':
drivers/isdn/hisax/nj_s.c:265:2:
error: #error "not running on big endian machines now"

Modify the relevant Kconfig such that the NetJet code is not built on microblaze anymore.

Note that endianess on microblaze is not determined through Kconfig, but by means of a compiler provided CPP macro, namely __MICROBLAZEEL__. However, gcc defaults to big endianess on that platform.

---
The maintainer tree listed under "ISDN SUBSYSTEM" in MAINTAINERS does not exist anymore. I created the diff against the Linus tree.

 drivers/isdn/hisax/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/isdn/hisax/Kconfig +1 -1
index 97465ac..eb83d94 100644
@@ -237,7 +237,7 @@ config HISAX_MIC
 
 config HISAX_NETJET
 	bool "NETjet card"
-	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
+	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN) || MICROBLAZE))
 	depends on VIRT_TO_BUS
 	help
 	  This enables HiSax support for the NetJet from Traverse

drivers/isdn/hisax/Kconfig config HISAX_NETJET · line 255

Quoted 8 lines
drivers/isdn/hisax/Kconfig +1 -1
@@ -249,7 +249,7 @@ config HISAX_NETJET
 
 config HISAX_NETJET_U
 	bool "NETspider U card"
-	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
+	depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN) || MICROBLAZE))
 	depends on VIRT_TO_BUS
 	help
 	  This enables HiSax support for the Netspider U interface ISDN card
Signature · 2 lines
Jean Delvare
SUSE L3 Support
maintainer
#3 lore raw
In reply to Nicolai Stange

From: Nicolai Stange <[email protected]>
Date: Wed, 17 Jun 2015 03:05:02 +0200

Quoted 9 lines

Fix an allmodconfig compilation failer on microblaze due to big endian architectures being apparently unsupported by the NetJet code:
drivers/isdn/hisax/nj_s.c: In function 'setup_netjet_s':
drivers/isdn/hisax/nj_s.c:265:2:
error: #error "not running on big endian machines now"

Modify the relevant Kconfig such that the NetJet code is not built on microblaze anymore.

Quoted 8 lines

Note that endianess on microblaze is not determined through Kconfig, but by means of a compiler provided CPP macro, namely __MICROBLAZEEL__. However, gcc defaults to big endianess on that platform.

---
The maintainer tree listed under "ISDN SUBSYSTEM" in MAINTAINERS does not exist anymore. I created the diff against the Linus tree.

Applied, but we're long overdue for an across-the-board-available endianness Kconfig option that can flat out be used in these situations. The current way this is handled is at best, a mess.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/

#4 lore raw
Quoted 6 lines · David Miller
Quoted 3 lines

Note that endianess on microblaze is not determined through Kconfig, but by means of a compiler provided CPP macro, namely __MICROBLAZEEL__. However, gcc defaults to big endianess on that platform.

Applied, but we're long overdue for an across-the-board-available endianness Kconfig option that can flat out be used in these situations. The current way this is handled is at best, a mess.

Thanks!

Regarding the general Kconfig endianess symbol, I will do another patch based on the information of
git grep '_endian\.h' -- arch/
and supply every arch with either of CONFIG_CPU_{LITTLE,BIG}_ENDIAN if lacking.

#5 lore raw
Quoted 7 lines · Nicolai Stange
Quoted 6 lines · David Miller
Quoted 3 lines

Note that endianess on microblaze is not determined through Kconfig, but by means of a compiler provided CPP macro, namely __MICROBLAZEEL__. However, gcc defaults to big endianess on that platform.

Applied, but we're long overdue for an across-the-board-available endianness Kconfig option that can flat out be used in these situations. The current way this is handled is at best, a mess.

I fully agree.

Quoted 7 lines

Thanks!

Regarding the general Kconfig endianess symbol, I will do another patch based on the information of
git grep '_endian\.h' -- arch/
and supply every arch with either of CONFIG_CPU_{LITTLE,BIG}_ENDIAN if lacking.

Note that Chen Gang (Cc'd) attempted the same almost a year ago:
http://patchwork.linux-mips.org/patch/7540/
then:
http://marc.info/?t=140958656400002&r=1&w=2

The idea was great IMHO but it did not work out, and I can't remember why.

Signature · 2 lines
Jean Delvare
SUSE L3 Support
#6 lore raw
Quoted 12 lines · Jean Delvare
Quoted 10 lines · Nicolai Stange
Quoted 3 lines · David Miller

Applied, but we're long overdue for an across-the-board-available endianness Kconfig option that can flat out be used in these situations. The current way this is handled is at best, a mess.

Regarding the general Kconfig endianess symbol, I will do another patch based on the information of
git grep '_endian\.h' -- arch/
and supply every arch with either of CONFIG_CPU_{LITTLE,BIG}_ENDIAN if lacking.

Quoted 7 lines

Note that Chen Gang (Cc'd) attempted the same almost a year ago:
http://patchwork.linux-mips.org/patch/7540/
then:
http://marc.info/?t=140958656400002&r=1&w=2

The idea was great IMHO but it did not work out, and I can't remember why.

Thank you very much for this pointer, Jean! I've read through these threads and to summarize, some arch maintainers' main point against that patchset is that (recent) drivers should generally support both, LE and BE.

It is interesting to note that Chen Gang had already addressed the very same issue (Hisax NetJet driver) by the far more general approach proposed by David Miller here, namely by introducing an "across-the-board-available endianess Kconfig option".

So unless you really want to have such an option and ping me, I will not do another patch in the mood of Chen Gang's original one.