From: Felix Fietkau Date: Sun, 17 Jan 2016 21:05:19 +0000 (+0000) Subject: mpc85xx: update to linux 4.4, remove unnecessary patches X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=93a2b8a6c47741ae1fc369d0245340c42f809418;p=openwrt%2Fstaging%2Fjow.git mpc85xx: update to linux 4.4, remove unnecessary patches Signed-off-by: Felix Fietkau SVN-Revision: 48297 --- diff --git a/target/linux/mpc85xx/Makefile b/target/linux/mpc85xx/Makefile index 5f3ad6c3d4..a32be907a9 100644 --- a/target/linux/mpc85xx/Makefile +++ b/target/linux/mpc85xx/Makefile @@ -14,7 +14,7 @@ FEATURES:=squashfs MAINTAINER:=Imre Kaloz SUBTARGETS=generic p1020 -KERNEL_PATCHVER:=3.18 +KERNEL_PATCHVER:=4.4 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/mpc85xx/config-3.18 b/target/linux/mpc85xx/config-3.18 deleted file mode 100644 index 4605f2742c..0000000000 --- a/target/linux/mpc85xx/config-3.18 +++ /dev/null @@ -1,293 +0,0 @@ -# CONFIG_40x is not set -# CONFIG_44x is not set -# CONFIG_ADVANCED_OPTIONS is not set -CONFIG_AR8216_PHY=y -CONFIG_AR8216_PHY_LEDS=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -CONFIG_ARCH_HAS_ILOG2_U32=y -CONFIG_ARCH_HAS_SG_CHAIN=y -CONFIG_ARCH_HAS_WALK_MEMORY=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -# CONFIG_ARCH_RANDOM is not set -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_USE_BUILTIN_BSWAP=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -CONFIG_AUDIT_ARCH=y -CONFIG_BOOKE=y -CONFIG_BOUNCE=y -# CONFIG_BSC9131_RDB is not set -# CONFIG_BSC9132_QDS is not set -# CONFIG_C293_PCIE is not set -CONFIG_CLONE_BACKWARDS=y -CONFIG_CMDLINE="console=ttyS0,115200" -CONFIG_CMDLINE_BOOL=y -# CONFIG_CORENET_GENERIC is not set -# CONFIG_CPM2 is not set -CONFIG_CPU_BIG_ENDIAN=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -# CONFIG_CRYPTO_SHA1_PPC is not set -CONFIG_DEBUG_BUGVERBOSE=y -CONFIG_DEFAULT_UIMAGE=y -CONFIG_DEVKMEM=y -CONFIG_DNOTIFY=y -CONFIG_DTC=y -# CONFIG_E200 is not set -CONFIG_E500=y -CONFIG_EARLY_PRINTK=y -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_EPAPR_BOOT is not set -CONFIG_ETHERNET_PACKET_MANGLE=y -CONFIG_FSL_BOOKE=y -CONFIG_FSL_EMB_PERFMON=y -CONFIG_FSL_LBC=y -CONFIG_FSL_PCI=y -CONFIG_FSL_PQ_MDIO=y -CONFIG_FSL_SOC=y -CONFIG_FSL_SOC_BOOKE=y -CONFIG_FSL_ULI1575=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -# CONFIG_GENERIC_CSUM is not set -CONFIG_GENERIC_IO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_NVRAM=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -# CONFIG_GENERIC_TBSYNC is not set -CONFIG_GENERIC_TIME_VSYSCALL_OLD=y -CONFIG_GEN_RTC=y -# CONFIG_GEN_RTC_X is not set -# CONFIG_GE_FPGA is not set -# CONFIG_GE_IMP3A is not set -CONFIG_GIANFAR=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_GPIO_MPC8XXX=y -CONFIG_GPIO_SYSFS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_RAPIDIO=y -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_ARCH_AUDITSYSCALL=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set -CONFIG_HAVE_IDE=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_HAVE_NET_DSA=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HZ=250 -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -CONFIG_HZ_PERIODIC=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IOMMU_HELPER=y -# CONFIG_IPIC is not set -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -CONFIG_ISA_DMA_API=y -CONFIG_KERNEL_START=0xc0000000 -# CONFIG_KSI8560 is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LIBFDT=y -CONFIG_LOWMEM_CAM_NUM=3 -CONFIG_LOWMEM_SIZE=0x30000000 -CONFIG_LXT_PHY=y -# CONFIG_MATH_EMULATION is not set -CONFIG_MDIO_BOARDINFO=y -CONFIG_MIGRATION=y -# CONFIG_MMIO_NVRAM is not set -CONFIG_MODULES_USE_ELF_RELA=y -# CONFIG_MPC8536_DS is not set -# CONFIG_MPC8540_ADS is not set -# CONFIG_MPC8560_ADS is not set -CONFIG_MPC85xx_CDS=y -# CONFIG_MPC85xx_DS is not set -CONFIG_MPC85xx_MDS=y -CONFIG_MPC85xx_RDB=y -CONFIG_MPIC=y -# CONFIG_MPIC_MSGR is not set -CONFIG_MPIC_TIMER=y -# CONFIG_MPIC_U3_HT_IRQS is not set -# CONFIG_MPIC_WEIRD is not set -# CONFIG_MTD_CFI is not set -CONFIG_MTD_M25P80=y -CONFIG_MTD_SPI_NOR=y -# CONFIG_NEED_DMA_MAP_STATE is not set -# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NEED_SG_DMA_LENGTH=y -# CONFIG_NONSTATIC_KERNEL is not set -CONFIG_NR_IRQS=512 -CONFIG_OF=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_ADDRESS_PCI=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_FLATTREE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IRQ=y -CONFIG_OF_MDIO=y -CONFIG_OF_MTD=y -CONFIG_OF_NET=y -CONFIG_OF_PCI=y -CONFIG_OF_PCI_IRQ=y -CONFIG_OF_RESERVED_MEM=y -CONFIG_OLD_SIGACTION=y -CONFIG_OLD_SIGSUSPEND=y -CONFIG_P1010_RDB=y -# CONFIG_P1022_DS is not set -# CONFIG_P1022_RDK is not set -# CONFIG_P1023_RDB is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PAGE_OFFSET=0xc0000000 -CONFIG_PCI=y -CONFIG_PCIEAER=y -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_PERFORMANCE is not set -# CONFIG_PCIEASPM_POWERSAVE is not set -CONFIG_PCIEPORTBUS=y -CONFIG_PCI_DOMAINS=y -CONFIG_PHYLIB=y -CONFIG_PHYSICAL_ALIGN=0x04000000 -CONFIG_PHYSICAL_START=0x00000000 -# CONFIG_PHYS_64BIT is not set -# CONFIG_PPA8548 is not set -CONFIG_PPC=y -CONFIG_PPC32=y -# CONFIG_PPC64 is not set -CONFIG_PPC_85xx=y -# CONFIG_PPC_8xx is not set -# CONFIG_PPC_970_NAP is not set -CONFIG_PPC_ADV_DEBUG_DACS=2 -CONFIG_PPC_ADV_DEBUG_DVCS=0 -CONFIG_PPC_ADV_DEBUG_IACS=2 -CONFIG_PPC_ADV_DEBUG_REGS=y -CONFIG_PPC_BOOK3E_MMU=y -# CONFIG_PPC_BOOK3S_32 is not set -# CONFIG_PPC_CELL is not set -# CONFIG_PPC_CELL_NATIVE is not set -# CONFIG_PPC_COPRO_BASE is not set -# CONFIG_PPC_DCR_MMIO is not set -# CONFIG_PPC_DCR_NATIVE is not set -CONFIG_PPC_DOORBELL=y -# CONFIG_PPC_E500MC is not set -# CONFIG_PPC_EARLY_DEBUG is not set -# CONFIG_PPC_EPAPR_HV_PIC is not set -CONFIG_PPC_FSL_BOOK3E=y -CONFIG_PPC_I8259=y -# CONFIG_PPC_ICP_HV is not set -# CONFIG_PPC_ICP_NATIVE is not set -# CONFIG_PPC_ICS_RTAS is not set -CONFIG_PPC_INDIRECT_PCI=y -CONFIG_PPC_LIB_RHEAP=y -CONFIG_PPC_MMU_NOHASH=y -# CONFIG_PPC_MM_SLICES is not set -# CONFIG_PPC_MPC106 is not set -CONFIG_PPC_OF=y -# CONFIG_PPC_P7_NAP is not set -CONFIG_PPC_PCI_CHOICE=y -# CONFIG_PPC_QEMU_E500 is not set -# CONFIG_PPC_RTAS is not set -CONFIG_PPC_SMP_MUXED_IPI=y -CONFIG_PPC_UDBG_16550=y -CONFIG_PPC_WERROR=y -# CONFIG_PPC_XICS is not set -# CONFIG_PQ2ADS is not set -# CONFIG_PREEMPT_RCU is not set -CONFIG_PROC_PAGE_MONITOR=y -# CONFIG_PTP_1588_CLOCK_GIANFAR is not set -CONFIG_QE_GPIO=y -CONFIG_QUICC_ENGINE=y -CONFIG_RAS=y -# CONFIG_RCU_STALL_COMMON is not set -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -# CONFIG_SBC8548 is not set -CONFIG_SCHED_HRTICK=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_OF_PLATFORM=y -# CONFIG_SERIAL_QE is not set -CONFIG_SIMPLE_GPIO=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SOCK_DIAG=y -# CONFIG_SOCRATES is not set -CONFIG_SPARSE_IRQ=y -CONFIG_SPE=y -CONFIG_SPE_POSSIBLE=y -CONFIG_SPI=y -CONFIG_SPI_FSL_ESPI=y -CONFIG_SPI_FSL_LIB=y -CONFIG_SPI_MASTER=y -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_STX_GP3 is not set -CONFIG_SWCONFIG=y -CONFIG_SWIOTLB=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_TASK_SIZE=0xc0000000 -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TL_WDR4900_V1=y -# CONFIG_TQM8540 is not set -# CONFIG_TQM8541 is not set -# CONFIG_TQM8548 is not set -# CONFIG_TQM8555 is not set -# CONFIG_TQM8560 is not set -# CONFIG_TWR_P102x is not set -CONFIG_UCC=y -CONFIG_UCC_FAST=y -CONFIG_UCC_GETH=y -# CONFIG_UGETH_TX_ON_DEMAND is not set -CONFIG_USB_SUPPORT=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_WORD_SIZE=32 -# CONFIG_XES_MPC85xx is not set -CONFIG_XZ_DEC_BCJ=y -CONFIG_XZ_DEC_POWERPC=y diff --git a/target/linux/mpc85xx/config-4.4 b/target/linux/mpc85xx/config-4.4 new file mode 100644 index 0000000000..a511afd775 --- /dev/null +++ b/target/linux/mpc85xx/config-4.4 @@ -0,0 +1,311 @@ +# CONFIG_40x is not set +# CONFIG_44x is not set +# CONFIG_ADVANCED_OPTIONS is not set +CONFIG_AR8216_PHY=y +CONFIG_AR8216_PHY_LEDS=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_ILOG2_U32=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_WALK_MEMORY=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y +# CONFIG_ARCH_RANDOM is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_AUDIT_ARCH=y +CONFIG_BOOKE=y +CONFIG_BOUNCE=y +# CONFIG_BSC9131_RDB is not set +# CONFIG_BSC9132_QDS is not set +# CONFIG_C293_PCIE is not set +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE="console=ttyS0,115200" +CONFIG_CMDLINE_BOOL=y +# CONFIG_CORENET_GENERIC is not set +# CONFIG_CPM2 is not set +CONFIG_CPU_BIG_ENDIAN=y +# CONFIG_CRYPTO_AES_PPC_SPE is not set +# CONFIG_CRYPTO_MD5_PPC is not set +CONFIG_CRYPTO_RNG2=y +# CONFIG_CRYPTO_SHA1_PPC is not set +# CONFIG_CRYPTO_SHA1_PPC_SPE is not set +# CONFIG_CRYPTO_SHA256_PPC_SPE is not set +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEFAULT_UIMAGE=y +CONFIG_DEVKMEM=y +CONFIG_DNOTIFY=y +CONFIG_DTC=y +# CONFIG_E200 is not set +CONFIG_E500=y +CONFIG_EARLY_PRINTK=y +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_EPAPR_BOOT is not set +CONFIG_ETHERNET_PACKET_MANGLE=y +CONFIG_FSL_BOOKE=y +CONFIG_FSL_EMB_PERFMON=y +CONFIG_FSL_LBC=y +CONFIG_FSL_PCI=y +CONFIG_FSL_PQ_MDIO=y +CONFIG_FSL_SOC=y +CONFIG_FSL_SOC_BOOKE=y +CONFIG_FSL_ULI1575=y +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CMOS_UPDATE=y +# CONFIG_GENERIC_CSUM is not set +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_NVRAM=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +# CONFIG_GENERIC_TBSYNC is not set +CONFIG_GENERIC_TIME_VSYSCALL_OLD=y +CONFIG_GEN_RTC=y +# CONFIG_GEN_RTC_X is not set +# CONFIG_GE_FPGA is not set +# CONFIG_GE_IMP3A is not set +CONFIG_GIANFAR=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_GPIO_MPC8XXX=y +CONFIG_GPIO_SYSFS=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_RAPIDIO=y +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +# CONFIG_HAVE_ARCH_BITREVERSE is not set +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=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_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DEBUG_STACKOVERFLOW=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_HAVE_GENERIC_RCU_GUP=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_HZ_PERIODIC=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IOMMU_HELPER=y +# CONFIG_IPIC is not set +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_WORK=y +CONFIG_ISA_DMA_API=y +CONFIG_KERNEL_START=0xc0000000 +# CONFIG_KSI8560 is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +CONFIG_LIBFDT=y +CONFIG_LOWMEM_CAM_NUM=3 +CONFIG_LOWMEM_SIZE=0x30000000 +CONFIG_LXT_PHY=y +# CONFIG_MATH_EMULATION is not set +CONFIG_MDIO_BOARDINFO=y +CONFIG_MIGRATION=y +# CONFIG_MMIO_NVRAM is not set +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MPC8536_DS is not set +# CONFIG_MPC8540_ADS is not set +# CONFIG_MPC8560_ADS is not set +CONFIG_MPC85xx_CDS=y +# CONFIG_MPC85xx_DS is not set +CONFIG_MPC85xx_MDS=y +CONFIG_MPC85xx_RDB=y +CONFIG_MPIC=y +# CONFIG_MPIC_MSGR is not set +CONFIG_MPIC_TIMER=y +# CONFIG_MPIC_U3_HT_IRQS is not set +# CONFIG_MPIC_WEIRD is not set +# CONFIG_MTD_CFI is not set +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MVME2500 is not set +# CONFIG_NEED_DMA_MAP_STATE is not set +# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_SG_DMA_LENGTH=y +# CONFIG_NONSTATIC_KERNEL is not set +CONFIG_NO_BOOTMEM=y +CONFIG_NR_IRQS=512 +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND=y +CONFIG_P1010_RDB=y +# CONFIG_P1022_DS is not set +# CONFIG_P1022_RDK is not set +# CONFIG_P1023_RDB is not set +CONFIG_PAGE_OFFSET=0xc0000000 +CONFIG_PCI=y +CONFIG_PCIEAER=y +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCI_DOMAINS=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_ALIGN=0x04000000 +CONFIG_PHYSICAL_START=0x00000000 +# CONFIG_PHYS_64BIT is not set +# CONFIG_PPA8548 is not set +CONFIG_PPC=y +CONFIG_PPC32=y +# CONFIG_PPC64 is not set +CONFIG_PPC_85xx=y +# CONFIG_PPC_8xx is not set +# CONFIG_PPC_970_NAP is not set +CONFIG_PPC_ADV_DEBUG_DACS=2 +CONFIG_PPC_ADV_DEBUG_DVCS=0 +CONFIG_PPC_ADV_DEBUG_IACS=2 +CONFIG_PPC_ADV_DEBUG_REGS=y +CONFIG_PPC_BOOK3E_MMU=y +# CONFIG_PPC_BOOK3S_32 is not set +# CONFIG_PPC_CELL is not set +# CONFIG_PPC_CELL_NATIVE is not set +# CONFIG_PPC_COPRO_BASE is not set +# CONFIG_PPC_DCR_MMIO is not set +# CONFIG_PPC_DCR_NATIVE is not set +CONFIG_PPC_DOORBELL=y +# CONFIG_PPC_E500MC is not set +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EPAPR_HV_PIC is not set +CONFIG_PPC_FSL_BOOK3E=y +CONFIG_PPC_I8259=y +# CONFIG_PPC_ICP_HV is not set +# CONFIG_PPC_ICP_NATIVE is not set +# CONFIG_PPC_ICS_RTAS is not set +CONFIG_PPC_INDIRECT_PCI=y +CONFIG_PPC_LIB_RHEAP=y +CONFIG_PPC_MMU_NOHASH=y +# CONFIG_PPC_MM_SLICES is not set +# CONFIG_PPC_MPC106 is not set +# CONFIG_PPC_P7_NAP is not set +CONFIG_PPC_PCI_CHOICE=y +# CONFIG_PPC_QEMU_E500 is not set +# CONFIG_PPC_RTAS is not set +CONFIG_PPC_SMP_MUXED_IPI=y +CONFIG_PPC_UDBG_16550=y +CONFIG_PPC_WERROR=y +# CONFIG_PPC_XICS is not set +# CONFIG_PQ2ADS is not set +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PTP_1588_CLOCK_GIANFAR is not set +CONFIG_QE_GPIO=y +CONFIG_QUICC_ENGINE=y +CONFIG_RAS=y +# CONFIG_RCU_STALL_COMMON is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +# CONFIG_SBC8548 is not set +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_INFO is not set +# CONFIG_SCSI_DMA is not set +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_SERIAL_QE is not set +CONFIG_SIMPLE_GPIO=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SOCK_DIAG=y +# CONFIG_SOCRATES is not set +CONFIG_SPARSE_IRQ=y +CONFIG_SPE=y +CONFIG_SPE_POSSIBLE=y +CONFIG_SPI=y +CONFIG_SPI_FSL_ESPI=y +CONFIG_SPI_FSL_LIB=y +CONFIG_SPI_MASTER=y +CONFIG_SRCU=y +# CONFIG_STRICT_MM_TYPECHECKS is not set +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_STX_GP3 is not set +# CONFIG_SUNXI_SRAM is not set +CONFIG_SWCONFIG=y +CONFIG_SWIOTLB=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_TASK_SIZE=0xc0000000 +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TL_WDR4900_V1=y +# CONFIG_TQM8540 is not set +# CONFIG_TQM8541 is not set +# CONFIG_TQM8548 is not set +# CONFIG_TQM8555 is not set +# CONFIG_TQM8560 is not set +# CONFIG_TWR_P102x is not set +CONFIG_UCC=y +CONFIG_UCC_FAST=y +CONFIG_UCC_GETH=y +# CONFIG_UGETH_TX_ON_DEMAND is not set +CONFIG_USB_SUPPORT=y +CONFIG_VDSO32=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WORD_SIZE=32 +# CONFIG_XES_MPC85xx is not set +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_POWERPC=y diff --git a/target/linux/mpc85xx/image/Makefile b/target/linux/mpc85xx/image/Makefile index 0ec067e064..3c3f100d19 100644 --- a/target/linux/mpc85xx/image/Makefile +++ b/target/linux/mpc85xx/image/Makefile @@ -21,12 +21,12 @@ endef zImage:=$(BIN_DIR)/$(IMG_PREFIX)-zImage -DTS_TARGETS = mpc8548cds_32b p1010rdb-pa tl-wdr4900-v1 p1020rdb +DTS_TARGETS = fsl/p1010rdb-pa tl-wdr4900-v1 fsl/p1020rdb define Image/BuildKernel cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage $(foreach dts,$(DTS_TARGETS), - $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(DTS_DIR)/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(dts).fdt + $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(DTS_DIR)/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(notdir $(dts)).fdt ) endef diff --git a/target/linux/mpc85xx/p1020/config-default b/target/linux/mpc85xx/p1020/config-default index 29c7ebbf6c..1d15b32b67 100644 --- a/target/linux/mpc85xx/p1020/config-default +++ b/target/linux/mpc85xx/p1020/config-default @@ -1,21 +1,17 @@ -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -# CONFIG_ARCH_RANDOM is not set -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_CPU_RMAP=y -# CONFIG_GENERIC_CSUM is not set +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_TBSYNC=y -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NET_FLOW_LIMIT=y CONFIG_NR_CPUS=2 CONFIG_RCU_STALL_COMMON=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SMP=y -CONFIG_STOP_MACHINE=y CONFIG_TREE_RCU=y CONFIG_XPS=y diff --git a/target/linux/mpc85xx/patches-3.18/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch b/target/linux/mpc85xx/patches-3.18/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch deleted file mode 100644 index 5e5ab10daf..0000000000 --- a/target/linux/mpc85xx/patches-3.18/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/powerpc/platforms/85xx/common.c -+++ b/arch/powerpc/platforms/85xx/common.c -@@ -30,6 +30,7 @@ static const struct of_device_id mpc85xx - { .compatible = "fsl,mpc8548-guts", }, - /* Probably unnecessary? */ - { .compatible = "gpio-leds", }, -+ { .compatible = "gpio-keys", }, - /* For all PCI controllers */ - { .compatible = "fsl,mpc8540-pci", }, - { .compatible = "fsl,mpc8548-pcie", }, diff --git a/target/linux/mpc85xx/patches-3.18/100-fix_mpc8568e_mds.patch b/target/linux/mpc85xx/patches-3.18/100-fix_mpc8568e_mds.patch deleted file mode 100644 index 993b5f71c3..0000000000 --- a/target/linux/mpc85xx/patches-3.18/100-fix_mpc8568e_mds.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi -+++ b/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi -@@ -134,17 +134,8 @@ - - }; - -- duart-sleep-nexus { -- #address-cells = <1>; -- #size-cells = <1>; -- compatible = "simple-bus"; -- sleep = <&pmc 0x00000002>; -- ranges; -- - /include/ "pq3-duart-0.dtsi" - -- }; -- - L2: l2-cache-controller@20000 { - compatible = "fsl,mpc8568-l2-cache-controller"; - reg = <0x20000 0x1000>; ---- a/arch/powerpc/boot/dts/mpc8568mds.dts -+++ b/arch/powerpc/boot/dts/mpc8568mds.dts -@@ -309,6 +309,9 @@ - gpios = <&bcsr5 3 0>; - }; - }; -+ chosen { -+ linux,stdout-path = "/soc8568@e0000000/serial@4500"; -+ }; - }; - - /include/ "fsl/mpc8568si-post.dtsi" diff --git a/target/linux/mpc85xx/patches-3.18/101-net-gianfar-use-mtd-mac-address.patch b/target/linux/mpc85xx/patches-3.18/101-net-gianfar-use-mtd-mac-address.patch deleted file mode 100644 index 1b7abc8780..0000000000 --- a/target/linux/mpc85xx/patches-3.18/101-net-gianfar-use-mtd-mac-address.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/drivers/net/ethernet/freescale/gianfar.c -+++ b/drivers/net/ethernet/freescale/gianfar.c -@@ -858,10 +858,13 @@ static int gfar_of_init(struct platform_ - if (stash_len || stash_idx) - priv->device_flags |= FSL_GIANFAR_DEV_HAS_BUF_STASHING; - -- mac_addr = of_get_mac_address(np); -+ err = of_get_mac_address_mtd(np, dev->dev_addr); -+ if (err) { -+ mac_addr = of_get_mac_address(np); - -- if (mac_addr) -- memcpy(dev->dev_addr, mac_addr, ETH_ALEN); -+ if (mac_addr) -+ memcpy(dev->dev_addr, mac_addr, ETH_ALEN); -+ } - - if (model && !strcasecmp(model, "TSEC")) - priv->device_flags |= FSL_GIANFAR_DEV_HAS_GIGABIT | diff --git a/target/linux/mpc85xx/patches-3.18/110-fix_mpc8548_cds.patch b/target/linux/mpc85xx/patches-3.18/110-fix_mpc8548_cds.patch deleted file mode 100644 index b6dbd0d1b4..0000000000 --- a/target/linux/mpc85xx/patches-3.18/110-fix_mpc8548_cds.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi -+++ b/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi -@@ -131,7 +131,24 @@ - - /include/ "pq3-i2c-0.dtsi" - /include/ "pq3-i2c-1.dtsi" --/include/ "pq3-duart-0.dtsi" -+ -+ serial0: serial@4600 { -+ cell-index = <1>; -+ device_type = "serial"; -+ compatible = "fsl,ns16550", "ns16550"; -+ reg = <0x4600 0x100>; -+ clock-frequency = <0>; -+ interrupts = <42 2 0 0>; -+ }; -+ -+ serial1: serial@4500 { -+ cell-index = <0>; -+ device_type = "serial"; -+ compatible = "fsl,ns16550", "ns16550"; -+ reg = <0x4500 0x100>; -+ clock-frequency = <0>; -+ interrupts = <42 2 0 0>; -+ }; - - L2: l2-cache-controller@20000 { - compatible = "fsl,mpc8548-l2-cache-controller"; ---- a/arch/powerpc/boot/dts/mpc8548cds_32b.dts -+++ b/arch/powerpc/boot/dts/mpc8548cds_32b.dts -@@ -75,6 +75,9 @@ - ranges = <0x0 0x0 0x0 0xc0000000 0x0 0x20000000>; - }; - }; -+ chosen { -+ linux,stdout-path = "/soc8548@e0000000/serial@4600"; -+ }; - }; - - /* diff --git a/target/linux/mpc85xx/patches-3.18/120-mpc8548_cds_i8259_noirq_init.patch b/target/linux/mpc85xx/patches-3.18/120-mpc8548_cds_i8259_noirq_init.patch deleted file mode 100644 index 81b9193691..0000000000 --- a/target/linux/mpc85xx/patches-3.18/120-mpc8548_cds_i8259_noirq_init.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c -+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c -@@ -247,15 +247,16 @@ static int mpc85xx_cds_8259_attach(void) - return -ENODEV; - } - -+ i8259_init(cascade_node, 0); -+ of_node_put(cascade_node); -+ - cascade_irq = irq_of_parse_and_map(cascade_node, 0); - if (cascade_irq == NO_IRQ) { -- printk(KERN_ERR "Failed to map cascade interrupt\n"); -+ of_node_put(cascade_node); -+ printk(KERN_DEBUG "No interrupt for i8259 PIC\n"); - return -ENXIO; - } - -- i8259_init(cascade_node, 0); -- of_node_put(cascade_node); -- - /* - * Hook the interrupt to make sure desc->action is never NULL. - * This is required to ensure that the interrupt does not get diff --git a/target/linux/mpc85xx/patches-3.18/130-mpc8548_cds_disable_i8259_irq.patch b/target/linux/mpc85xx/patches-3.18/130-mpc8548_cds_disable_i8259_irq.patch deleted file mode 100644 index 7d9e63c750..0000000000 --- a/target/linux/mpc85xx/patches-3.18/130-mpc8548_cds_disable_i8259_irq.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/arch/powerpc/boot/dts/mpc8548cds.dtsi -+++ b/arch/powerpc/boot/dts/mpc8548cds.dtsi -@@ -289,8 +289,10 @@ - #address-cells = <0>; - #interrupt-cells = <2>; - compatible = "chrp,iic"; -+/* - interrupts = <0 1 0 0>; - interrupt-parent = <&mpic>; -+*/ - }; - - rtc@70 { diff --git a/target/linux/mpc85xx/patches-3.18/140-powerpc-85xx-tl-wdr4900-v1-support.patch b/target/linux/mpc85xx/patches-3.18/140-powerpc-85xx-tl-wdr4900-v1-support.patch deleted file mode 100644 index 9b4815c0c6..0000000000 --- a/target/linux/mpc85xx/patches-3.18/140-powerpc-85xx-tl-wdr4900-v1-support.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 406d86e5990ac171f18ef6e2973672d8fbfe1556 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos -Date: Wed, 20 Feb 2013 08:40:33 +0100 -Subject: [PATCH] powerpc: 85xx: add support for the TP-Link TL-WDR4900 v1 - board - -This patch adds support for the TP-Link TL-WDR4900 v1 -concurrent dual-band wireless router. The devices uses -the Freescale P1014 SoC. - -Signed-off-by: Gabor Juhos ---- - arch/powerpc/boot/Makefile | 3 + - arch/powerpc/boot/wrapper | 4 + - arch/powerpc/platforms/85xx/Kconfig | 11 ++ - arch/powerpc/platforms/85xx/Makefile | 1 + - ---- a/arch/powerpc/boot/Makefile -+++ b/arch/powerpc/boot/Makefile -@@ -112,6 +112,7 @@ src-plat-$(CONFIG_PPC_POWERNV) += pserie - src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S - src-plat-$(CONFIG_PPC_CELLEB) += pseries-head.S - src-plat-$(CONFIG_PPC_CELL_QPACE) += pseries-head.S -+src-plat-$(CONFIG_TL_WDR4900_V1) += cuboot-tl-wdr4900-v1.c - - src-wlib := $(sort $(src-wlib-y)) - src-plat := $(sort $(src-plat-y)) -@@ -296,6 +297,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm - image-$(CONFIG_TQM8560) += cuImage.tqm8560 - image-$(CONFIG_SBC8548) += cuImage.sbc8548 - image-$(CONFIG_KSI8560) += cuImage.ksi8560 -+image-$(CONFIG_TL_WDR4900_V1) += cuImage.tl-wdr4900-v1 - - # Board ports in arch/powerpc/platform/embedded6xx/Kconfig - image-$(CONFIG_STORCENTER) += cuImage.storcenter ---- a/arch/powerpc/boot/wrapper -+++ b/arch/powerpc/boot/wrapper -@@ -218,6 +218,10 @@ cuboot*) - *-mpc85*|*-tqm85*|*-sbc85*) - platformo=$object/cuboot-85xx.o - ;; -+ *-tl-wdr4900-v1) -+ platformo=$object/cuboot-tl-wdr4900-v1.o -+ link_address='0x1000000' -+ ;; - *-amigaone) - link_address='0x800000' - ;; ---- a/arch/powerpc/platforms/85xx/Kconfig -+++ b/arch/powerpc/platforms/85xx/Kconfig -@@ -168,6 +168,17 @@ config STX_GP3 - select CPM2 - select DEFAULT_UIMAGE - -+config TL_WDR4900_V1 -+ bool "TP-Link TL-WDR4900 v1" -+ select DEFAULT_UIMAGE -+ select ARCH_REQUIRE_GPIOLIB -+ select GPIO_MPC8XXX -+ help -+ This option enables support for the TP-Link TL-WDR4900 v1 board. -+ -+ This board is a Concurrent Dual-Band wireless router with a -+ Freescale P1014 SoC. -+ - config TQM8540 - bool "TQ Components TQM8540" - help ---- a/arch/powerpc/platforms/85xx/Makefile -+++ b/arch/powerpc/platforms/85xx/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_TWR_P102x) += twr_p102x.o - obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o - obj-$(CONFIG_STX_GP3) += stx_gp3.o - obj-$(CONFIG_TQM85xx) += tqm85xx.o -+obj-$(CONFIG_TL_WDR4900_V1) += tl_wdr4900_v1.o - obj-$(CONFIG_SBC8548) += sbc8548.o - obj-$(CONFIG_PPA8548) += ppa8548.o - obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o diff --git a/target/linux/mpc85xx/patches-3.18/210-spi-fsl-espi-preallocate-local-buffer.patch b/target/linux/mpc85xx/patches-3.18/210-spi-fsl-espi-preallocate-local-buffer.patch deleted file mode 100644 index 7335f18bf9..0000000000 --- a/target/linux/mpc85xx/patches-3.18/210-spi-fsl-espi-preallocate-local-buffer.patch +++ /dev/null @@ -1,147 +0,0 @@ -From: Gabor Juhos -Subject: spi-fsl-espi: avoid frequent high order allocations - -The driver allocates 64KiB of memory fro a local buffer before -each transfer and releases that afterwards. When the memory is -fragmented this allocation often fails and causes a warning like -this: - - kworker/u2:2: page allocation failure: order:4, mode:0x10c0d0 - CPU: 0 PID: 7011 Comm: kworker/u2:2 Not tainted 3.10.24 #1 - Workqueue: ffe07000.spi mpc8xxx_spi_work - Call Trace: - [c1c6dcf0] [c0006914] show_stack+0x50/0x170 (unreliable) - [c1c6dd30] [c0259858] dump_stack+0x24/0x34 - [c1c6dd40] [c00672e8] warn_alloc_failed+0x120/0x13c - [c1c6dd90] [c0069920] __alloc_pages_nodemask+0x574/0x5c8 - [c1c6de20] [c0069990] __get_free_pages+0x1c/0x4c - [c1c6de30] [c0185174] fsl_espi_do_one_msg+0x128/0x2a0 - [c1c6de90] [c0184290] mpc8xxx_spi_work+0x50/0x7c - [c1c6dea0] [c0037af8] process_one_work+0x208/0x30c - [c1c6dec0] [c00387a0] worker_thread+0x20c/0x308 - [c1c6def0] [c003de60] kthread+0xa4/0xa8 - [c1c6df40] [c000c4bc] ret_from_kernel_thread+0x5c/0x64 - - m25p80 spi0.0: error -12 reading SR - end_request: I/O error, dev mtdblock3, sector 680 - SQUASHFS error: squashfs_read_data failed to read block 0x54a4a - SQUASHFS error: Unable to read data cache entry [54a4a] - -Preallocate the buffer from the probe routine to avoid -this. - -Signed-off-by: Gabor Juhos ---- - drivers/spi/spi-fsl-espi.c | 34 ++++++++++++++++------------------ - drivers/spi/spi-fsl-lib.h | 1 + - 2 files changed, 17 insertions(+), 18 deletions(-) - ---- a/drivers/spi/spi-fsl-espi.c -+++ b/drivers/spi/spi-fsl-espi.c -@@ -329,17 +329,13 @@ static void fsl_espi_do_trans(struct spi - static void fsl_espi_cmd_trans(struct spi_message *m, - struct fsl_espi_transfer *trans, u8 *rx_buff) - { -+ struct spi_device *spi = m->spi; -+ struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); - struct spi_transfer *t; -- u8 *local_buf; -+ u8 *local_buf = mspi->local_buf; - int i = 0; - struct fsl_espi_transfer *espi_trans = trans; - -- local_buf = kzalloc(SPCOM_TRANLEN_MAX, GFP_KERNEL); -- if (!local_buf) { -- espi_trans->status = -ENOMEM; -- return; -- } -- - list_for_each_entry(t, &m->transfers, transfer_list) { - if (t->tx_buf) { - memcpy(local_buf + i, t->tx_buf, t->len); -@@ -352,28 +348,23 @@ static void fsl_espi_cmd_trans(struct sp - fsl_espi_do_trans(m, espi_trans); - - espi_trans->actual_length = espi_trans->len; -- kfree(local_buf); - } - - static void fsl_espi_rw_trans(struct spi_message *m, - struct fsl_espi_transfer *trans, u8 *rx_buff) - { -+ struct spi_device *spi = m->spi; -+ struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); - struct fsl_espi_transfer *espi_trans = trans; - unsigned int n_tx = espi_trans->n_tx; - unsigned int n_rx = espi_trans->n_rx; - struct spi_transfer *t; -- u8 *local_buf; -+ u8 *local_buf = mspi->local_buf; - u8 *rx_buf = rx_buff; - unsigned int trans_len; - unsigned int addr; - int i, pos, loop; - -- local_buf = kzalloc(SPCOM_TRANLEN_MAX, GFP_KERNEL); -- if (!local_buf) { -- espi_trans->status = -ENOMEM; -- return; -- } -- - for (pos = 0, loop = 0; pos < n_rx; pos += trans_len, loop++) { - trans_len = n_rx - pos; - if (trans_len > SPCOM_TRANLEN_MAX - n_tx) -@@ -407,8 +398,6 @@ static void fsl_espi_rw_trans(struct spi - else - espi_trans->actual_length += espi_trans->len; - } -- -- kfree(local_buf); - } - - static void fsl_espi_do_one_msg(struct spi_message *m) -@@ -585,6 +574,7 @@ static irqreturn_t fsl_espi_irq(s32 irq, - static void fsl_espi_remove(struct mpc8xxx_spi *mspi) - { - iounmap(mspi->reg_base); -+ kfree(mspi->local_buf); - } - - static struct spi_master * fsl_espi_probe(struct device *dev, -@@ -619,10 +609,16 @@ static struct spi_master * fsl_espi_prob - mpc8xxx_spi->spi_do_one_msg = fsl_espi_do_one_msg; - mpc8xxx_spi->spi_remove = fsl_espi_remove; - -+ mpc8xxx_spi->local_buf = kzalloc(SPCOM_TRANLEN_MAX, GFP_KERNEL); -+ if (!mpc8xxx_spi->local_buf) { -+ ret = -ENOMEM; -+ goto err_probe; -+ } -+ - mpc8xxx_spi->reg_base = ioremap(mem->start, resource_size(mem)); - if (!mpc8xxx_spi->reg_base) { - ret = -ENOMEM; -- goto err_probe; -+ goto free_buf; - } - - reg_base = mpc8xxx_spi->reg_base; -@@ -689,6 +685,8 @@ unreg_master: - free_irq(mpc8xxx_spi->irq, mpc8xxx_spi); - free_irq: - iounmap(mpc8xxx_spi->reg_base); -+free_buf: -+ kfree(mpc8xxx_spi->local_buf); - err_probe: - spi_master_put(master); - err: ---- a/drivers/spi/spi-fsl-lib.h -+++ b/drivers/spi/spi-fsl-lib.h -@@ -30,6 +30,7 @@ struct mpc8xxx_spi { - void *rx; - #ifdef CONFIG_SPI_FSL_ESPI - int len; -+ u8 *local_buf; - #endif - - int subblock; diff --git a/target/linux/mpc85xx/patches-4.4/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch b/target/linux/mpc85xx/patches-4.4/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch new file mode 100644 index 0000000000..5e5ab10daf --- /dev/null +++ b/target/linux/mpc85xx/patches-4.4/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch @@ -0,0 +1,10 @@ +--- a/arch/powerpc/platforms/85xx/common.c ++++ b/arch/powerpc/platforms/85xx/common.c +@@ -30,6 +30,7 @@ static const struct of_device_id mpc85xx + { .compatible = "fsl,mpc8548-guts", }, + /* Probably unnecessary? */ + { .compatible = "gpio-leds", }, ++ { .compatible = "gpio-keys", }, + /* For all PCI controllers */ + { .compatible = "fsl,mpc8540-pci", }, + { .compatible = "fsl,mpc8548-pcie", }, diff --git a/target/linux/mpc85xx/patches-4.4/100-powerpc-85xx-tl-wdr4900-v1-support.patch b/target/linux/mpc85xx/patches-4.4/100-powerpc-85xx-tl-wdr4900-v1-support.patch new file mode 100644 index 0000000000..e657ee514a --- /dev/null +++ b/target/linux/mpc85xx/patches-4.4/100-powerpc-85xx-tl-wdr4900-v1-support.patch @@ -0,0 +1,78 @@ +From 406d86e5990ac171f18ef6e2973672d8fbfe1556 Mon Sep 17 00:00:00 2001 +From: Gabor Juhos +Date: Wed, 20 Feb 2013 08:40:33 +0100 +Subject: [PATCH] powerpc: 85xx: add support for the TP-Link TL-WDR4900 v1 + board + +This patch adds support for the TP-Link TL-WDR4900 v1 +concurrent dual-band wireless router. The devices uses +the Freescale P1014 SoC. + +Signed-off-by: Gabor Juhos +--- + arch/powerpc/boot/Makefile | 3 + + arch/powerpc/boot/wrapper | 4 + + arch/powerpc/platforms/85xx/Kconfig | 11 ++ + arch/powerpc/platforms/85xx/Makefile | 1 + + +--- a/arch/powerpc/boot/Makefile ++++ b/arch/powerpc/boot/Makefile +@@ -114,6 +114,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie + src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S + src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S + src-plat-$(CONFIG_PPC_CELL_QPACE) += pseries-head.S ++src-plat-$(CONFIG_TL_WDR4900_V1) += cuboot-tl-wdr4900-v1.c + + src-wlib := $(sort $(src-wlib-y)) + src-plat := $(sort $(src-plat-y)) +@@ -297,6 +298,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm + image-$(CONFIG_TQM8560) += cuImage.tqm8560 + image-$(CONFIG_SBC8548) += cuImage.sbc8548 + image-$(CONFIG_KSI8560) += cuImage.ksi8560 ++image-$(CONFIG_TL_WDR4900_V1) += cuImage.tl-wdr4900-v1 + + # Board ports in arch/powerpc/platform/embedded6xx/Kconfig + image-$(CONFIG_STORCENTER) += cuImage.storcenter +--- a/arch/powerpc/boot/wrapper ++++ b/arch/powerpc/boot/wrapper +@@ -235,6 +235,10 @@ cuboot*) + *-mpc85*|*-tqm85*|*-sbc85*) + platformo=$object/cuboot-85xx.o + ;; ++ *-tl-wdr4900-v1) ++ platformo=$object/cuboot-tl-wdr4900-v1.o ++ link_address='0x1000000' ++ ;; + *-amigaone) + link_address='0x800000' + ;; +--- a/arch/powerpc/platforms/85xx/Kconfig ++++ b/arch/powerpc/platforms/85xx/Kconfig +@@ -168,6 +168,17 @@ config STX_GP3 + select CPM2 + select DEFAULT_UIMAGE + ++config TL_WDR4900_V1 ++ bool "TP-Link TL-WDR4900 v1" ++ select DEFAULT_UIMAGE ++ select ARCH_REQUIRE_GPIOLIB ++ select GPIO_MPC8XXX ++ help ++ This option enables support for the TP-Link TL-WDR4900 v1 board. ++ ++ This board is a Concurrent Dual-Band wireless router with a ++ Freescale P1014 SoC. ++ + config TQM8540 + bool "TQ Components TQM8540" + help +--- a/arch/powerpc/platforms/85xx/Makefile ++++ b/arch/powerpc/platforms/85xx/Makefile +@@ -23,6 +23,7 @@ obj-$(CONFIG_TWR_P102x) += twr_p102x.o + obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o + obj-$(CONFIG_STX_GP3) += stx_gp3.o + obj-$(CONFIG_TQM85xx) += tqm85xx.o ++obj-$(CONFIG_TL_WDR4900_V1) += tl_wdr4900_v1.o + obj-$(CONFIG_SBC8548) += sbc8548.o + obj-$(CONFIG_PPA8548) += ppa8548.o + obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o diff --git a/target/linux/mpc85xx/patches-4.4/200-spi-fsl-espi-preallocate-local-buffer.patch b/target/linux/mpc85xx/patches-4.4/200-spi-fsl-espi-preallocate-local-buffer.patch new file mode 100644 index 0000000000..3239cdb850 --- /dev/null +++ b/target/linux/mpc85xx/patches-4.4/200-spi-fsl-espi-preallocate-local-buffer.patch @@ -0,0 +1,127 @@ +From: Gabor Juhos +Subject: spi-fsl-espi: avoid frequent high order allocations + +The driver allocates 64KiB of memory fro a local buffer before +each transfer and releases that afterwards. When the memory is +fragmented this allocation often fails and causes a warning like +this: + + kworker/u2:2: page allocation failure: order:4, mode:0x10c0d0 + CPU: 0 PID: 7011 Comm: kworker/u2:2 Not tainted 3.10.24 #1 + Workqueue: ffe07000.spi mpc8xxx_spi_work + Call Trace: + [c1c6dcf0] [c0006914] show_stack+0x50/0x170 (unreliable) + [c1c6dd30] [c0259858] dump_stack+0x24/0x34 + [c1c6dd40] [c00672e8] warn_alloc_failed+0x120/0x13c + [c1c6dd90] [c0069920] __alloc_pages_nodemask+0x574/0x5c8 + [c1c6de20] [c0069990] __get_free_pages+0x1c/0x4c + [c1c6de30] [c0185174] fsl_espi_do_one_msg+0x128/0x2a0 + [c1c6de90] [c0184290] mpc8xxx_spi_work+0x50/0x7c + [c1c6dea0] [c0037af8] process_one_work+0x208/0x30c + [c1c6dec0] [c00387a0] worker_thread+0x20c/0x308 + [c1c6def0] [c003de60] kthread+0xa4/0xa8 + [c1c6df40] [c000c4bc] ret_from_kernel_thread+0x5c/0x64 + + m25p80 spi0.0: error -12 reading SR + end_request: I/O error, dev mtdblock3, sector 680 + SQUASHFS error: squashfs_read_data failed to read block 0x54a4a + SQUASHFS error: Unable to read data cache entry [54a4a] + +Preallocate the buffer from the probe routine to avoid +this. + +Signed-off-by: Gabor Juhos +Signed-off-by: Felix Fietkau +--- + drivers/spi/spi-fsl-espi.c | 34 ++++++++++++++++------------------ + drivers/spi/spi-fsl-lib.h | 1 + + 2 files changed, 17 insertions(+), 18 deletions(-) + +--- a/drivers/spi/spi-fsl-espi.c ++++ b/drivers/spi/spi-fsl-espi.c +@@ -332,17 +332,13 @@ static void fsl_espi_do_trans(struct spi + static void fsl_espi_cmd_trans(struct spi_message *m, + struct fsl_espi_transfer *trans, u8 *rx_buff) + { ++ struct spi_device *spi = m->spi; ++ struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); + struct spi_transfer *t; +- u8 *local_buf; ++ u8 *local_buf = mspi->local_buf; + int i = 0; + struct fsl_espi_transfer *espi_trans = trans; + +- local_buf = kzalloc(SPCOM_TRANLEN_MAX, GFP_KERNEL); +- if (!local_buf) { +- espi_trans->status = -ENOMEM; +- return; +- } +- + list_for_each_entry(t, &m->transfers, transfer_list) { + if (t->tx_buf) { + memcpy(local_buf + i, t->tx_buf, t->len); +@@ -355,16 +351,17 @@ static void fsl_espi_cmd_trans(struct sp + fsl_espi_do_trans(m, espi_trans); + + espi_trans->actual_length = espi_trans->len; +- kfree(local_buf); + } + + static void fsl_espi_rw_trans(struct spi_message *m, + struct fsl_espi_transfer *trans, u8 *rx_buff) + { ++ struct spi_device *spi = m->spi; ++ struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master); + struct fsl_espi_transfer *espi_trans = trans; + unsigned int total_len = espi_trans->len; + struct spi_transfer *t; +- u8 *local_buf; ++ u8 *local_buf = mspi->local_buf; + u8 *rx_buf = rx_buff; + unsigned int trans_len; + unsigned int addr; +@@ -373,12 +370,6 @@ static void fsl_espi_rw_trans(struct spi + unsigned int pos; + int i, loop; + +- local_buf = kzalloc(SPCOM_TRANLEN_MAX, GFP_KERNEL); +- if (!local_buf) { +- espi_trans->status = -ENOMEM; +- return; +- } +- + for (pos = 0, loop = 0; pos < total_len; pos += trans_len, loop++) { + trans_len = total_len - pos; + +@@ -424,8 +415,6 @@ static void fsl_espi_rw_trans(struct spi + else + espi_trans->actual_length += espi_trans->len; + } +- +- kfree(local_buf); + } + + static int fsl_espi_do_one_msg(struct spi_master *master, +@@ -673,6 +662,12 @@ static struct spi_master * fsl_espi_prob + + mpc8xxx_spi = spi_master_get_devdata(master); + ++ mpc8xxx_spi->local_buf = devm_kzalloc(dev, SPCOM_TRANLEN_MAX, GFP_KERNEL); ++ if (!mpc8xxx_spi->local_buf) { ++ ret = -ENOMEM; ++ goto err_probe; ++ } ++ + mpc8xxx_spi->reg_base = devm_ioremap_resource(dev, mem); + if (IS_ERR(mpc8xxx_spi->reg_base)) { + ret = PTR_ERR(mpc8xxx_spi->reg_base); +--- a/drivers/spi/spi-fsl-lib.h ++++ b/drivers/spi/spi-fsl-lib.h +@@ -30,6 +30,7 @@ struct mpc8xxx_spi { + void *rx; + #if IS_ENABLED(CONFIG_SPI_FSL_ESPI) + int len; ++ u8 *local_buf; + #endif + + int subblock;