Message ID | 87pp4vw3ep.fsf@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Le Wednesday 17 June 2015 à 03:05 +0200, Nicolai Stange a écrit : > 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. > > Signed-off-by: Nicolai Stange <nicstange@gmail.com> > --- > 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(-) > > diff --git a/drivers/isdn/hisax/Kconfig b/drivers/isdn/hisax/Kconfig > index 97465ac..eb83d94 100644 > --- a/drivers/isdn/hisax/Kconfig > +++ b/drivers/isdn/hisax/Kconfig > @@ -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 Acked-by: Jean Delvare <jdelvare@suse.de>
> Acked-by: Jean Delvare <jdelvare@suse.de>
Jean, thank you very much for your prompt reaction!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Nicolai Stange <nicstange@gmail.com> Date: Wed, 17 Jun 2015 03:05:02 +0200 > 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. > > Signed-off-by: Nicolai Stange <nicstange@gmail.com> > --- > 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 netdev" in
David Miller <davem@davemloft.net> writes: >> 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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in
Le Sunday 21 June 2015 à 19:59 +0200, Nicolai Stange a écrit : > David Miller <davem@davemloft.net> writes: > >> 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. > 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.
Jean Delvare <jdelvare@suse.de> writes: > Le Sunday 21 June 2015 à 19:59 +0200, Nicolai Stange a écrit : >> David Miller <davem@davemloft.net> writes: >>> 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. > > 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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in
diff --git a/drivers/isdn/hisax/Kconfig b/drivers/isdn/hisax/Kconfig index 97465ac..eb83d94 100644 --- a/drivers/isdn/hisax/Kconfig +++ b/drivers/isdn/hisax/Kconfig @@ -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
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. Signed-off-by: Nicolai Stange <nicstange@gmail.com> --- 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(-)