linux/arch/arm/mach-mmp
Arnd Bergmann 5d6f52671e ARM: rework endianess selection
Choosing big-endian vs little-endian kernels in Kconfig has not worked
correctly since the introduction of CONFIG_ARCH_MULTIPLATFORM a long
time ago.

The problems is that CONFIG_BIG_ENDIAN depends on
ARCH_SUPPORTS_BIG_ENDIAN, which can set by any one platform
in the config, but would actually have to be supported by all
of them.

This was mostly ok for ARMv6/ARMv7 builds, since these are BE8 and
tend to just work aside from problems in nonportable device drivers.
For ARMv4/v5 machines, CONFIG_BIG_ENDIAN and CONFIG_ARCH_MULTIPLATFORM
were never set together, so this was disabled on all those machines
except for IXP4xx.

As IXP4xx can now become part of ARCH_MULTIPLATFORM, it seems better to
formalize this logic: all ARMv4/v5 platforms get an explicit dependency
on being either big-endian (ixp4xx) or little-endian (the rest). We may
want to fix ixp4xx in the future to support both, but it does not work
in LE mode at the moment.

For the ARMv6/v7 platforms, there are two ways this could be handled

 a) allow both modes only for platforms selecting
    'ARCH_SUPPORTS_BIG_ENDIAN' today, but only LE mode for the
    others, given that these were added intentionally at some
    point.

 b) allow both modes everwhere, given that it was already possible
    to build that way by e.g. selecting ARCH_VIRT, and that the
    list is not an accurate reflection of which platforms may or
    may not work.

Out of these, I picked b) because it seemed slighly more logical
to me.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-08 17:20:54 +02:00
..
addr-map.h ARM: mmp: map the PGU as well 2019-10-17 16:36:10 +02:00
aspenite.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
avengers_lite.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
brownstone.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
common.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
common.h ARM: mmp: map the PGU as well 2019-10-17 16:36:10 +02:00
devices.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
devices.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
flint.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
gplugd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
irqs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jasper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
Kconfig ARM: rework endianess selection 2022-04-08 17:20:54 +02:00
Makefile ARM: mmp: Remove legacy clk code 2020-05-12 20:28:03 -07:00
mfp-mmp2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp-pxa168.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp-pxa910.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmp2-dt.c ARM: mmp: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-05-15 22:55:16 +02:00
mmp2.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
mmp2.h ARM: pxa: move header file out of I2C realm 2017-11-28 22:49:30 +01:00
mmp3.c ARM: mmp: add support for MMP3 SoC 2019-10-17 16:36:11 +02:00
mmp-dt.c ARM: mmp: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-05-15 22:55:16 +02:00
platsmp.c ARM: mmp: add SMP support 2019-10-17 16:36:11 +02:00
pm-mmp2.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pm-mmp2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506 2019-06-19 17:11:22 +02:00
pm-pxa910.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pm-pxa910.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 506 2019-06-19 17:11:22 +02:00
pxa168.c ARM: mmp: Remove legacy clk code 2020-05-12 20:28:03 -07:00
pxa168.h ARM: mmp: include the correct cputype.h 2019-12-11 08:51:54 -08:00
pxa910.c ARM: mmp: move cputype.h to include/linux/soc/ 2019-10-17 16:36:12 +02:00
pxa910.h ARM: mmp: add a pxa-usb-phy device 2018-11-30 15:40:22 -08:00
regs-apbc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-apmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-icu.h irqchip/mmp: Mask off interrupts from other cores 2019-08-30 15:23:30 +01:00
regs-timers.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-usb.h ARM: mmp: remove MMP3 USB PHY registers from regs-usb.h 2019-10-17 16:36:12 +02:00
sram.c ARM: mmp: Fix failure to remove sram device 2022-02-25 16:38:34 +01:00
tavorevb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
teton_bga.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
teton_bga.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
time.c ARM: mmp: Remove legacy clk code 2020-05-12 20:28:03 -07:00
ttc_dkb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00