[linux] 01/05: [armel] Replace kirkwood and orion5x flavours with a 'marvell' flavour
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Sun Feb 7 21:24:18 UTC 2016
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch master
in repository linux.
commit 7f810117b96582c687a7d51f4b7064b40064318a
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Wed Jan 27 02:09:30 2016 +0000
[armel] Replace kirkwood and orion5x flavours with a 'marvell' flavour
Apply upstream patches from 4.5-rc1 to enable inclusion of orion5x in a
multiplatform build.
Merge configurations as well as possible.
---
debian/changelog | 1 +
.../armel/{config.kirkwood => config.marvell} | 61 +-
debian/config/armel/config.orion5x | 571 -----------
debian/config/armel/defines | 27 +-
debian/installer/armel/kernel-versions | 3 +-
.../btrfs-modules | 0
.../cdrom-core-modules | 0
.../{armel-kirkwood => armel-marvell}/core-modules | 0
.../{armel-kirkwood => armel-marvell}/crc-modules | 0
.../crypto-dm-modules | 0
.../crypto-modules | 0
.../event-modules | 0
.../{armel-kirkwood => armel-marvell}/ext4-modules | 0
.../{armel-kirkwood => armel-marvell}/fat-modules | 0
.../{armel-kirkwood => armel-marvell}/fb-modules | 0
.../{armel-kirkwood => armel-marvell}/fuse-modules | 0
.../input-modules | 0
.../{armel-orion5x => armel-marvell}/ipv6-modules | 0
.../isofs-modules | 0
.../{armel-orion5x => armel-marvell}/jffs2-modules | 0
.../{armel-kirkwood => armel-marvell}/jfs-modules | 0
.../{armel-kirkwood => armel-marvell}/kernel-image | 0
.../{armel-kirkwood => armel-marvell}/leds-modules | 0
.../{armel-kirkwood => armel-marvell}/loop-modules | 0
.../{armel-kirkwood => armel-marvell}/md-modules | 0
.../minix-modules | 0
.../{armel-kirkwood => armel-marvell}/mmc-modules | 0
.../mouse-modules | 0
.../multipath-modules | 0
.../{armel-kirkwood => armel-marvell}/nbd-modules | 0
.../{armel-kirkwood => armel-marvell}/nic-modules | 0
.../nic-shared-modules | 0
.../nic-usb-modules | 0
.../{armel-kirkwood => armel-marvell}/ppp-modules | 0
.../{armel-kirkwood => armel-marvell}/sata-modules | 0
.../scsi-core-modules | 0
.../squashfs-modules | 0
.../{armel-kirkwood => armel-marvell}/udf-modules | 0
.../uinput-modules | 0
.../{armel-kirkwood => armel-marvell}/usb-modules | 0
.../usb-serial-modules | 0
.../usb-storage-modules | 0
.../{armel-orion5x => armel-marvell}/zlib-modules | 0
.../armel/modules/armel-orion5x/btrfs-modules | 1 -
.../armel/modules/armel-orion5x/cdrom-core-modules | 2 -
.../armel/modules/armel-orion5x/core-modules | 1 -
.../armel/modules/armel-orion5x/crc-modules | 1 -
.../armel/modules/armel-orion5x/crypto-dm-modules | 1 -
.../armel/modules/armel-orion5x/crypto-modules | 1 -
.../armel/modules/armel-orion5x/event-modules | 2 -
.../armel/modules/armel-orion5x/ext4-modules | 1 -
.../armel/modules/armel-orion5x/fat-modules | 1 -
.../armel/modules/armel-orion5x/fuse-modules | 1 -
.../armel/modules/armel-orion5x/isofs-modules | 1 -
.../armel/modules/armel-orion5x/jfs-modules | 1 -
.../armel/modules/armel-orion5x/kernel-image | 1 -
.../armel/modules/armel-orion5x/loop-modules | 1 -
.../armel/modules/armel-orion5x/md-modules | 1 -
.../armel/modules/armel-orion5x/minix-modules | 1 -
.../armel/modules/armel-orion5x/multipath-modules | 1 -
.../armel/modules/armel-orion5x/nbd-modules | 1 -
.../armel/modules/armel-orion5x/nic-modules | 3 -
.../armel/modules/armel-orion5x/nic-shared-modules | 1 -
.../armel/modules/armel-orion5x/nic-usb-modules | 1 -
.../armel/modules/armel-orion5x/ppp-modules | 2 -
.../armel/modules/armel-orion5x/sata-modules | 1 -
.../armel/modules/armel-orion5x/scsi-core-modules | 1 -
.../armel/modules/armel-orion5x/squashfs-modules | 1 -
.../armel/modules/armel-orion5x/udf-modules | 1 -
.../armel/modules/armel-orion5x/usb-modules | 1 -
.../armel/modules/armel-orion5x/usb-serial-modules | 1 -
.../modules/armel-orion5x/usb-storage-modules | 1 -
.../arm-orion-always-use-multi_irq_handler.patch | 315 ++++++
...orion-move-watchdog-setup-to-mach-orion5x.patch | 132 +++
.../arm/arm-orion-use-sparse_irq-everywhere.patch | 392 ++++++++
.../arm/arm-orion5x-clean-up-mach-.h-headers.patch | 1020 ++++++++++++++++++++
.../arm/arm-orion5x-multiplatform-support.patch | 147 +++
debian/patches/series | 5 +
78 files changed, 2075 insertions(+), 633 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 9b8a7ff..832c99b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -24,6 +24,7 @@ linux (4.4.1-1~exp1) UNRELEASED; urgency=medium
* linux-{headers,image}: Remove support for version-specific hooks
* linux-headers: Make postinst script less verbose (see: #734266)
* [rt] Update to 4.4-rt3
+ * [armel] Replace kirkwood and orion5x flavours with a 'marvell' flavour
-- Ian Campbell <ijc at debian.org> Sat, 23 Jan 2016 08:23:05 +0000
diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.marvell
similarity index 89%
rename from debian/config/armel/config.kirkwood
rename to debian/config/armel/config.marvell
index c636dca..ab7da22 100644
--- a/debian/config/armel/config.kirkwood
+++ b/debian/config/armel/config.marvell
@@ -13,17 +13,22 @@ CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
CONFIG_ATAGS_PROC=y
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-# CONFIG_VFP is not set
+CONFIG_VFP=y
##
## file: arch/arm/Kconfig.debug
##
## choice: Kernel low-level debugging port
-CONFIG_DEBUG_MVEBU_UART0_ALTERNATE=y
+# CONFIG_DEBUG_ICEDCC is not set
+CONFIG_DEBUG_LL_UART_8250=y
## end choice
+#. Kirkwood (with new boot loader) and Orion both have an 8250 at
+#. physical address 0xf1012000.
+CONFIG_DEBUG_UART_PHYS=0xf1012000
+#. MVEBU is flexible about the virtual address (relying on
+#. debug_ll_io_init()) but Orion maps the 8250 as part of a larger
+#. block of registers. So use the VA that Orion requires.
+CONFIG_DEBUG_UART_VIRT=0xfe012000
##
## file: arch/arm/mach-imx/Kconfig
@@ -37,8 +42,35 @@ CONFIG_ARCH_MVEBU=y
CONFIG_MACH_KIRKWOOD=y
##
+## file: arch/arm/mach-orion5x/Kconfig
+##
+CONFIG_ARCH_ORION5X=y
+CONFIG_MACH_DB88F5281=y
+CONFIG_MACH_RD88F5182=y
+CONFIG_MACH_RD88F5182_DT=y
+CONFIG_MACH_KUROBOX_PRO=y
+CONFIG_MACH_DNS323=y
+CONFIG_MACH_TS209=y
+CONFIG_MACH_TERASTATION_PRO2=y
+CONFIG_MACH_LINKSTATION_PRO=y
+CONFIG_MACH_LINKSTATION_LSCHL=y
+CONFIG_MACH_LINKSTATION_MINI=y
+CONFIG_MACH_LINKSTATION_LS_HGL=y
+CONFIG_MACH_TS409=y
+CONFIG_MACH_WRT350N_V2=y
+CONFIG_MACH_TS78XX=y
+CONFIG_MACH_MV2120=y
+CONFIG_MACH_NET2BIG=y
+CONFIG_MACH_MSS2_DT=y
+CONFIG_MACH_WNR854T=y
+CONFIG_MACH_RD88F5181L_GE=y
+CONFIG_MACH_RD88F5181L_FXO=y
+CONFIG_MACH_RD88F6183AP_GE=y
+
+##
## file: arch/arm/mm/Kconfig
##
+CONFIG_CPU_FEROCEON_OLD_ID=y
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
@@ -166,7 +198,9 @@ CONFIG_MV_XOR=y
##
## file: drivers/hwmon/Kconfig
##
+CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_LM75=m
##
## file: drivers/i2c/Kconfig
@@ -195,6 +229,15 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_KEYBOARD_GPIO=m
##
+## file: drivers/input/serio/Kconfig
+##
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=m
+# CONFIG_SERIO_RAW is not set
+
+##
## file: drivers/input/touchscreen/Kconfig
##
CONFIG_INPUT_TOUCHSCREEN=y
@@ -302,8 +345,10 @@ CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_I4=y
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
+#. Needed e.g. on QNAP devices
CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=m
+#. Needed e.g. on the D-Link DNS-323
+CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
@@ -447,6 +492,10 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
##
## file: drivers/rtc/Kconfig
##
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_RS5C372=y
+CONFIG_RTC_DRV_PCF8563=y
+CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_S35390A=y
CONFIG_RTC_DRV_MV=y
diff --git a/debian/config/armel/config.orion5x b/debian/config/armel/config.orion5x
deleted file mode 100644
index cda43ba..0000000
--- a/debian/config/armel/config.orion5x
+++ /dev/null
@@ -1,571 +0,0 @@
-##
-## file: arch/arm/Kconfig
-##
-## choice: ARM system type
-CONFIG_ARCH_ORION5X=y
-## end choice
-CONFIG_PCI=y
-CONFIG_UACCESS_WITH_MEMCPY=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_ARM_APPENDED_DTB=y
-CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_CMDLINE=""
-# CONFIG_XIP_KERNEL is not set
-CONFIG_ATAGS_PROC=y
-CONFIG_VFP=y
-
-##
-## file: arch/arm/Kconfig.debug
-##
-## choice: Kernel low-level debugging port
-# CONFIG_DEBUG_ICEDCC is not set
-CONFIG_DEBUG_LL_UART_8250=y
-## end choice
-
-##
-## file: arch/arm/mach-imx/Kconfig
-##
-# CONFIG_ARCH_MXC is not set
-
-##
-## file: arch/arm/mach-orion5x/Kconfig
-##
-CONFIG_MACH_DB88F5281=y
-CONFIG_MACH_RD88F5182=y
-CONFIG_MACH_RD88F5182_DT=y
-CONFIG_MACH_KUROBOX_PRO=y
-CONFIG_MACH_DNS323=y
-CONFIG_MACH_TS209=y
-CONFIG_MACH_TERASTATION_PRO2=y
-CONFIG_MACH_LINKSTATION_PRO=y
-CONFIG_MACH_LINKSTATION_LSCHL=y
-CONFIG_MACH_LINKSTATION_MINI=y
-CONFIG_MACH_LINKSTATION_LS_HGL=y
-CONFIG_MACH_TS409=y
-CONFIG_MACH_WRT350N_V2=y
-CONFIG_MACH_TS78XX=y
-CONFIG_MACH_MV2120=y
-CONFIG_MACH_NET2BIG=y
-CONFIG_MACH_MSS2_DT=y
-CONFIG_MACH_WNR854T=y
-CONFIG_MACH_RD88F5181L_GE=y
-CONFIG_MACH_RD88F5181L_FXO=y
-CONFIG_MACH_RD88F6183AP_GE=y
-
-##
-## file: arch/arm/mm/Kconfig
-##
-CONFIG_CPU_FEROCEON_OLD_ID=y
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-
-##
-## file: block/partitions/Kconfig
-##
-CONFIG_ACORN_PARTITION=y
-# CONFIG_ACORN_PARTITION_CUMANA is not set
-# CONFIG_ACORN_PARTITION_EESOX is not set
-CONFIG_ACORN_PARTITION_ICS=y
-# CONFIG_ACORN_PARTITION_ADFS is not set
-# CONFIG_ACORN_PARTITION_POWERTEC is not set
-CONFIG_ACORN_PARTITION_RISCIX=y
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-CONFIG_ATARI_PARTITION=y
-CONFIG_MAC_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-CONFIG_LDM_PARTITION=y
-# CONFIG_LDM_DEBUG is not set
-CONFIG_SGI_PARTITION=y
-CONFIG_ULTRIX_PARTITION=y
-CONFIG_SUN_PARTITION=y
-
-##
-## file: drivers/ata/Kconfig
-##
-CONFIG_ATA=m
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SX4 is not set
-# CONFIG_ATA_PIIX is not set
-CONFIG_SATA_MV=m
-# CONFIG_SATA_NV is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_SVW is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_ATA_GENERIC is not set
-
-##
-## file: drivers/bluetooth/Kconfig
-##
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-
-##
-## file: drivers/crypto/Kconfig
-##
-CONFIG_CRYPTO_DEV_MV_CESA=m
-
-##
-## file: drivers/dma/Kconfig
-##
-CONFIG_DMADEVICES=y
-CONFIG_MV_XOR=y
-
-##
-## file: drivers/gpu/drm/Kconfig
-##
-# CONFIG_DRM is not set
-
-##
-## file: drivers/hwmon/Kconfig
-##
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_LM75=m
-
-##
-## file: drivers/i2c/Kconfig
-##
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-##
-## file: drivers/i2c/busses/Kconfig
-##
-CONFIG_I2C_MV64XXX=y
-
-##
-## file: drivers/input/gameport/Kconfig
-##
-CONFIG_GAMEPORT=m
-
-##
-## file: drivers/input/joystick/Kconfig
-##
-CONFIG_INPUT_JOYSTICK=y
-
-##
-## file: drivers/input/keyboard/Kconfig
-##
-CONFIG_KEYBOARD_GPIO=m
-
-##
-## file: drivers/input/serio/Kconfig
-##
-CONFIG_SERIO=m
-CONFIG_SERIO_SERPORT=m
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=m
-# CONFIG_SERIO_RAW is not set
-
-##
-## file: drivers/input/touchscreen/Kconfig
-##
-CONFIG_INPUT_TOUCHSCREEN=y
-
-##
-## file: drivers/isdn/Kconfig
-##
-CONFIG_ISDN=y
-CONFIG_ISDN_CAPI=m
-
-##
-## file: drivers/isdn/capi/Kconfig
-##
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-##
-## file: drivers/isdn/hardware/avm/Kconfig
-##
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-
-##
-## file: drivers/isdn/hardware/eicon/Kconfig
-##
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-
-##
-## file: drivers/leds/Kconfig
-##
-CONFIG_LEDS_GPIO=y
-
-##
-## file: drivers/leds/trigger/Kconfig
-##
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-
-##
-## file: drivers/mtd/Kconfig
-##
-CONFIG_MTD=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-CONFIG_MTD_OF_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=m
-CONFIG_NFTL=m
-# CONFIG_NFTL_RW is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-##
-## file: drivers/mtd/chips/Kconfig
-##
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-## choice: Flash cmd/query data swapping
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-## end choice
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-#. Needed e.g. on QNAP devices
-CONFIG_MTD_CFI_INTELEXT=y
-#. Needed e.g. on the D-Link DNS-323
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=m
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-##
-## file: drivers/mtd/devices/Kconfig
-##
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-##
-## file: drivers/mtd/maps/Kconfig
-##
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP_OF=y
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-##
-## file: drivers/mtd/nand/Kconfig
-##
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_CAFE is not set
-CONFIG_MTD_NAND_ORION=y
-
-##
-## file: drivers/mtd/onenand/Kconfig
-##
-# CONFIG_MTD_ONENAND is not set
-
-##
-## file: drivers/net/arcnet/Kconfig
-##
-# CONFIG_ARCNET is not set
-
-##
-## file: drivers/net/ethernet/atheros/Kconfig
-##
-# CONFIG_ATL1 is not set
-
-##
-## file: drivers/net/ethernet/broadcom/Kconfig
-##
-# CONFIG_BNX2 is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2X is not set
-
-##
-## file: drivers/net/ethernet/dlink/Kconfig
-##
-# CONFIG_DL2K is not set
-
-##
-## file: drivers/net/ethernet/intel/Kconfig
-##
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_IGB is not set
-
-##
-## file: drivers/net/ethernet/marvell/Kconfig
-##
-CONFIG_MV643XX_ETH=m
-CONFIG_MVMDIO=m
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-
-##
-## file: drivers/net/ethernet/natsemi/Kconfig
-##
-# CONFIG_NS83820 is not set
-
-##
-## file: drivers/net/ethernet/packetengines/Kconfig
-##
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-
-##
-## file: drivers/net/ethernet/qlogic/Kconfig
-##
-# CONFIG_QLA3XXX is not set
-
-##
-## file: drivers/net/ethernet/realtek/Kconfig
-##
-# CONFIG_R8169 is not set
-
-##
-## file: drivers/net/ethernet/sis/Kconfig
-##
-# CONFIG_SIS190 is not set
-
-##
-## file: drivers/net/ethernet/via/Kconfig
-##
-# CONFIG_VIA_VELOCITY is not set
-
-##
-## file: drivers/pcmcia/Kconfig
-##
-# CONFIG_PCCARD is not set
-
-##
-## file: drivers/rtc/Kconfig
-##
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_RS5C372=y
-CONFIG_RTC_DRV_PCF8563=y
-CONFIG_RTC_DRV_M41T80=y
-CONFIG_RTC_DRV_S35390A=y
-
-##
-## file: drivers/scsi/Kconfig
-##
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_NSP32 is not set
-
-##
-## file: drivers/scsi/aic7xxx/Kconfig.aic79xx
-##
-# CONFIG_SCSI_AIC79XX is not set
-
-##
-## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx
-##
-# CONFIG_SCSI_AIC7XXX is not set
-
-##
-## file: drivers/scsi/aic94xx/Kconfig
-##
-# CONFIG_SCSI_AIC94XX is not set
-
-##
-## file: drivers/scsi/megaraid/Kconfig.megaraid
-##
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-
-##
-## file: drivers/scsi/mvsas/Kconfig
-##
-# CONFIG_SCSI_MVSAS is not set
-
-##
-## file: drivers/scsi/qla2xxx/Kconfig
-##
-# CONFIG_SCSI_QLA_FC is not set
-
-##
-## file: drivers/scsi/qla4xxx/Kconfig
-##
-# CONFIG_SCSI_QLA_ISCSI is not set
-
-##
-## file: drivers/ssb/Kconfig
-##
-# CONFIG_SSB is not set
-
-##
-## file: drivers/tty/serial/Kconfig
-##
-CONFIG_SERIAL_OF_PLATFORM=y
-
-##
-## file: drivers/tty/serial/8250/Kconfig
-##
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-##
-## file: drivers/usb/Kconfig
-##
-CONFIG_USB_SUPPORT=y
-CONFIG_USB=m
-
-##
-## file: drivers/usb/atm/Kconfig
-##
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-
-##
-## file: drivers/usb/host/Kconfig
-##
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_HCD_ORION=y
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_SL811_HCD=m
-
-##
-## file: drivers/video/console/Kconfig
-##
-# CONFIG_VGA_CONSOLE is not set
-
-##
-## file: drivers/video/fbdev/Kconfig
-##
-CONFIG_FB=m
-
-##
-## file: drivers/virtio/Kconfig
-##
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
-
-##
-## file: drivers/watchdog/Kconfig
-##
-CONFIG_ORION_WATCHDOG=m
-
-##
-## file: mm/Kconfig
-##
-## choice: Memory model
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-## end choice
-
-##
-## file: net/atm/Kconfig
-##
-CONFIG_ATM=m
-
-##
-## file: net/ax25/Kconfig
-##
-CONFIG_HAMRADIO=y
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
diff --git a/debian/config/armel/defines b/debian/config/armel/defines
index e3cda0b..688c89a 100644
--- a/debian/config/armel/defines
+++ b/debian/config/armel/defines
@@ -1,7 +1,6 @@
[base]
flavours:
- kirkwood
- orion5x
+ marvell
versatile
kernel-arch: arm
@@ -18,37 +17,25 @@ install-stem: vmlinuz
[relations]
headers%gcc-4.9: linux-compiler-gcc-4.9-arm
-[kirkwood_description]
-hardware: Marvell Kirkwood
+[marvell_description]
+hardware: Marvell Kirkwood/Orion
hardware-long: Marvell Kirkwood based systems (SheevaPlug, QNAP TS-119/TS-219, etc)
+ and Orion 5181, 5182 and 5281 based systems (QNAP TS-109/TS-209, etc)
-[kirkwood_image]
+[marvell_image]
recommends: u-boot-tools
## Maximum kernel size for supported devices (64 bytes is the u-boot header)
# SheevaPlug: 4194304 - 64 = 4194240
# QNAP TS-119/TS-219: 2097152 - 64 = 2097088
-check-size: 2097088
-check-size-with-dtb: true
-breaks: flash-kernel (<< 3.37~)
-configs:
- armel/config-reduced
- armel/config.kirkwood
-
-[orion5x_description]
-hardware: Marvell Orion
-hardware-long: Marvell Orion 5181, 5182 and 5281 based systems (QNAP TS-109/TS-209, etc)
-
-[orion5x_image]
-recommends: u-boot-tools
-## Maximum kernel size for supported devices (8 bytes is the machine ID; 64 bytes the u-boot header)
# D-Link DNS-323: 1572864 - 8 - 64 = 1572792 (too small, no longer supported)
# HP Media Vault mv2120: 2097152 - 8 - 64 = 2097080
# QNAP TS-109/TS-209 & TS-409: 2097152 - 8 - 64 = 2097080
check-size: 2097080
check-size-with-dtb: true
+breaks: flash-kernel (<< 3.37~)
configs:
armel/config-reduced
- armel/config.orion5x
+ armel/config.marvell
[versatile_description]
hardware: Versatile
diff --git a/debian/installer/armel/kernel-versions b/debian/installer/armel/kernel-versions
index 5dd8895..501fd06 100644
--- a/debian/installer/armel/kernel-versions
+++ b/debian/installer/armel/kernel-versions
@@ -1,4 +1,3 @@
# arch version flavour installedname suffix build-depends
-armel - kirkwood - y -
-armel - orion5x - y -
+armel - marvell - y -
armel - versatile - y -
diff --git a/debian/installer/armel/modules/armel-kirkwood/btrfs-modules b/debian/installer/armel/modules/armel-marvell/btrfs-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/btrfs-modules
rename to debian/installer/armel/modules/armel-marvell/btrfs-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/cdrom-core-modules b/debian/installer/armel/modules/armel-marvell/cdrom-core-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/cdrom-core-modules
rename to debian/installer/armel/modules/armel-marvell/cdrom-core-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/core-modules b/debian/installer/armel/modules/armel-marvell/core-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/core-modules
rename to debian/installer/armel/modules/armel-marvell/core-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/crc-modules b/debian/installer/armel/modules/armel-marvell/crc-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/crc-modules
rename to debian/installer/armel/modules/armel-marvell/crc-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/crypto-dm-modules b/debian/installer/armel/modules/armel-marvell/crypto-dm-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/crypto-dm-modules
rename to debian/installer/armel/modules/armel-marvell/crypto-dm-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/crypto-modules b/debian/installer/armel/modules/armel-marvell/crypto-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/crypto-modules
rename to debian/installer/armel/modules/armel-marvell/crypto-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/event-modules b/debian/installer/armel/modules/armel-marvell/event-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/event-modules
rename to debian/installer/armel/modules/armel-marvell/event-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/ext4-modules b/debian/installer/armel/modules/armel-marvell/ext4-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/ext4-modules
rename to debian/installer/armel/modules/armel-marvell/ext4-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/fat-modules b/debian/installer/armel/modules/armel-marvell/fat-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/fat-modules
rename to debian/installer/armel/modules/armel-marvell/fat-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/fb-modules b/debian/installer/armel/modules/armel-marvell/fb-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/fb-modules
rename to debian/installer/armel/modules/armel-marvell/fb-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/fuse-modules b/debian/installer/armel/modules/armel-marvell/fuse-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/fuse-modules
rename to debian/installer/armel/modules/armel-marvell/fuse-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/input-modules b/debian/installer/armel/modules/armel-marvell/input-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/input-modules
rename to debian/installer/armel/modules/armel-marvell/input-modules
diff --git a/debian/installer/armel/modules/armel-orion5x/ipv6-modules b/debian/installer/armel/modules/armel-marvell/ipv6-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-orion5x/ipv6-modules
rename to debian/installer/armel/modules/armel-marvell/ipv6-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/isofs-modules b/debian/installer/armel/modules/armel-marvell/isofs-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/isofs-modules
rename to debian/installer/armel/modules/armel-marvell/isofs-modules
diff --git a/debian/installer/armel/modules/armel-orion5x/jffs2-modules b/debian/installer/armel/modules/armel-marvell/jffs2-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-orion5x/jffs2-modules
rename to debian/installer/armel/modules/armel-marvell/jffs2-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/jfs-modules b/debian/installer/armel/modules/armel-marvell/jfs-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/jfs-modules
rename to debian/installer/armel/modules/armel-marvell/jfs-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/kernel-image b/debian/installer/armel/modules/armel-marvell/kernel-image
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/kernel-image
rename to debian/installer/armel/modules/armel-marvell/kernel-image
diff --git a/debian/installer/armel/modules/armel-kirkwood/leds-modules b/debian/installer/armel/modules/armel-marvell/leds-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/leds-modules
rename to debian/installer/armel/modules/armel-marvell/leds-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/loop-modules b/debian/installer/armel/modules/armel-marvell/loop-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/loop-modules
rename to debian/installer/armel/modules/armel-marvell/loop-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/md-modules b/debian/installer/armel/modules/armel-marvell/md-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/md-modules
rename to debian/installer/armel/modules/armel-marvell/md-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/minix-modules b/debian/installer/armel/modules/armel-marvell/minix-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/minix-modules
rename to debian/installer/armel/modules/armel-marvell/minix-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/mmc-modules b/debian/installer/armel/modules/armel-marvell/mmc-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/mmc-modules
rename to debian/installer/armel/modules/armel-marvell/mmc-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/mouse-modules b/debian/installer/armel/modules/armel-marvell/mouse-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/mouse-modules
rename to debian/installer/armel/modules/armel-marvell/mouse-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/multipath-modules b/debian/installer/armel/modules/armel-marvell/multipath-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/multipath-modules
rename to debian/installer/armel/modules/armel-marvell/multipath-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/nbd-modules b/debian/installer/armel/modules/armel-marvell/nbd-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/nbd-modules
rename to debian/installer/armel/modules/armel-marvell/nbd-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-modules b/debian/installer/armel/modules/armel-marvell/nic-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/nic-modules
rename to debian/installer/armel/modules/armel-marvell/nic-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-shared-modules b/debian/installer/armel/modules/armel-marvell/nic-shared-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/nic-shared-modules
rename to debian/installer/armel/modules/armel-marvell/nic-shared-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/nic-usb-modules b/debian/installer/armel/modules/armel-marvell/nic-usb-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/nic-usb-modules
rename to debian/installer/armel/modules/armel-marvell/nic-usb-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/ppp-modules b/debian/installer/armel/modules/armel-marvell/ppp-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/ppp-modules
rename to debian/installer/armel/modules/armel-marvell/ppp-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/sata-modules b/debian/installer/armel/modules/armel-marvell/sata-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/sata-modules
rename to debian/installer/armel/modules/armel-marvell/sata-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/scsi-core-modules b/debian/installer/armel/modules/armel-marvell/scsi-core-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/scsi-core-modules
rename to debian/installer/armel/modules/armel-marvell/scsi-core-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/squashfs-modules b/debian/installer/armel/modules/armel-marvell/squashfs-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/squashfs-modules
rename to debian/installer/armel/modules/armel-marvell/squashfs-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/udf-modules b/debian/installer/armel/modules/armel-marvell/udf-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/udf-modules
rename to debian/installer/armel/modules/armel-marvell/udf-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/uinput-modules b/debian/installer/armel/modules/armel-marvell/uinput-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/uinput-modules
rename to debian/installer/armel/modules/armel-marvell/uinput-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-modules b/debian/installer/armel/modules/armel-marvell/usb-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/usb-modules
rename to debian/installer/armel/modules/armel-marvell/usb-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-serial-modules b/debian/installer/armel/modules/armel-marvell/usb-serial-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/usb-serial-modules
rename to debian/installer/armel/modules/armel-marvell/usb-serial-modules
diff --git a/debian/installer/armel/modules/armel-kirkwood/usb-storage-modules b/debian/installer/armel/modules/armel-marvell/usb-storage-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-kirkwood/usb-storage-modules
rename to debian/installer/armel/modules/armel-marvell/usb-storage-modules
diff --git a/debian/installer/armel/modules/armel-orion5x/zlib-modules b/debian/installer/armel/modules/armel-marvell/zlib-modules
similarity index 100%
rename from debian/installer/armel/modules/armel-orion5x/zlib-modules
rename to debian/installer/armel/modules/armel-marvell/zlib-modules
diff --git a/debian/installer/armel/modules/armel-orion5x/btrfs-modules b/debian/installer/armel/modules/armel-orion5x/btrfs-modules
deleted file mode 100644
index e261e13..0000000
--- a/debian/installer/armel/modules/armel-orion5x/btrfs-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <btrfs-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules b/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules
deleted file mode 100644
index e264d7a..0000000
--- a/debian/installer/armel/modules/armel-orion5x/cdrom-core-modules
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <cdrom-core-modules>
-
diff --git a/debian/installer/armel/modules/armel-orion5x/core-modules b/debian/installer/armel/modules/armel-orion5x/core-modules
deleted file mode 100644
index f05d062..0000000
--- a/debian/installer/armel/modules/armel-orion5x/core-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <core-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/crc-modules b/debian/installer/armel/modules/armel-orion5x/crc-modules
deleted file mode 100644
index 7e00de7..0000000
--- a/debian/installer/armel/modules/armel-orion5x/crc-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <crc-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules b/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules
deleted file mode 100644
index 4c8f235..0000000
--- a/debian/installer/armel/modules/armel-orion5x/crypto-dm-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <crypto-dm-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/crypto-modules b/debian/installer/armel/modules/armel-orion5x/crypto-modules
deleted file mode 100644
index 3a1e862..0000000
--- a/debian/installer/armel/modules/armel-orion5x/crypto-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <crypto-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/event-modules b/debian/installer/armel/modules/armel-orion5x/event-modules
deleted file mode 100644
index 0bc9f77..0000000
--- a/debian/installer/armel/modules/armel-orion5x/event-modules
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <event-modules>
-gpio_keys
diff --git a/debian/installer/armel/modules/armel-orion5x/ext4-modules b/debian/installer/armel/modules/armel-orion5x/ext4-modules
deleted file mode 100644
index 394c577..0000000
--- a/debian/installer/armel/modules/armel-orion5x/ext4-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <ext4-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/fat-modules b/debian/installer/armel/modules/armel-orion5x/fat-modules
deleted file mode 100644
index 274584e..0000000
--- a/debian/installer/armel/modules/armel-orion5x/fat-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <fat-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/fuse-modules b/debian/installer/armel/modules/armel-orion5x/fuse-modules
deleted file mode 100644
index 0b6ba0c..0000000
--- a/debian/installer/armel/modules/armel-orion5x/fuse-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <fuse-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/isofs-modules b/debian/installer/armel/modules/armel-orion5x/isofs-modules
deleted file mode 100644
index da4fa9a..0000000
--- a/debian/installer/armel/modules/armel-orion5x/isofs-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <isofs-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/jfs-modules b/debian/installer/armel/modules/armel-orion5x/jfs-modules
deleted file mode 100644
index 7e4d912..0000000
--- a/debian/installer/armel/modules/armel-orion5x/jfs-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <jfs-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/kernel-image b/debian/installer/armel/modules/armel-orion5x/kernel-image
deleted file mode 100644
index 1bb8bf6..0000000
--- a/debian/installer/armel/modules/armel-orion5x/kernel-image
+++ /dev/null
@@ -1 +0,0 @@
-# empty
diff --git a/debian/installer/armel/modules/armel-orion5x/loop-modules b/debian/installer/armel/modules/armel-orion5x/loop-modules
deleted file mode 100644
index c1c948f..0000000
--- a/debian/installer/armel/modules/armel-orion5x/loop-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <loop-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/md-modules b/debian/installer/armel/modules/armel-orion5x/md-modules
deleted file mode 100644
index 26115e1..0000000
--- a/debian/installer/armel/modules/armel-orion5x/md-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <md-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/minix-modules b/debian/installer/armel/modules/armel-orion5x/minix-modules
deleted file mode 100644
index 82b9843..0000000
--- a/debian/installer/armel/modules/armel-orion5x/minix-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <minix-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/multipath-modules b/debian/installer/armel/modules/armel-orion5x/multipath-modules
deleted file mode 100644
index a8b69b2..0000000
--- a/debian/installer/armel/modules/armel-orion5x/multipath-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <multipath-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/nbd-modules b/debian/installer/armel/modules/armel-orion5x/nbd-modules
deleted file mode 100644
index 3c9b3e5..0000000
--- a/debian/installer/armel/modules/armel-orion5x/nbd-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <nbd-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/nic-modules b/debian/installer/armel/modules/armel-orion5x/nic-modules
deleted file mode 100644
index 9f90d9e..0000000
--- a/debian/installer/armel/modules/armel-orion5x/nic-modules
+++ /dev/null
@@ -1,3 +0,0 @@
-inet_lro
-mv643xx_eth
-mvmdio
diff --git a/debian/installer/armel/modules/armel-orion5x/nic-shared-modules b/debian/installer/armel/modules/armel-orion5x/nic-shared-modules
deleted file mode 100644
index cc84b14..0000000
--- a/debian/installer/armel/modules/armel-orion5x/nic-shared-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <nic-shared-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/nic-usb-modules b/debian/installer/armel/modules/armel-orion5x/nic-usb-modules
deleted file mode 100644
index c479669..0000000
--- a/debian/installer/armel/modules/armel-orion5x/nic-usb-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <nic-usb-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/ppp-modules b/debian/installer/armel/modules/armel-orion5x/ppp-modules
deleted file mode 100644
index f1ae9b3..0000000
--- a/debian/installer/armel/modules/armel-orion5x/ppp-modules
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <ppp-modules>
-
diff --git a/debian/installer/armel/modules/armel-orion5x/sata-modules b/debian/installer/armel/modules/armel-orion5x/sata-modules
deleted file mode 100644
index fad6193..0000000
--- a/debian/installer/armel/modules/armel-orion5x/sata-modules
+++ /dev/null
@@ -1 +0,0 @@
-sata_mv
diff --git a/debian/installer/armel/modules/armel-orion5x/scsi-core-modules b/debian/installer/armel/modules/armel-orion5x/scsi-core-modules
deleted file mode 100644
index dd65d66..0000000
--- a/debian/installer/armel/modules/armel-orion5x/scsi-core-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <scsi-core-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/squashfs-modules b/debian/installer/armel/modules/armel-orion5x/squashfs-modules
deleted file mode 100644
index 42d7788..0000000
--- a/debian/installer/armel/modules/armel-orion5x/squashfs-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <squashfs-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/udf-modules b/debian/installer/armel/modules/armel-orion5x/udf-modules
deleted file mode 100644
index b90d7ee..0000000
--- a/debian/installer/armel/modules/armel-orion5x/udf-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <udf-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/usb-modules b/debian/installer/armel/modules/armel-orion5x/usb-modules
deleted file mode 100644
index c598ded..0000000
--- a/debian/installer/armel/modules/armel-orion5x/usb-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <usb-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/usb-serial-modules b/debian/installer/armel/modules/armel-orion5x/usb-serial-modules
deleted file mode 100644
index c0a0dc3..0000000
--- a/debian/installer/armel/modules/armel-orion5x/usb-serial-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <usb-serial-modules>
diff --git a/debian/installer/armel/modules/armel-orion5x/usb-storage-modules b/debian/installer/armel/modules/armel-orion5x/usb-storage-modules
deleted file mode 100644
index 8c5e81b..0000000
--- a/debian/installer/armel/modules/armel-orion5x/usb-storage-modules
+++ /dev/null
@@ -1 +0,0 @@
-#include <usb-storage-modules>
diff --git a/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch b/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch
new file mode 100644
index 0000000..e06be35
--- /dev/null
+++ b/debian/patches/features/arm/arm-orion-always-use-multi_irq_handler.patch
@@ -0,0 +1,315 @@
+From: Arnd Bergmann <arnd at arndb.de>
+Date: Wed, 2 Dec 2015 22:27:04 +0100
+Subject: ARM: orion: always use MULTI_IRQ_HANDLER
+Origin: https://git.kernel.org/linus/b8cd337c8e0330f4a29b3d1f69b7c73b324b1f8d
+
+As a preparation for multiplatform support, this enables
+the MULTI_IRQ_HANDLER code unconditionally on dove and
+orion5x, and introduces the respective code on mv78xx0,
+which did not have it so far. The classic entry-macro.S
+files are removed as they are now obsolete.
+
+Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+Acked-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+[bwh: Adjust to apply on top of 4.4]
+---
+ arch/arm/Kconfig | 3 ++
+ arch/arm/mach-dove/include/mach/entry-macro.S | 33 -------------------
+ arch/arm/mach-dove/irq.c | 12 +------
+ arch/arm/mach-mv78xx0/include/mach/entry-macro.S | 41 ------------------------
+ arch/arm/mach-mv78xx0/irq.c | 33 +++++++++++++++++++
+ arch/arm/mach-orion5x/include/mach/entry-macro.S | 25 ---------------
+ arch/arm/mach-orion5x/irq.c | 11 -------
+ arch/arm/plat-orion/irq.c | 1 -
+ arch/arm/plat-orion/mpp.c | 1 -
+ 9 files changed, 37 insertions(+), 123 deletions(-)
+ delete mode 100644 arch/arm/mach-dove/include/mach/entry-macro.S
+ delete mode 100644 arch/arm/mach-mv78xx0/include/mach/entry-macro.S
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/entry-macro.S
+
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -512,6 +512,7 @@ config ARCH_DOVE
+ select CPU_PJ4
+ select GENERIC_CLOCKEVENTS
+ select MIGHT_HAVE_PCI
++ select MULTI_IRQ_HANDLER
+ select MVEBU_MBUS
+ select PINCTRL
+ select PINCTRL_DOVE
+@@ -525,6 +526,7 @@ config ARCH_MV78XX0
+ select CPU_FEROCEON
+ select GENERIC_CLOCKEVENTS
+ select MVEBU_MBUS
++ select MULTI_IRQ_HANDLER
+ select PCI
+ select PLAT_ORION_LEGACY
+ help
+@@ -538,6 +540,7 @@ config ARCH_ORION5X
+ select CPU_FEROCEON
+ select GENERIC_CLOCKEVENTS
+ select MVEBU_MBUS
++ select MULTI_IRQ_HANDLER
+ select PCI
+ select PLAT_ORION_LEGACY
+ select MULTI_IRQ_HANDLER
+--- a/arch/arm/mach-dove/include/mach/entry-macro.S
++++ /dev/null
+@@ -1,33 +0,0 @@
+-/*
+- * arch/arm/mach-dove/include/mach/entry-macro.S
+- *
+- * Low-level IRQ helper macros for Marvell Dove platforms
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#include <mach/bridge-regs.h>
+-
+- .macro get_irqnr_preamble, base, tmp
+- ldr \base, =IRQ_VIRT_BASE
+- .endm
+-
+- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+- @ check low interrupts
+- ldr \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
+- ldr \tmp, [\base, #IRQ_MASK_LOW_OFF]
+- mov \irqnr, #32
+- ands \irqstat, \irqstat, \tmp
+-
+- @ if no low interrupts set, check high interrupts
+- ldreq \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
+- ldreq \tmp, [\base, #IRQ_MASK_HIGH_OFF]
+- moveq \irqnr, #64
+- andeqs \irqstat, \irqstat, \tmp
+-
+- @ find first active interrupt source
+- clzne \irqstat, \irqstat
+- subne \irqnr, \irqnr, \irqstat
+- .endm
+--- a/arch/arm/mach-dove/irq.c
++++ b/arch/arm/mach-dove/irq.c
+@@ -13,6 +13,7 @@
+ #include <linux/irq.h>
+ #include <linux/gpio.h>
+ #include <linux/io.h>
++#include <asm/exception.h>
+ #include <asm/mach/arch.h>
+ #include <plat/irq.h>
+ #include <asm/mach/irq.h>
+@@ -109,14 +110,6 @@ static int __initdata gpio2_irqs[4] = {
+ 0,
+ };
+
+-#ifdef CONFIG_MULTI_IRQ_HANDLER
+-/*
+- * Compiling with both non-DT and DT support enabled, will
+- * break asm irq handler used by non-DT boards. Therefore,
+- * we provide a C-style irq handler even for non-DT boards,
+- * if MULTI_IRQ_HANDLER is set.
+- */
+-
+ static void __iomem *dove_irq_base = IRQ_VIRT_BASE;
+
+ static asmlinkage void
+@@ -139,7 +132,6 @@ __exception_irq_entry dove_legacy_handle
+ return;
+ }
+ }
+-#endif
+
+ void __init dove_init_irq(void)
+ {
+@@ -148,9 +140,7 @@ void __init dove_init_irq(void)
+ orion_irq_init(1, IRQ_VIRT_BASE + IRQ_MASK_LOW_OFF);
+ orion_irq_init(33, IRQ_VIRT_BASE + IRQ_MASK_HIGH_OFF);
+
+-#ifdef CONFIG_MULTI_IRQ_HANDLER
+ set_handle_irq(dove_legacy_handle_irq);
+-#endif
+
+ /*
+ * Initialize gpiolib for GPIOs 0-71.
+--- a/arch/arm/mach-mv78xx0/include/mach/entry-macro.S
++++ /dev/null
+@@ -1,41 +0,0 @@
+-/*
+- * arch/arm/mach-mv78xx0/include/mach/entry-macro.S
+- *
+- * Low-level IRQ helper macros for Marvell MV78xx0 platforms
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#include <mach/bridge-regs.h>
+-
+- .macro get_irqnr_preamble, base, tmp
+- ldr \base, =IRQ_VIRT_BASE
+- .endm
+-
+- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+- @ check low interrupts
+- ldr \irqstat, [\base, #IRQ_CAUSE_LOW_OFF]
+- ldr \tmp, [\base, #IRQ_MASK_LOW_OFF]
+- mov \irqnr, #31
+- ands \irqstat, \irqstat, \tmp
+- bne 1001f
+-
+- @ if no low interrupts set, check high interrupts
+- ldr \irqstat, [\base, #IRQ_CAUSE_HIGH_OFF]
+- ldr \tmp, [\base, #IRQ_MASK_HIGH_OFF]
+- mov \irqnr, #63
+- ands \irqstat, \irqstat, \tmp
+- bne 1001f
+-
+- @ if no high interrupts set, check error interrupts
+- ldr \irqstat, [\base, #IRQ_CAUSE_ERR_OFF]
+- ldr \tmp, [\base, #IRQ_MASK_ERR_OFF]
+- mov \irqnr, #95
+- ands \irqstat, \irqstat, \tmp
+-
+- @ find first active interrupt source
+-1001: clzne \irqstat, \irqstat
+- subne \irqnr, \irqnr, \irqstat
+- .endm
+--- a/arch/arm/mach-mv78xx0/irq.c
++++ b/arch/arm/mach-mv78xx0/irq.c
+@@ -11,6 +11,7 @@
+ #include <linux/kernel.h>
+ #include <linux/irq.h>
+ #include <linux/io.h>
++#include <asm/exception.h>
+ #include <mach/bridge-regs.h>
+ #include <plat/orion-gpio.h>
+ #include <plat/irq.h>
+@@ -23,12 +24,44 @@ static int __initdata gpio0_irqs[4] = {
+ IRQ_MV78XX0_GPIO_24_31,
+ };
+
++static void __iomem *mv78xx0_irq_base = IRQ_VIRT_BASE;
++
++static asmlinkage void
++__exception_irq_entry mv78xx0_legacy_handle_irq(struct pt_regs *regs)
++{
++ u32 stat;
++
++ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_LOW_OFF);
++ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_LOW_OFF);
++ if (stat) {
++ unsigned int hwirq = __fls(stat);
++ handle_IRQ(hwirq, regs);
++ return;
++ }
++ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_HIGH_OFF);
++ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_HIGH_OFF);
++ if (stat) {
++ unsigned int hwirq = 32 + __fls(stat);
++ handle_IRQ(hwirq, regs);
++ return;
++ }
++ stat = readl_relaxed(mv78xx0_irq_base + IRQ_CAUSE_ERR_OFF);
++ stat &= readl_relaxed(mv78xx0_irq_base + IRQ_MASK_ERR_OFF);
++ if (stat) {
++ unsigned int hwirq = 64 + __fls(stat);
++ handle_IRQ(hwirq, regs);
++ return;
++ }
++}
++
+ void __init mv78xx0_init_irq(void)
+ {
+ orion_irq_init(0, IRQ_VIRT_BASE + IRQ_MASK_LOW_OFF);
+ orion_irq_init(32, IRQ_VIRT_BASE + IRQ_MASK_HIGH_OFF);
+ orion_irq_init(64, IRQ_VIRT_BASE + IRQ_MASK_ERR_OFF);
+
++ set_handle_irq(mv78xx0_legacy_handle_irq);
++
+ /*
+ * Initialize gpiolib for GPIOs 0-31. (The GPIO interrupt mask
+ * registers for core #1 are at an offset of 0x18 from those of
+--- a/arch/arm/mach-orion5x/include/mach/entry-macro.S
++++ /dev/null
+@@ -1,25 +0,0 @@
+-/*
+- * arch/arm/mach-orion5x/include/mach/entry-macro.S
+- *
+- * Low-level IRQ helper macros for Orion platforms
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#include <mach/bridge-regs.h>
+-
+- .macro get_irqnr_preamble, base, tmp
+- ldr \base, =MAIN_IRQ_CAUSE
+- .endm
+-
+- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+- ldr \irqstat, [\base, #0] @ main cause
+- ldr \tmp, [\base, #(MAIN_IRQ_MASK - MAIN_IRQ_CAUSE)] @ main mask
+- mov \irqnr, #0 @ default irqnr
+- @ find cause bits that are unmasked
+- ands \irqstat, \irqstat, \tmp @ clear Z flag if any
+- clzne \irqnr, \irqstat @ calc irqnr
+- rsbne \irqnr, \irqnr, #32
+- .endm
+--- a/arch/arm/mach-orion5x/irq.c
++++ b/arch/arm/mach-orion5x/irq.c
+@@ -26,14 +26,6 @@ static int __initdata gpio0_irqs[4] = {
+ IRQ_ORION5X_GPIO_24_31,
+ };
+
+-#ifdef CONFIG_MULTI_IRQ_HANDLER
+-/*
+- * Compiling with both non-DT and DT support enabled, will
+- * break asm irq handler used by non-DT boards. Therefore,
+- * we provide a C-style irq handler even for non-DT boards,
+- * if MULTI_IRQ_HANDLER is set.
+- */
+-
+ asmlinkage void
+ __exception_irq_entry orion5x_legacy_handle_irq(struct pt_regs *regs)
+ {
+@@ -47,15 +39,12 @@ __exception_irq_entry orion5x_legacy_han
+ return;
+ }
+ }
+-#endif
+
+ void __init orion5x_init_irq(void)
+ {
+ orion_irq_init(1, MAIN_IRQ_MASK);
+
+-#ifdef CONFIG_MULTI_IRQ_HANDLER
+ set_handle_irq(orion5x_legacy_handle_irq);
+-#endif
+
+ /*
+ * Initialize gpiolib for GPIOs 0-31.
+--- a/arch/arm/plat-orion/irq.c
++++ b/arch/arm/plat-orion/irq.c
+@@ -18,7 +18,6 @@
+ #include <asm/exception.h>
+ #include <plat/irq.h>
+ #include <plat/orion-gpio.h>
+-#include <mach/bridge-regs.h>
+
+ void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr)
+ {
+--- a/arch/arm/plat-orion/mpp.c
++++ b/arch/arm/plat-orion/mpp.c
+@@ -13,7 +13,6 @@
+ #include <linux/mbus.h>
+ #include <linux/io.h>
+ #include <linux/gpio.h>
+-#include <mach/hardware.h>
+ #include <plat/orion-gpio.h>
+ #include <plat/mpp.h>
+
diff --git a/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch b/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
new file mode 100644
index 0000000..ffd61af
--- /dev/null
+++ b/debian/patches/features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
@@ -0,0 +1,132 @@
+From: Arnd Bergmann <arnd at arndb.de>
+Date: Wed, 2 Dec 2015 22:27:03 +0100
+Subject: ARM: orion: move watchdog setup to mach-orion5x
+Origin: https://git.kernel.org/linus/06f3008a6a7454389a82495eb1fc132c2b0710f6
+
+The watchdog device node is created in plat-orion/common.c
+but depends on the bridge address that is platform specific,
+so as a preparation for orion multiplatform support, we
+move it out of the common code into orion5x and dove.
+
+At the moment, dove does not use the watchdog, so I'm marking
+the function as __maybe_unused for the moment. The compiler
+will be able to compile out the device definition this way,
+and we can easily add it later.
+
+Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+Acked-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/mach-dove/common.c | 17 +++++++++++++++++
+ arch/arm/mach-orion5x/common.c | 14 +++++++++++++-
+ arch/arm/plat-orion/common.c | 21 ---------------------
+ arch/arm/plat-orion/include/plat/common.h | 2 --
+ 4 files changed, 30 insertions(+), 24 deletions(-)
+
+diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c
+index 0d1a892..25a682f 100644
+--- a/arch/arm/mach-dove/common.c
++++ b/arch/arm/mach-dove/common.c
+@@ -375,6 +375,23 @@ void __init dove_setup_cpu_wins(void)
+ DOVE_SCRATCHPAD_SIZE);
+ }
+
++static struct resource orion_wdt_resource[] = {
++ DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
++ DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
++};
++
++static struct platform_device orion_wdt_device = {
++ .name = "orion_wdt",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(orion_wdt_resource),
++ .resource = orion_wdt_resource,
++};
++
++static void __init __maybe_unused orion_wdt_init(void)
++{
++ platform_device_register(&orion_wdt_device);
++}
++
+ void __init dove_init(void)
+ {
+ pr_info("Dove 88AP510 SoC, TCLK = %d MHz.\n",
+diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
+index 6bbb7b5..2b7889e 100644
+--- a/arch/arm/mach-orion5x/common.c
++++ b/arch/arm/mach-orion5x/common.c
+@@ -184,9 +184,21 @@ static void __init orion5x_crypto_init(void)
+ /*****************************************************************************
+ * Watchdog
+ ****************************************************************************/
++static struct resource orion_wdt_resource[] = {
++ DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
++ DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
++};
++
++static struct platform_device orion_wdt_device = {
++ .name = "orion_wdt",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(orion_wdt_resource),
++ .resource = orion_wdt_resource,
++};
++
+ static void __init orion5x_wdt_init(void)
+ {
+- orion_wdt_init();
++ platform_device_register(&orion_wdt_device);
+ }
+
+
+diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
+index 8861c36..78c8bf4 100644
+--- a/arch/arm/plat-orion/common.c
++++ b/arch/arm/plat-orion/common.c
+@@ -21,7 +21,6 @@
+ #include <net/dsa.h>
+ #include <linux/platform_data/dma-mv_xor.h>
+ #include <linux/platform_data/usb-ehci-orion.h>
+-#include <mach/bridge-regs.h>
+ #include <plat/common.h>
+
+ /* Create a clkdev entry for a given device/clk */
+@@ -589,26 +588,6 @@ void __init orion_spi_1_init(unsigned long mapbase)
+ }
+
+ /*****************************************************************************
+- * Watchdog
+- ****************************************************************************/
+-static struct resource orion_wdt_resource[] = {
+- DEFINE_RES_MEM(TIMER_PHYS_BASE, 0x04),
+- DEFINE_RES_MEM(RSTOUTn_MASK_PHYS, 0x04),
+-};
+-
+-static struct platform_device orion_wdt_device = {
+- .name = "orion_wdt",
+- .id = -1,
+- .num_resources = ARRAY_SIZE(orion_wdt_resource),
+- .resource = orion_wdt_resource,
+-};
+-
+-void __init orion_wdt_init(void)
+-{
+- platform_device_register(&orion_wdt_device);
+-}
+-
+-/*****************************************************************************
+ * XOR
+ ****************************************************************************/
+ static u64 orion_xor_dmamask = DMA_BIT_MASK(32);
+diff --git a/arch/arm/plat-orion/include/plat/common.h b/arch/arm/plat-orion/include/plat/common.h
+index d9a24f6..9e6d76a 100644
+--- a/arch/arm/plat-orion/include/plat/common.h
++++ b/arch/arm/plat-orion/include/plat/common.h
+@@ -75,8 +75,6 @@ void __init orion_spi_init(unsigned long mapbase);
+
+ void __init orion_spi_1_init(unsigned long mapbase);
+
+-void __init orion_wdt_init(void);
+-
+ void __init orion_xor0_init(unsigned long mapbase_low,
+ unsigned long mapbase_high,
+ unsigned long irq_0,
diff --git a/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch b/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch
new file mode 100644
index 0000000..b175e41
--- /dev/null
+++ b/debian/patches/features/arm/arm-orion-use-sparse_irq-everywhere.patch
@@ -0,0 +1,392 @@
+From: Arnd Bergmann <arnd at arndb.de>
+Date: Wed, 2 Dec 2015 22:27:05 +0100
+Subject: ARM: orion: use SPARSE_IRQ everywhere
+Origin: https://git.kernel.org/linus/5cdbe5d23a8a0d7274d628bb9d5ff018d25075ca
+
+As a preparation for multiplatform support, this moves all the
+code using plat-orion over to use sparse irq support, which is
+enabled implicitly for multiplatform.
+
+In particular, the hardcoded NR_IRQS macro gets replaced with
+a machine specific one that is set in the machine descriptor
+in order to set up a static mapping for all legacy interrupts.
+
+Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+Acked-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/Kconfig | 3 +++
+ arch/arm/mach-dove/cm-a510.c | 1 +
+ arch/arm/mach-dove/dove-db-setup.c | 1 +
+ arch/arm/mach-dove/include/mach/dove.h | 2 ++
+ arch/arm/mach-dove/include/mach/irqs.h | 2 +-
+ arch/arm/mach-dove/include/mach/pm.h | 2 +-
+ arch/arm/mach-dove/irq.c | 2 +-
+ arch/arm/mach-mv78xx0/buffalo-wxl-setup.c | 1 +
+ arch/arm/mach-mv78xx0/db78x00-bp-setup.c | 1 +
+ arch/arm/mach-mv78xx0/include/mach/irqs.h | 2 +-
+ arch/arm/mach-mv78xx0/include/mach/mv78xx0.h | 2 ++
+ arch/arm/mach-mv78xx0/rd78x00-masa-setup.c | 1 +
+ arch/arm/mach-orion5x/db88f5281-setup.c | 1 +
+ arch/arm/mach-orion5x/dns323-setup.c | 1 +
+ arch/arm/mach-orion5x/include/mach/irqs.h | 2 +-
+ arch/arm/mach-orion5x/include/mach/orion5x.h | 2 ++
+ arch/arm/mach-orion5x/kurobox_pro-setup.c | 2 ++
+ arch/arm/mach-orion5x/ls-chl-setup.c | 1 +
+ arch/arm/mach-orion5x/ls_hgl-setup.c | 1 +
+ arch/arm/mach-orion5x/mv2120-setup.c | 1 +
+ arch/arm/mach-orion5x/net2big-setup.c | 1 +
+ arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 1 +
+ arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 1 +
+ arch/arm/mach-orion5x/rd88f5182-setup.c | 1 +
+ arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 1 +
+ arch/arm/mach-orion5x/terastation_pro2-setup.c | 1 +
+ arch/arm/mach-orion5x/ts209-setup.c | 1 +
+ arch/arm/mach-orion5x/ts409-setup.c | 1 +
+ arch/arm/mach-orion5x/ts78xx-setup.c | 1 +
+ arch/arm/mach-orion5x/wnr854t-setup.c | 1 +
+ arch/arm/mach-orion5x/wrt350n-v2-setup.c | 1 +
+ 31 files changed, 37 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -517,6 +517,7 @@ config ARCH_DOVE
+ select PINCTRL
+ select PINCTRL_DOVE
+ select PLAT_ORION_LEGACY
++ select SPARSE_IRQ
+ help
+ Support for the Marvell Dove SoC 88AP510
+
+@@ -529,6 +530,7 @@ config ARCH_MV78XX0
+ select MULTI_IRQ_HANDLER
+ select PCI
+ select PLAT_ORION_LEGACY
++ select SPARSE_IRQ
+ help
+ Support for the following Marvell MV78xx0 series SoCs:
+ MV781x0, MV782x0.
+@@ -544,6 +546,7 @@ config ARCH_ORION5X
+ select PCI
+ select PLAT_ORION_LEGACY
+ select MULTI_IRQ_HANDLER
++ select SPARSE_IRQ
+ help
+ Support for the following Marvell Orion 5x series SoCs:
+ Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
+--- a/arch/arm/mach-dove/cm-a510.c
++++ b/arch/arm/mach-dove/cm-a510.c
+@@ -88,6 +88,7 @@ static void __init cm_a510_init(void)
+
+ MACHINE_START(CM_A510, "Compulab CM-A510 Board")
+ .atag_offset = 0x100,
++ .nr_irqs = DOVE_NR_IRQS,
+ .init_machine = cm_a510_init,
+ .map_io = dove_map_io,
+ .init_early = dove_init_early,
+--- a/arch/arm/mach-dove/dove-db-setup.c
++++ b/arch/arm/mach-dove/dove-db-setup.c
+@@ -94,6 +94,7 @@ static void __init dove_db_init(void)
+
+ MACHINE_START(DOVE_DB, "Marvell DB-MV88AP510-BP Development Board")
+ .atag_offset = 0x100,
++ .nr_irqs = DOVE_NR_IRQS,
+ .init_machine = dove_db_init,
+ .map_io = dove_map_io,
+ .init_early = dove_init_early,
+--- a/arch/arm/mach-dove/include/mach/dove.h
++++ b/arch/arm/mach-dove/include/mach/dove.h
+@@ -11,6 +11,8 @@
+ #ifndef __ASM_ARCH_DOVE_H
+ #define __ASM_ARCH_DOVE_H
+
++#include <mach/irqs.h>
++
+ /*
+ * Marvell Dove address maps.
+ *
+--- a/arch/arm/mach-dove/include/mach/irqs.h
++++ b/arch/arm/mach-dove/include/mach/irqs.h
+@@ -90,7 +90,7 @@
+ #define NR_PMU_IRQS 7
+ #define IRQ_DOVE_RTC (IRQ_DOVE_PMU_START + 5)
+
+-#define NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS)
++#define DOVE_NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS)
+
+
+ #endif
+--- a/arch/arm/mach-dove/include/mach/pm.h
++++ b/arch/arm/mach-dove/include/mach/pm.h
+@@ -63,7 +63,7 @@ static inline int pmu_to_irq(int pin)
+
+ static inline int irq_to_pmu(int irq)
+ {
+- if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS)
++ if (IRQ_DOVE_PMU_START <= irq && irq < DOVE_NR_IRQS)
+ return irq - IRQ_DOVE_PMU_START;
+
+ return -EINVAL;
+--- a/arch/arm/mach-dove/irq.c
++++ b/arch/arm/mach-dove/irq.c
+@@ -160,7 +160,7 @@ void __init dove_init_irq(void)
+ writel(0, PMU_INTERRUPT_MASK);
+ writel(0, PMU_INTERRUPT_CAUSE);
+
+- for (i = IRQ_DOVE_PMU_START; i < NR_IRQS; i++) {
++ for (i = IRQ_DOVE_PMU_START; i < DOVE_NR_IRQS; i++) {
+ irq_set_chip_and_handler(i, &pmu_irq_chip, handle_level_irq);
+ irq_set_status_flags(i, IRQ_LEVEL);
+ irq_clear_status_flags(i, IRQ_NOREQUEST);
+--- a/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
++++ b/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
+@@ -146,6 +146,7 @@ subsys_initcall(wxl_pci_init);
+ MACHINE_START(TERASTATION_WXL, "Buffalo Nas WXL")
+ /* Maintainer: Sebastien Requiem <sebastien at requiem.fr> */
+ .atag_offset = 0x100,
++ .nr_irqs = MV78XX0_NR_IRQS,
+ .init_machine = wxl_init,
+ .map_io = mv78xx0_map_io,
+ .init_early = mv78xx0_init_early,
+--- a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
++++ b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
+@@ -94,6 +94,7 @@ subsys_initcall(db78x00_pci_init);
+ MACHINE_START(DB78X00_BP, "Marvell DB-78x00-BP Development Board")
+ /* Maintainer: Lennert Buytenhek <buytenh at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = MV78XX0_NR_IRQS,
+ .init_machine = db78x00_init,
+ .map_io = mv78xx0_map_io,
+ .init_early = mv78xx0_init_early,
+--- a/arch/arm/mach-mv78xx0/include/mach/irqs.h
++++ b/arch/arm/mach-mv78xx0/include/mach/irqs.h
+@@ -88,7 +88,7 @@
+ #define IRQ_MV78XX0_GPIO_START 96
+ #define NR_GPIO_IRQS 32
+
+-#define NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS)
++#define MV78XX0_NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS)
+
+
+ #endif
+--- a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
++++ b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
+@@ -12,6 +12,8 @@
+ #ifndef __ASM_ARCH_MV78XX0_H
+ #define __ASM_ARCH_MV78XX0_H
+
++#include "irqs.h"
++
+ /*
+ * Marvell MV78xx0 address maps.
+ *
+--- a/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
++++ b/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
+@@ -79,6 +79,7 @@ subsys_initcall(rd78x00_pci_init);
+ MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board")
+ /* Maintainer: Lennert Buytenhek <buytenh at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = MV78XX0_NR_IRQS,
+ .init_machine = rd78x00_masa_init,
+ .map_io = mv78xx0_map_io,
+ .init_early = mv78xx0_init_early,
+--- a/arch/arm/mach-orion5x/db88f5281-setup.c
++++ b/arch/arm/mach-orion5x/db88f5281-setup.c
+@@ -369,6 +369,7 @@ static void __init db88f5281_init(void)
+ MACHINE_START(DB88F5281, "Marvell Orion-2 Development Board")
+ /* Maintainer: Tzachi Perelstein <tzachi at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = db88f5281_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/dns323-setup.c
++++ b/arch/arm/mach-orion5x/dns323-setup.c
+@@ -666,6 +666,7 @@ static void __init dns323_init(void)
+ MACHINE_START(DNS323, "D-Link DNS-323")
+ /* Maintainer: Herbert Valerio Riedel <hvr at gnu.org> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = dns323_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/include/mach/irqs.h
++++ b/arch/arm/mach-orion5x/include/mach/irqs.h
+@@ -54,7 +54,7 @@
+ #define IRQ_ORION5X_GPIO_START 33
+ #define NR_GPIO_IRQS 32
+
+-#define NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
++#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
+
+
+ #endif
+--- a/arch/arm/mach-orion5x/include/mach/orion5x.h
++++ b/arch/arm/mach-orion5x/include/mach/orion5x.h
+@@ -14,6 +14,8 @@
+ #ifndef __ASM_ARCH_ORION5X_H
+ #define __ASM_ARCH_ORION5X_H
+
++#include <mach/irqs.h>
++
+ /*****************************************************************************
+ * Orion Address Maps
+ *
+--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
++++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
+@@ -383,6 +383,7 @@ static void __init kurobox_pro_init(void
+ MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro")
+ /* Maintainer: Ronen Shitrit <rshitrit at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = kurobox_pro_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+@@ -397,6 +398,7 @@ MACHINE_END
+ MACHINE_START(LINKSTATION_PRO, "Buffalo Linkstation Pro/Live")
+ /* Maintainer: Byron Bradley <byron.bbradley at gmail.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = kurobox_pro_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/ls-chl-setup.c
++++ b/arch/arm/mach-orion5x/ls-chl-setup.c
+@@ -320,6 +320,7 @@ static void __init lschl_init(void)
+ MACHINE_START(LINKSTATION_LSCHL, "Buffalo Linkstation LiveV3 (LS-CHL)")
+ /* Maintainer: Ash Hughes <ashley.hughes at blueyonder.co.uk> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = lschl_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/ls_hgl-setup.c
++++ b/arch/arm/mach-orion5x/ls_hgl-setup.c
+@@ -267,6 +267,7 @@ static void __init ls_hgl_init(void)
+ MACHINE_START(LINKSTATION_LS_HGL, "Buffalo Linkstation LS-HGL")
+ /* Maintainer: Zhu Qingsen <zhuqs at cn.fujistu.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = ls_hgl_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/mv2120-setup.c
++++ b/arch/arm/mach-orion5x/mv2120-setup.c
+@@ -232,6 +232,7 @@ static void __init mv2120_init(void)
+ MACHINE_START(MV2120, "HP Media Vault mv2120")
+ /* Maintainer: Martin Michlmayr <tbm at cyrius.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = mv2120_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/net2big-setup.c
++++ b/arch/arm/mach-orion5x/net2big-setup.c
+@@ -423,6 +423,7 @@ static void __init net2big_init(void)
+ /* Warning: LaCie use a wrong mach-type (0x20e=526) in their bootloader. */
+ MACHINE_START(NET2BIG, "LaCie 2Big Network")
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = net2big_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+@@ -169,6 +169,7 @@ subsys_initcall(rd88f5181l_fxo_pci_init)
+ MACHINE_START(RD88F5181L_FXO, "Marvell Orion-VoIP FXO Reference Design")
+ /* Maintainer: Nicolas Pitre <nico at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = rd88f5181l_fxo_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+@@ -181,6 +181,7 @@ subsys_initcall(rd88f5181l_ge_pci_init);
+ MACHINE_START(RD88F5181L_GE, "Marvell Orion-VoIP GE Reference Design")
+ /* Maintainer: Lennert Buytenhek <buytenh at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = rd88f5181l_ge_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
+@@ -281,6 +281,7 @@ static void __init rd88f5182_init(void)
+ MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
+ /* Maintainer: Ronen Shitrit <rshitrit at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = rd88f5182_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
++++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+@@ -119,6 +119,7 @@ subsys_initcall(rd88f6183ap_ge_pci_init)
+ MACHINE_START(RD88F6183AP_GE, "Marvell Orion-1-90 AP GE Reference Design")
+ /* Maintainer: Lennert Buytenhek <buytenh at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = rd88f6183ap_ge_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
++++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
+@@ -359,6 +359,7 @@ static void __init tsp2_init(void)
+ MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live")
+ /* Maintainer: Sylver Bruneau <sylver.bruneau at googlemail.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = tsp2_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/ts209-setup.c
++++ b/arch/arm/mach-orion5x/ts209-setup.c
+@@ -324,6 +324,7 @@ static void __init qnap_ts209_init(void)
+ MACHINE_START(TS209, "QNAP TS-109/TS-209")
+ /* Maintainer: Byron Bradley <byron.bbradley at gmail.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = qnap_ts209_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/ts409-setup.c
++++ b/arch/arm/mach-orion5x/ts409-setup.c
+@@ -313,6 +313,7 @@ static void __init qnap_ts409_init(void)
+ MACHINE_START(TS409, "QNAP TS-409")
+ /* Maintainer: Sylver Bruneau <sylver.bruneau at gmail.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = qnap_ts409_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/ts78xx-setup.c
++++ b/arch/arm/mach-orion5x/ts78xx-setup.c
+@@ -615,6 +615,7 @@ static void __init ts78xx_init(void)
+ MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
+ /* Maintainer: Alexander Clouter <alex at digriz.org.uk> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = ts78xx_init,
+ .map_io = ts78xx_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -174,6 +174,7 @@ subsys_initcall(wnr854t_pci_init);
+ MACHINE_START(WNR854T, "Netgear WNR854T")
+ /* Maintainer: Imre Kaloz <kaloz at openwrt.org> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = wnr854t_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+@@ -262,6 +262,7 @@ subsys_initcall(wrt350n_v2_pci_init);
+ MACHINE_START(WRT350N_V2, "Linksys WRT350N v2")
+ /* Maintainer: Lennert Buytenhek <buytenh at marvell.com> */
+ .atag_offset = 0x100,
++ .nr_irqs = ORION5X_NR_IRQS,
+ .init_machine = wrt350n_v2_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
diff --git a/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch b/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
new file mode 100644
index 0000000..6495781
--- /dev/null
+++ b/debian/patches/features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
@@ -0,0 +1,1020 @@
+From: Arnd Bergmann <arnd at arndb.de>
+Date: Wed, 2 Dec 2015 22:27:08 +0100
+Subject: ARM: orion5x: clean up mach/*.h headers
+Origin: https://git.kernel.org/linus/c22c2c6008d69ff2632f8a69c62782468c2bb5a0
+
+This is a simple move of all header files that are no longer
+included by anything else from the include/mach directory
+to the platform directory itself as preparation for
+multiplatform support.
+
+The mach/uncompress.h headers are left in place for now,
+and are mildly modified to be independent of the other
+headers. They will be removed entirely when ARCH_MULTIPLATFORM
+gets enabled and they become obsolete.
+
+Rather than updating the path names inside of the comments
+of each header, I delete those comments to avoid having to
+update them again, should they get moved or copied another
+time.
+
+Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+Acked-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/mach-orion5x/board-d2net.c | 2 +-
+ arch/arm/mach-orion5x/board-dt.c | 4 +-
+ arch/arm/mach-orion5x/board-mss2.c | 4 +-
+ arch/arm/mach-orion5x/board-rd88f5182.c | 2 +-
+ arch/arm/mach-orion5x/bridge-regs.h | 35 ++++++
+ arch/arm/mach-orion5x/common.c | 6 +-
+ arch/arm/mach-orion5x/db88f5281-setup.c | 2 +-
+ arch/arm/mach-orion5x/dns323-setup.c | 2 +-
+ arch/arm/mach-orion5x/include/mach/bridge-regs.h | 37 ------
+ arch/arm/mach-orion5x/include/mach/hardware.h | 14 ---
+ arch/arm/mach-orion5x/include/mach/irqs.h | 60 ---------
+ arch/arm/mach-orion5x/include/mach/orion5x.h | 148 -----------------------
+ arch/arm/mach-orion5x/include/mach/uncompress.h | 4 +-
+ arch/arm/mach-orion5x/irq.c | 2 +-
+ arch/arm/mach-orion5x/irqs.h | 58 +++++++++
+ arch/arm/mach-orion5x/kurobox_pro-setup.c | 2 +-
+ arch/arm/mach-orion5x/ls-chl-setup.c | 2 +-
+ arch/arm/mach-orion5x/ls_hgl-setup.c | 2 +-
+ arch/arm/mach-orion5x/mpp.c | 2 +-
+ arch/arm/mach-orion5x/mv2120-setup.c | 2 +-
+ arch/arm/mach-orion5x/net2big-setup.c | 2 +-
+ arch/arm/mach-orion5x/orion5x.h | 146 ++++++++++++++++++++++
+ arch/arm/mach-orion5x/pci.c | 2 +-
+ arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 2 +-
+ arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 2 +-
+ arch/arm/mach-orion5x/rd88f5182-setup.c | 2 +-
+ arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 2 +-
+ arch/arm/mach-orion5x/terastation_pro2-setup.c | 2 +-
+ arch/arm/mach-orion5x/ts209-setup.c | 2 +-
+ arch/arm/mach-orion5x/ts409-setup.c | 2 +-
+ arch/arm/mach-orion5x/ts78xx-setup.c | 2 +-
+ arch/arm/mach-orion5x/tsx09-common.c | 2 +-
+ arch/arm/mach-orion5x/wnr854t-setup.c | 2 +-
+ arch/arm/mach-orion5x/wrt350n-v2-setup.c | 2 +-
+ 34 files changed, 270 insertions(+), 292 deletions(-)
+ create mode 100644 arch/arm/mach-orion5x/bridge-regs.h
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/bridge-regs.h
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/hardware.h
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/irqs.h
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/orion5x.h
+ create mode 100644 arch/arm/mach-orion5x/irqs.h
+ create mode 100644 arch/arm/mach-orion5x/orion5x.h
+
+diff --git a/arch/arm/mach-orion5x/board-d2net.c b/arch/arm/mach-orion5x/board-d2net.c
+index 8a72841..a89376a 100644
+--- a/arch/arm/mach-orion5x/board-d2net.c
++++ b/arch/arm/mach-orion5x/board-d2net.c
+@@ -20,9 +20,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include <plat/orion-gpio.h>
+ #include "common.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * LaCie d2 Network Info
+diff --git a/arch/arm/mach-orion5x/board-dt.c b/arch/arm/mach-orion5x/board-dt.c
+index d087178..6f4c2c4 100644
+--- a/arch/arm/mach-orion5x/board-dt.c
++++ b/arch/arm/mach-orion5x/board-dt.c
+@@ -20,10 +20,10 @@
+ #include <asm/system_misc.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+-#include <mach/orion5x.h>
+-#include <mach/bridge-regs.h>
+ #include <plat/irq.h>
+ #include <plat/time.h>
++#include "orion5x.h"
++#include "bridge-regs.h"
+ #include "common.h"
+
+ static struct of_dev_auxdata orion5x_auxdata_lookup[] __initdata = {
+diff --git a/arch/arm/mach-orion5x/board-mss2.c b/arch/arm/mach-orion5x/board-mss2.c
+index 66f9c3b..79202fd 100644
+--- a/arch/arm/mach-orion5x/board-mss2.c
++++ b/arch/arm/mach-orion5x/board-mss2.c
+@@ -17,8 +17,8 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+-#include <mach/bridge-regs.h>
++#include "orion5x.h"
++#include "bridge-regs.h"
+ #include "common.h"
+
+ /*****************************************************************************
+diff --git a/arch/arm/mach-orion5x/board-rd88f5182.c b/arch/arm/mach-orion5x/board-rd88f5182.c
+index 270824b..b7b0f52 100644
+--- a/arch/arm/mach-orion5x/board-rd88f5182.c
++++ b/arch/arm/mach-orion5x/board-rd88f5182.c
+@@ -18,8 +18,8 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * RD-88F5182 Info
+diff --git a/arch/arm/mach-orion5x/bridge-regs.h b/arch/arm/mach-orion5x/bridge-regs.h
+new file mode 100644
+index 0000000..305598e
+--- /dev/null
++++ b/arch/arm/mach-orion5x/bridge-regs.h
+@@ -0,0 +1,35 @@
++/*
++ * Orion CPU Bridge Registers
++ *
++ * This file is licensed under the terms of the GNU General Public
++ * License version 2. This program is licensed "as is" without any
++ * warranty of any kind, whether express or implied.
++ */
++
++#ifndef __ASM_ARCH_BRIDGE_REGS_H
++#define __ASM_ARCH_BRIDGE_REGS_H
++
++#include "orion5x.h"
++
++#define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE + 0x100)
++
++#define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE + 0x104)
++
++#define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x108)
++#define RSTOUTn_MASK_PHYS (ORION5X_BRIDGE_PHYS_BASE + 0x108)
++
++#define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE + 0x10c)
++
++#define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x110)
++
++#define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE + 0x11C)
++
++#define BRIDGE_INT_TIMER1_CLR (~0x0004)
++
++#define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x200)
++
++#define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x204)
++
++#define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE + 0x300)
++#define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE + 0x300)
++#endif
+diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
+index 2b7889e..70c3366 100644
+--- a/arch/arm/mach-orion5x/common.c
++++ b/arch/arm/mach-orion5x/common.c
+@@ -27,14 +27,14 @@
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+ #include <asm/mach/time.h>
+-#include <mach/bridge-regs.h>
+-#include <mach/hardware.h>
+-#include <mach/orion5x.h>
+ #include <linux/platform_data/mtd-orion_nand.h>
+ #include <linux/platform_data/usb-ehci-orion.h>
+ #include <plat/time.h>
+ #include <plat/common.h>
++
++#include "bridge-regs.h"
+ #include "common.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * I/O Address Mapping
+diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c
+index 698528f..12f74b4 100644
+--- a/arch/arm/mach-orion5x/db88f5281-setup.c
++++ b/arch/arm/mach-orion5x/db88f5281-setup.c
+@@ -23,10 +23,10 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include <linux/platform_data/mtd-orion_nand.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * DB-88F5281 on board devices
+diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
+index 96a8c50..cd483bf 100644
+--- a/arch/arm/mach-orion5x/dns323-setup.c
++++ b/arch/arm/mach-orion5x/dns323-setup.c
+@@ -33,8 +33,8 @@
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+ #include <asm/system_info.h>
+-#include <mach/orion5x.h>
+ #include <plat/orion-gpio.h>
++#include "orion5x.h"
+ #include "common.h"
+ #include "mpp.h"
+
+diff --git a/arch/arm/mach-orion5x/include/mach/bridge-regs.h b/arch/arm/mach-orion5x/include/mach/bridge-regs.h
+deleted file mode 100644
+index 5766e3f..0000000
+--- a/arch/arm/mach-orion5x/include/mach/bridge-regs.h
++++ /dev/null
+@@ -1,37 +0,0 @@
+-/*
+- * arch/arm/mach-orion5x/include/mach/bridge-regs.h
+- *
+- * Orion CPU Bridge Registers
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#ifndef __ASM_ARCH_BRIDGE_REGS_H
+-#define __ASM_ARCH_BRIDGE_REGS_H
+-
+-#include <mach/orion5x.h>
+-
+-#define CPU_CONF (ORION5X_BRIDGE_VIRT_BASE + 0x100)
+-
+-#define CPU_CTRL (ORION5X_BRIDGE_VIRT_BASE + 0x104)
+-
+-#define RSTOUTn_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x108)
+-#define RSTOUTn_MASK_PHYS (ORION5X_BRIDGE_PHYS_BASE + 0x108)
+-
+-#define CPU_SOFT_RESET (ORION5X_BRIDGE_VIRT_BASE + 0x10c)
+-
+-#define BRIDGE_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x110)
+-
+-#define POWER_MNG_CTRL_REG (ORION5X_BRIDGE_VIRT_BASE + 0x11C)
+-
+-#define BRIDGE_INT_TIMER1_CLR (~0x0004)
+-
+-#define MAIN_IRQ_CAUSE (ORION5X_BRIDGE_VIRT_BASE + 0x200)
+-
+-#define MAIN_IRQ_MASK (ORION5X_BRIDGE_VIRT_BASE + 0x204)
+-
+-#define TIMER_VIRT_BASE (ORION5X_BRIDGE_VIRT_BASE + 0x300)
+-#define TIMER_PHYS_BASE (ORION5X_BRIDGE_PHYS_BASE + 0x300)
+-#endif
+diff --git a/arch/arm/mach-orion5x/include/mach/hardware.h b/arch/arm/mach-orion5x/include/mach/hardware.h
+deleted file mode 100644
+index 3957354..0000000
+--- a/arch/arm/mach-orion5x/include/mach/hardware.h
++++ /dev/null
+@@ -1,14 +0,0 @@
+-/*
+- * arch/arm/mach-orion5x/include/mach/hardware.h
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- */
+-
+-#ifndef __ASM_ARCH_HARDWARE_H
+-#define __ASM_ARCH_HARDWARE_H
+-
+-#include "orion5x.h"
+-
+-#endif
+diff --git a/arch/arm/mach-orion5x/include/mach/irqs.h b/arch/arm/mach-orion5x/include/mach/irqs.h
+deleted file mode 100644
+index 4b8703c..0000000
+--- a/arch/arm/mach-orion5x/include/mach/irqs.h
++++ /dev/null
+@@ -1,60 +0,0 @@
+-/*
+- * arch/arm/mach-orion5x/include/mach/irqs.h
+- *
+- * IRQ definitions for Orion SoC
+- *
+- * Maintainer: Tzachi Perelstein <tzachi at marvell.com>
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#ifndef __ASM_ARCH_IRQS_H
+-#define __ASM_ARCH_IRQS_H
+-
+-/*
+- * Orion Main Interrupt Controller
+- */
+-#define IRQ_ORION5X_BRIDGE (1 + 0)
+-#define IRQ_ORION5X_DOORBELL_H2C (1 + 1)
+-#define IRQ_ORION5X_DOORBELL_C2H (1 + 2)
+-#define IRQ_ORION5X_UART0 (1 + 3)
+-#define IRQ_ORION5X_UART1 (1 + 4)
+-#define IRQ_ORION5X_I2C (1 + 5)
+-#define IRQ_ORION5X_GPIO_0_7 (1 + 6)
+-#define IRQ_ORION5X_GPIO_8_15 (1 + 7)
+-#define IRQ_ORION5X_GPIO_16_23 (1 + 8)
+-#define IRQ_ORION5X_GPIO_24_31 (1 + 9)
+-#define IRQ_ORION5X_PCIE0_ERR (1 + 10)
+-#define IRQ_ORION5X_PCIE0_INT (1 + 11)
+-#define IRQ_ORION5X_USB1_CTRL (1 + 12)
+-#define IRQ_ORION5X_DEV_BUS_ERR (1 + 14)
+-#define IRQ_ORION5X_PCI_ERR (1 + 15)
+-#define IRQ_ORION5X_USB_BR_ERR (1 + 16)
+-#define IRQ_ORION5X_USB0_CTRL (1 + 17)
+-#define IRQ_ORION5X_ETH_RX (1 + 18)
+-#define IRQ_ORION5X_ETH_TX (1 + 19)
+-#define IRQ_ORION5X_ETH_MISC (1 + 20)
+-#define IRQ_ORION5X_ETH_SUM (1 + 21)
+-#define IRQ_ORION5X_ETH_ERR (1 + 22)
+-#define IRQ_ORION5X_IDMA_ERR (1 + 23)
+-#define IRQ_ORION5X_IDMA_0 (1 + 24)
+-#define IRQ_ORION5X_IDMA_1 (1 + 25)
+-#define IRQ_ORION5X_IDMA_2 (1 + 26)
+-#define IRQ_ORION5X_IDMA_3 (1 + 27)
+-#define IRQ_ORION5X_CESA (1 + 28)
+-#define IRQ_ORION5X_SATA (1 + 29)
+-#define IRQ_ORION5X_XOR0 (1 + 30)
+-#define IRQ_ORION5X_XOR1 (1 + 31)
+-
+-/*
+- * Orion General Purpose Pins
+- */
+-#define IRQ_ORION5X_GPIO_START 33
+-#define NR_GPIO_IRQS 32
+-
+-#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
+-
+-
+-#endif
+diff --git a/arch/arm/mach-orion5x/include/mach/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h
+deleted file mode 100644
+index 7be7c2e..0000000
+--- a/arch/arm/mach-orion5x/include/mach/orion5x.h
++++ /dev/null
+@@ -1,148 +0,0 @@
+-/*
+- * arch/arm/mach-orion5x/include/mach/orion5x.h
+- *
+- * Generic definitions of Orion SoC flavors:
+- * Orion-1, Orion-VoIP, Orion-NAS, Orion-2, and Orion-1-90.
+- *
+- * Maintainer: Tzachi Perelstein <tzachi at marvell.com>
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#ifndef __ASM_ARCH_ORION5X_H
+-#define __ASM_ARCH_ORION5X_H
+-
+-#include <mach/irqs.h>
+-
+-/*****************************************************************************
+- * Orion Address Maps
+- *
+- * phys
+- * e0000000 PCIe MEM space
+- * e8000000 PCI MEM space
+- * f0000000 PCIe WA space (Orion-1/Orion-NAS only)
+- * f1000000 on-chip peripheral registers
+- * f2000000 PCIe I/O space
+- * f2100000 PCI I/O space
+- * f2200000 SRAM dedicated for the crypto unit
+- * f4000000 device bus mappings (boot)
+- * fa000000 device bus mappings (cs0)
+- * fa800000 device bus mappings (cs2)
+- * fc000000 device bus mappings (cs0/cs1)
+- *
+- * virt phys size
+- * fe000000 f1000000 1M on-chip peripheral registers
+- * fee00000 f2000000 64K PCIe I/O space
+- * fee10000 f2100000 64K PCI I/O space
+- * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only)
+- ****************************************************************************/
+-#define ORION5X_REGS_PHYS_BASE 0xf1000000
+-#define ORION5X_REGS_VIRT_BASE IOMEM(0xfe000000)
+-#define ORION5X_REGS_SIZE SZ_1M
+-
+-#define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000
+-#define ORION5X_PCIE_IO_BUS_BASE 0x00000000
+-#define ORION5X_PCIE_IO_SIZE SZ_64K
+-
+-#define ORION5X_PCI_IO_PHYS_BASE 0xf2100000
+-#define ORION5X_PCI_IO_BUS_BASE 0x00010000
+-#define ORION5X_PCI_IO_SIZE SZ_64K
+-
+-#define ORION5X_SRAM_PHYS_BASE (0xf2200000)
+-#define ORION5X_SRAM_SIZE SZ_8K
+-
+-/* Relevant only for Orion-1/Orion-NAS */
+-#define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000
+-#define ORION5X_PCIE_WA_VIRT_BASE IOMEM(0xfd000000)
+-#define ORION5X_PCIE_WA_SIZE SZ_16M
+-
+-#define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000
+-#define ORION5X_PCIE_MEM_SIZE SZ_128M
+-
+-#define ORION5X_PCI_MEM_PHYS_BASE 0xe8000000
+-#define ORION5X_PCI_MEM_SIZE SZ_128M
+-
+-/*******************************************************************************
+- * Orion Registers Map
+- ******************************************************************************/
+-
+-#define ORION5X_DDR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x00000)
+-#define ORION5X_DDR_WINS_BASE (ORION5X_DDR_PHYS_BASE + 0x1500)
+-#define ORION5X_DDR_WINS_SZ (0x10)
+-#define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x00000)
+-#define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x10000)
+-#define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x10000)
+-#define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE + (x))
+-#define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100)
+-#define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x0600)
+-#define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x1000)
+-#define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2000)
+-#define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2000)
+-#define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2100)
+-#define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2100)
+-
+-#define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x20000)
+-#define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x20000)
+-#define ORION5X_BRIDGE_WINS_BASE (ORION5X_BRIDGE_PHYS_BASE)
+-#define ORION5X_BRIDGE_WINS_SZ (0x80)
+-
+-#define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x30000)
+-
+-#define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x40000)
+-
+-#define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x50000)
+-#define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x50000)
+-
+-#define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x60900)
+-#define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x60900)
+-
+-#define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x70000)
+-#define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x70000)
+-
+-#define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x80000)
+-#define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x80000)
+-
+-#define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x90000)
+-
+-#define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0xa0000)
+-#define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0xa0000)
+-
+-/*******************************************************************************
+- * Device Bus Registers
+- ******************************************************************************/
+-#define MPP_0_7_CTRL ORION5X_DEV_BUS_REG(0x000)
+-#define MPP_8_15_CTRL ORION5X_DEV_BUS_REG(0x004)
+-#define MPP_16_19_CTRL ORION5X_DEV_BUS_REG(0x050)
+-#define MPP_DEV_CTRL ORION5X_DEV_BUS_REG(0x008)
+-#define MPP_RESET_SAMPLE ORION5X_DEV_BUS_REG(0x010)
+-#define DEV_BANK_0_PARAM ORION5X_DEV_BUS_REG(0x45c)
+-#define DEV_BANK_1_PARAM ORION5X_DEV_BUS_REG(0x460)
+-#define DEV_BANK_2_PARAM ORION5X_DEV_BUS_REG(0x464)
+-#define DEV_BANK_BOOT_PARAM ORION5X_DEV_BUS_REG(0x46c)
+-#define DEV_BUS_CTRL ORION5X_DEV_BUS_REG(0x4c0)
+-#define DEV_BUS_INT_CAUSE ORION5X_DEV_BUS_REG(0x4d0)
+-#define DEV_BUS_INT_MASK ORION5X_DEV_BUS_REG(0x4d4)
+-
+-/*******************************************************************************
+- * Supported Devices & Revisions
+- ******************************************************************************/
+-/* Orion-1 (88F5181) and Orion-VoIP (88F5181L) */
+-#define MV88F5181_DEV_ID 0x5181
+-#define MV88F5181_REV_B1 3
+-#define MV88F5181L_REV_A0 8
+-#define MV88F5181L_REV_A1 9
+-/* Orion-NAS (88F5182) */
+-#define MV88F5182_DEV_ID 0x5182
+-#define MV88F5182_REV_A2 2
+-/* Orion-2 (88F5281) */
+-#define MV88F5281_DEV_ID 0x5281
+-#define MV88F5281_REV_D0 4
+-#define MV88F5281_REV_D1 5
+-#define MV88F5281_REV_D2 6
+-/* Orion-1-90 (88F6183) */
+-#define MV88F6183_DEV_ID 0x6183
+-#define MV88F6183_REV_B0 3
+-
+-#endif
+diff --git a/arch/arm/mach-orion5x/include/mach/uncompress.h b/arch/arm/mach-orion5x/include/mach/uncompress.h
+index abd26b5..25e5cb9 100644
+--- a/arch/arm/mach-orion5x/include/mach/uncompress.h
++++ b/arch/arm/mach-orion5x/include/mach/uncompress.h
+@@ -1,6 +1,4 @@
+ /*
+- * arch/arm/mach-orion5x/include/mach/uncompress.h
+- *
+ * Tzachi Perelstein <tzachi at marvell.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+@@ -9,8 +7,8 @@
+ */
+
+ #include <linux/serial_reg.h>
+-#include <mach/orion5x.h>
+
++#define UART0_PHYS_BASE (0xf1000000 + 0x12000)
+ #define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)
+
+ static void putc(const char c)
+diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c
+index 8678db1..de980ef 100644
+--- a/arch/arm/mach-orion5x/irq.c
++++ b/arch/arm/mach-orion5x/irq.c
+@@ -13,10 +13,10 @@
+ #include <linux/kernel.h>
+ #include <linux/irq.h>
+ #include <linux/io.h>
+-#include <mach/bridge-regs.h>
+ #include <plat/orion-gpio.h>
+ #include <plat/irq.h>
+ #include <asm/exception.h>
++#include "bridge-regs.h"
+ #include "common.h"
+
+ static int __initdata gpio0_irqs[4] = {
+diff --git a/arch/arm/mach-orion5x/irqs.h b/arch/arm/mach-orion5x/irqs.h
+new file mode 100644
+index 0000000..506c8e0
+--- /dev/null
++++ b/arch/arm/mach-orion5x/irqs.h
+@@ -0,0 +1,58 @@
++/*
++ * IRQ definitions for Orion SoC
++ *
++ * Maintainer: Tzachi Perelstein <tzachi at marvell.com>
++ *
++ * This file is licensed under the terms of the GNU General Public
++ * License version 2. This program is licensed "as is" without any
++ * warranty of any kind, whether express or implied.
++ */
++
++#ifndef __ASM_ARCH_IRQS_H
++#define __ASM_ARCH_IRQS_H
++
++/*
++ * Orion Main Interrupt Controller
++ */
++#define IRQ_ORION5X_BRIDGE (1 + 0)
++#define IRQ_ORION5X_DOORBELL_H2C (1 + 1)
++#define IRQ_ORION5X_DOORBELL_C2H (1 + 2)
++#define IRQ_ORION5X_UART0 (1 + 3)
++#define IRQ_ORION5X_UART1 (1 + 4)
++#define IRQ_ORION5X_I2C (1 + 5)
++#define IRQ_ORION5X_GPIO_0_7 (1 + 6)
++#define IRQ_ORION5X_GPIO_8_15 (1 + 7)
++#define IRQ_ORION5X_GPIO_16_23 (1 + 8)
++#define IRQ_ORION5X_GPIO_24_31 (1 + 9)
++#define IRQ_ORION5X_PCIE0_ERR (1 + 10)
++#define IRQ_ORION5X_PCIE0_INT (1 + 11)
++#define IRQ_ORION5X_USB1_CTRL (1 + 12)
++#define IRQ_ORION5X_DEV_BUS_ERR (1 + 14)
++#define IRQ_ORION5X_PCI_ERR (1 + 15)
++#define IRQ_ORION5X_USB_BR_ERR (1 + 16)
++#define IRQ_ORION5X_USB0_CTRL (1 + 17)
++#define IRQ_ORION5X_ETH_RX (1 + 18)
++#define IRQ_ORION5X_ETH_TX (1 + 19)
++#define IRQ_ORION5X_ETH_MISC (1 + 20)
++#define IRQ_ORION5X_ETH_SUM (1 + 21)
++#define IRQ_ORION5X_ETH_ERR (1 + 22)
++#define IRQ_ORION5X_IDMA_ERR (1 + 23)
++#define IRQ_ORION5X_IDMA_0 (1 + 24)
++#define IRQ_ORION5X_IDMA_1 (1 + 25)
++#define IRQ_ORION5X_IDMA_2 (1 + 26)
++#define IRQ_ORION5X_IDMA_3 (1 + 27)
++#define IRQ_ORION5X_CESA (1 + 28)
++#define IRQ_ORION5X_SATA (1 + 29)
++#define IRQ_ORION5X_XOR0 (1 + 30)
++#define IRQ_ORION5X_XOR1 (1 + 31)
++
++/*
++ * Orion General Purpose Pins
++ */
++#define IRQ_ORION5X_GPIO_START 33
++#define NR_GPIO_IRQS 32
++
++#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
++
++
++#endif
+diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
+index b1ebb37..9dc3f59 100644
+--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
++++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
+@@ -23,10 +23,10 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include <linux/platform_data/mtd-orion_nand.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * KUROBOX-PRO Info
+diff --git a/arch/arm/mach-orion5x/ls-chl-setup.c b/arch/arm/mach-orion5x/ls-chl-setup.c
+index cb8720e..dfdaa8a 100644
+--- a/arch/arm/mach-orion5x/ls-chl-setup.c
++++ b/arch/arm/mach-orion5x/ls-chl-setup.c
+@@ -22,9 +22,9 @@
+ #include <linux/gpio.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * Linkstation LS-CHL Info
+diff --git a/arch/arm/mach-orion5x/ls_hgl-setup.c b/arch/arm/mach-orion5x/ls_hgl-setup.c
+index 0ddfa23..47ba6e0 100644
+--- a/arch/arm/mach-orion5x/ls_hgl-setup.c
++++ b/arch/arm/mach-orion5x/ls_hgl-setup.c
+@@ -21,9 +21,9 @@
+ #include <linux/gpio.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * Linkstation LS-HGL Info
+diff --git a/arch/arm/mach-orion5x/mpp.c b/arch/arm/mach-orion5x/mpp.c
+index 5b70026..19ef185 100644
+--- a/arch/arm/mach-orion5x/mpp.c
++++ b/arch/arm/mach-orion5x/mpp.c
+@@ -11,8 +11,8 @@
+ #include <linux/kernel.h>
+ #include <linux/init.h>
+ #include <linux/io.h>
+-#include <mach/hardware.h>
+ #include <plat/mpp.h>
++#include "orion5x.h"
+ #include "mpp.h"
+ #include "common.h"
+
+diff --git a/arch/arm/mach-orion5x/mv2120-setup.c b/arch/arm/mach-orion5x/mv2120-setup.c
+index 11985dc..2bf8ec7 100644
+--- a/arch/arm/mach-orion5x/mv2120-setup.c
++++ b/arch/arm/mach-orion5x/mv2120-setup.c
+@@ -21,9 +21,9 @@
+ #include <linux/ata_platform.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ #define MV2120_NOR_BOOT_BASE 0xf4000000
+ #define MV2120_NOR_BOOT_SIZE SZ_512K
+diff --git a/arch/arm/mach-orion5x/net2big-setup.c b/arch/arm/mach-orion5x/net2big-setup.c
+index e91abcc..bf6be4c 100644
+--- a/arch/arm/mach-orion5x/net2big-setup.c
++++ b/arch/arm/mach-orion5x/net2big-setup.c
+@@ -24,10 +24,10 @@
+ #include <linux/delay.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+-#include <mach/orion5x.h>
+ #include <plat/orion-gpio.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * LaCie 2Big Network Info
+diff --git a/arch/arm/mach-orion5x/orion5x.h b/arch/arm/mach-orion5x/orion5x.h
+new file mode 100644
+index 0000000..3364df3
+--- /dev/null
++++ b/arch/arm/mach-orion5x/orion5x.h
+@@ -0,0 +1,146 @@
++/*
++ * Generic definitions of Orion SoC flavors:
++ * Orion-1, Orion-VoIP, Orion-NAS, Orion-2, and Orion-1-90.
++ *
++ * Maintainer: Tzachi Perelstein <tzachi at marvell.com>
++ *
++ * This file is licensed under the terms of the GNU General Public
++ * License version 2. This program is licensed "as is" without any
++ * warranty of any kind, whether express or implied.
++ */
++
++#ifndef __ASM_ARCH_ORION5X_H
++#define __ASM_ARCH_ORION5X_H
++
++#include "irqs.h"
++
++/*****************************************************************************
++ * Orion Address Maps
++ *
++ * phys
++ * e0000000 PCIe MEM space
++ * e8000000 PCI MEM space
++ * f0000000 PCIe WA space (Orion-1/Orion-NAS only)
++ * f1000000 on-chip peripheral registers
++ * f2000000 PCIe I/O space
++ * f2100000 PCI I/O space
++ * f2200000 SRAM dedicated for the crypto unit
++ * f4000000 device bus mappings (boot)
++ * fa000000 device bus mappings (cs0)
++ * fa800000 device bus mappings (cs2)
++ * fc000000 device bus mappings (cs0/cs1)
++ *
++ * virt phys size
++ * fe000000 f1000000 1M on-chip peripheral registers
++ * fee00000 f2000000 64K PCIe I/O space
++ * fee10000 f2100000 64K PCI I/O space
++ * fd000000 f0000000 16M PCIe WA space (Orion-1/Orion-NAS only)
++ ****************************************************************************/
++#define ORION5X_REGS_PHYS_BASE 0xf1000000
++#define ORION5X_REGS_VIRT_BASE IOMEM(0xfe000000)
++#define ORION5X_REGS_SIZE SZ_1M
++
++#define ORION5X_PCIE_IO_PHYS_BASE 0xf2000000
++#define ORION5X_PCIE_IO_BUS_BASE 0x00000000
++#define ORION5X_PCIE_IO_SIZE SZ_64K
++
++#define ORION5X_PCI_IO_PHYS_BASE 0xf2100000
++#define ORION5X_PCI_IO_BUS_BASE 0x00010000
++#define ORION5X_PCI_IO_SIZE SZ_64K
++
++#define ORION5X_SRAM_PHYS_BASE (0xf2200000)
++#define ORION5X_SRAM_SIZE SZ_8K
++
++/* Relevant only for Orion-1/Orion-NAS */
++#define ORION5X_PCIE_WA_PHYS_BASE 0xf0000000
++#define ORION5X_PCIE_WA_VIRT_BASE IOMEM(0xfd000000)
++#define ORION5X_PCIE_WA_SIZE SZ_16M
++
++#define ORION5X_PCIE_MEM_PHYS_BASE 0xe0000000
++#define ORION5X_PCIE_MEM_SIZE SZ_128M
++
++#define ORION5X_PCI_MEM_PHYS_BASE 0xe8000000
++#define ORION5X_PCI_MEM_SIZE SZ_128M
++
++/*******************************************************************************
++ * Orion Registers Map
++ ******************************************************************************/
++
++#define ORION5X_DDR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x00000)
++#define ORION5X_DDR_WINS_BASE (ORION5X_DDR_PHYS_BASE + 0x1500)
++#define ORION5X_DDR_WINS_SZ (0x10)
++#define ORION5X_DDR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x00000)
++#define ORION5X_DEV_BUS_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x10000)
++#define ORION5X_DEV_BUS_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x10000)
++#define ORION5X_DEV_BUS_REG(x) (ORION5X_DEV_BUS_VIRT_BASE + (x))
++#define GPIO_VIRT_BASE ORION5X_DEV_BUS_REG(0x0100)
++#define SPI_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x0600)
++#define I2C_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x1000)
++#define UART0_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2000)
++#define UART0_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2000)
++#define UART1_PHYS_BASE (ORION5X_DEV_BUS_PHYS_BASE + 0x2100)
++#define UART1_VIRT_BASE (ORION5X_DEV_BUS_VIRT_BASE + 0x2100)
++
++#define ORION5X_BRIDGE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x20000)
++#define ORION5X_BRIDGE_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x20000)
++#define ORION5X_BRIDGE_WINS_BASE (ORION5X_BRIDGE_PHYS_BASE)
++#define ORION5X_BRIDGE_WINS_SZ (0x80)
++
++#define ORION5X_PCI_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x30000)
++
++#define ORION5X_PCIE_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x40000)
++
++#define ORION5X_USB0_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x50000)
++#define ORION5X_USB0_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x50000)
++
++#define ORION5X_XOR_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x60900)
++#define ORION5X_XOR_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x60900)
++
++#define ORION5X_ETH_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x70000)
++#define ORION5X_ETH_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x70000)
++
++#define ORION5X_SATA_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x80000)
++#define ORION5X_SATA_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0x80000)
++
++#define ORION5X_CRYPTO_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0x90000)
++
++#define ORION5X_USB1_PHYS_BASE (ORION5X_REGS_PHYS_BASE + 0xa0000)
++#define ORION5X_USB1_VIRT_BASE (ORION5X_REGS_VIRT_BASE + 0xa0000)
++
++/*******************************************************************************
++ * Device Bus Registers
++ ******************************************************************************/
++#define MPP_0_7_CTRL ORION5X_DEV_BUS_REG(0x000)
++#define MPP_8_15_CTRL ORION5X_DEV_BUS_REG(0x004)
++#define MPP_16_19_CTRL ORION5X_DEV_BUS_REG(0x050)
++#define MPP_DEV_CTRL ORION5X_DEV_BUS_REG(0x008)
++#define MPP_RESET_SAMPLE ORION5X_DEV_BUS_REG(0x010)
++#define DEV_BANK_0_PARAM ORION5X_DEV_BUS_REG(0x45c)
++#define DEV_BANK_1_PARAM ORION5X_DEV_BUS_REG(0x460)
++#define DEV_BANK_2_PARAM ORION5X_DEV_BUS_REG(0x464)
++#define DEV_BANK_BOOT_PARAM ORION5X_DEV_BUS_REG(0x46c)
++#define DEV_BUS_CTRL ORION5X_DEV_BUS_REG(0x4c0)
++#define DEV_BUS_INT_CAUSE ORION5X_DEV_BUS_REG(0x4d0)
++#define DEV_BUS_INT_MASK ORION5X_DEV_BUS_REG(0x4d4)
++
++/*******************************************************************************
++ * Supported Devices & Revisions
++ ******************************************************************************/
++/* Orion-1 (88F5181) and Orion-VoIP (88F5181L) */
++#define MV88F5181_DEV_ID 0x5181
++#define MV88F5181_REV_B1 3
++#define MV88F5181L_REV_A0 8
++#define MV88F5181L_REV_A1 9
++/* Orion-NAS (88F5182) */
++#define MV88F5182_DEV_ID 0x5182
++#define MV88F5182_REV_A2 2
++/* Orion-2 (88F5281) */
++#define MV88F5281_DEV_ID 0x5281
++#define MV88F5281_REV_D0 4
++#define MV88F5281_REV_D1 5
++#define MV88F5281_REV_D2 6
++/* Orion-1-90 (88F6183) */
++#define MV88F6183_DEV_ID 0x6183
++#define MV88F6183_REV_B0 3
++
++#endif
+diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
+index b02f394..ecb998e 100644
+--- a/arch/arm/mach-orion5x/pci.c
++++ b/arch/arm/mach-orion5x/pci.c
+@@ -19,8 +19,8 @@
+ #include <asm/mach/pci.h>
+ #include <plat/pcie.h>
+ #include <plat/addr-map.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * Orion has one PCIe controller and one PCI controller.
+diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+index 69a6e5b..c742e7b 100644
+--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+@@ -20,9 +20,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * RD-88F5181L FXO Info
+diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+index e19f8b7..7e977b7 100644
+--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+@@ -21,9 +21,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * RD-88F5181L GE Info
+diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c
+index 180a4f9..fe3e67c 100644
+--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
++++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
+@@ -23,9 +23,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * RD-88F5182 Info
+diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+index cc5bdbe..4bf80dd 100644
+--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
++++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+@@ -22,8 +22,8 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
++#include "orion5x.h"
+
+ static struct mv643xx_eth_platform_data rd88f6183ap_ge_eth_data = {
+ .phy_addr = -1,
+diff --git a/arch/arm/mach-orion5x/terastation_pro2-setup.c b/arch/arm/mach-orion5x/terastation_pro2-setup.c
+index ad20575..deb5e29 100644
+--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
++++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
+@@ -22,9 +22,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+
+ /*****************************************************************************
+ * Terastation Pro 2/Live Info
+diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c
+index 1cfc364..7bd671b 100644
+--- a/arch/arm/mach-orion5x/ts209-setup.c
++++ b/arch/arm/mach-orion5x/ts209-setup.c
+@@ -25,9 +25,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+ #include "tsx09-common.h"
+
+ #define QNAP_TS209_NOR_BOOT_BASE 0xf4000000
+diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c
+index bc985cf..a77613b 100644
+--- a/arch/arm/mach-orion5x/ts409-setup.c
++++ b/arch/arm/mach-orion5x/ts409-setup.c
+@@ -27,9 +27,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+ #include "tsx09-common.h"
+
+ /*****************************************************************************
+diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
+index 5a61a66..b67ace4 100644
+--- a/arch/arm/mach-orion5x/ts78xx-setup.c
++++ b/arch/arm/mach-orion5x/ts78xx-setup.c
+@@ -23,9 +23,9 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+-#include <mach/orion5x.h>
+ #include "common.h"
+ #include "mpp.h"
++#include "orion5x.h"
+ #include "ts78xx-fpga.h"
+
+ /*****************************************************************************
+diff --git a/arch/arm/mach-orion5x/tsx09-common.c b/arch/arm/mach-orion5x/tsx09-common.c
+index d42e006..8977498 100644
+--- a/arch/arm/mach-orion5x/tsx09-common.c
++++ b/arch/arm/mach-orion5x/tsx09-common.c
+@@ -15,7 +15,7 @@
+ #include <linux/mv643xx_eth.h>
+ #include <linux/timex.h>
+ #include <linux/serial_reg.h>
+-#include <mach/orion5x.h>
++#include "orion5x.h"
+ #include "tsx09-common.h"
+ #include "common.h"
+
+diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c
+index bcc6e12..4e1e5c8 100644
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -19,7 +19,7 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
++#include "orion5x.h"
+ #include "common.h"
+ #include "mpp.h"
+
+diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+index 4068d7a..61e9027 100644
+--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+@@ -22,7 +22,7 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/pci.h>
+-#include <mach/orion5x.h>
++#include "orion5x.h"
+ #include "common.h"
+ #include "mpp.h"
+
diff --git a/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch b/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch
new file mode 100644
index 0000000..a0bde91
--- /dev/null
+++ b/debian/patches/features/arm/arm-orion5x-multiplatform-support.patch
@@ -0,0 +1,147 @@
+From: Arnd Bergmann <arnd at arndb.de>
+Date: Wed, 2 Dec 2015 22:27:09 +0100
+Subject: ARM: orion5x: multiplatform support
+Origin: https://git.kernel.org/linus/63cddd25fa02dbba294fb09f78ea24d7a9f1c7d9
+
+The orion5x platform is now ready to be enabled for multiplatform
+support, this patch does the switch over by modifying the Kconfig file,
+the defconfig and removing the last mach/*.h header that becomes obsolete
+with this.
+
+Signed-off-by: Arnd Bergmann <arnd at arndb.de>
+Acked-by: Andrew Lunn <andrew at lunn.ch>
+Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+---
+ arch/arm/Kconfig | 17 ---------
+ arch/arm/configs/orion5x_defconfig | 3 ++
+ arch/arm/mach-orion5x/Kconfig | 18 +++++++---
+ arch/arm/mach-orion5x/Makefile | 2 ++
+ arch/arm/mach-orion5x/include/mach/uncompress.h | 46 -------------------------
+ 5 files changed, 19 insertions(+), 67 deletions(-)
+ delete mode 100644 arch/arm/mach-orion5x/include/mach/uncompress.h
+
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -535,23 +535,6 @@ config ARCH_MV78XX0
+ Support for the following Marvell MV78xx0 series SoCs:
+ MV781x0, MV782x0.
+
+-config ARCH_ORION5X
+- bool "Marvell Orion"
+- depends on MMU
+- select ARCH_REQUIRE_GPIOLIB
+- select CPU_FEROCEON
+- select GENERIC_CLOCKEVENTS
+- select MVEBU_MBUS
+- select MULTI_IRQ_HANDLER
+- select PCI
+- select PLAT_ORION_LEGACY
+- select MULTI_IRQ_HANDLER
+- select SPARSE_IRQ
+- help
+- Support for the following Marvell Orion 5x series SoCs:
+- Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
+- Orion-2 (5281), Orion-1-90 (6183).
+-
+ config ARCH_MMP
+ bool "Marvell PXA168/910/MMP2"
+ depends on MMU
+--- a/arch/arm/configs/orion5x_defconfig
++++ b/arch/arm/configs/orion5x_defconfig
+@@ -13,6 +13,9 @@ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_BLK_DEV_BSG is not set
+ CONFIG_PARTITION_ADVANCED=y
+ CONFIG_BSD_DISKLABEL=y
++CONFIG_ARCH_MULTI_V5=y
++# CONFIG_ARCH_MULTI_V6 is not set
++# CONFIG_ARCH_MULTI_V7 is not set
+ CONFIG_ARCH_ORION5X=y
+ CONFIG_ARCH_ORION5X_DT=y
+ CONFIG_MACH_DB88F5281=y
+--- a/arch/arm/mach-orion5x/Kconfig
++++ b/arch/arm/mach-orion5x/Kconfig
+@@ -1,6 +1,18 @@
+-if ARCH_ORION5X
++menuconfig ARCH_ORION5X
++ bool "Marvell Orion"
++ depends on MMU && ARCH_MULTI_V5
++ select ARCH_REQUIRE_GPIOLIB
++ select CPU_FEROCEON
++ select GENERIC_CLOCKEVENTS
++ select MVEBU_MBUS
++ select PCI
++ select PLAT_ORION_LEGACY
++ help
++ Support for the following Marvell Orion 5x series SoCs:
++ Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
++ Orion-2 (5281), Orion-1-90 (6183).
+
+-menu "Orion Implementations"
++if ARCH_ORION5X
+
+ config ARCH_ORION5X_DT
+ bool "Marvell Orion5x Flattened Device Tree"
+@@ -163,6 +175,4 @@ config MACH_RD88F6183AP_GE
+ Say 'Y' here if you want your kernel to support the
+ Marvell Orion-1-90 (88F6183) AP GE RD.
+
+-endmenu
+-
+ endif
+--- a/arch/arm/mach-orion5x/Makefile
++++ b/arch/arm/mach-orion5x/Makefile
+@@ -1,3 +1,5 @@
++ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-orion/include
++
+ obj-y += common.o pci.o irq.o mpp.o
+ obj-$(CONFIG_MACH_DB88F5281) += db88f5281-setup.o
+ obj-$(CONFIG_MACH_RD88F5182) += rd88f5182-setup.o
+--- a/arch/arm/mach-orion5x/include/mach/uncompress.h
++++ /dev/null
+@@ -1,46 +0,0 @@
+-/*
+- * Tzachi Perelstein <tzachi at marvell.com>
+- *
+- * This file is licensed under the terms of the GNU General Public
+- * License version 2. This program is licensed "as is" without any
+- * warranty of any kind, whether express or implied.
+- */
+-
+-#include <linux/serial_reg.h>
+-
+-#define UART0_PHYS_BASE (0xf1000000 + 0x12000)
+-#define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)
+-
+-static void putc(const char c)
+-{
+- unsigned char *base = SERIAL_BASE;
+- int i;
+-
+- for (i = 0; i < 0x1000; i++) {
+- if (base[UART_LSR << 2] & UART_LSR_THRE)
+- break;
+- barrier();
+- }
+-
+- base[UART_TX << 2] = c;
+-}
+-
+-static void flush(void)
+-{
+- unsigned char *base = SERIAL_BASE;
+- unsigned char mask;
+- int i;
+-
+- mask = UART_LSR_TEMT | UART_LSR_THRE;
+-
+- for (i = 0; i < 0x1000; i++) {
+- if ((base[UART_LSR << 2] & mask) == mask)
+- break;
+- barrier();
+- }
+-}
+-
+-/*
+- * nothing to do
+- */
+-#define arch_decomp_setup()
diff --git a/debian/patches/series b/debian/patches/series
index 8929609..d6a5a28 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -79,6 +79,11 @@ features/arm/rpi/arm-bcm2835-move-the-cpu-peripheral-include-out-of-c.patch
features/arm/rpi/arm-bcm2835-add-devicetree-for-bcm2836-and-raspberry.patch
features/arm/rpi/arm-bcm2835-add-the-auxiliary-clocks-to-the-device-t.patch
features/sparc/hwrng-n2-attach-on-t5-m5-t7-m7-sparc-cpus.patch
+features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
+features/arm/arm-orion-always-use-multi_irq_handler.patch
+features/arm/arm-orion-use-sparse_irq-everywhere.patch
+features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
+features/arm/arm-orion5x-multiplatform-support.patch
# Miscellaneous bug fixes
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list