From e23f27b72d3dc4966ff1a218c4426d96b96366ff Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 20 Jul 2014 09:42:14 +0000 Subject: [PATCH] orion: Update kernel to 3.10.44 Update the kernel of the orion target to version 3.10.44. Refresh orion config and patches to match the changes in the kernel Tested on WRT350N-v2 device. Signed-off-by: Maarten Bezemer [run make kernel_oldconfig, fold a01-dt2-fixes-for-3.3.patch into dt2-setup.c, make dt2-setup.c compile, fix harddisk subprofile] Signed-off-by: Hauke Mehrtens SVN-Revision: 41765 --- target/linux/orion/Makefile | 2 +- target/linux/orion/config-default | 65 ++++++++++++++----- .../files/arch/arm/mach-orion5x/dt2-setup.c | 17 +++-- target/linux/orion/harddisk/config-default | 2 + .../orion/patches/200-dt2_board_support.patch | 4 +- .../orion/patches/210-wn802t_support.patch | 10 +-- .../400-fix-section-mismatch-warnings.patch | 22 +------ .../orion/patches/a01-dt2-fixes-for-3.3.patch | 34 ---------- 8 files changed, 67 insertions(+), 89 deletions(-) delete mode 100644 target/linux/orion/patches/a01-dt2-fixes-for-3.3.patch diff --git a/target/linux/orion/Makefile b/target/linux/orion/Makefile index 41fd875cda..a0f435aa11 100644 --- a/target/linux/orion/Makefile +++ b/target/linux/orion/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=Marvell Orion SUBTARGETS:=generic harddisk MAINTAINER:=Imre Kaloz -LINUX_VERSION:=3.3.8 +LINUX_VERSION:=3.10.44 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/orion/config-default b/target/linux/orion/config-default index 9871bae177..2282cfe745 100644 --- a/target/linux/orion/config-default +++ b/target/linux/orion/config-default @@ -1,12 +1,15 @@ CONFIG_ALIGNMENT_TRAP=y CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set CONFIG_ARCH_NR_GPIO=0 CONFIG_ARCH_ORION5X=y +# CONFIG_ARCH_ORION5X_DT is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set -# CONFIG_ARCH_USES_GETTIMEOFFSET is not set +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARM=y # CONFIG_ARM_CPU_SUSPEND is not set CONFIG_ARM_L1_CACHE_SHIFT=5 @@ -14,11 +17,15 @@ CONFIG_ARM_NR_BANKS=8 CONFIG_ARM_PATCH_PHYS_VIRT=y # CONFIG_ARM_THUMB is not set # CONFIG_ARPD is not set +CONFIG_ATAGS=y CONFIG_AUTO_ZRELADDR=y # CONFIG_CACHE_L2X0 is not set +CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_MMIO=y +CONFIG_CLONE_BACKWARDS=y CONFIG_CMDLINE="rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200" CONFIG_CMDLINE_FORCE=y +CONFIG_COMMON_CLK=y CONFIG_CPU_32v5=y CONFIG_CPU_ABRT_EV5T=y CONFIG_CPU_CACHE_VIVT=y @@ -31,9 +38,6 @@ CONFIG_CPU_FEROCEON_OLD_ID=y CONFIG_CPU_PABRT_LEGACY=y CONFIG_CPU_TLB_FEROCEON=y CONFIG_CPU_USE_DOMAINS=y -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_DEV_MV_CESA=y CONFIG_CRYPTO_HASH=y @@ -41,30 +45,46 @@ CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # CONFIG_DEBUG_USER is not set -CONFIG_DECOMPRESS_LZMA=y CONFIG_DNOTIFY=y CONFIG_FRAME_POINTER=y CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y CONFIG_GPIO_SYSFS=y # CONFIG_HAMRADIO is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y -CONFIG_HAVE_AOUT=y +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_HAVE_BPF_JIT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y @@ -72,31 +92,33 @@ CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_GENERIC_HARDIRQS=y CONFIG_HAVE_IDE=y -CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_HAVE_PROC_CPU=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_SCHED_CLOCK=y -CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_HZ_PERIODIC=y CONFIG_INET_LRO=y CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_WORK=y CONFIG_KTIME_SCALAR=y CONFIG_LEDS_GPIO=y -# CONFIG_LZO_COMPRESS is not set -# CONFIG_LZO_DECOMPRESS is not set # CONFIG_MACH_BIGDISK is not set # CONFIG_MACH_D2NET is not set # CONFIG_MACH_DB88F5281 is not set # CONFIG_MACH_DNS323 is not set # CONFIG_MACH_DT2 is not set -# CONFIG_MACH_EDMINI_V2 is not set +# CONFIG_MACH_EDMINI_V2_DT is not set # CONFIG_MACH_KUROBOX_PRO is not set # CONFIG_MACH_LINKSTATION_LSCHL is not set # CONFIG_MACH_LINKSTATION_LS_HGL is not set @@ -117,29 +139,38 @@ CONFIG_MACH_WN802T=y CONFIG_MACH_WNR854T=y CONFIG_MACH_WRT350N_V2=y CONFIG_MDIO_BOARDINFO=y +CONFIG_MODULES_USE_ELF_REL=y CONFIG_MTD_PHYSMAP=y CONFIG_MV643XX_ETH=y +CONFIG_MVEBU_MBUS=y +CONFIG_MVMDIO=y CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_KUSER_HELPERS=y CONFIG_NEED_PER_CPU_KM=y CONFIG_NET_DSA=y -# CONFIG_NET_DSA_MV88E6060 is not set CONFIG_NET_DSA_MV88E6131=y CONFIG_NET_DSA_MV88E6XXX=y CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_TAG_DSA=y -# CONFIG_NET_DSA_TAG_TRAILER is not set -# CONFIG_NET_VENDOR_3COM is not set +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_PCI=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PHYLIB=y CONFIG_PLAT_ORION=y +CONFIG_PLAT_ORION_LEGACY=y # CONFIG_PREEMPT_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +CONFIG_SCHED_HRTICK=y # CONFIG_SCSI_DMA is not set CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UID16=y +CONFIG_UIDGID_CONVERTED=y +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" CONFIG_USB_ARCH_HAS_XHCI=y CONFIG_USB_SUPPORT=y CONFIG_VECTORS_BASE=0xffff0000 diff --git a/target/linux/orion/files/arch/arm/mach-orion5x/dt2-setup.c b/target/linux/orion/files/arch/arm/mach-orion5x/dt2-setup.c index a3d9c82dc9..b341ed66e9 100644 --- a/target/linux/orion/files/arch/arm/mach-orion5x/dt2-setup.c +++ b/target/linux/orion/files/arch/arm/mach-orion5x/dt2-setup.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -146,7 +145,7 @@ void __init dt2_pci_preinit(void) } } -static int __init dt2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) +static int __init dt2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq; @@ -183,7 +182,6 @@ static int __init dt2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) static struct hw_pci dt2_pci __initdata = { .nr_controllers = 2, .preinit = dt2_pci_preinit, - .swizzle = pci_std_swizzle, .setup = orion5x_pci_sys_setup, .scan = orion5x_pci_sys_scan_bus, .map_irq = dt2_pci_map_irq, @@ -328,10 +326,12 @@ static void __init dt2_init(void) i2c_register_board_info(0, &dt2_i2c_rtc, 1); - orion5x_setup_dev_boot_win(DT2_NOR_BOOT_BASE, DT2_NOR_BOOT_SIZE); + mvebu_mbus_add_window("devbus-boot", DT2_NOR_BOOT_BASE, + DT2_NOR_BOOT_SIZE); + platform_device_register(&dt2_nor_flash); - orion5x_setup_dev0_win(DT2_LEDS_BASE, DT2_LEDS_SIZE); + mvebu_mbus_add_window("devbus-cs0", DT2_LEDS_BASE, DT2_LEDS_SIZE); platform_device_register(&dt2_leds); if (request_irq(gpio_to_irq(DT2_PIN_GPIO_RESET), &dt2_reset_handler, @@ -383,8 +383,7 @@ __tagtable(ATAG_MV_UBOOT, parse_tag_dt2_uboot); * * Vanilla kernel should use "tag_fixup_mem32" function. */ -void __init openwrt_fixup(struct machine_desc *mdesc, struct tag *t, - char **from, struct meminfo *meminfo) +void __init openwrt_fixup(struct tag *t, char **from, struct meminfo *meminfo) { char *p = NULL; static char openwrt_init_tag[] __initdata = " init=/etc/preinit"; @@ -437,10 +436,10 @@ void __init openwrt_fixup(struct machine_desc *mdesc, struct tag *t, /* Warning: Freecom uses their own custom bootloader with mach-type (=1500) */ MACHINE_START(DT2, "Freecom DataTank Gateway") /* Maintainer: Zintis Petersons */ - .boot_params = 0x00000100, + .atag_offset = 0x100, .init_machine = dt2_init, .map_io = orion5x_map_io, .init_irq = orion5x_init_irq, - .timer = &orion5x_timer, + .init_time = orion5x_timer_init, .fixup = openwrt_fixup, //tag_fixup_mem32, MACHINE_END diff --git a/target/linux/orion/harddisk/config-default b/target/linux/orion/harddisk/config-default index e29bc008bf..bf6cee1715 100644 --- a/target/linux/orion/harddisk/config-default +++ b/target/linux/orion/harddisk/config-default @@ -32,5 +32,7 @@ CONFIG_SCSI_DMA=y CONFIG_USB=y CONFIG_USB_COMMON=y CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_ORION=y +CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_STORAGE=y # CONFIG_USB_UHCI_HCD is not set diff --git a/target/linux/orion/patches/200-dt2_board_support.patch b/target/linux/orion/patches/200-dt2_board_support.patch index 91909abac0..a6606d59c0 100644 --- a/target/linux/orion/patches/200-dt2_board_support.patch +++ b/target/linux/orion/patches/200-dt2_board_support.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-orion5x/Kconfig +++ b/arch/arm/mach-orion5x/Kconfig -@@ -16,6 +16,13 @@ config MACH_RD88F5182 +@@ -23,6 +23,13 @@ config MACH_RD88F5182 Say 'Y' here if you want your kernel to support the Marvell Orion-NAS (88F5182) RD2 @@ -16,7 +16,7 @@ select I2C_BOARDINFO --- a/arch/arm/mach-orion5x/Makefile +++ b/arch/arm/mach-orion5x/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_MACH_BIGDISK) += d2net-setu +@@ -17,6 +17,7 @@ obj-$(CONFIG_MACH_BIGDISK) += d2net-setu obj-$(CONFIG_MACH_NET2BIG) += net2big-setup.o obj-$(CONFIG_MACH_MSS2) += mss2-setup.o obj-$(CONFIG_MACH_WNR854T) += wnr854t-setup.o diff --git a/target/linux/orion/patches/210-wn802t_support.patch b/target/linux/orion/patches/210-wn802t_support.patch index 7fd908bc5d..bf1e868f80 100644 --- a/target/linux/orion/patches/210-wn802t_support.patch +++ b/target/linux/orion/patches/210-wn802t_support.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-orion5x/Kconfig +++ b/arch/arm/mach-orion5x/Kconfig -@@ -139,10 +139,13 @@ config MACH_MSS2 +@@ -146,10 +146,13 @@ config MACH_MSS2 Maxtor Shared Storage II platform. config MACH_WNR854T @@ -47,8 +47,8 @@ + orion5x_uart0_init(); - orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE, -@@ -167,7 +181,7 @@ static struct hw_pci wnr854t_pci __initd + mvebu_mbus_add_window("devbus-boot", WNR854T_NOR_BOOT_BASE, +@@ -166,7 +180,7 @@ static struct hw_pci wnr854t_pci __initd static int __init wnr854t_pci_init(void) { @@ -57,14 +57,14 @@ pci_common_init(&wnr854t_pci); return 0; -@@ -178,6 +192,18 @@ MACHINE_START(WNR854T, "Netgear WNR854T" +@@ -177,6 +191,18 @@ MACHINE_START(WNR854T, "Netgear WNR854T" /* Maintainer: Imre Kaloz */ .atag_offset = 0x100, .init_machine = wnr854t_init, + .map_io = orion5x_map_io, + .init_early = orion5x_init_early, + .init_irq = orion5x_init_irq, -+ .timer = &orion5x_timer, ++ .init_time = orion5x_timer_init, + .fixup = tag_fixup_mem32, + .restart = orion5x_restart, +MACHINE_END diff --git a/target/linux/orion/patches/400-fix-section-mismatch-warnings.patch b/target/linux/orion/patches/400-fix-section-mismatch-warnings.patch index 84ca91f0a5..f0685d3751 100644 --- a/target/linux/orion/patches/400-fix-section-mismatch-warnings.patch +++ b/target/linux/orion/patches/400-fix-section-mismatch-warnings.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c -@@ -192,7 +192,7 @@ void __init orion5x_init_early(void) +@@ -242,7 +242,7 @@ void orion5x_setup_wins(void) int orion5x_tclk; @@ -9,23 +9,3 @@ { u32 dev, rev; -@@ -204,7 +204,7 @@ int __init orion5x_find_tclk(void) - return 166666667; - } - --static void orion5x_timer_init(void) -+static __init void orion5x_timer_init(void) - { - orion5x_tclk = orion5x_find_tclk(); - ---- a/arch/arm/mach-orion5x/addr-map.c -+++ b/arch/arm/mach-orion5x/addr-map.c -@@ -76,7 +76,7 @@ static int __init cpu_win_can_remap(cons - /* - * Description of the windows needed by the platform code - */ --static struct __initdata orion_addr_map_cfg addr_map_cfg = { -+static struct orion_addr_map_cfg addr_map_cfg __initdata = { - .num_wins = 8, - .cpu_win_can_remap = cpu_win_can_remap, - .bridge_virt_base = ORION5X_BRIDGE_VIRT_BASE, diff --git a/target/linux/orion/patches/a01-dt2-fixes-for-3.3.patch b/target/linux/orion/patches/a01-dt2-fixes-for-3.3.patch deleted file mode 100644 index c101f142da..0000000000 --- a/target/linux/orion/patches/a01-dt2-fixes-for-3.3.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/arch/arm/mach-orion5x/dt2-setup.c -+++ b/arch/arm/mach-orion5x/dt2-setup.c -@@ -146,7 +146,7 @@ void __init dt2_pci_preinit(void) - } - } - --static int __init dt2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) -+static int __init dt2_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) - { - int irq; - -@@ -383,8 +383,7 @@ __tagtable(ATAG_MV_UBOOT, parse_tag_dt2_ - * - * Vanilla kernel should use "tag_fixup_mem32" function. - */ --void __init openwrt_fixup(struct machine_desc *mdesc, struct tag *t, -- char **from, struct meminfo *meminfo) -+void __init openwrt_fixup(struct tag *t, char **from, struct meminfo *meminfo) - { - char *p = NULL; - static char openwrt_init_tag[] __initdata = " init=/etc/preinit"; -@@ -437,10 +436,11 @@ void __init openwrt_fixup(struct machine - /* Warning: Freecom uses their own custom bootloader with mach-type (=1500) */ - MACHINE_START(DT2, "Freecom DataTank Gateway") - /* Maintainer: Zintis Petersons */ -- .boot_params = 0x00000100, -+ .atag_offset = 0x100, - .init_machine = dt2_init, - .map_io = orion5x_map_io, - .init_irq = orion5x_init_irq, - .timer = &orion5x_timer, - .fixup = openwrt_fixup, //tag_fixup_mem32, -+ .restart = orion5x_restart, - MACHINE_END