On Thu, May 25, 2017 at 3:27 PM, Max Filippov <jcmvbkbc@xxxxxxxxx> wrote: > On Wed, May 24, 2017 at 3:18 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote: >> On Wed, May 24, 2017 at 11:59 AM, Geert Uytterhoeven >> <geert@xxxxxxxxxxxxxx> wrote: >>> I guess the time is ripe for adding (both) symbols to all architectures? >> >> Good idea. I think we can do most of this by adding a few lines to >> arch/Kconfig: >> >> config CPU_BIG_ENDIAN >> bool >> >> config CPU_LITTLE_ENDIAN >> def_bool !CPU_BIG_ENDIAN >> >> This way, we only need to add 'select CPU_BIG_ENDIAN' to the >> architectures that are always big-endian, and we don't need to >> change anything for the ones that have a single 'CPU_BIG_ENDIAN' >> option. >> >> The three architectures that have a 'choice' statement (mips, ppc and >> sh) will have to convert, and m32r will have to replace the >> option with the opposite one, which could break 'make oldconfig', >> but nobody really cares about m32r any more. > > Xtensa may have either endianness and for xtensa we define > CONFIG_CPU_BIG_ENDIAN or CONFIG_CPU_LITTLE_ENDIAN > in the arch/xtensa/Makefile based on the value of the compiler builtin > macro. Also, in outside the Kconfig files there's much more instances of __{BIG,LITTLE}_ENDIAN than CONFIG_CPU_{BIG,LITTLE}_ENDIAN: $ git grep '__\(BIG\|LITTLE\)_ENDIAN' | wc -l 4537 $ git grep 'CONFIG_CPU_\(BIG\|LITTLE\)_ENDIAN' | wc -l 247 My understanding is that CONFIG_CPU_{BIG,LITTLE}_ENDIAN was intended to be used only in Kconfig files, and perhaps all of its uses outside should be replaced with __{BIG,LITTLE}_ENDIAN. -- Thanks. -- Max -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html