On 8/15/14 7:12, Vineet Gupta wrote: > On Thursday 14 August 2014 03:22 PM, Chen Gang wrote: >> For many individual modules may need check CPU_LITTLE_ENDIAN or >> CPU_BIG_ENDIAN, which is an architecture's attribute. >> >> Or they have to list many architectures which they support, which they >> don't support. And still, it is not precise. >> >> For architecture API, endian is a main architecture's attribute which >> may be used by outside, so every architecture need let outside know >> about it, explicitly. > > I don't think that is correct. The modules need to use standard API e.g. swab > which will take care of proper endian handling anyways. Why would a module do > anything endian specific outside of those APIs. > For building time, modules can check endians with various API. But for config time, at present, we have no related standard API for it. > And again is this churn just theoretical or do you really have a issue at hand ! I > would not accept a change for ARC unless you prove that something is broken (or > atleast potentially broken) ! > An issue for allmodconfig under microblaze, the original patch is below (I guess, not only one module may match this case): -------- Forwarded Message -------- Subject: [PATCH] drivers/isdn/hisax/Kconfig: Let HISAX_NETJET skip microblaze architecture Date: Tue, 05 Aug 2014 02:24:09 +0800 From: Chen Gang <gang.chen.5i5j@xxxxxxxxx> To: isdn@xxxxxxxxxxxxxx CC: davem@xxxxxxxxxxxxx, Jean Delvare <jdelvare@xxxxxxx>, netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>, monstr@xxxxxxxxx For HISAX_NETJET, HISAX_NETJET_U or related config needs !__BIG_ENDIAN, so skip microblaze, just like skip all other architectures which have no CONFIG_*_ENDIAN. The related error (with allmodconfig under microblaze): CC [M] drivers/isdn/hisax/nj_s.o 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" #error "not running on big endian machines now" ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> --- 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 Thanks. -- Chen Gang Open, share, and attitude like air, water, and life which God blessed