فهرست منبع

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 <[email protected]>
[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 <[email protected]>

SVN-Revision: 41765
Hauke Mehrtens 11 سال پیش
والد
کامیت
e23f27b72d

+ 1 - 1
target/linux/orion/Makefile

@@ -12,7 +12,7 @@ BOARDNAME:=Marvell Orion
 SUBTARGETS:=generic harddisk
 MAINTAINER:=Imre Kaloz <[email protected]>
 
-LINUX_VERSION:=3.3.8
+LINUX_VERSION:=3.10.44
 
 include $(INCLUDE_DIR)/target.mk
 

+ 48 - 17
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

+ 8 - 9
target/linux/orion/files/arch/arm/mach-orion5x/dt2-setup.c

@@ -26,7 +26,6 @@
 #include <linux/interrupt.h>
 #include <asm/mach-types.h>
 #include <asm/gpio.h>
-#include <asm/leds.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/pci.h>
 #include <mach/orion5x.h>
@@ -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 <[email protected]> */
-	.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

+ 2 - 0
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

+ 2 - 2
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

+ 5 - 5
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 <[email protected]> */
  	.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

+ 1 - 21
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,

+ 0 - 34
target/linux/orion/patches/a01-dt2-fixes-for-3.3.patch

@@ -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 <[email protected]> */
--	.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