ramips: clean up and refresh kernel patches
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 2 Jan 2016 14:48:27 +0000 (14:48 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 2 Jan 2016 14:48:27 +0000 (14:48 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48070 3c298f89-4303-0410-b956-a3cf2f4a3e73

72 files changed:
target/linux/ramips/patches-4.3/0001-arch-mips-ralink-add-mt7621-support.patch
target/linux/ramips/patches-4.3/0004-MIPS-ralink-add-MT7621-pcie-driver.patch
target/linux/ramips/patches-4.3/0005-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
target/linux/ramips/patches-4.3/0006-MIPS-ralink-add-cpu-frequency-scaling.patch
target/linux/ramips/patches-4.3/0007-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
target/linux/ramips/patches-4.3/0008-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
target/linux/ramips/patches-4.3/0009-PCI-MIPS-adds-mt7620a-pcie-driver.patch
target/linux/ramips/patches-4.3/0010-arch-mips-ralink-add-spi1-clocks.patch
target/linux/ramips/patches-4.3/0011-arch-mips-ralink-unify-soc-detection.patch
target/linux/ramips/patches-4.3/0012-arch-mips-fix-clock-jitter.patch
target/linux/ramips/patches-4.3/0013-owrt-hack-fix-mt7688-cache-issue.patch
target/linux/ramips/patches-4.3/0014-arch-mips-cleanup-cevt-rt3352.patch
target/linux/ramips/patches-4.3/0015-arch-mips-do-not-select-illegal-access-driver-by-def.patch
target/linux/ramips/patches-4.3/0016-arch-mips-ralink-remove-non-PCI-check.patch
target/linux/ramips/patches-4.3/0017-arch-mips-ralink-do-not-set-pm_poweroff.patch
target/linux/ramips/patches-4.3/0018-arch-mips-ralink-reset-pci-prior-to-reboot.patch
target/linux/ramips/patches-4.3/0019-arch-mips-ralink-add-mt7621-cpu-feature-overrides.patch
target/linux/ramips/patches-4.3/0020-arch-mips-ralink-mt7628-fixes.patch
target/linux/ramips/patches-4.3/0021-arch-mips-ralink-add-mt7688-detection.patch
target/linux/ramips/patches-4.3/0022-arch-mips-ralink-proper-vendor-id-srtring.patch
target/linux/ramips/patches-4.3/0023-arch-mips-ralink-unify-soc-id.patch
target/linux/ramips/patches-4.3/0024-GPIO-add-named-gpio-exports.patch
target/linux/ramips/patches-4.3/0025-pinctrl-ralink-add-pinctrl-driver.patch
target/linux/ramips/patches-4.3/0026-DT-Add-documentation-for-gpio-ralink.patch
target/linux/ramips/patches-4.3/0029-phy-usb-add-ralink-phy.patch
target/linux/ramips/patches-4.3/0030-USB-add-OHCI-EHCI-OF-binding.patch
target/linux/ramips/patches-4.3/0031-uvc-add-iPassion-iP2970-support.patch
target/linux/ramips/patches-4.3/0032-USB-dwc2-add-device_reset.patch
target/linux/ramips/patches-4.3/0033-USB-add-xhci-hooks.patch
target/linux/ramips/patches-4.3/0034-NET-multi-phy-support.patch
target/linux/ramips/patches-4.3/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
target/linux/ramips/patches-4.3/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
target/linux/ramips/patches-4.3/0037-mtd-cfi-cmdset-0002-force-word-write.patch
target/linux/ramips/patches-4.3/0038-mtd-ralink-add-mt7620-nand-driver.patch
target/linux/ramips/patches-4.3/0039-mtd-add-mt7621-nand-support.patch
target/linux/ramips/patches-4.3/0040-nand-add-mtk-nand-hack-hook.patch
target/linux/ramips/patches-4.3/0041-DT-Add-documentation-for-spi-rt2880.patch
target/linux/ramips/patches-4.3/0042-SPI-ralink-add-Ralink-SoC-spi-driver.patch
target/linux/ramips/patches-4.3/0043-spi-add-mt7621-support.patch
target/linux/ramips/patches-4.3/0044-i2c-MIPS-adds-ralink-I2C-driver.patch
target/linux/ramips/patches-4.3/0045-i2c-add-mt7621-driver.patch
target/linux/ramips/patches-4.3/0046-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
target/linux/ramips/patches-4.3/0047-DMA-ralink-add-rt2880-dma-engine.patch
target/linux/ramips/patches-4.3/0048-asoc-add-mt7620-support.patch
target/linux/ramips/patches-4.3/0049-watchdog-add-MT7621-support.patch
target/linux/ramips/patches-4.3/0050-alsa-add-ralink-sdk-driver.patch
target/linux/ramips/patches-4.3/0051-serial-add-ugly-custom-baud-rate-hack.patch
target/linux/ramips/patches-4.3/0052-pwm-add-mediatek-support.patch
target/linux/ramips/patches-4.3/0060-mt7621-set-up-palmbus-memory-region.patch [deleted file]
target/linux/ramips/patches-4.3/0061-mt7621-set-up-pci-memory-region.patch [deleted file]
target/linux/ramips/patches-4.3/0062-remove-cm-memory-regions-cleanup-hack.patch [deleted file]
target/linux/ramips/patches-4.3/0100-mtd-split-remove-padding.patch
target/linux/ramips/patches-4.3/0101-mtd-add-rtn56u-support.patch
target/linux/ramips/patches-4.3/0104-fix_bootargs_handling.patch
target/linux/ramips/patches-4.3/0500-Documentation-DT-net-add-docs-for-ralink-mediatek-So.patch
target/linux/ramips/patches-4.3/0501-net-next-mediatek-add-the-drivers-core-files.patch
target/linux/ramips/patches-4.3/0502-net-next-mediatek-add-switch-driver-for-rt3050.patch
target/linux/ramips/patches-4.3/0503-net-next-mediatek-add-switch-driver-for-mt7620.patch
target/linux/ramips/patches-4.3/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
target/linux/ramips/patches-4.3/0505-net-next-mediatek-add-support-for-rt2880.patch
target/linux/ramips/patches-4.3/0506-net-next-mediatek-add-support-for-rt3050.patch
target/linux/ramips/patches-4.3/0507-net-next-mediatek-add-support-for-rt3883.patch
target/linux/ramips/patches-4.3/0508-net-next-mediatek-add-support-for-mt7620.patch
target/linux/ramips/patches-4.3/0509-net-next-mediatek-add-support-for-mt7621.patch
target/linux/ramips/patches-4.3/0510-net-next-mediatek-add-Kconfig-and-Makefile.patch
target/linux/ramips/patches-4.3/0511-net-mediatek-add-support-for-the-multiphy-carrier-pa.patch
target/linux/ramips/patches-4.3/0512-net-mediatek-add-swconfig-driver-for-esw_rt3050.patch
target/linux/ramips/patches-4.3/0513-net-mediatek-add-swconfig-driver-for-gsw_mt762x.patch
target/linux/ramips/patches-4.3/0514-net-mediatek-fix_esw.patch
target/linux/ramips/patches-4.3/0601-net-mediatke-add-phy_ethtool_ioctl-support.patch
target/linux/ramips/patches-4.3/0902-mt7621-use-gic-timer.patch [deleted file]
target/linux/ramips/patches-4.3/0903-mt7621-fix-gic-perfcounter.patch [deleted file]

index 2e6fd6e..dab8e8d 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#endif
 --- /dev/null
 +++ b/arch/mips/include/asm/mach-ralink/mt7621.h
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,42 @@
 +/*
 + * 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
@@ -52,6 +52,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#ifndef _MT7621_REGS_H_
 +#define _MT7621_REGS_H_
 +
++#define MT7621_PALMBUS_BASE           0x1C000000
++#define MT7621_PALMBUS_SIZE           0x03FFFFFF
++
 +#define MT7621_SYSC_BASE              0x1E000000
 +
 +#define SYSC_REG_CHIP_NAME0           0x00
@@ -76,26 +79,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#define MIPS_GIC_IRQ_BASE           (MIPS_CPU_IRQ_BASE + 8)
 +
 +#endif
---- a/arch/mips/kernel/mips-cm.c
-+++ b/arch/mips/kernel/mips-cm.c
-@@ -232,7 +232,7 @@ int mips_cm_probe(void)
-       write_gcr_base(base_reg);
-       /* disable CM regions */
--      write_gcr_reg0_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-+/*    write_gcr_reg0_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg0_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-       write_gcr_reg1_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg1_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-@@ -240,7 +240,7 @@ int mips_cm_probe(void)
-       write_gcr_reg2_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-       write_gcr_reg3_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg3_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
--
-+*/
-       /* probe for an L2-only sync region */
-       mips_cm_probe_l2sync();
 --- a/arch/mips/kernel/vmlinux.lds.S
 +++ b/arch/mips/kernel/vmlinux.lds.S
 @@ -51,6 +51,7 @@ SECTIONS
@@ -120,7 +103,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  choice
        prompt "Ralink SoC selection"
        default SOC_RT305X
-@@ -34,6 +39,14 @@ choice
+@@ -34,6 +39,16 @@ choice
        config SOC_MT7620
                bool "MT7620/8"
  
@@ -131,11 +114,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +              select SYS_SUPPORTS_SMP
 +              select SYS_SUPPORTS_MIPS_CPS
 +              select MIPS_GIC
++              select COMMON_CLK
++              select CLKSRC_MIPS_GIC
 +              select HW_HAS_PCI
  endchoice
  
  choice
-@@ -65,6 +78,10 @@ choice
+@@ -65,6 +80,10 @@ choice
                depends on SOC_MT7620
                select BUILTIN_DTB
  
@@ -148,19 +133,23 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  endif
 --- a/arch/mips/ralink/Makefile
 +++ b/arch/mips/ralink/Makefile
-@@ -6,16 +6,20 @@
+@@ -6,16 +6,24 @@
  # Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>
  # Copyright (C) 2013 John Crispin <blogic@openwrt.org>
  
 -obj-y := prom.o of.o reset.o clk.o irq.o timer.o
-+obj-y := prom.o of.o reset.o clk.o timer.o
++obj-y := prom.o of.o reset.o
++
++ifndef CONFIG_MIPS_GIC
++      obj-y += clk.o timer.o
++endif
  
  obj-$(CONFIG_CLKEVT_RT3352) += cevt-rt3352.o
  
  obj-$(CONFIG_RALINK_ILL_ACC) += ill_acc.o
  
 +obj-$(CONFIG_IRQ_INTC) += irq.o
-+obj-$(CONFIG_MIPS_GIC) += irq-gic.o
++obj-$(CONFIG_MIPS_GIC) += irq-gic.o timer-gic.o
 +
  obj-$(CONFIG_SOC_RT288X) += rt288x.o
  obj-$(CONFIG_SOC_RT305X) += rt305x.o
@@ -188,13 +177,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 +#include <linux/of.h>
 +#include <linux/irqchip.h>
-+
 +#include <linux/irqchip/mips-gic.h>
 +
-+unsigned int get_c0_compare_int(void)
++int get_c0_perfcount_int(void)
 +{
-+      return gic_get_c0_compare_int();
++      return gic_get_c0_perfcount_int();
 +}
++EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
 +
 +void __init
 +arch_init_irq(void)
@@ -204,7 +193,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 --- /dev/null
 +++ b/arch/mips/ralink/mt7621.c
-@@ -0,0 +1,213 @@
+@@ -0,0 +1,223 @@
 +/*
 + * 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
@@ -359,11 +348,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +              }
 +              break;
 +      }
-+      cpu_clk = 880000000;
-+      ralink_clk_add("cpu", cpu_clk);
-+      ralink_clk_add("1e000b00.spi", 50000000);
-+      ralink_clk_add("1e000c00.uartlite", 50000000);
-+      ralink_clk_add("1e000d00.uart", 50000000);
 +}
 +
 +void __init ralink_of_remap(void)
@@ -411,6 +395,21 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      mips_cm_probe();
 +      mips_cpc_probe();
 +
++      if (mips_cm_numiocu()) {
++              /* mips_cm_probe() wipes out bootloader
++                 config for CM regions and we have to configure them
++                 again. This SoC cannot talk to pamlbus devices
++                 witout proper iocu region set up.
++
++                 FIXME: it would be better to do this with values
++                 from DT, but we need this very early because
++                 without this we cannot talk to pretty much anything
++                 including serial.
++              */
++              write_gcr_reg0_base(MT7621_PALMBUS_BASE);
++              write_gcr_reg0_mask(~MT7621_PALMBUS_SIZE | CM_GCR_REGn_MASK_CMTGT_IOCU0);
++      }
++
 +      if (!register_cps_smp_ops())
 +              return;
 +      if (!register_cmp_smp_ops())
@@ -418,3 +417,21 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      if (!register_vsmp_smp_ops())
 +              return;
 +}
+--- /dev/null
++++ b/arch/mips/ralink/timer-gic.c
+@@ -0,0 +1,15 @@
++#include <linux/init.h>
++
++#include <linux/of.h>
++#include <linux/clk-provider.h>
++#include <linux/clocksource.h>
++
++#include "common.h"
++
++void __init plat_time_init(void)
++{
++      ralink_of_remap();
++
++      of_clk_init(NULL);
++      clocksource_of_init();
++}
index b605c5e..d4c1506 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/arch/mips/pci/Makefile
 +++ b/arch/mips/pci/Makefile
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
  obj-$(CONFIG_SNI_RM)          += fixup-sni.o ops-sni.o
  obj-$(CONFIG_LANTIQ)          += fixup-lantiq.o
  obj-$(CONFIG_PCI_LANTIQ)      += pci-lantiq.o ops-lantiq.o
@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  obj-$(CONFIG_TANBAC_TB0219)   += fixup-tb0219.o
 --- /dev/null
 +++ b/arch/mips/pci/pci-mt7621.c
-@@ -0,0 +1,813 @@
+@@ -0,0 +1,832 @@
 +/**************************************************************************
 + *
 + *  BRIEF MODULE DESCRIPTION
@@ -71,6 +71,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#include <linux/version.h>
 +#include <asm/pci.h>
 +#include <asm/io.h>
++#include <asm/mips-cm.h>
 +#include <linux/init.h>
 +#include <linux/module.h>
 +#include <linux/delay.h>
@@ -578,6 +579,23 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#endif
 +}
 +
++void setup_cm_memory_region(struct resource *mem_resource)
++{
++      resource_size_t mask;
++      if (mips_cm_numiocu()) {
++              /* FIXME: hardware doesn't accept mask values with 1s after
++                 0s (e.g. 0xffef), so it would be great to warn if that's
++                 about to happen */
++              mask = ~(mem_resource->end - mem_resource->start);
++
++              write_gcr_reg1_base(mem_resource->start);
++              write_gcr_reg1_mask(mask | CM_GCR_REGn_MASK_CMTGT_IOCU0);
++              printk("PCI coherence region base: 0x%08lx, mask/settings: 0x%08lx\n",
++                     read_gcr_reg1_base(),
++                     read_gcr_reg1_mask());
++      }
++}
++
 +static int mt7621_pci_probe(struct platform_device *pdev)
 +{
 +      unsigned long val = 0;
@@ -805,6 +823,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      }
 +
 +      pci_load_of_ranges(&mt7621_controller, pdev->dev.of_node);
++      setup_cm_memory_region(mt7621_controller.mem_resource);
 +      register_pci_controller(&mt7621_controller);
 +      return 0;
 +
index fe918e6..248357a 100644 (file)
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/Kconfig |    5 +++++
  1 file changed, 5 insertions(+)
 
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index d078e61..c2778f2 100644
 --- a/arch/mips/ralink/Kconfig
 +++ b/arch/mips/ralink/Kconfig
 @@ -1,11 +1,16 @@
@@ -59,7 +57,7 @@ index d078e61..c2778f2 100644
  static int mips_next_event(unsigned long delta,
                           struct clock_event_device *evt)
  {
-@@ -208,18 +228,21 @@
+@@ -208,18 +228,21 @@ int r4k_clockevent_init(void)
        cd->rating              = 300;
        cd->irq                 = irq;
        cd->cpumask             = cpumask_of(cpu);
@@ -82,7 +80,3 @@ index d078e61..c2778f2 100644
        return 0;
  }
  
---
-1.7.10.4
-
-
index afdc65a..f953aee 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/cevt-rt3352.c |   38 ++++++++++++++++++++++++++++++++++++++
  1 file changed, 38 insertions(+)
 
-diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
-index a8e70a9..b36888c 100644
 --- a/arch/mips/ralink/cevt-rt3352.c
 +++ b/arch/mips/ralink/cevt-rt3352.c
 @@ -29,6 +29,10 @@
@@ -53,7 +51,7 @@ index a8e70a9..b36888c 100644
  static int systick_next_event(unsigned long delta,
                                struct clock_event_device *evt)
  {
-@@ -99,6 +120,9 @@ static int systick_shutdown(struct clock_event_device *evt)
+@@ -99,6 +120,9 @@ static int systick_shutdown(struct clock
        sdev->irq_requested = 0;
        iowrite32(0, systick.membase + SYSTICK_CONFIG);
  
@@ -63,7 +61,7 @@ index a8e70a9..b36888c 100644
        return 0;
  }
  
-@@ -114,15 +138,29 @@ static int systick_set_oneshot(struct clock_event_device *evt)
+@@ -114,15 +138,29 @@ static int systick_set_oneshot(struct cl
        iowrite32(CFG_EXT_STK_EN | CFG_CNT_EN,
                  systick.membase + SYSTICK_CONFIG);
  
@@ -93,6 +91,3 @@ index a8e70a9..b36888c 100644
        systick_irqaction.name = np->name;
        systick.dev.name = np->name;
        clockevents_calc_mult_shift(&systick.dev, SYSTICK_FREQ, 60);
--- 
-1.7.10.4
-
index 6b09c0e..3a05a30 100644 (file)
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/of.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 0d30dcd..da85bbf 100644
 --- a/arch/mips/ralink/of.c
 +++ b/arch/mips/ralink/of.c
 @@ -76,6 +76,8 @@ void __init plat_mem_setup(void)
@@ -21,6 +19,3 @@ index 0d30dcd..da85bbf 100644
        of_scan_flat_dt(early_init_dt_find_memory, NULL);
        if (memory_dtb)
                of_scan_flat_dt(early_init_dt_scan_memory, NULL);
--- 
-1.7.10.4
-
index 6fa90f2..7788926 100644 (file)
@@ -15,8 +15,6 @@ Subject: [PATCH 08/53] MIPS: ralink: mt7620: fix usb issue during frequency
  arch/mips/ralink/mt7620.c |   19 +++++++++++++++++++
  1 file changed, 19 insertions(+)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 2ea5ff6..33a7e42 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
 @@ -40,6 +40,12 @@
@@ -52,6 +50,3 @@ index 2ea5ff6..33a7e42 100644
  }
  
  void __init ralink_of_remap(void)
--- 
-1.7.10.4
-
index 2f03f1d..2164d35 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  4 files changed, 399 insertions(+)
  create mode 100644 arch/mips/pci/pci-mt7620.c
 
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 1976fb8..72e64fa 100644
 --- a/arch/mips/include/asm/mach-ralink/mt7620.h
 +++ b/arch/mips/include/asm/mach-ralink/mt7620.h
 @@ -19,6 +19,7 @@ enum mt762x_soc_type {
@@ -24,11 +22,9 @@ index 1976fb8..72e64fa 100644
  
  #define MT7620_SYSC_BASE              0x10000000
  
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index 04e61c3..ccbdc90 100644
 --- a/arch/mips/pci/Makefile
 +++ b/arch/mips/pci/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
+@@ -43,6 +43,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
  obj-$(CONFIG_SNI_RM)          += fixup-sni.o ops-sni.o
  obj-$(CONFIG_LANTIQ)          += fixup-lantiq.o
  obj-$(CONFIG_PCI_LANTIQ)      += pci-lantiq.o ops-lantiq.o
@@ -36,9 +32,6 @@ index 04e61c3..ccbdc90 100644
  obj-$(CONFIG_SOC_MT7621)      += pci-mt7621.o
  obj-$(CONFIG_SOC_RT288X)      += pci-rt2880.o
  obj-$(CONFIG_SOC_RT3883)      += pci-rt3883.o
-diff --git a/arch/mips/pci/pci-mt7620.c b/arch/mips/pci/pci-mt7620.c
-new file mode 100644
-index 0000000..780e4e9
 --- /dev/null
 +++ b/arch/mips/pci/pci-mt7620.c
 @@ -0,0 +1,396 @@
@@ -438,8 +431,6 @@ index 0000000..780e4e9
 +}
 +
 +arch_initcall(mt7620_pci_init);
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index c2778f2..2aa5e42 100644
 --- a/arch/mips/ralink/Kconfig
 +++ b/arch/mips/ralink/Kconfig
 @@ -43,6 +43,7 @@ choice
@@ -450,6 +441,3 @@ index c2778f2..2aa5e42 100644
  
        config SOC_MT7621
                bool "MT7621"
--- 
-1.7.10.4
-
index e2a7d82..11dad7a 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/rt3883.c |    1 +
  3 files changed, 3 insertions(+)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 33a7e42..0ba49a1 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
 @@ -427,6 +427,7 @@ void __init ralink_clk_init(void)
@@ -24,8 +22,6 @@ index 33a7e42..0ba49a1 100644
        ralink_clk_add("10000c00.uartlite", periph_rate);
        ralink_clk_add("10180000.wmac", xtal_rate);
  
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index c40776a..eeb747a 100644
 --- a/arch/mips/ralink/rt305x.c
 +++ b/arch/mips/ralink/rt305x.c
 @@ -202,6 +202,7 @@ void __init ralink_clk_init(void)
@@ -36,8 +32,6 @@ index c40776a..eeb747a 100644
        ralink_clk_add("10000100.timer", wdt_rate);
        ralink_clk_add("10000120.watchdog", wdt_rate);
        ralink_clk_add("10000500.uart", uart_rate);
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index 86a535c..26827bc 100644
 --- a/arch/mips/ralink/rt3883.c
 +++ b/arch/mips/ralink/rt3883.c
 @@ -109,6 +109,7 @@ void __init ralink_clk_init(void)
@@ -48,6 +42,3 @@ index 86a535c..26827bc 100644
        ralink_clk_add("10000c00.uartlite", 40000000);
        ralink_clk_add("10100000.ethernet", sys_rate);
        ralink_clk_add("10180000.wmac", 40000000);
--- 
-1.7.10.4
-
index bee7ce3..81cf233 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/rt305x.c                       |   12 +++++-------
  5 files changed, 29 insertions(+), 31 deletions(-)
 
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 72e64fa..0ef882b 100644
 --- a/arch/mips/include/asm/mach-ralink/mt7620.h
 +++ b/arch/mips/include/asm/mach-ralink/mt7620.h
 @@ -13,14 +13,6 @@
@@ -31,8 +29,6 @@ index 72e64fa..0ef882b 100644
  #define MT7620_SYSC_BASE              0x10000000
  
  #define SYSC_REG_CHIP_NAME0           0x00
-diff --git a/arch/mips/include/asm/mach-ralink/ralink_regs.h b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-index bd93014..8fcbd0f 100644
 --- a/arch/mips/include/asm/mach-ralink/ralink_regs.h
 +++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h
 @@ -13,6 +13,20 @@
@@ -56,8 +52,6 @@ index bd93014..8fcbd0f 100644
  extern __iomem void *rt_sysc_membase;
  extern __iomem void *rt_memc_membase;
  
-diff --git a/arch/mips/include/asm/mach-ralink/rt305x.h b/arch/mips/include/asm/mach-ralink/rt305x.h
-index 96f731b..2eea793 100644
 --- a/arch/mips/include/asm/mach-ralink/rt305x.h
 +++ b/arch/mips/include/asm/mach-ralink/rt305x.h
 @@ -13,25 +13,16 @@
@@ -110,8 +104,6 @@ index 96f731b..2eea793 100644
  }
  
  #define RT305X_SYSC_BASE              0x10000000
-diff --git a/arch/mips/ralink/prom.c b/arch/mips/ralink/prom.c
-index 09419f6..d0978d5 100644
 --- a/arch/mips/ralink/prom.c
 +++ b/arch/mips/ralink/prom.c
 @@ -15,10 +15,13 @@
@@ -129,8 +121,6 @@ index 09419f6..d0978d5 100644
  
  const char *get_system_type(void)
  {
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index eeb747a..51f33a5 100644
 --- a/arch/mips/ralink/rt305x.c
 +++ b/arch/mips/ralink/rt305x.c
 @@ -21,8 +21,6 @@
@@ -142,7 +132,7 @@ index eeb747a..51f33a5 100644
  static struct rt2880_pmx_func i2c_func[] =  { FUNC("i2c", 0, 1, 2) };
  static struct rt2880_pmx_func spi_func[] = { FUNC("spi", 0, 3, 4) };
  static struct rt2880_pmx_func uartf_func[] = {
-@@ -236,24 +234,24 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -236,24 +234,24 @@ void prom_soc_init(struct ralink_soc_inf
  
                icache_sets = (read_c0_config1() >> 22) & 7;
                if (icache_sets == 1) {
@@ -172,6 +162,3 @@ index eeb747a..51f33a5 100644
                name = "RT5350";
                soc_info->compatible = "ralink,rt5350-soc";
        } else {
--- 
-1.7.10.4
-
index 58983f0..133e4ea 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/cevt-rt3352.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
-index b36888c..cecf44f 100644
 --- a/arch/mips/ralink/cevt-rt3352.c
 +++ b/arch/mips/ralink/cevt-rt3352.c
-@@ -69,7 +69,7 @@ static int systick_next_event(unsigned long delta,
+@@ -69,7 +69,7 @@ static int systick_next_event(unsigned l
        sdev = container_of(evt, struct systick_device, dev);
        count = ioread32(sdev->membase + SYSTICK_COUNT);
        count = (count + delta) % SYSTICK_FREQ;
@@ -21,6 +19,3 @@ index b36888c..cecf44f 100644
  
        return 0;
  }
--- 
-1.7.10.4
-
index cb51fe6..12abdee 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/kernel/setup.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
-index 4795151..75bde36 100644
 --- a/arch/mips/kernel/setup.c
 +++ b/arch/mips/kernel/setup.c
-@@ -681,7 +681,6 @@ static void __init arch_mem_init(char **cmdline_p)
+@@ -681,7 +681,6 @@ static void __init arch_mem_init(char **
                                crashk_res.end - crashk_res.start + 1,
                                BOOTMEM_DEFAULT);
  #endif
@@ -28,6 +26,3 @@ index 4795151..75bde36 100644
  }
  
  unsigned long kernelsp[NR_CPUS];
--- 
-1.7.10.4
-
index d641050..50b3dc8 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/cevt-rt3352.c |   85 ++++++++++++++++++++++++++--------------
  1 file changed, 56 insertions(+), 29 deletions(-)
 
-diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
-index cecf44f..424635c 100644
 --- a/arch/mips/ralink/cevt-rt3352.c
 +++ b/arch/mips/ralink/cevt-rt3352.c
-@@ -52,7 +52,7 @@ static inline void mt7620_freq_scaling(struct systick_device *sdev, int status)
+@@ -52,7 +52,7 @@ static inline void mt7620_freq_scaling(s
  
        sdev->freq_scale = status;
  
@@ -21,7 +19,7 @@ index cecf44f..424635c 100644
                        (status) ? ("enable") : ("disable"));
        if (status)
                rt_sysc_w32(rt_sysc_r32(CLK_LUT_CFG) | SLEEP_EN, CLK_LUT_CFG);
-@@ -60,18 +60,33 @@ static inline void mt7620_freq_scaling(struct systick_device *sdev, int status)
+@@ -60,18 +60,33 @@ static inline void mt7620_freq_scaling(s
                rt_sysc_w32(rt_sysc_r32(CLK_LUT_CFG) & ~SLEEP_EN, CLK_LUT_CFG);
  }
  
@@ -60,7 +58,7 @@ index cecf44f..424635c 100644
  }
  
  static void systick_event_handler(struct clock_event_device *dev)
-@@ -81,20 +96,25 @@ static void systick_event_handler(struct clock_event_device *dev)
+@@ -81,20 +96,25 @@ static void systick_event_handler(struct
  
  static irqreturn_t systick_interrupt(int irq, void *dev_id)
  {
@@ -68,12 +66,12 @@ index cecf44f..424635c 100644
 +      int ret = 0;
 +      struct clock_event_device *cdev;
 +      struct systick_device *sdev;
-+
+-      dev->event_handler(dev);
 +      if (read_c0_cause() & STATUSF_IP7) {
 +              cdev = (struct clock_event_device *) dev_id;
 +              sdev = container_of(cdev, struct systick_device, dev);
--      dev->event_handler(dev);
++
 +              /* Clear Count/Compare Interrupt */
 +              write_compare(sdev, read_compare(sdev));
 +              cdev->event_handler(cdev);
@@ -94,7 +92,7 @@ index cecf44f..424635c 100644
                .features               = CLOCK_EVT_FEAT_ONESHOT,
                .set_next_event         = systick_next_event,
                .set_state_shutdown     = systick_shutdown,
-@@ -116,9 +136,9 @@ static int systick_shutdown(struct clock_event_device *evt)
+@@ -116,9 +136,9 @@ static int systick_shutdown(struct clock
        sdev = container_of(evt, struct systick_device, dev);
  
        if (sdev->irq_requested)
@@ -106,7 +104,7 @@ index cecf44f..424635c 100644
  
        if (systick_freq_scaling)
                systick_freq_scaling(sdev, 0);
-@@ -145,38 +165,45 @@ static int systick_set_oneshot(struct clock_event_device *evt)
+@@ -145,38 +165,45 @@ static int systick_set_oneshot(struct cl
  }
  
  static const struct of_device_id systick_match[] = {
@@ -165,6 +163,3 @@ index cecf44f..424635c 100644
        pr_info("%s: running - mult: %d, shift: %d\n",
                        np->name, systick.dev.mult, systick.dev.shift);
  }
--- 
-1.7.10.4
-
index ea04175..6f5a6f4 100644 (file)
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/Kconfig |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 2aa5e42..84cf692 100644
 --- a/arch/mips/ralink/Kconfig
 +++ b/arch/mips/ralink/Kconfig
 @@ -13,9 +13,9 @@ config CLKEVT_RT3352
@@ -25,6 +23,3 @@ index 2aa5e42..84cf692 100644
  
  config IRQ_INTC
        bool
--- 
-1.7.10.4
-
index 57cc092..d25f909 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/mt7620.c |    3 ---
  1 file changed, 3 deletions(-)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 0ba49a1..794a7c7 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
-@@ -526,9 +526,6 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -526,9 +526,6 @@ void prom_soc_init(struct ralink_soc_inf
                        mt762x_soc = MT762X_SOC_MT7620N;
                        name = "MT7620N";
                        soc_info->compatible = "ralink,mt7620n-soc";
@@ -22,6 +20,3 @@ index 0ba49a1..794a7c7 100644
                }
        } else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) {
                mt762x_soc = MT762X_SOC_MT7628AN;
--- 
-1.7.10.4
-
index 636edad..a9122e1 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/reset.c |    1 -
  1 file changed, 1 deletion(-)
 
-diff --git a/arch/mips/ralink/reset.c b/arch/mips/ralink/reset.c
-index 55c7ec5..ee26d45 100644
 --- a/arch/mips/ralink/reset.c
 +++ b/arch/mips/ralink/reset.c
-@@ -98,7 +98,6 @@ static int __init mips_reboot_setup(void)
+@@ -98,7 +98,6 @@ static int __init mips_reboot_setup(void
  {
        _machine_restart = ralink_restart;
        _machine_halt = ralink_halt;
@@ -20,6 +18,3 @@ index 55c7ec5..ee26d45 100644
  
        return 0;
  }
--- 
-1.7.10.4
-
index dbd3db0..8f572c9 100644 (file)
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/reset.c |   12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
 
-diff --git a/arch/mips/ralink/reset.c b/arch/mips/ralink/reset.c
-index ee26d45..ee117c4 100644
 --- a/arch/mips/ralink/reset.c
 +++ b/arch/mips/ralink/reset.c
 @@ -11,6 +11,7 @@
@@ -45,6 +43,3 @@ index ee26d45..ee117c4 100644
        local_irq_disable();
        rt_sysc_w32(RSTCTL_RESET_SYSTEM, SYSC_REG_RESET_CTRL);
        unreachable();
--- 
-1.7.10.4
-
index 9e7e3e3..d2da23a 100644 (file)
@@ -9,9 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  1 file changed, 65 insertions(+)
  create mode 100644 arch/mips/include/asm/mach-ralink/mt7621/cpu-feature-overrides.h
 
-diff --git a/arch/mips/include/asm/mach-ralink/mt7621/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ralink/mt7621/cpu-feature-overrides.h
-new file mode 100644
-index 0000000..15db1b3
 --- /dev/null
 +++ b/arch/mips/include/asm/mach-ralink/mt7621/cpu-feature-overrides.h
 @@ -0,0 +1,65 @@
@@ -80,6 +77,3 @@ index 0000000..15db1b3
 +#define cpu_has_userlocal     1
 +
 +#endif /* _MT7621_CPU_FEATURE_OVERRIDES_H */
--- 
-1.7.10.4
-
index 0b5cb04..713dcfa 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/mt7620.c |   76 +++++++++++++++++++++++++++++----------------
  1 file changed, 50 insertions(+), 26 deletions(-)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 794a7c7..41b4a3e 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
-@@ -104,28 +104,28 @@ static struct rt2880_pmx_group mt7620a_pinmux_data[] = {
+@@ -104,28 +104,28 @@ static struct rt2880_pmx_group mt7620a_p
  };
  
  static struct rt2880_pmx_func pwm1_grp_mt7628[] = {
@@ -47,7 +45,7 @@ index 794a7c7..41b4a3e 100644
        FUNC("pwm", 2, 45, 2),
        FUNC("gpio", 1, 45, 2),
        FUNC("uart", 0, 45, 2),
-@@ -168,7 +168,7 @@ static struct rt2880_pmx_func spi_cs1_grp_mt7628[] = {
+@@ -168,7 +168,7 @@ static struct rt2880_pmx_func spi_cs1_gr
        FUNC("-", 3, 6, 1),
        FUNC("refclk", 2, 6, 1),
        FUNC("gpio", 1, 6, 1),
@@ -56,7 +54,7 @@ index 794a7c7..41b4a3e 100644
  };
  
  static struct rt2880_pmx_func spis_grp_mt7628[] = {
-@@ -185,28 +185,44 @@ static struct rt2880_pmx_func gpio_grp_mt7628[] = {
+@@ -185,28 +185,44 @@ static struct rt2880_pmx_func gpio_grp_m
        FUNC("gpio", 0, 11, 1),
  };
  
@@ -119,7 +117,7 @@ index 794a7c7..41b4a3e 100644
                                1, MT7628_GPIO_MODE_PWM0),
        GRP_G("uart2", uart2_grp_mt7628, MT7628_GPIO_MODE_MASK,
                                1, MT7628_GPIO_MODE_UART2),
-@@ -230,6 +246,10 @@ static struct rt2880_pmx_group mt7628an_pinmux_data[] = {
+@@ -230,6 +246,10 @@ static struct rt2880_pmx_group mt7628an_
                                1, MT7628_GPIO_MODE_SPIS),
        GRP_G("gpio", gpio_grp_mt7628, MT7628_GPIO_MODE_MASK,
                                1, MT7628_GPIO_MODE_GPIO),
@@ -130,7 +128,7 @@ index 794a7c7..41b4a3e 100644
        { 0 }
  };
  
-@@ -542,7 +562,11 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -542,7 +562,11 @@ void prom_soc_init(struct ralink_soc_inf
                (rev & CHIP_REV_ECO_MASK));
  
        cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0);
@@ -143,6 +141,3 @@ index 794a7c7..41b4a3e 100644
  
        soc_info->mem_base = MT7620_DRAM_BASE;
        if (mt762x_soc == MT762X_SOC_MT7628AN)
--- 
-1.7.10.4
-
index 5aae360..f54acb8 100644 (file)
@@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/mt7620.c                       |   21 ++++++++++++++++-----
  3 files changed, 18 insertions(+), 5 deletions(-)
 
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 0ef882b..455d406 100644
 --- a/arch/mips/include/asm/mach-ralink/mt7620.h
 +++ b/arch/mips/include/asm/mach-ralink/mt7620.h
 @@ -17,6 +17,7 @@
@@ -22,8 +20,6 @@ index 0ef882b..455d406 100644
  #define SYSC_REG_CHIP_REV             0x0c
  #define SYSC_REG_SYSTEM_CONFIG0               0x10
  #define SYSC_REG_SYSTEM_CONFIG1               0x14
-diff --git a/arch/mips/include/asm/mach-ralink/ralink_regs.h b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-index 8fcbd0f..69fbcec 100644
 --- a/arch/mips/include/asm/mach-ralink/ralink_regs.h
 +++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h
 @@ -24,6 +24,7 @@ enum ralink_soc_type {
@@ -34,8 +30,6 @@ index 8fcbd0f..69fbcec 100644
  };
  extern enum ralink_soc_type ralink_soc;
  
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 41b4a3e..6975ed8 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
 @@ -46,6 +46,9 @@ enum mt762x_soc_type mt762x_soc;
@@ -67,7 +61,7 @@ index 41b4a3e..6975ed8 100644
                /*
                 * When the CPU goes into sleep mode, the BUS clock will be too low for
                 * USB to function properly
-@@ -548,8 +552,15 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -548,8 +552,15 @@ void prom_soc_init(struct ralink_soc_inf
                        soc_info->compatible = "ralink,mt7620n-soc";
                }
        } else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) {
@@ -85,7 +79,7 @@ index 41b4a3e..6975ed8 100644
                soc_info->compatible = "ralink,mt7628an-soc";
        } else {
                panic("mt762x: unknown SoC, n0:%08x n1:%08x\n", n0, n1);
-@@ -582,7 +593,7 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -582,7 +593,7 @@ void prom_soc_init(struct ralink_soc_inf
        pr_info("Digital PMU set to %s control\n",
                (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
  
@@ -94,6 +88,3 @@ index 41b4a3e..6975ed8 100644
                rt2880_pinmux_data = mt7628an_pinmux_data;
        else
                rt2880_pinmux_data = mt7620a_pinmux_data;
--- 
-1.7.10.4
-
index 97f8de3..967b83e 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/mt7620.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 6975ed8..da734e2 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
-@@ -567,7 +567,7 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -567,7 +567,7 @@ void prom_soc_init(struct ralink_soc_inf
        }
  
        snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
@@ -21,6 +19,3 @@ index 6975ed8..da734e2 100644
                name,
                (rev >> CHIP_REV_VER_SHIFT) & CHIP_REV_VER_MASK,
                (rev & CHIP_REV_ECO_MASK));
--- 
-1.7.10.4
-
index 3e5d04a..5d7f045 100644 (file)
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  arch/mips/ralink/mt7620.c |   19 ++++++++-----------
  1 file changed, 8 insertions(+), 11 deletions(-)
 
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index da734e2..db99e9c 100644
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
 @@ -37,9 +37,6 @@
@@ -40,7 +38,7 @@ index da734e2..db99e9c 100644
                /*
                 * When the CPU goes into sleep mode, the BUS clock will be too low for
                 * USB to function properly
-@@ -543,11 +540,11 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -543,11 +540,11 @@ void prom_soc_init(struct ralink_soc_inf
  
        if (n0 == MT7620_CHIP_NAME0 && n1 == MT7620_CHIP_NAME1) {
                if (bga) {
@@ -54,7 +52,7 @@ index da734e2..db99e9c 100644
                        name = "MT7620N";
                        soc_info->compatible = "ralink,mt7620n-soc";
                }
-@@ -555,10 +552,10 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -555,10 +552,10 @@ void prom_soc_init(struct ralink_soc_inf
                u32 efuse = __raw_readl(sysc + SYSC_REG_EFUSE_CFG);
  
                if (efuse & EFUSE_MT7688) {
@@ -67,7 +65,7 @@ index da734e2..db99e9c 100644
                        name = "MT7628AN";
                }
                soc_info->compatible = "ralink,mt7628an-soc";
-@@ -580,7 +577,7 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -580,7 +577,7 @@ void prom_soc_init(struct ralink_soc_inf
                dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK;
  
        soc_info->mem_base = MT7620_DRAM_BASE;
@@ -76,7 +74,7 @@ index da734e2..db99e9c 100644
                mt7628_dram_init(soc_info);
        else
                mt7620_dram_init(soc_info);
-@@ -593,7 +590,7 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -593,7 +590,7 @@ void prom_soc_init(struct ralink_soc_inf
        pr_info("Digital PMU set to %s control\n",
                (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
  
@@ -85,6 +83,3 @@ index da734e2..db99e9c 100644
                rt2880_pinmux_data = mt7628an_pinmux_data;
        else
                rt2880_pinmux_data = mt7620a_pinmux_data;
--- 
-1.7.10.4
-
index e15aabd..71daf28 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  include/linux/gpio/consumer.h |    8 +++++
  4 files changed, 91 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
-index fa6e3c8..c3f34c0 100644
 --- a/drivers/gpio/gpiolib-of.c
 +++ b/drivers/gpio/gpiolib-of.c
 @@ -23,6 +23,8 @@
@@ -24,7 +22,7 @@ index fa6e3c8..c3f34c0 100644
  
  #include "gpiolib.h"
  
-@@ -450,3 +452,69 @@ void of_gpiochip_remove(struct gpio_chip *chip)
+@@ -450,3 +452,69 @@ void of_gpiochip_remove(struct gpio_chip
        gpiochip_remove_pin_ranges(chip);
        of_node_put(chip->of_node);
  }
@@ -94,8 +92,6 @@ index fa6e3c8..c3f34c0 100644
 +      return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe);
 +}
 +device_initcall(of_gpio_export_init);
-diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c
-index b57ed8e..0df781d 100644
 --- a/drivers/gpio/gpiolib-sysfs.c
 +++ b/drivers/gpio/gpiolib-sysfs.c
 @@ -544,7 +544,7 @@ static struct class gpio_class = {
@@ -107,7 +103,7 @@ index b57ed8e..0df781d 100644
  {
        struct gpio_chip        *chip;
        struct gpiod_data       *data;
-@@ -604,6 +604,8 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
+@@ -604,6 +604,8 @@ int gpiod_export(struct gpio_desc *desc,
        offset = gpio_chip_hwgpio(desc);
        if (chip->names && chip->names[offset])
                ioname = chip->names[offset];
@@ -129,11 +125,9 @@ index b57ed8e..0df781d 100644
  EXPORT_SYMBOL_GPL(gpiod_export);
  
  static int match_export(struct device *dev, const void *desc)
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index 40ec143..dcb07ab 100644
 --- a/include/asm-generic/gpio.h
 +++ b/include/asm-generic/gpio.h
-@@ -122,6 +122,12 @@ static inline int gpio_export(unsigned gpio, bool direction_may_change)
+@@ -122,6 +122,12 @@ static inline int gpio_export(unsigned g
        return gpiod_export(gpio_to_desc(gpio), direction_may_change);
  }
  
@@ -146,11 +140,9 @@ index 40ec143..dcb07ab 100644
  static inline int gpio_export_link(struct device *dev, const char *name,
                                   unsigned gpio)
  {
-diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
-index 14cac67..8097374 100644
 --- a/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
-@@ -426,6 +426,7 @@ static inline struct gpio_desc *devm_get_gpiod_from_child(
+@@ -426,6 +426,7 @@ static inline struct gpio_desc *devm_get
  
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  
@@ -158,7 +150,7 @@ index 14cac67..8097374 100644
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export_link(struct device *dev, const char *name,
                      struct gpio_desc *desc);
-@@ -433,6 +434,13 @@ void gpiod_unexport(struct gpio_desc *desc);
+@@ -433,6 +434,13 @@ void gpiod_unexport(struct gpio_desc *de
  
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  
@@ -172,6 +164,3 @@ index 14cac67..8097374 100644
  static inline int gpiod_export(struct gpio_desc *desc,
                               bool direction_may_change)
  {
--- 
-1.7.10.4
-
index 76a2ea1..b8c4f2c 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  4 files changed, 482 insertions(+)
  create mode 100644 drivers/pinctrl/pinctrl-rt2880.c
 
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index e3aa5b0..0098bff 100644
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 @@ -557,6 +557,8 @@ config RALINK
@@ -25,8 +23,6 @@ index e3aa5b0..0098bff 100644
  
  config SGI_IP22
        bool "SGI IP22 (Indy/Indigo2)"
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 84dd2ed..d016935 100644
 --- a/drivers/pinctrl/Kconfig
 +++ b/drivers/pinctrl/Kconfig
 @@ -103,6 +103,11 @@ config PINCTRL_LPC18XX
@@ -41,8 +37,6 @@ index 84dd2ed..d016935 100644
  config PINCTRL_FALCON
        bool
        depends on SOC_FALCON
-diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
-index cad077c..0c86632 100644
 --- a/drivers/pinctrl/Makefile
 +++ b/drivers/pinctrl/Makefile
 @@ -19,6 +19,7 @@ obj-$(CONFIG_PINCTRL_MESON)  += meson/
@@ -53,9 +47,6 @@ index cad077c..0c86632 100644
  obj-$(CONFIG_PINCTRL_SINGLE)  += pinctrl-single.o
  obj-$(CONFIG_PINCTRL_SIRF)    += sirf/
  obj-$(CONFIG_PINCTRL_TEGRA)   += pinctrl-tegra.o
-diff --git a/drivers/pinctrl/pinctrl-rt2880.c b/drivers/pinctrl/pinctrl-rt2880.c
-new file mode 100644
-index 0000000..fe0af77
 --- /dev/null
 +++ b/drivers/pinctrl/pinctrl-rt2880.c
 @@ -0,0 +1,474 @@
@@ -533,6 +524,3 @@ index 0000000..fe0af77
 +}
 +
 +core_initcall_sync(rt2880_pinmux_init);
--- 
-1.7.10.4
-
index f6b60e9..7d5f98f 100644 (file)
@@ -14,9 +14,6 @@ Cc: linux-gpio@vger.kernel.org
  1 file changed, 40 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ralink.txt
 
-diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
-new file mode 100644
-index 0000000..b4acf02
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
 @@ -0,0 +1,40 @@
@@ -60,6 +57,3 @@ index 0000000..b4acf02
 +                              30 34 ];
 +
 +      };
--- 
-1.7.10.4
-
index 6bc9d1f..8534da3 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 181 insertions(+)
  create mode 100644 drivers/phy/phy-ralink-usb.c
 
-diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
-index 47da573..96ef184 100644
 --- a/drivers/phy/Kconfig
 +++ b/drivers/phy/Kconfig
 @@ -331,6 +331,11 @@ config PHY_XGENE
@@ -27,18 +25,13 @@ index 47da573..96ef184 100644
  config PHY_STIH407_USB
        tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family"
        depends on RESET_CONTROLLER
-diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
-index a5b18c1..8dbf6cc 100644
 --- a/drivers/phy/Makefile
 +++ b/drivers/phy/Makefile
-@@ -46,3 +46,4 @@ obj-$(CONFIG_PHY_QCOM_UFS)   += phy-qcom-ufs-qmp-14nm.o
+@@ -46,3 +46,4 @@ obj-$(CONFIG_PHY_QCOM_UFS)   += phy-qcom-
  obj-$(CONFIG_PHY_TUSB1210)            += phy-tusb1210.o
  obj-$(CONFIG_PHY_BRCMSTB_SATA)                += phy-brcmstb-sata.o
  obj-$(CONFIG_PHY_PISTACHIO_USB)               += phy-pistachio-usb.o
 +obj-$(CONFIG_PHY_RALINK_USB)          += phy-ralink-usb.o
-diff --git a/drivers/phy/phy-ralink-usb.c b/drivers/phy/phy-ralink-usb.c
-new file mode 100644
-index 0000000..6c74954
 --- /dev/null
 +++ b/drivers/phy/phy-ralink-usb.c
 @@ -0,0 +1,175 @@
@@ -217,6 +210,3 @@ index 0000000..6c74954
 +MODULE_DESCRIPTION("Ralink USB phy driver");
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
 +MODULE_LICENSE("GPL v2");
--- 
-1.7.10.4
-
index b57fe9c..5e07d12 100644 (file)
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/usb/host/ohci-platform.c |    1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index 5c3c085..fe78568 100644
 --- a/drivers/usb/host/ehci-platform.c
 +++ b/drivers/usb/host/ehci-platform.c
-@@ -379,6 +379,7 @@ static int ehci_platform_resume(struct device *dev)
+@@ -381,6 +381,7 @@ static int ehci_platform_resume(struct d
  static const struct of_device_id vt8500_ehci_ids[] = {
        { .compatible = "via,vt8500-ehci", },
        { .compatible = "wm,prizm-ehci", },
@@ -23,11 +21,9 @@ index 5c3c085..fe78568 100644
        { .compatible = "generic-ehci", },
        { .compatible = "cavium,octeon-6335-ehci", },
        {}
-diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
-index c2669f18..5cf794a 100644
 --- a/drivers/usb/host/ohci-platform.c
 +++ b/drivers/usb/host/ohci-platform.c
-@@ -344,6 +344,7 @@ static int ohci_platform_resume(struct device *dev)
+@@ -344,6 +344,7 @@ static int ohci_platform_resume(struct d
  #endif /* CONFIG_PM_SLEEP */
  
  static const struct of_device_id ohci_platform_ids[] = {
@@ -35,6 +31,3 @@ index c2669f18..5cf794a 100644
        { .compatible = "generic-ohci", },
        { .compatible = "cavium,octeon-6335-ohci", },
        { }
--- 
-1.7.10.4
-
index ae00444..1a805da 100644 (file)
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/media/usb/uvc/uvcvideo.h   |    5 +-
  4 files changed, 165 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
-index 4b5b3e8..6808bcc 100644
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2536,6 +2536,18 @@ static struct usb_device_id uvc_ids[] = {
+@@ -2536,6 +2536,18 @@ static struct usb_device_id uvc_ids[] =
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_QUIRK_FORCE_Y8 },
@@ -34,11 +32,9 @@ index 4b5b3e8..6808bcc 100644
        /* Generic USB Video Class */
        { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },
        {}
-diff --git a/drivers/media/usb/uvc/uvc_status.c b/drivers/media/usb/uvc/uvc_status.c
-index f552ab9..7132ad4 100644
 --- a/drivers/media/usb/uvc/uvc_status.c
 +++ b/drivers/media/usb/uvc/uvc_status.c
-@@ -139,6 +139,7 @@ static void uvc_status_complete(struct urb *urb)
+@@ -139,6 +139,7 @@ static void uvc_status_complete(struct u
                switch (dev->status[0] & 0x0f) {
                case UVC_STATUS_TYPE_CONTROL:
                        uvc_event_control(dev, dev->status, len);
@@ -46,7 +42,7 @@ index f552ab9..7132ad4 100644
                        break;
  
                case UVC_STATUS_TYPE_STREAMING:
-@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *dev)
+@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *d
        }
  
        pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@@ -54,8 +50,6 @@ index f552ab9..7132ad4 100644
  
        /* For high-speed interrupt endpoints, the bInterval value is used as
         * an exponent of two. Some developers forgot about it.
-diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
-index f839654..b30aab6 100644
 --- a/drivers/media/usb/uvc/uvc_video.c
 +++ b/drivers/media/usb/uvc/uvc_video.c
 @@ -21,6 +21,11 @@
@@ -70,7 +64,7 @@ index f839654..b30aab6 100644
  
  #include <media/v4l2-common.h>
  
-@@ -1089,9 +1094,149 @@ static void uvc_video_decode_data(struct uvc_streaming *stream,
+@@ -1089,9 +1094,149 @@ static void uvc_video_decode_data(struct
        }
  }
  
@@ -220,7 +214,7 @@ index f839654..b30aab6 100644
        /* Mark the buffer as done if the EOF marker is set. */
        if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
                uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1504,6 +1649,8 @@ static int uvc_init_video_isoc(struct uvc_streaming *stream,
+@@ -1504,6 +1649,8 @@ static int uvc_init_video_isoc(struct uv
        if (npackets == 0)
                return -ENOMEM;
  
@@ -229,8 +223,6 @@ index f839654..b30aab6 100644
        size = npackets * psize;
  
        for (i = 0; i < UVC_URBS; ++i) {
-diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
-index 816dd1a..d0aa324 100644
 --- a/drivers/media/usb/uvc/uvcvideo.h
 +++ b/drivers/media/usb/uvc/uvcvideo.h
 @@ -152,7 +152,9 @@
@@ -252,6 +244,3 @@ index 816dd1a..d0aa324 100644
  };
  
  enum uvc_handle_state {
--- 
-1.7.10.4
-
index ca6821e..2927895 100644 (file)
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/usb/dwc2/hcd.c |    3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
-index f845c41..767c93a 100644
 --- a/drivers/usb/dwc2/hcd.c
 +++ b/drivers/usb/dwc2/hcd.c
 @@ -47,6 +47,7 @@
@@ -20,7 +18,7 @@ index f845c41..767c93a 100644
  
  #include <linux/usb/hcd.h>
  #include <linux/usb/ch11.h>
-@@ -2841,6 +2842,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq)
+@@ -2841,6 +2842,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
  
        retval = -ENOMEM;
  
@@ -29,6 +27,3 @@ index f845c41..767c93a 100644
        hcfg = readl(hsotg->regs + HCFG);
        dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg);
  
--- 
-1.7.10.4
-
index 8f28f86..07c2eac 100644 (file)
@@ -43,7 +43,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/usb/core/hcd-pci.c
 +++ b/drivers/usb/core/hcd-pci.c
-@@ -214,8 +214,13 @@
+@@ -214,8 +214,13 @@ int usb_hcd_pci_probe(struct pci_dev *de
                goto disable_pci;
        }
  
@@ -59,7 +59,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                /* EHCI, OHCI */
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -1287,7 +1287,7 @@
+@@ -1287,7 +1287,7 @@ static void hub_quiesce(struct usb_hub *
        if (type != HUB_SUSPEND) {
                /* Disconnect all the children */
                for (i = 0; i < hdev->maxchild; ++i) {
@@ -70,7 +70,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        }
 --- a/drivers/usb/core/port.c
 +++ b/drivers/usb/core/port.c
-@@ -480,8 +480,10 @@
+@@ -480,8 +480,10 @@ void usb_hub_remove_port_device(struct u
        struct usb_port *port_dev = hub->ports[port1 - 1];
        struct usb_port *peer;
  
@@ -87,7 +87,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  }
 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
-@@ -41,6 +41,13 @@
+@@ -41,6 +41,13 @@ config USB_XHCI_PLATFORM
  
          If unsure, say N.
  
@@ -101,7 +101,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  config USB_XHCI_MVEBU
        tristate "xHCI support for Marvell Armada 375/38x"
        select USB_XHCI_PLATFORM
-@@ -590,7 +597,7 @@
+@@ -590,7 +597,7 @@ endif # USB_OHCI_HCD
  
  config USB_UHCI_HCD
        tristate "UHCI HCD (most Intel and VIA) support"
@@ -112,7 +112,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
          accessing the USB hardware in the PC (which is also called the USB
 --- a/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
-@@ -14,7 +14,12 @@
+@@ -14,7 +14,12 @@ xhci-hcd-y := xhci.o xhci-mem.o
  xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
  xhci-hcd-y += xhci-trace.o
  
@@ -125,7 +125,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  ifneq ($(CONFIG_USB_XHCI_MVEBU), )
        xhci-plat-hcd-y         += xhci-mvebu.o
  endif
-@@ -24,11 +29,10 @@
+@@ -24,11 +29,10 @@ endif
  
  obj-$(CONFIG_USB_WHCI_HCD)    += whci/
  
@@ -3834,7 +3834,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
 --- a/drivers/usb/host/xhci-mem.c
 +++ b/drivers/usb/host/xhci-mem.c
-@@ -67,6 +67,9 @@
+@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment
  
  static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg)
  {
@@ -3844,7 +3844,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        if (seg->trbs) {
                dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma);
                seg->trbs = NULL;
-@@ -1471,9 +1474,17 @@
+@@ -1471,9 +1474,17 @@ int xhci_endpoint_init(struct xhci_hcd *
                        max_burst = (usb_endpoint_maxp(&ep->desc)
                                     & 0x1800) >> 11;
                }
@@ -5080,7 +5080,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#endif
 --- a/drivers/usb/host/xhci-plat.c
 +++ b/drivers/usb/host/xhci-plat.c
-@@ -43,6 +43,13 @@
+@@ -43,6 +43,13 @@ static void xhci_plat_quirks(struct devi
         * dev struct in order to setup MSI
         */
        xhci->quirks |= XHCI_PLAT;
@@ -5094,7 +5094,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  }
  
  /* called during probe() after chip reset completes */
-@@ -89,7 +96,11 @@
+@@ -89,7 +96,11 @@ static int xhci_plat_probe(struct platfo
  
        driver = &xhci_plat_hc_driver;
  
@@ -5108,7 +5108,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -254,16 +254,20 @@
+@@ -254,16 +254,20 @@ static void inc_enq(struct xhci_hcd *xhc
  static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring,
                unsigned int num_trbs)
  {
@@ -5129,7 +5129,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        return 1;
  }
-@@ -2869,6 +2873,7 @@
+@@ -2869,6 +2873,7 @@ static int prepare_ring(struct xhci_hcd
                next = ring->enqueue;
  
                while (last_trb(xhci, ring, ring->enq_seg, next)) {
@@ -5137,7 +5137,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        /* If we're not dealing with 0.95 hardware or isoc rings
                         * on AMD 0.96 host, clear the chain bit.
                         */
-@@ -2878,6 +2883,9 @@
+@@ -2878,6 +2883,9 @@ static int prepare_ring(struct xhci_hcd
                                next->link.control &= cpu_to_le32(~TRB_CHAIN);
                        else
                                next->link.control |= cpu_to_le32(TRB_CHAIN);
@@ -5147,7 +5147,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
                        wmb();
                        next->link.control ^= cpu_to_le32(TRB_CYCLE);
-@@ -3008,6 +3016,9 @@
+@@ -3008,6 +3016,9 @@ static void giveback_first_trb(struct xh
                start_trb->field[3] |= cpu_to_le32(start_cycle);
        else
                start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
@@ -5157,7 +5157,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
  }
  
-@@ -3063,6 +3074,29 @@
+@@ -3063,6 +3074,29 @@ static u32 xhci_td_remainder(unsigned in
                return (remainder >> 10) << 17;
  }
  
@@ -5187,7 +5187,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  /*
   * For xHCI 1.0 host controllers, TD size is the number of max packet sized
   * packets remaining in the TD (*not* including this TRB).
-@@ -3220,6 +3254,7 @@
+@@ -3220,6 +3254,7 @@ static int queue_bulk_sg_tx(struct xhci_
                }
  
                /* Set the TRB length, TD size, and interrupter fields. */
@@ -5195,7 +5195,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                if (xhci->hci_version < 0x100) {
                        remainder = xhci_td_remainder(
                                        urb->transfer_buffer_length -
-@@ -3229,6 +3264,12 @@
+@@ -3229,6 +3264,12 @@ static int queue_bulk_sg_tx(struct xhci_
                                        trb_buff_len, total_packet_count, urb,
                                        num_trbs - 1);
                }
@@ -5208,7 +5208,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                length_field = TRB_LEN(trb_buff_len) |
                        remainder |
                        TRB_INTR_TARGET(0);
-@@ -3293,6 +3334,9 @@
+@@ -3293,6 +3334,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        int running_total, trb_buff_len, ret;
        unsigned int total_packet_count;
        u64 addr;
@@ -5218,7 +5218,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        if (urb->num_sgs)
                return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
-@@ -3317,6 +3361,25 @@
+@@ -3317,6 +3361,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
                num_trbs++;
                running_total += TRB_MAX_BUFF_SIZE;
        }
@@ -5244,7 +5244,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        ret = prepare_transfer(xhci, xhci->devs[slot_id],
                        ep_index, urb->stream_id,
-@@ -3393,6 +3456,7 @@
+@@ -3393,6 +3456,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
                        field |= TRB_ISP;
  
                /* Set the TRB length, TD size, and interrupter fields. */
@@ -5252,7 +5252,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                if (xhci->hci_version < 0x100) {
                        remainder = xhci_td_remainder(
                                        urb->transfer_buffer_length -
-@@ -3402,6 +3466,10 @@
+@@ -3402,6 +3466,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
                                        trb_buff_len, total_packet_count, urb,
                                        num_trbs - 1);
                }
@@ -5263,7 +5263,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                length_field = TRB_LEN(trb_buff_len) |
                        remainder |
                        TRB_INTR_TARGET(0);
-@@ -3491,7 +3559,11 @@
+@@ -3491,7 +3559,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
                field |= 0x1;
  
        /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -5275,7 +5275,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                if (urb->transfer_buffer_length > 0) {
                        if (setup->bRequestType & USB_DIR_IN)
                                field |= TRB_TX_TYPE(TRB_DATA_IN);
-@@ -3515,7 +3587,12 @@
+@@ -3515,7 +3587,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
                field = TRB_TYPE(TRB_DATA);
  
        length_field = TRB_LEN(urb->transfer_buffer_length) |
@@ -5288,7 +5288,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                TRB_INTR_TARGET(0);
        if (urb->transfer_buffer_length > 0) {
                if (setup->bRequestType & USB_DIR_IN)
-@@ -3731,6 +3808,9 @@
+@@ -3731,6 +3808,9 @@ static int xhci_queue_isoc_tx(struct xhc
        bool more_trbs_coming;
        struct xhci_virt_ep *xep;
  
@@ -5298,7 +5298,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        xep = &xhci->devs[slot_id]->eps[ep_index];
        ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
  
-@@ -3744,6 +3824,21 @@
+@@ -3744,6 +3824,21 @@ static int xhci_queue_isoc_tx(struct xhc
        start_trb = &ep_ring->enqueue->generic;
        start_cycle = ep_ring->cycle_state;
  
@@ -5320,7 +5320,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        urb_priv = urb->hcpriv;
        /* Queue the first TRB, even if it's zero-length */
        for (i = 0; i < num_tds; i++) {
-@@ -3828,9 +3923,13 @@
+@@ -3828,9 +3923,13 @@ static int xhci_queue_isoc_tx(struct xhc
                        } else {
                                td->last_trb = ep_ring->enqueue;
                                field |= TRB_IOC;
@@ -5334,7 +5334,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                                        /* Set BEI bit except for the last td */
                                        if (i < num_tds - 1)
                                                field |= TRB_BEI;
-@@ -3845,6 +3944,7 @@
+@@ -3845,6 +3944,7 @@ static int xhci_queue_isoc_tx(struct xhc
                                trb_buff_len = td_remain_len;
  
                        /* Set the TRB length, TD size, & interrupter fields. */
@@ -5342,7 +5342,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        if (xhci->hci_version < 0x100) {
                                remainder = xhci_td_remainder(
                                                td_len - running_total);
-@@ -3854,6 +3954,10 @@
+@@ -3854,6 +3954,10 @@ static int xhci_queue_isoc_tx(struct xhc
                                                total_packet_count, urb,
                                                (trbs_per_td - j - 1));
                        }
@@ -5372,7 +5372,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  #define DRIVER_AUTHOR "Sarah Sharp"
  #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
  
-@@ -46,6 +56,18 @@
+@@ -46,6 +56,18 @@ static unsigned int quirks;
  module_param(quirks, uint, S_IRUGO);
  MODULE_PARM_DESC(quirks, "Bit flags for quirks to be enabled as default");
  
@@ -5391,7 +5391,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  /* TODO: copied from ehci-hcd.c - can this be refactored? */
  /*
   * xhci_handshake - spin reading hc until handshake completes or fails
-@@ -198,7 +220,7 @@
+@@ -198,7 +220,7 @@ int xhci_reset(struct xhci_hcd *xhci)
        return ret;
  }
  
@@ -5400,7 +5400,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  static int xhci_free_msi(struct xhci_hcd *xhci)
  {
        int i;
-@@ -448,6 +470,11 @@
+@@ -448,6 +470,11 @@ static void compliance_mode_recovery(uns
                                        "Attempting compliance mode recovery");
                        hcd = xhci->shared_hcd;
  
@@ -5412,7 +5412,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        if (hcd->state == HC_STATE_SUSPENDED)
                                usb_hcd_resume_root_hub(hcd);
  
-@@ -495,6 +522,9 @@
+@@ -495,6 +522,9 @@ static bool xhci_compliance_mode_recover
  {
        const char *dmi_product_name, *dmi_sys_vendor;
  
@@ -5422,7 +5422,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
        dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR);
        if (!dmi_product_name || !dmi_sys_vendor)
-@@ -540,6 +570,10 @@
+@@ -540,6 +570,10 @@ int xhci_init(struct usb_hcd *hcd)
                xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                                "xHCI doesn't need link TRB QUIRK");
        }
@@ -5433,7 +5433,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        retval = xhci_mem_init(xhci, GFP_KERNEL);
        xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_init");
  
-@@ -624,7 +658,11 @@
+@@ -624,7 +658,11 @@ int xhci_run(struct usb_hcd *hcd)
                        "// Set the interrupt modulation register");
        temp = readl(&xhci->ir_set->irq_control);
        temp &= ~ER_IRQ_INTERVAL_MASK;
@@ -5445,7 +5445,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        writel(temp, &xhci->ir_set->irq_control);
  
        /* Set the HCD state before we enable the irqs */
-@@ -649,6 +687,9 @@
+@@ -649,6 +687,9 @@ int xhci_run(struct usb_hcd *hcd)
                xhci_queue_vendor_command(xhci, command, 0, 0, 0,
                                TRB_TYPE(TRB_NEC_GET_FW));
        }
@@ -5455,7 +5455,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                        "Finished xhci_run for USB2 roothub");
        return 0;
-@@ -1639,6 +1680,14 @@
+@@ -1639,6 +1680,14 @@ int xhci_drop_endpoint(struct usb_hcd *h
        u32 drop_flag;
        u32 new_add_flags, new_drop_flags;
        int ret;
@@ -5470,7 +5470,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
        if (ret <= 0)
-@@ -1688,6 +1737,40 @@
+@@ -1688,6 +1737,40 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
        xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -5511,7 +5511,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
                        (unsigned int) ep->desc.bEndpointAddress,
                        udev->slot_id,
-@@ -1720,6 +1803,19 @@
+@@ -1720,6 +1803,19 @@ int xhci_add_endpoint(struct usb_hcd *hc
        u32 new_add_flags, new_drop_flags;
        struct xhci_virt_device *virt_dev;
        int ret = 0;
@@ -5531,7 +5531,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
        if (ret <= 0) {
-@@ -1783,6 +1879,56 @@
+@@ -1783,6 +1879,56 @@ int xhci_add_endpoint(struct usb_hcd *hc
                return -ENOMEM;
        }
  
@@ -5588,7 +5588,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
        new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
  
-@@ -4446,8 +4592,14 @@
+@@ -4446,8 +4592,14 @@ static u16 xhci_call_host_update_timeout
                u16 *timeout)
  {
        if (state == USB3_LPM_U1)
@@ -5603,7 +5603,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                return xhci_calculate_u2_timeout(xhci, udev, desc);
  
        return USB3_LPM_DISABLED;
-@@ -4839,7 +4991,9 @@
+@@ -4839,7 +4991,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
        hcd->self.no_sg_constraint = 1;
  
        /* XHCI controllers don't stop the ep queue on short packets :| */
@@ -5613,7 +5613,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        if (usb_hcd_is_primary_hcd(hcd)) {
                xhci = hcd_to_xhci(hcd);
-@@ -4900,6 +5054,10 @@
+@@ -4900,6 +5054,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
                return retval;
        xhci_dbg(xhci, "Reset complete\n");
  
@@ -5624,7 +5624,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        /* Set dma_mask and coherent_dma_mask to 64-bits,
         * if xHC supports 64-bit addressing */
        if (HCC_64BIT_ADDR(xhci->hcc_params) &&
-@@ -5005,8 +5163,57 @@
+@@ -5005,8 +5163,57 @@ MODULE_DESCRIPTION(DRIVER_DESC);
  MODULE_AUTHOR(DRIVER_AUTHOR);
  MODULE_LICENSE("GPL");
  
@@ -5706,7 +5706,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  /* xHCI PCI Configuration Registers */
  #define XHCI_SBRN_OFFSET      (0x60)
  
-@@ -1597,8 +1612,12 @@
+@@ -1597,8 +1612,12 @@ struct xhci_hcd {
        /* Compliance Mode Recovery Data */
        struct timer_list       comp_mode_recovery_timer;
        u32                     port_status_u0;
@@ -5719,7 +5719,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  };
  
  /* Platform specific overrides to generic XHCI hc_driver ops */
-@@ -1763,6 +1782,26 @@
+@@ -1763,6 +1782,26 @@ void xhci_urb_free_priv(struct urb_priv
  void xhci_free_command(struct xhci_hcd *xhci,
                struct xhci_command *command);
  
index f163e3c..2b1722e 100644 (file)
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  include/linux/phy.h   |    1 +
  2 files changed, 7 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
-index adb48ab..7eb83bd 100644
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -843,7 +843,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -887,7 +887,8 @@ void phy_state_machine(struct work_struc
                /* If the link is down, give up on negotiation for now */
                if (!phydev->link) {
                        phydev->state = PHY_NOLINK;
@@ -23,7 +21,7 @@ index adb48ab..7eb83bd 100644
                        phydev->adjust_link(phydev->attached_dev);
                        break;
                }
-@@ -923,7 +924,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -967,7 +968,8 @@ void phy_state_machine(struct work_struc
                        netif_carrier_on(phydev->attached_dev);
                } else {
                        phydev->state = PHY_NOLINK;
@@ -33,7 +31,7 @@ index adb48ab..7eb83bd 100644
                }
  
                phydev->adjust_link(phydev->attached_dev);
-@@ -935,7 +937,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -979,7 +981,8 @@ void phy_state_machine(struct work_struc
        case PHY_HALTED:
                if (phydev->link) {
                        phydev->link = 0;
@@ -43,8 +41,6 @@ index adb48ab..7eb83bd 100644
                        phydev->adjust_link(phydev->attached_dev);
                        do_suspend = true;
                }
-diff --git a/include/linux/phy.h b/include/linux/phy.h
-index 4a4e3a0..a260bdc 100644
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
 @@ -375,6 +375,7 @@ struct phy_device {
@@ -55,6 +51,3 @@ index 4a4e3a0..a260bdc 100644
  
        enum phy_state state;
  
--- 
-1.7.10.4
-
index 69b2f60..44a3ed6 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/net/ethernet/Makefile |    1 +
  3 files changed, 3 insertions(+)
 
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index 51f33a5..d7c4ba4 100644
 --- a/arch/mips/ralink/rt305x.c
 +++ b/arch/mips/ralink/rt305x.c
 @@ -199,6 +199,7 @@ void __init ralink_clk_init(void)
@@ -24,6 +22,3 @@ index 51f33a5..d7c4ba4 100644
        ralink_clk_add("10000b00.spi", sys_rate);
        ralink_clk_add("10000b40.spi", sys_rate);
        ralink_clk_add("10000100.timer", wdt_rate);
--- 
-1.7.10.4
-
index 635f604..b6189fe 100644 (file)
@@ -7,11 +7,9 @@ Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase status check
  drivers/mtd/chips/cfi_cmdset_0002.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index c3624eb..60d960a 100644
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2290,7 +2290,7 @@ static int __xipram do_erase_chip(struct map_info *map, struct flchip *chip)
+@@ -2291,7 +2291,7 @@ static int __xipram do_erase_chip(struct
                        chip->erase_suspended = 0;
                }
  
@@ -20,7 +18,7 @@ index c3624eb..60d960a 100644
                        break;
  
                if (time_after(jiffies, timeo)) {
-@@ -2379,7 +2379,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
+@@ -2380,7 +2380,7 @@ static int __xipram do_erase_oneblock(st
                        chip->erase_suspended = 0;
                }
  
@@ -29,6 +27,3 @@ index c3624eb..60d960a 100644
                        xip_enable(map, chip, adr);
                        break;
                }
--- 
-1.7.10.4
-
index 7c1ea22..8f274bc 100644 (file)
@@ -7,8 +7,6 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
  drivers/mtd/chips/cfi_cmdset_0002.c |    9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index 60d960a..a663e3b 100644
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
 @@ -40,7 +40,7 @@
@@ -30,7 +28,7 @@ index 60d960a..a663e3b 100644
  static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
  static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
  static void cfi_amdstd_sync (struct mtd_info *);
-@@ -202,6 +204,7 @@ static void fixup_amd_bootblock(struct mtd_info *mtd)
+@@ -202,6 +204,7 @@ static void fixup_amd_bootblock(struct m
  }
  #endif
  
@@ -38,7 +36,7 @@ index 60d960a..a663e3b 100644
  static void fixup_use_write_buffers(struct mtd_info *mtd)
  {
        struct map_info *map = mtd->priv;
-@@ -211,6 +214,7 @@ static void fixup_use_write_buffers(struct mtd_info *mtd)
+@@ -211,6 +214,7 @@ static void fixup_use_write_buffers(stru
                mtd->_write = cfi_amdstd_write_buffers;
        }
  }
@@ -46,7 +44,7 @@ index 60d960a..a663e3b 100644
  
  /* Atmel chips don't use the same PRI format as AMD chips */
  static void fixup_convert_atmel_pri(struct mtd_info *mtd)
-@@ -1789,6 +1793,7 @@ static int cfi_amdstd_write_words(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1789,6 +1793,7 @@ static int cfi_amdstd_write_words(struct
  /*
   * FIXME: interleaved mode not tested, and probably not supported!
   */
@@ -54,7 +52,7 @@ index 60d960a..a663e3b 100644
  static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
                                    unsigned long adr, const u_char *buf,
                                    int len)
-@@ -1916,7 +1921,6 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
+@@ -1917,7 +1922,6 @@ static int __xipram do_write_buffer(stru
        return ret;
  }
  
@@ -62,7 +60,7 @@ index 60d960a..a663e3b 100644
  static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
                                    size_t *retlen, const u_char *buf)
  {
-@@ -1991,6 +1995,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1992,6 +1996,7 @@ static int cfi_amdstd_write_buffers(stru
  
        return 0;
  }
@@ -70,6 +68,3 @@ index 60d960a..a663e3b 100644
  
  /*
   * Wait for the flash chip to become ready to write data
--- 
-1.7.10.4
-
index a381e21..0bf9043 100644 (file)
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/mtd/maps/ralink_nand.c
  create mode 100644 drivers/mtd/maps/ralink_nand.h
 
-diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
-index 7c95a65..c2739db 100644
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
 @@ -399,4 +399,8 @@ config MTD_LATCH_ADDR
@@ -26,8 +24,6 @@ index 7c95a65..c2739db 100644
 +      depends on RALINK && SOC_MT7620
 +
  endmenu
-diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
-index 141c91a..94d2aa0 100644
 --- a/drivers/mtd/maps/Makefile
 +++ b/drivers/mtd/maps/Makefile
 @@ -43,3 +43,5 @@ obj-$(CONFIG_MTD_VMU)                += vmu-flash.o
@@ -36,9 +32,6 @@ index 141c91a..94d2aa0 100644
  obj-$(CONFIG_MTD_LANTIQ)      += lantiq-flash.o
 +obj-$(CONFIG_MTD_NAND_MT7620) += ralink_nand.o
 +
-diff --git a/drivers/mtd/maps/ralink_nand.c b/drivers/mtd/maps/ralink_nand.c
-new file mode 100644
-index 0000000..64f9119
 --- /dev/null
 +++ b/drivers/mtd/maps/ralink_nand.c
 @@ -0,0 +1,2136 @@
@@ -2178,9 +2171,6 @@ index 0000000..64f9119
 +
 +
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/maps/ralink_nand.h b/drivers/mtd/maps/ralink_nand.h
-new file mode 100644
-index 0000000..a408ae9
 --- /dev/null
 +++ b/drivers/mtd/maps/ralink_nand.h
 @@ -0,0 +1,232 @@
@@ -2416,6 +2406,3 @@ index 0000000..a408ae9
 +
 +
 +#endif
--- 
-1.7.10.4
-
index b84e666..a16be73 100644 (file)
@@ -29,8 +29,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/mtd/nand/nand_device_list.h
  create mode 100644 drivers/mtd/nand/partition.h
 
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 3324281..76cfc97 100644
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
 @@ -535,4 +535,10 @@ config MTD_NAND_HISI504
@@ -44,20 +42,15 @@ index 3324281..76cfc97 100644
 +      select MTD_NAND_ECC
 +
  endif # MTD_NAND
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 075a027..ec349e3 100644
 --- a/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
-@@ -54,5 +54,6 @@ obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
+@@ -54,5 +54,6 @@ obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) +=
  obj-$(CONFIG_MTD_NAND_SUNXI)          += sunxi_nand.o
  obj-$(CONFIG_MTD_NAND_HISI504)                += hisi504_nand.o
  obj-$(CONFIG_MTD_NAND_BRCMNAND)               += brcmnand/
 +obj-$(CONFIG_MTK_MTD_NAND)                      += mtk_nand.o bmt.o
  
  nand-objs := nand_base.o nand_bbt.o nand_timings.o
-diff --git a/drivers/mtd/nand/bmt.c b/drivers/mtd/nand/bmt.c
-new file mode 100644
-index 0000000..0462871
 --- /dev/null
 +++ b/drivers/mtd/nand/bmt.c
 @@ -0,0 +1,750 @@
@@ -811,9 +804,6 @@ index 0000000..0462871
 +MODULE_AUTHOR("MediaTek");
 +MODULE_DESCRIPTION("Bad Block mapping management for MediaTek NAND Flash Driver");
 +#endif
-diff --git a/drivers/mtd/nand/bmt.h b/drivers/mtd/nand/bmt.h
-new file mode 100644
-index 0000000..2d30ea9
 --- /dev/null
 +++ b/drivers/mtd/nand/bmt.h
 @@ -0,0 +1,80 @@
@@ -897,9 +887,6 @@ index 0000000..2d30ea9
 +unsigned short get_mapping_block_index(int index);
 +
 +#endif                          // #ifndef __BMT_H__
-diff --git a/drivers/mtd/nand/dev-nand.c b/drivers/mtd/nand/dev-nand.c
-new file mode 100644
-index 0000000..9fb5235
 --- /dev/null
 +++ b/drivers/mtd/nand/dev-nand.c
 @@ -0,0 +1,63 @@
@@ -966,9 +953,6 @@ index 0000000..9fb5235
 +      return retval;
 +}
 +arch_initcall(mtk_nand_register);
-diff --git a/drivers/mtd/nand/mt6575_typedefs.h b/drivers/mtd/nand/mt6575_typedefs.h
-new file mode 100644
-index 0000000..a7b9647
 --- /dev/null
 +++ b/drivers/mtd/nand/mt6575_typedefs.h
 @@ -0,0 +1,340 @@
@@ -1312,9 +1296,6 @@ index 0000000..a7b9647
 +
 +#endif  // _MT6575_TYPEDEFS_H
 +
-diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
-new file mode 100644
-index 0000000..00e150c
 --- /dev/null
 +++ b/drivers/mtd/nand/mtk_nand.c
 @@ -0,0 +1,2304 @@
@@ -3622,9 +3603,6 @@ index 0000000..00e150c
 +module_init(mtk_nand_init);
 +module_exit(mtk_nand_exit);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/nand/mtk_nand.h b/drivers/mtd/nand/mtk_nand.h
-new file mode 100644
-index 0000000..6db88c4
 --- /dev/null
 +++ b/drivers/mtd/nand/mtk_nand.h
 @@ -0,0 +1,452 @@
@@ -4080,11 +4058,9 @@ index 0000000..6db88c4
 +extern u32    CFG_BLOCKSIZE;
 +#endif
 +#endif
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index ceb68ca..04dbc69 100644
 --- a/drivers/mtd/nand/nand_base.c
 +++ b/drivers/mtd/nand/nand_base.c
-@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_128 = {
+@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_12
                 .length = 78} }
  };
  
@@ -4093,7 +4069,7 @@ index ceb68ca..04dbc69 100644
  
  static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
                             struct mtd_oob_ops *ops);
-@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_info *mtd,
+@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_inf
   *
   * Release chip lock and wake up anyone waiting on the device.
   */
@@ -4102,7 +4078,7 @@ index ceb68ca..04dbc69 100644
  {
        struct nand_chip *chip = mtd->priv;
  
-@@ -820,7 +820,7 @@ static void panic_nand_get_device(struct nand_chip *chip,
+@@ -820,7 +820,7 @@ static void panic_nand_get_device(struct
   *
   * Get the device and lock it for exclusive access
   */
@@ -4111,11 +4087,9 @@ index ceb68ca..04dbc69 100644
  nand_get_device(struct mtd_info *mtd, int new_state)
  {
        struct nand_chip *chip = mtd->priv;
-diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
-index 63a1a36..d036b9a 100644
 --- a/drivers/mtd/nand/nand_bbt.c
 +++ b/drivers/mtd/nand/nand_bbt.c
-@@ -1374,4 +1374,23 @@ int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs)
+@@ -1374,4 +1374,23 @@ int nand_markbad_bbt(struct mtd_info *mt
        return ret;
  }
  
@@ -4139,9 +4113,6 @@ index 63a1a36..d036b9a 100644
 +}
 +
  EXPORT_SYMBOL(nand_scan_bbt);
-diff --git a/drivers/mtd/nand/nand_def.h b/drivers/mtd/nand/nand_def.h
-new file mode 100644
-index 0000000..82e957d
 --- /dev/null
 +++ b/drivers/mtd/nand/nand_def.h
 @@ -0,0 +1,123 @@
@@ -4268,9 +4239,6 @@ index 0000000..82e957d
 +#include "mt6575_typedefs.h"
 +
 +#endif /* __NAND_DEF_H__ */
-diff --git a/drivers/mtd/nand/nand_device_list.h b/drivers/mtd/nand/nand_device_list.h
-new file mode 100644
-index 0000000..4c36b3a
 --- /dev/null
 +++ b/drivers/mtd/nand/nand_device_list.h
 @@ -0,0 +1,55 @@
@@ -4329,9 +4297,6 @@ index 0000000..4c36b3a
 +
 +
 +#endif
-diff --git a/drivers/mtd/nand/partition.h b/drivers/mtd/nand/partition.h
-new file mode 100644
-index 0000000..034e1af
 --- /dev/null
 +++ b/drivers/mtd/nand/partition.h
 @@ -0,0 +1,115 @@
@@ -4450,6 +4415,3 @@ index 0000000..034e1af
 +//#endif
 +#undef RECONFIG_PARTITION_SIZE
 +
--- 
-1.7.10.4
-
index 51fd8ee..78d607e 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  include/linux/mtd/nand.h            |    4 ++++
  4 files changed, 44 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
-index 00e150c..808e9c3 100644
 --- a/drivers/mtd/nand/mtk_nand.c
 +++ b/drivers/mtd/nand/mtk_nand.c
 @@ -110,6 +110,10 @@ int part_num = NUM_PARTITIONS;
@@ -26,7 +24,7 @@ index 00e150c..808e9c3 100644
  static u8 local_oob_buf[NAND_MAX_OOBSIZE];
  
  static u8 nand_badblock_offset = 0;
-@@ -348,7 +352,7 @@ mtk_nand_check_bch_error(struct mtd_info *mtd, u8 * pDataBuf, u32 u4SecIndex, u3
+@@ -348,7 +352,7 @@ mtk_nand_check_bch_error(struct mtd_info
                if (0xF == u4ErrNum) {
                        mtd->ecc_stats.failed++;
                        bRet = false;
@@ -35,7 +33,7 @@ index 00e150c..808e9c3 100644
                } else {
                        for (i = 0; i < ((u4ErrNum + 1) >> 1); ++i) {
                                au4ErrBitLoc[i] = DRV_Reg32(ECC_DECEL0_REG32 + i);
-@@ -1422,7 +1426,7 @@ mtk_nand_erase_hw(struct mtd_info *mtd, int page)
+@@ -1422,7 +1426,7 @@ mtk_nand_erase_hw(struct mtd_info *mtd,
  {
        struct nand_chip *chip = (struct nand_chip *)mtd->priv;
  
@@ -44,7 +42,7 @@ index 00e150c..808e9c3 100644
  
        return chip->waitfunc(mtd, chip);
  }
-@@ -2094,8 +2098,8 @@ mtk_nand_probe(struct platform_device *pdev)
+@@ -2094,8 +2098,8 @@ mtk_nand_probe(struct platform_device *p
        nand_chip->write_page = mtk_nand_write_page;
        nand_chip->ecc.write_oob = mtk_nand_write_oob;
        nand_chip->block_markbad = mtk_nand_block_markbad;   // need to add nand_get_device()/nand_release_device().
@@ -55,7 +53,7 @@ index 00e150c..808e9c3 100644
        nand_chip->ecc.read_oob = mtk_nand_read_oob;
        nand_chip->block_bad = mtk_nand_block_bad;
  
-@@ -2175,6 +2179,21 @@ mtk_nand_probe(struct platform_device *pdev)
+@@ -2175,6 +2179,21 @@ mtk_nand_probe(struct platform_device *p
        nand_chip->pagemask = (nand_chip->chipsize >> nand_chip->page_shift) - 1;
        nand_chip->phys_erase_shift = ffs(mtd->erasesize) - 1;
        nand_chip->chip_shift = ffs(nand_chip->chipsize) - 1;//0x1C;//ffs(nand_chip->chipsize) - 1;
@@ -87,7 +85,7 @@ index 00e150c..808e9c3 100644
        kfree(host);
        nand_disable_clock();
        return err;
-@@ -2261,8 +2283,12 @@ mtk_nand_remove(struct platform_device *pdev)
+@@ -2261,8 +2283,12 @@ mtk_nand_remove(struct platform_device *
  {
        struct mtk_nand_host *host = platform_get_drvdata(pdev);
        struct mtd_info *mtd = &host->mtd;
@@ -100,11 +98,9 @@ index 00e150c..808e9c3 100644
        kfree(host);
        nand_disable_clock();
  
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 04dbc69..c5ed6fc 100644
 --- a/drivers/mtd/nand/nand_base.c
 +++ b/drivers/mtd/nand/nand_base.c
-@@ -1592,6 +1592,9 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
+@@ -1592,6 +1592,9 @@ static int nand_do_read_ops(struct mtd_i
                                                 __func__, buf);
  
  read_retry:
@@ -122,7 +118,7 @@ index 04dbc69..c5ed6fc 100644
                        if (ret < 0) {
                                if (use_bufpoi)
                                        /* Invalidate page cache */
-@@ -2786,8 +2790,11 @@ int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr,
+@@ -2786,8 +2790,11 @@ int nand_erase_nand(struct mtd_info *mtd
                if (page <= chip->pagebuf && chip->pagebuf <
                    (page + pages_per_block))
                        chip->pagebuf = -1;
@@ -135,11 +131,9 @@ index 04dbc69..c5ed6fc 100644
  
                /*
                 * See if operation failed and additional status checks are
-diff --git a/drivers/mtd/nand/nand_device_list.h b/drivers/mtd/nand/nand_device_list.h
-index 4c36b3a..267fd0c 100644
 --- a/drivers/mtd/nand/nand_device_list.h
 +++ b/drivers/mtd/nand/nand_device_list.h
-@@ -43,6 +43,8 @@ static const flashdev_info gen_FlashTable[]={
+@@ -43,6 +43,8 @@ static const flashdev_info gen_FlashTabl
        {0xADBC, 0x905554, 5, 16, 512, 128, 2048, 64, 0x10801011, "H9DA4GH4JJAMC", 0},
      {0x01F1, 0x801D01, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "S34ML01G100TF", 0},
      {0x92F1, 0x8095FF, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "F59L1G81A", 0},
@@ -148,8 +142,6 @@ index 4c36b3a..267fd0c 100644
        {0xECD3, 0x519558, 5, 8, 1024, 128, 2048, 64, 0x44333, "K9K8G8000", 0},
      {0xC2F1, 0x801DC2, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "MX30LF1G08AA", 0},
      {0x98D3, 0x902676, 5, 8, 1024, 256, 4096, 224, 0x00C25332, "TC58NVG3S0F", 0},
-diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
-index 272f429..b633b84 100644
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
 @@ -671,6 +671,10 @@ struct nand_chip {
@@ -163,6 +155,3 @@ index 272f429..b633b84 100644
        int (*onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip,
                        int feature_addr, uint8_t *subfeature_para);
        int (*onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip,
--- 
-1.7.10.4
-
index 100465f..e2643e3 100644 (file)
@@ -11,9 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  1 file changed, 28 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/spi/spi-rt2880.txt
 
-diff --git a/Documentation/devicetree/bindings/spi/spi-rt2880.txt b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
-new file mode 100644
-index 0000000..068bc90
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
 @@ -0,0 +1,28 @@
@@ -45,6 +42,3 @@ index 0000000..068bc90
 +              };
 +      };
 +
--- 
-1.7.10.4
-
index 92438ff..596bd83 100644 (file)
@@ -14,11 +14,9 @@ Acked-by: John Crispin <blogic@openwrt.org>
  3 files changed, 537 insertions(+)
  create mode 100644 drivers/spi/spi-rt2880.c
 
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 4887f31..7c592ce 100644
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -457,6 +457,12 @@ config SPI_QUP
+@@ -466,6 +466,12 @@ config SPI_QUP
          This driver can also be built as a module.  If so, the module
          will be called spi_qup.
  
@@ -31,11 +29,9 @@ index 4887f31..7c592ce 100644
  config SPI_S3C24XX
        tristate "Samsung S3C24XX series SPI"
        depends on ARCH_S3C24XX
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 6a7f6f9..3d690ef 100644
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -68,6 +68,7 @@ obj-$(CONFIG_SPI_QUP)                        += spi-qup.o
+@@ -69,6 +69,7 @@ obj-$(CONFIG_SPI_QUP)                        += spi-qup.o
  obj-$(CONFIG_SPI_ROCKCHIP)            += spi-rockchip.o
  obj-$(CONFIG_SPI_RB4XX)                       += spi-rb4xx.o
  obj-$(CONFIG_SPI_RSPI)                        += spi-rspi.o
@@ -43,9 +39,6 @@ index 6a7f6f9..3d690ef 100644
  obj-$(CONFIG_SPI_S3C24XX)             += spi-s3c24xx-hw.o
  spi-s3c24xx-hw-y                      := spi-s3c24xx.o
  spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o
-diff --git a/drivers/spi/spi-rt2880.c b/drivers/spi/spi-rt2880.c
-new file mode 100644
-index 0000000..c286c94
 --- /dev/null
 +++ b/drivers/spi/spi-rt2880.c
 @@ -0,0 +1,530 @@
@@ -579,6 +572,3 @@ index 0000000..c286c94
 +MODULE_AUTHOR("Sergiy <piratfm@gmail.com>");
 +MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
 +MODULE_LICENSE("GPL");
--- 
-1.7.10.4
-
index 716168f..eab30ae 100644 (file)
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 487 insertions(+)
  create mode 100644 drivers/spi/spi-mt7621.c
 
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 7c592ce..2f05c85 100644
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -463,6 +463,12 @@ config SPI_RT2880
+@@ -472,6 +472,12 @@ config SPI_RT2880
        help
          This selects a driver for the Ralink RT288x/RT305x SPI Controller.
  
@@ -28,11 +26,9 @@ index 7c592ce..2f05c85 100644
  config SPI_S3C24XX
        tristate "Samsung S3C24XX series SPI"
        depends on ARCH_S3C24XX
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 3d690ef..5389710 100644
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC)                += spi-mpc512x-psc.o
+@@ -50,6 +50,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC)                += spi-mp
  obj-$(CONFIG_SPI_MPC52xx_PSC)         += spi-mpc52xx-psc.o
  obj-$(CONFIG_SPI_MPC52xx)             += spi-mpc52xx.o
  obj-$(CONFIG_SPI_MT65XX)                += spi-mt65xx.o
@@ -40,9 +36,6 @@ index 3d690ef..5389710 100644
  obj-$(CONFIG_SPI_MXS)                 += spi-mxs.o
  obj-$(CONFIG_SPI_NUC900)              += spi-nuc900.o
  obj-$(CONFIG_SPI_OC_TINY)             += spi-oc-tiny.o
-diff --git a/drivers/spi/spi-mt7621.c b/drivers/spi/spi-mt7621.c
-new file mode 100644
-index 0000000..dedf4a1
 --- /dev/null
 +++ b/drivers/spi/spi-mt7621.c
 @@ -0,0 +1,480 @@
@@ -526,6 +519,3 @@ index 0000000..dedf4a1
 +MODULE_DESCRIPTION("MT7621 SPI driver");
 +MODULE_AUTHOR("Felix Fietkau <nbd@openwrt.org>");
 +MODULE_LICENSE("GPL");
--- 
-1.7.10.4
-
index f600bd5..30108fb 100644 (file)
@@ -13,9 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 Documentation/devicetree/bindings/i2c/i2c-ralink.txt
  create mode 100644 drivers/i2c/busses/i2c-ralink.c
 
-diff --git a/Documentation/devicetree/bindings/i2c/i2c-ralink.txt b/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
-new file mode 100644
-index 0000000..8fa8ac3
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
 @@ -0,0 +1,27 @@
@@ -46,8 +43,6 @@ index 0000000..8fa8ac3
 +              };
 +      };
 +};
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 08b8617..53d565b 100644
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
 @@ -803,6 +803,10 @@ config I2C_RK3X
@@ -61,8 +56,6 @@ index 08b8617..53d565b 100644
  config HAVE_S3C2410_I2C
        bool
        help
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 6df3b30..2edd32c 100644
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
 @@ -75,6 +75,7 @@ obj-$(CONFIG_I2C_PNX)                += i2c-pnx.o
@@ -73,9 +66,6 @@ index 6df3b30..2edd32c 100644
  obj-$(CONFIG_I2C_QUP)         += i2c-qup.o
  obj-$(CONFIG_I2C_RIIC)                += i2c-riic.o
  obj-$(CONFIG_I2C_RK3X)                += i2c-rk3x.o
-diff --git a/drivers/i2c/busses/i2c-ralink.c b/drivers/i2c/busses/i2c-ralink.c
-new file mode 100644
-index 0000000..debfb18
 --- /dev/null
 +++ b/drivers/i2c/busses/i2c-ralink.c
 @@ -0,0 +1,327 @@
@@ -406,6 +396,3 @@ index 0000000..debfb18
 +MODULE_DESCRIPTION("Ralink I2c host driver");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:Ralink-I2C");
--- 
-1.7.10.4
-
index 17ff8d2..dc961fa 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 308 insertions(+)
  create mode 100644 drivers/i2c/busses/i2c-mt7621.c
 
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 53d565b..073bfe3 100644
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
 @@ -807,6 +807,10 @@ config I2C_RALINK
@@ -26,8 +24,6 @@ index 53d565b..073bfe3 100644
  config HAVE_S3C2410_I2C
        bool
        help
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 2edd32c..764e16e 100644
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
 @@ -76,6 +76,7 @@ obj-$(CONFIG_I2C_PUV3)               += i2c-puv3.o
@@ -38,9 +34,6 @@ index 2edd32c..764e16e 100644
  obj-$(CONFIG_I2C_QUP)         += i2c-qup.o
  obj-$(CONFIG_I2C_RIIC)                += i2c-riic.o
  obj-$(CONFIG_I2C_RK3X)                += i2c-rk3x.o
-diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt7621.c
-new file mode 100644
-index 0000000..646ca40
 --- /dev/null
 +++ b/drivers/i2c/busses/i2c-mt7621.c
 @@ -0,0 +1,303 @@
@@ -347,6 +340,3 @@ index 0000000..646ca40
 +MODULE_DESCRIPTION("MT7621 I2c host driver");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:MT7621-I2C");
--- 
-1.7.10.4
-
index dac572f..079ce4a 100644 (file)
@@ -23,18 +23,14 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/mmc/host/mtk-mmc/mt6575_sd.h
  create mode 100644 drivers/mmc/host/mtk-mmc/sd.c
 
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 8a1e349..47833d1 100644
 --- a/drivers/mmc/host/Kconfig
 +++ b/drivers/mmc/host/Kconfig
-@@ -793,3 +793,5 @@ config MMC_MTK
+@@ -818,3 +818,5 @@ config MMC_MTK
          If you have a machine with a integrated SD/MMC card reader, say Y or M here.
          This is needed if support for any SD/SDIO/MMC devices is required.
          If unsure, say N.
 +
 +source "drivers/mmc/host/mtk-mmc/Kconfig"
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 4f3452a..69dd05f 100644
 --- a/drivers/mmc/host/Makefile
 +++ b/drivers/mmc/host/Makefile
 @@ -2,6 +2,7 @@
@@ -45,9 +41,6 @@ index 4f3452a..69dd05f 100644
  obj-$(CONFIG_MMC_ARMMMCI)     += mmci.o
  obj-$(CONFIG_MMC_QCOM_DML)    += mmci_qcom_dml.o
  obj-$(CONFIG_MMC_PXA)         += pxamci.o
-diff --git a/drivers/mmc/host/mtk-mmc/Kconfig b/drivers/mmc/host/mtk-mmc/Kconfig
-new file mode 100644
-index 0000000..a58b0f3
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/Kconfig
 @@ -0,0 +1,16 @@
@@ -67,9 +60,6 @@ index 0000000..a58b0f3
 +      bool "eMMC 8-bit support"
 +      depends on MTK_MMC && RALINK_MT7628
 +
-diff --git a/drivers/mmc/host/mtk-mmc/Makefile b/drivers/mmc/host/mtk-mmc/Makefile
-new file mode 100644
-index 0000000..caead0b
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/Makefile
 @@ -0,0 +1,42 @@
@@ -115,9 +105,6 @@ index 0000000..caead0b
 +
 +clean:
 +      @rm -f *.o modules.order .*.cmd
-diff --git a/drivers/mmc/host/mtk-mmc/board.h b/drivers/mmc/host/mtk-mmc/board.h
-new file mode 100644
-index 0000000..33bfc7b
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/board.h
 @@ -0,0 +1,137 @@
@@ -258,9 +245,6 @@ index 0000000..33bfc7b
 +
 +#endif /* __ARCH_ARM_MACH_BOARD_H */
 +
-diff --git a/drivers/mmc/host/mtk-mmc/dbg.c b/drivers/mmc/host/mtk-mmc/dbg.c
-new file mode 100644
-index 0000000..4dc115b
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/dbg.c
 @@ -0,0 +1,347 @@
@@ -611,9 +595,6 @@ index 0000000..4dc115b
 +}
 +EXPORT_SYMBOL_GPL(msdc_debug_proc_init);
 +#endif
-diff --git a/drivers/mmc/host/mtk-mmc/dbg.h b/drivers/mmc/host/mtk-mmc/dbg.h
-new file mode 100644
-index 0000000..e58c431
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/dbg.h
 @@ -0,0 +1,156 @@
@@ -773,9 +754,6 @@ index 0000000..e58c431
 +void msdc_performance(u32 opcode, u32 sizes, u32 bRx, u32 ticks);   
 +
 +#endif
-diff --git a/drivers/mmc/host/mtk-mmc/mt6575_sd.h b/drivers/mmc/host/mtk-mmc/mt6575_sd.h
-new file mode 100644
-index 0000000..e90c4f1
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/mt6575_sd.h
 @@ -0,0 +1,1001 @@
@@ -1780,9 +1758,6 @@ index 0000000..e90c4f1
 +
 +#endif
 +
-diff --git a/drivers/mmc/host/mtk-mmc/sd.c b/drivers/mmc/host/mtk-mmc/sd.c
-new file mode 100644
-index 0000000..d240b46
 --- /dev/null
 +++ b/drivers/mmc/host/mtk-mmc/sd.c
 @@ -0,0 +1,3060 @@
@@ -4846,6 +4821,3 @@ index 0000000..d240b46
 +MODULE_AUTHOR("Infinity Chen <infinity.chen@mediatek.com>");
 +
 +EXPORT_SYMBOL(msdc_6575_host);
--- 
-1.7.10.4
-
index 55a6b0a..3362d4b 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  4 files changed, 585 insertions(+)
  create mode 100644 drivers/dma/ralink-gdma.c
 
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index b458475..2d5ae4a 100644
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
 @@ -40,6 +40,12 @@ config ASYNC_TX_ENABLE_CHANNEL_SWITCH
@@ -29,20 +27,15 @@ index b458475..2d5ae4a 100644
  config DMA_ENGINE
        bool
  
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index 7711a71..b33c434 100644
 --- a/drivers/dma/Makefile
 +++ b/drivers/dma/Makefile
-@@ -65,5 +65,6 @@ obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o
+@@ -65,5 +65,6 @@ obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-
  obj-$(CONFIG_TI_EDMA) += edma.o
  obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
  obj-$(CONFIG_ZX_DMA) += zx296702_dma.o
 +obj-$(CONFIG_DMA_RALINK) += ralink-gdma.o
  
  obj-y += xilinx/
-diff --git a/drivers/dma/ralink-gdma.c b/drivers/dma/ralink-gdma.c
-new file mode 100644
-index 0000000..2c3cace
 --- /dev/null
 +++ b/drivers/dma/ralink-gdma.c
 @@ -0,0 +1,577 @@
@@ -623,11 +616,9 @@ index 0000000..2c3cace
 +MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
 +MODULE_DESCRIPTION("GDMA4740 DMA driver");
 +MODULE_LICENSE("GPLv2");
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index 7ea9184..d371bf1 100644
 --- a/include/linux/dmaengine.h
 +++ b/include/linux/dmaengine.h
-@@ -496,6 +496,7 @@ static inline void dma_set_unmap(struct dma_async_tx_descriptor *tx,
+@@ -496,6 +496,7 @@ static inline void dma_set_unmap(struct
  struct dmaengine_unmap_data *
  dmaengine_get_unmap_data(struct device *dev, int nr, gfp_t flags);
  void dmaengine_unmap_put(struct dmaengine_unmap_data *unmap);
@@ -635,6 +626,3 @@ index 7ea9184..d371bf1 100644
  #else
  static inline void dma_set_unmap(struct dma_async_tx_descriptor *tx,
                                 struct dmaengine_unmap_data *unmap)
--- 
-1.7.10.4
-
index 004eb68..e329c31 100644 (file)
@@ -18,8 +18,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 sound/soc/ralink/mt7620-i2s.c
  create mode 100644 sound/soc/ralink/mt7620-wm8960.c
 
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index da85bbf..371baa5 100644
 --- a/arch/mips/ralink/of.c
 +++ b/arch/mips/ralink/of.c
 @@ -15,6 +15,7 @@
@@ -38,8 +36,6 @@ index da85bbf..371baa5 100644
  __iomem void *rt_memc_membase;
  
  __iomem void *plat_of_remap_node(const char *node)
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index 225bfda..76ce95c 100644
 --- a/sound/soc/Kconfig
 +++ b/sound/soc/Kconfig
 @@ -53,6 +53,7 @@ source "sound/soc/mxs/Kconfig"
@@ -50,8 +46,6 @@ index 225bfda..76ce95c 100644
  source "sound/soc/samsung/Kconfig"
  source "sound/soc/sh/Kconfig"
  source "sound/soc/sirf/Kconfig"
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index 134aca1..e9d8e0e 100644
 --- a/sound/soc/Makefile
 +++ b/sound/soc/Makefile
 @@ -35,6 +35,7 @@ obj-$(CONFIG_SND_SOC)        += kirkwood/
@@ -62,9 +56,6 @@ index 134aca1..e9d8e0e 100644
  obj-$(CONFIG_SND_SOC) += samsung/
  obj-$(CONFIG_SND_SOC) += sh/
  obj-$(CONFIG_SND_SOC) += sirf/
-diff --git a/sound/soc/ralink/Kconfig b/sound/soc/ralink/Kconfig
-new file mode 100644
-index 0000000..d462622
 --- /dev/null
 +++ b/sound/soc/ralink/Kconfig
 @@ -0,0 +1,15 @@
@@ -83,9 +74,6 @@ index 0000000..d462622
 +      help
 +        Say Y if you want to add support for ASoC audio on the Qi LB60 board
 +        a.k.a Qi Ben NanoNote.
-diff --git a/sound/soc/ralink/Makefile b/sound/soc/ralink/Makefile
-new file mode 100644
-index 0000000..3d79980
 --- /dev/null
 +++ b/sound/soc/ralink/Makefile
 @@ -0,0 +1,11 @@
@@ -100,9 +88,6 @@ index 0000000..3d79980
 +snd-soc-mt7620-wm8960-objs := mt7620-wm8960.o
 +
 +obj-$(CONFIG_SND_MT7620_SOC_WM8960) += snd-soc-mt7620-wm8960.o
-diff --git a/sound/soc/ralink/mt7620-i2s.c b/sound/soc/ralink/mt7620-i2s.c
-new file mode 100644
-index 0000000..2ce9b21
 --- /dev/null
 +++ b/sound/soc/ralink/mt7620-i2s.c
 @@ -0,0 +1,436 @@
@@ -542,9 +527,6 @@ index 0000000..2ce9b21
 +MODULE_DESCRIPTION("Ingenic JZ4740 SoC I2S driver");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:mt7620-i2s");
-diff --git a/sound/soc/ralink/mt7620-wm8960.c b/sound/soc/ralink/mt7620-wm8960.c
-new file mode 100644
-index 0000000..3389988
 --- /dev/null
 +++ b/sound/soc/ralink/mt7620-wm8960.c
 @@ -0,0 +1,233 @@
@@ -781,6 +763,3 @@ index 0000000..3389988
 +MODULE_DESCRIPTION("Freescale i.MX WM8962 ASoC machine driver");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:mt7620-wm8962");
--- 
-1.7.10.4
-
index 0d410bb..e1127dc 100644 (file)
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 193 insertions(+)
  create mode 100644 drivers/watchdog/mt7621_wdt.c
 
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index 79e1aa1..0710aa1 100644
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1337,6 +1337,13 @@ config RALINK_WDT
+@@ -1346,6 +1346,13 @@ config RALINK_WDT
        help
          Hardware driver for the Ralink SoC Watchdog Timer.
  
@@ -29,11 +27,9 @@ index 79e1aa1..0710aa1 100644
  # PARISC Architecture
  
  # POWERPC Architecture
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-index 0c616e3..4d3b4b1 100644
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -68,6 +68,7 @@ obj-$(CONFIG_MESON_WATCHDOG) += meson_wdt.o
+@@ -68,6 +68,7 @@ obj-$(CONFIG_MESON_WATCHDOG) += meson_wd
  obj-$(CONFIG_MEDIATEK_WATCHDOG) += mtk_wdt.o
  obj-$(CONFIG_DIGICOLOR_WATCHDOG) += digicolor_wdt.o
  obj-$(CONFIG_LPC18XX_WATCHDOG) += lpc18xx_wdt.o
@@ -41,9 +37,6 @@ index 0c616e3..4d3b4b1 100644
  
  # AVR32 Architecture
  obj-$(CONFIG_AT32AP700X_WDT) += at32ap700x_wdt.o
-diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
-new file mode 100644
-index 0000000..ec2c897
 --- /dev/null
 +++ b/drivers/watchdog/mt7621_wdt.c
 @@ -0,0 +1,185 @@
@@ -232,6 +225,3 @@ index 0000000..ec2c897
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
--- 
-1.7.10.4
-
index 1048396..c6fe92c 100644 (file)
@@ -41,8 +41,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 sound/soc/mtk/ralink_gdma.c
  create mode 100644 sound/soc/mtk/ralink_gdma.h
 
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index 76ce95c..09aa2c7 100644
 --- a/sound/soc/Kconfig
 +++ b/sound/soc/Kconfig
 @@ -64,6 +64,7 @@ source "sound/soc/txx9/Kconfig"
@@ -53,8 +51,6 @@ index 76ce95c..09aa2c7 100644
  
  # Supported codecs
  source "sound/soc/codecs/Kconfig"
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index e9d8e0e..a3c6b43 100644
 --- a/sound/soc/Makefile
 +++ b/sound/soc/Makefile
 @@ -46,3 +46,4 @@ obj-$(CONFIG_SND_SOC)        += txx9/
@@ -62,8 +58,6 @@ index e9d8e0e..a3c6b43 100644
  obj-$(CONFIG_SND_SOC) += xtensa/
  obj-$(CONFIG_SND_SOC) += zte/
 +obj-$(CONFIG_SND_SOC)   += mtk/
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 0c9733e..276a4c5 100644
 --- a/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 @@ -816,7 +816,7 @@ config SND_SOC_WM8955
@@ -75,8 +69,6 @@ index 0c9733e..276a4c5 100644
  
  config SND_SOC_WM8961
        tristate
-diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
-index dbd8840..3118f5c 100644
 --- a/sound/soc/codecs/wm8960.c
 +++ b/sound/soc/codecs/wm8960.c
 @@ -27,6 +27,7 @@
@@ -87,7 +79,7 @@ index dbd8840..3118f5c 100644
  
  /* R25 - Power 1 */
  #define WM8960_VMID_MASK 0x180
-@@ -57,10 +58,10 @@ static int wm8960_set_pll(struct snd_soc_codec *codec,
+@@ -57,10 +58,10 @@ static int wm8960_set_pll(struct snd_soc
   * using 2 wire for device control, so we cache them instead.
   */
  static const struct reg_default wm8960_reg_defaults[] = {
@@ -102,7 +94,7 @@ index dbd8840..3118f5c 100644
        {  0x4, 0x0000 },
        {  0x5, 0x0008 },
        {  0x6, 0x0000 },
-@@ -92,8 +93,8 @@ static const struct reg_default wm8960_reg_defaults[] = {
+@@ -92,8 +93,8 @@ static const struct reg_default wm8960_r
        { 0x25, 0x0050 },
        { 0x26, 0x0000 },
        { 0x27, 0x0000 },
@@ -129,7 +121,7 @@ index dbd8840..3118f5c 100644
  
  /* enumerated controls */
  static const char *wm8960_polarity[] = {"No Inversion", "Left Inverted",
-@@ -192,8 +201,8 @@ static int wm8960_get_deemph(struct snd_kcontrol *kcontrol,
+@@ -192,8 +201,8 @@ static int wm8960_get_deemph(struct snd_
        struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
        struct wm8960_priv *wm8960 = snd_soc_codec_get_drvdata(codec);
  
@@ -140,7 +132,7 @@ index dbd8840..3118f5c 100644
  }
  
  static int wm8960_put_deemph(struct snd_kcontrol *kcontrol,
-@@ -211,6 +220,71 @@ static int wm8960_put_deemph(struct snd_kcontrol *kcontrol,
+@@ -211,6 +220,71 @@ static int wm8960_put_deemph(struct snd_
        return wm8960_set_deemph(codec);
  }
  
@@ -212,7 +204,7 @@ index dbd8840..3118f5c 100644
  static const DECLARE_TLV_DB_SCALE(adc_tlv, -9750, 50, 1);
  static const DECLARE_TLV_DB_SCALE(inpga_tlv, -1725, 75, 0);
  static const DECLARE_TLV_DB_SCALE(dac_tlv, -12750, 50, 1);
-@@ -563,6 +637,7 @@ static int wm8960_set_dai_fmt(struct snd_soc_dai *codec_dai,
+@@ -563,6 +637,7 @@ static int wm8960_set_dai_fmt(struct snd
  
        /* set iface */
        snd_soc_write(codec, WM8960_IFACE1, iface);
@@ -220,7 +212,7 @@ index dbd8840..3118f5c 100644
        return 0;
  }
  
-@@ -809,9 +884,10 @@ static int wm8960_set_bias_level_out3(struct snd_soc_codec *codec,
+@@ -809,9 +884,10 @@ static int wm8960_set_bias_level_out3(st
                        ret = wm8960_configure_clocking(codec);
                        if (ret)
                                return ret;
@@ -232,7 +224,7 @@ index dbd8840..3118f5c 100644
                        break;
  
                case SND_SOC_BIAS_ON:
-@@ -852,12 +928,16 @@ static int wm8960_set_bias_level_out3(struct snd_soc_codec *codec,
+@@ -852,12 +928,16 @@ static int wm8960_set_bias_level_out3(st
                        /* Disable anti-pop features */
                        snd_soc_write(codec, WM8960_APOP1, WM8960_BUFIOEN);
                }
@@ -250,7 +242,7 @@ index dbd8840..3118f5c 100644
                /* Enable anti-pop features */
                snd_soc_write(codec, WM8960_APOP1,
                             WM8960_POBCTRL | WM8960_SOFT_ST |
-@@ -866,6 +946,7 @@ static int wm8960_set_bias_level_out3(struct snd_soc_codec *codec,
+@@ -866,6 +946,7 @@ static int wm8960_set_bias_level_out3(st
                /* Disable VMID and VREF, let them discharge */
                snd_soc_write(codec, WM8960_POWER1, 0);
                msleep(600);
@@ -258,24 +250,24 @@ index dbd8840..3118f5c 100644
                break;
        }
  
-@@ -1101,10 +1182,15 @@ static int wm8960_set_pll(struct snd_soc_codec *codec,
+@@ -1101,10 +1182,15 @@ static int wm8960_set_pll(struct snd_soc
  
        if (pll_div.k) {
                reg |= 0x20;
 -
 +#if 1
-               snd_soc_write(codec, WM8960_PLL2, (pll_div.k >> 16) & 0xff);
-               snd_soc_write(codec, WM8960_PLL3, (pll_div.k >> 8) & 0xff);
-               snd_soc_write(codec, WM8960_PLL4, pll_div.k & 0xff);
-+#else
 +              snd_soc_write(codec, WM8960_PLL2, (pll_div.k >> 16) & 0xff);
 +              snd_soc_write(codec, WM8960_PLL3, (pll_div.k >> 8) & 0xff);
 +              snd_soc_write(codec, WM8960_PLL4, pll_div.k & 0xff);
++#else
+               snd_soc_write(codec, WM8960_PLL2, (pll_div.k >> 16) & 0xff);
+               snd_soc_write(codec, WM8960_PLL3, (pll_div.k >> 8) & 0xff);
+               snd_soc_write(codec, WM8960_PLL4, pll_div.k & 0xff);
 +#endif
        }
        snd_soc_write(codec, WM8960_PLL1, reg);
  
-@@ -1150,7 +1236,11 @@ static int wm8960_set_dai_clkdiv(struct snd_soc_dai *codec_dai,
+@@ -1150,7 +1236,11 @@ static int wm8960_set_dai_clkdiv(struct
                snd_soc_write(codec, WM8960_PLL1, reg | div);
                break;
        case WM8960_DCLKDIV:
@@ -287,7 +279,7 @@ index dbd8840..3118f5c 100644
                snd_soc_write(codec, WM8960_CLOCK2, reg | div);
                break;
        case WM8960_TOCLKSEL:
-@@ -1285,7 +1375,7 @@ static int wm8960_i2c_probe(struct i2c_client *i2c,
+@@ -1285,7 +1375,7 @@ static int wm8960_i2c_probe(struct i2c_c
  {
        struct wm8960_data *pdata = dev_get_platdata(&i2c->dev);
        struct wm8960_priv *wm8960;
@@ -296,7 +288,7 @@ index dbd8840..3118f5c 100644
  
        wm8960 = devm_kzalloc(&i2c->dev, sizeof(struct wm8960_priv),
                              GFP_KERNEL);
-@@ -1307,11 +1397,7 @@ static int wm8960_i2c_probe(struct i2c_client *i2c,
+@@ -1307,11 +1397,7 @@ static int wm8960_i2c_probe(struct i2c_c
        else if (i2c->dev.of_node)
                wm8960_set_pdata_from_of(i2c, &wm8960->pdata);
  
@@ -309,8 +301,6 @@ index dbd8840..3118f5c 100644
  
        if (wm8960->pdata.shared_lrclk) {
                ret = regmap_update_bits(wm8960->regmap, WM8960_ADDCTL2,
-diff --git a/sound/soc/codecs/wm8960.h b/sound/soc/codecs/wm8960.h
-index ab3220d..5205deb 100644
 --- a/sound/soc/codecs/wm8960.h
 +++ b/sound/soc/codecs/wm8960.h
 @@ -111,4 +111,68 @@
@@ -382,9 +372,6 @@ index ab3220d..5205deb 100644
 +#define RINV_RINVOL(x)                  ((x) & 0x3f)
 +
  #endif
-diff --git a/sound/soc/mtk/Kconfig b/sound/soc/mtk/Kconfig
-new file mode 100644
-index 0000000..26d2531
 --- /dev/null
 +++ b/sound/soc/mtk/Kconfig
 @@ -0,0 +1,35 @@
@@ -423,9 +410,6 @@ index 0000000..26d2531
 +      tristate "MTK SoC I2S Support"
 +      depends on SND_MT76XX_SOC
 +
-diff --git a/sound/soc/mtk/Makefile b/sound/soc/mtk/Makefile
-new file mode 100644
-index 0000000..00b3dff
 --- /dev/null
 +++ b/sound/soc/mtk/Makefile
 @@ -0,0 +1,39 @@
@@ -468,9 +452,6 @@ index 0000000..00b3dff
 +
 +
 +
-diff --git a/sound/soc/mtk/i2c_wm8960.c b/sound/soc/mtk/i2c_wm8960.c
-new file mode 100644
-index 0000000..70f16e1
 --- /dev/null
 +++ b/sound/soc/mtk/i2c_wm8960.c
 @@ -0,0 +1,492 @@
@@ -966,9 +947,6 @@ index 0000000..70f16e1
 +MODULE_DESCRIPTION("WM8960 I2C client driver");
 +MODULE_LICENSE("GPL");
 +
-diff --git a/sound/soc/mtk/i2c_wm8960.h b/sound/soc/mtk/i2c_wm8960.h
-new file mode 100644
-index 0000000..c769345
 --- /dev/null
 +++ b/sound/soc/mtk/i2c_wm8960.h
 @@ -0,0 +1,288 @@
@@ -1260,9 +1238,6 @@ index 0000000..c769345
 +void audiohw_bypass(void);
 +
 +#endif /* _WM875x_H */
-diff --git a/sound/soc/mtk/i2s_ctrl.c b/sound/soc/mtk/i2s_ctrl.c
-new file mode 100644
-index 0000000..05034b0
 --- /dev/null
 +++ b/sound/soc/mtk/i2s_ctrl.c
 @@ -0,0 +1,3524 @@
@@ -4790,9 +4765,6 @@ index 0000000..05034b0
 +#else
 +module_param (i2sdrv_major, int, 0);
 +#endif
-diff --git a/sound/soc/mtk/i2s_ctrl.h b/sound/soc/mtk/i2s_ctrl.h
-new file mode 100644
-index 0000000..b762c9c
 --- /dev/null
 +++ b/sound/soc/mtk/i2s_ctrl.h
 @@ -0,0 +1,523 @@
@@ -5319,9 +5291,6 @@ index 0000000..b762c9c
 +
 +#endif /* __RALINK_I2S_H_ */
 +
-diff --git a/sound/soc/mtk/i2s_debug.c b/sound/soc/mtk/i2s_debug.c
-new file mode 100644
-index 0000000..9f61b14
 --- /dev/null
 +++ b/sound/soc/mtk/i2s_debug.c
 @@ -0,0 +1,698 @@
@@ -6023,9 +5992,6 @@ index 0000000..9f61b14
 +      
 +      return 0;       
 +}
-diff --git a/sound/soc/mtk/mt76xx_i2s.c b/sound/soc/mtk/mt76xx_i2s.c
-new file mode 100644
-index 0000000..7615b51
 --- /dev/null
 +++ b/sound/soc/mtk/mt76xx_i2s.c
 @@ -0,0 +1,304 @@
@@ -6333,9 +6299,6 @@ index 0000000..7615b51
 +MODULE_DESCRIPTION("Stretch MT76xx I2S Interface");
 +MODULE_LICENSE("GPL");
 +#endif
-diff --git a/sound/soc/mtk/mt76xx_i2s.h b/sound/soc/mtk/mt76xx_i2s.h
-new file mode 100644
-index 0000000..9ae0e50
 --- /dev/null
 +++ b/sound/soc/mtk/mt76xx_i2s.h
 @@ -0,0 +1,18 @@
@@ -6357,9 +6320,6 @@ index 0000000..9ae0e50
 +
 +#include "i2s_ctrl.h"
 +#endif /* MTK_I2S_H_ */
-diff --git a/sound/soc/mtk/mt76xx_machine.c b/sound/soc/mtk/mt76xx_machine.c
-new file mode 100644
-index 0000000..00d2145
 --- /dev/null
 +++ b/sound/soc/mtk/mt76xx_machine.c
 @@ -0,0 +1,317 @@
@@ -6680,9 +6640,6 @@ index 0000000..00d2145
 +module_exit(mt76xx_machine_exit);
 +//EXPORT_SYMBOL_GPL(mt76xx_soc_platform);
 +MODULE_LICENSE("GPL");
-diff --git a/sound/soc/mtk/mt76xx_machine.h b/sound/soc/mtk/mt76xx_machine.h
-new file mode 100644
-index 0000000..79532b5
 --- /dev/null
 +++ b/sound/soc/mtk/mt76xx_machine.h
 @@ -0,0 +1,21 @@
@@ -6707,9 +6664,6 @@ index 0000000..79532b5
 +#endif
 +
 +#endif /* MT76XX_MACHINE_H_ */
-diff --git a/sound/soc/mtk/mt76xx_pcm.c b/sound/soc/mtk/mt76xx_pcm.c
-new file mode 100644
-index 0000000..1100ee0
 --- /dev/null
 +++ b/sound/soc/mtk/mt76xx_pcm.c
 @@ -0,0 +1,499 @@
@@ -7212,9 +7166,6 @@ index 0000000..1100ee0
 +MODULE_DESCRIPTION("MTK APSoC I2S DMA driver");
 +MODULE_LICENSE("GPL");
 +
-diff --git a/sound/soc/mtk/ralink_gdma.c b/sound/soc/mtk/ralink_gdma.c
-new file mode 100644
-index 0000000..b385f05
 --- /dev/null
 +++ b/sound/soc/mtk/ralink_gdma.c
 @@ -0,0 +1,918 @@
@@ -8136,9 +8087,6 @@ index 0000000..b385f05
 +MODULE_AUTHOR("Steven Liu <steven_liu@ralinktech.com.tw>");
 +MODULE_LICENSE("GPL");
 +MODULE_VERSION(MOD_VERSION);
-diff --git a/sound/soc/mtk/ralink_gdma.h b/sound/soc/mtk/ralink_gdma.h
-new file mode 100644
-index 0000000..95ce5f7
 --- /dev/null
 +++ b/sound/soc/mtk/ralink_gdma.h
 @@ -0,0 +1,326 @@
@@ -8468,11 +8416,9 @@ index 0000000..95ce5f7
 +
 +
 +#endif
-diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index 6173d15..d9c52a7 100644
 --- a/sound/soc/soc-core.c
 +++ b/sound/soc/soc-core.c
-@@ -1758,7 +1758,8 @@ static int soc_probe(struct platform_device *pdev)
+@@ -1758,7 +1758,8 @@ static int soc_probe(struct platform_dev
        /* Bodge while we unpick instantiation */
        card->dev = &pdev->dev;
  
@@ -8482,6 +8428,3 @@ index 6173d15..d9c52a7 100644
  }
  
  static int soc_cleanup_card_resources(struct snd_soc_card *card)
--- 
-1.7.10.4
-
index 361b8d7..f645036 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/tty/serial/serial_core.c |    3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index 603d2cc..4020e07 100644
 --- a/drivers/tty/serial/serial_core.c
 +++ b/drivers/tty/serial/serial_core.c
-@@ -359,6 +359,9 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
+@@ -359,6 +359,9 @@ uart_get_baud_rate(struct uart_port *por
                break;
        }
  
@@ -22,6 +20,3 @@ index 603d2cc..4020e07 100644
        for (try = 0; try < 2; try++) {
                baud = tty_termios_baud_rate(termios);
  
--- 
-1.7.10.4
-
index caaf84a..cb5d024 100644 (file)
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 183 insertions(+)
  create mode 100644 drivers/pwm/pwm-mediatek.c
 
-diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
-index 062630a..76974ea 100644
 --- a/drivers/pwm/Kconfig
 +++ b/drivers/pwm/Kconfig
 @@ -230,6 +230,15 @@ config PWM_LPSS_PLATFORM
@@ -31,11 +29,9 @@ index 062630a..76974ea 100644
  config PWM_MXS
        tristate "Freescale MXS PWM support"
        depends on ARCH_MXS && OF
-diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
-index a0e00c0..aa0bd2e 100644
 --- a/drivers/pwm/Makefile
 +++ b/drivers/pwm/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_PWM_LPC32XX)    += pwm-lpc32xx.o
+@@ -20,6 +20,7 @@ obj-$(CONFIG_PWM_LPC32XX)    += pwm-lpc32xx
  obj-$(CONFIG_PWM_LPSS)                += pwm-lpss.o
  obj-$(CONFIG_PWM_LPSS_PCI)    += pwm-lpss-pci.o
  obj-$(CONFIG_PWM_LPSS_PLATFORM)       += pwm-lpss-platform.o
@@ -43,9 +39,6 @@ index a0e00c0..aa0bd2e 100644
  obj-$(CONFIG_PWM_MXS)         += pwm-mxs.o
  obj-$(CONFIG_PWM_PCA9685)     += pwm-pca9685.o
  obj-$(CONFIG_PWM_PUV3)                += pwm-puv3.o
-diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c
-new file mode 100644
-index 0000000..f9d8ed4
 --- /dev/null
 +++ b/drivers/pwm/pwm-mediatek.c
 @@ -0,0 +1,173 @@
@@ -222,6 +215,3 @@ index 0000000..f9d8ed4
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
 +MODULE_ALIAS("platform:mtk-pwm");
--- 
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-4.3/0060-mt7621-set-up-palmbus-memory-region.patch b/target/linux/ramips/patches-4.3/0060-mt7621-set-up-palmbus-memory-region.patch
deleted file mode 100644 (file)
index ba462bf..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/arch/mips/include/asm/mach-ralink/mt7621.h
-+++ b/arch/mips/include/asm/mach-ralink/mt7621.h
-@@ -13,6 +13,9 @@
- #ifndef _MT7621_REGS_H_
- #define _MT7621_REGS_H_
-+#define MT7621_PALMBUS_BASE           0x1C000000
-+#define MT7621_PALMBUS_SIZE           0x03FFFFFF
-+
- #define MT7621_SYSC_BASE              0x1E000000
- #define SYSC_REG_CHIP_NAME0           0x00
---- a/arch/mips/ralink/mt7621.c
-+++ b/arch/mips/ralink/mt7621.c
-@@ -204,6 +204,21 @@ void prom_soc_init(struct ralink_soc_inf
-       mips_cm_probe();
-       mips_cpc_probe();
-+      if (mips_cm_numiocu()) {
-+              /* mips_cm_probe() wipes out bootloader
-+                 config for CM regions and we have to configure them
-+                 again. This SoC cannot talk to pamlbus devices
-+                 witout proper iocu region set up.
-+
-+                 FIXME: it would be better to do this with values
-+                 from DT, but we need this very early because
-+                 without this we cannot talk to pretty much anything
-+                 including serial.
-+              */
-+              write_gcr_reg0_base(MT7621_PALMBUS_BASE);
-+              write_gcr_reg0_mask(~MT7621_PALMBUS_SIZE | CM_GCR_REGn_MASK_CMTGT_IOCU0);
-+      }
-+
-       if (!register_cps_smp_ops())
-               return;
-       if (!register_cmp_smp_ops())
diff --git a/target/linux/ramips/patches-4.3/0061-mt7621-set-up-pci-memory-region.patch b/target/linux/ramips/patches-4.3/0061-mt7621-set-up-pci-memory-region.patch
deleted file mode 100644 (file)
index e6338a9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/arch/mips/pci/pci-mt7621.c
-+++ b/arch/mips/pci/pci-mt7621.c
-@@ -46,6 +46,7 @@
- #include <linux/version.h>
- #include <asm/pci.h>
- #include <asm/io.h>
-+#include <asm/mips-cm.h>
- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/delay.h>
-@@ -553,6 +554,23 @@ set_phy_for_ssc(void)
- #endif
- }
-+void setup_cm_memory_region(struct resource *mem_resource)
-+{
-+      resource_size_t mask;
-+      if (mips_cm_numiocu()) {
-+              /* FIXME: hardware doesn't accept mask values with 1s after
-+                 0s (e.g. 0xffef), so it would be great to warn if that's
-+                 about to happen */
-+              mask = ~(mem_resource->end - mem_resource->start);
-+
-+              write_gcr_reg1_base(mem_resource->start);
-+              write_gcr_reg1_mask(mask | CM_GCR_REGn_MASK_CMTGT_IOCU0);
-+              printk("PCI coherence region base: 0x%08lx, mask/settings: 0x%08lx\n",
-+                     read_gcr_reg1_base(),
-+                     read_gcr_reg1_mask());
-+      }
-+}
-+
- static int mt7621_pci_probe(struct platform_device *pdev)
- {
-       unsigned long val = 0;
-@@ -780,6 +798,7 @@ pcie(2/1/0) link status    pcie2_num       pcie1_
-       }
-       pci_load_of_ranges(&mt7621_controller, pdev->dev.of_node);
-+      setup_cm_memory_region(mt7621_controller.mem_resource);
-       register_pci_controller(&mt7621_controller);
-       return 0;
diff --git a/target/linux/ramips/patches-4.3/0062-remove-cm-memory-regions-cleanup-hack.patch b/target/linux/ramips/patches-4.3/0062-remove-cm-memory-regions-cleanup-hack.patch
deleted file mode 100644 (file)
index 9013819..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/kernel/mips-cm.c
-+++ b/arch/mips/kernel/mips-cm.c
-@@ -238,7 +238,7 @@ int mips_cm_probe(void)
-       write_gcr_base(base_reg);
-       /* disable CM regions */
--/*    write_gcr_reg0_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-+      write_gcr_reg0_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg0_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-       write_gcr_reg1_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg1_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-@@ -246,7 +246,7 @@ int mips_cm_probe(void)
-       write_gcr_reg2_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-       write_gcr_reg3_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
-       write_gcr_reg3_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
--*/
-+
-       /* probe for an L2-only sync region */
-       mips_cm_probe_l2sync();
index 81702c2..b570196 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -819,9 +819,6 @@ static void split_uimage(struct mtd_info
+@@ -792,9 +792,6 @@ static void split_uimage(struct mtd_info
                return;
  
        len = be32_to_cpu(hdr.size) + 0x40;
index 50b88db..483c161 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -807,8 +807,11 @@ static void split_uimage(struct mtd_info
+@@ -780,8 +780,11 @@ static void split_uimage(struct mtd_info
  {
        struct {
                __be32 magic;
@@ -13,7 +13,7 @@
        } hdr;
        size_t len;
  
-@@ -818,7 +821,10 @@ static void split_uimage(struct mtd_info
+@@ -791,7 +794,10 @@ static void split_uimage(struct mtd_info
        if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
                return;
  
index 9f76aa1..5095d68 100644 (file)
@@ -36,5 +36,5 @@
 +      if (chosen_dtb)
 +              strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
  
-       of_scan_flat_dt(early_init_dt_find_memory, NULL);
-       if (memory_dtb)
+       strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
index 46e4f5b..2c726f6 100644 (file)
@@ -20,9 +20,6 @@ Cc: devicetree@vger.kernel.org
  create mode 100644 Documentation/devicetree/bindings/net/ralink,rt2880-net.txt
  create mode 100644 Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt
 
-diff --git a/Documentation/devicetree/bindings/net/mediatek,mt7620-gsw.txt b/Documentation/devicetree/bindings/net/mediatek,mt7620-gsw.txt
-new file mode 100644
-index 0000000..fb47d8e
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/net/mediatek,mt7620-gsw.txt
 @@ -0,0 +1,26 @@
@@ -52,9 +49,6 @@ index 0000000..fb47d8e
 +      interrupt-parent = <&intc>;
 +      interrupts = <17>;
 +};
-diff --git a/Documentation/devicetree/bindings/net/ralink,rt2880-net.txt b/Documentation/devicetree/bindings/net/ralink,rt2880-net.txt
-new file mode 100644
-index 0000000..88b095d
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/net/ralink,rt2880-net.txt
 @@ -0,0 +1,61 @@
@@ -119,9 +113,6 @@ index 0000000..88b095d
 +      };
 +
 +};
-diff --git a/Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt b/Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt
-new file mode 100644
-index 0000000..ed32e21
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt
 @@ -0,0 +1,32 @@
@@ -157,6 +148,3 @@ index 0000000..ed32e21
 +      interrupt-parent = <&intc>;
 +      interrupts = <17>;
 +};
--- 
-1.7.10.4
-
index c012a8d..e94c1fa 100644 (file)
@@ -44,9 +44,6 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  create mode 100644 drivers/net/ethernet/mediatek/mtk_eth_soc.c
  create mode 100644 drivers/net/ethernet/mediatek/mtk_eth_soc.h
 
-diff --git a/drivers/net/ethernet/mediatek/ethtool.c b/drivers/net/ethernet/mediatek/ethtool.c
-new file mode 100644
-index 0000000..697cd80
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/ethtool.c
 @@ -0,0 +1,235 @@
@@ -285,9 +282,6 @@ index 0000000..697cd80
 +
 +      netdev->ethtool_ops = &fe_ethtool_ops;
 +}
-diff --git a/drivers/net/ethernet/mediatek/ethtool.h b/drivers/net/ethernet/mediatek/ethtool.h
-new file mode 100644
-index 0000000..955b84f
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/ethtool.h
 @@ -0,0 +1,22 @@
@@ -313,9 +307,6 @@ index 0000000..955b84f
 +void fe_set_ethtool_ops(struct net_device *netdev);
 +
 +#endif /* FE_ETHTOOL_H */
-diff --git a/drivers/net/ethernet/mediatek/mdio.c b/drivers/net/ethernet/mediatek/mdio.c
-new file mode 100644
-index 0000000..169c937
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mdio.c
 @@ -0,0 +1,258 @@
@@ -577,9 +568,6 @@ index 0000000..169c937
 +      of_node_put(priv->mii_bus->dev.of_node);
 +      kfree(priv->mii_bus);
 +}
-diff --git a/drivers/net/ethernet/mediatek/mdio.h b/drivers/net/ethernet/mediatek/mdio.h
-new file mode 100644
-index 0000000..b7d4a24
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mdio.h
 @@ -0,0 +1,27 @@
@@ -610,9 +598,6 @@ index 0000000..b7d4a24
 +static inline void fe_mdio_cleanup(struct fe_priv *priv) {}
 +#endif
 +#endif
-diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-new file mode 100644
-index 0000000..dae7147
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 @@ -0,0 +1,1607 @@
@@ -2223,9 +2208,6 @@ index 0000000..dae7147
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
 +MODULE_DESCRIPTION("Ethernet driver for Ralink SoC");
 +MODULE_VERSION(MTK_FE_DRV_VERSION);
-diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
-new file mode 100644
-index 0000000..ba5ba07
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 @@ -0,0 +1,522 @@
@@ -2751,6 +2733,3 @@ index 0000000..ba5ba07
 +}
 +
 +#endif /* FE_ETH_H */
--- 
-1.7.10.4
-
index 064298a..675888f 100644 (file)
@@ -14,9 +14,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/net/ethernet/mediatek/esw_rt3050.c
  create mode 100644 drivers/net/ethernet/mediatek/esw_rt3050.h
 
-diff --git a/drivers/net/ethernet/mediatek/esw_rt3050.c b/drivers/net/ethernet/mediatek/esw_rt3050.c
-new file mode 100644
-index 0000000..f07f4a5
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/esw_rt3050.c
 @@ -0,0 +1,640 @@
@@ -660,9 +657,6 @@ index 0000000..f07f4a5
 +{
 +      platform_driver_unregister(&esw_driver);
 +}
-diff --git a/drivers/net/ethernet/mediatek/esw_rt3050.h b/drivers/net/ethernet/mediatek/esw_rt3050.h
-new file mode 100644
-index 0000000..455107a
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/esw_rt3050.h
 @@ -0,0 +1,29 @@
@@ -695,6 +689,3 @@ index 0000000..455107a
 +
 +#endif
 +#endif
--- 
-1.7.10.4
-
index a338f67..325321e 100644 (file)
@@ -14,9 +14,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/net/ethernet/mediatek/gsw_mt7620.c
  create mode 100644 drivers/net/ethernet/mediatek/gsw_mt7620.h
 
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7620.c b/drivers/net/ethernet/mediatek/gsw_mt7620.c
-new file mode 100644
-index 0000000..a37ed1b
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7620.c
 @@ -0,0 +1,255 @@
@@ -275,9 +272,6 @@ index 0000000..a37ed1b
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
 +MODULE_DESCRIPTION("GBit switch driver for Mediatek MT7620 SoC");
 +MODULE_VERSION(MTK_FE_DRV_VERSION);
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7620.h b/drivers/net/ethernet/mediatek/gsw_mt7620.h
-new file mode 100644
-index 0000000..0d6ee84
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7620.h
 @@ -0,0 +1,117 @@
@@ -398,6 +392,3 @@ index 0000000..0d6ee84
 +u32 _mt7620_mii_read(struct mt7620_gsw *gsw, int phy_addr, int phy_reg);
 +
 +#endif
--- 
-1.7.10.4
-
index 5a3f75a..08d93f7 100644 (file)
@@ -12,9 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  1 file changed, 284 insertions(+)
  create mode 100644 drivers/net/ethernet/mediatek/gsw_mt7621.c
 
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7621.c b/drivers/net/ethernet/mediatek/gsw_mt7621.c
-new file mode 100644
-index 0000000..500841f
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7621.c
 @@ -0,0 +1,284 @@
@@ -302,6 +299,3 @@ index 0000000..500841f
 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
 +MODULE_DESCRIPTION("GBit switch driver for Mediatek MT7621 SoC");
 +MODULE_VERSION(MTK_FE_DRV_VERSION);
--- 
-1.7.10.4
-
index 7597b2a..8ed00e3 100644 (file)
@@ -19,9 +19,6 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  create mode 100644 drivers/net/ethernet/mediatek/mdio_rt2880.h
  create mode 100644 drivers/net/ethernet/mediatek/soc_rt2880.c
 
-diff --git a/drivers/net/ethernet/mediatek/mdio_rt2880.c b/drivers/net/ethernet/mediatek/mdio_rt2880.c
-new file mode 100644
-index 0000000..eb9df6e
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mdio_rt2880.c
 @@ -0,0 +1,222 @@
@@ -247,9 +244,6 @@ index 0000000..eb9df6e
 +      if (priv->phy->phy_node[0] && priv->mii_bus->phy_map[0])
 +              fe_connect_phy_node(priv, priv->phy->phy_node[0]);
 +}
-diff --git a/drivers/net/ethernet/mediatek/mdio_rt2880.h b/drivers/net/ethernet/mediatek/mdio_rt2880.h
-new file mode 100644
-index 0000000..6884894
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mdio_rt2880.h
 @@ -0,0 +1,23 @@
@@ -276,9 +270,6 @@ index 0000000..6884894
 +void rt2880_port_init(struct fe_priv *priv, struct device_node *np);
 +
 +#endif
-diff --git a/drivers/net/ethernet/mediatek/soc_rt2880.c b/drivers/net/ethernet/mediatek/soc_rt2880.c
-new file mode 100644
-index 0000000..0792dab
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/soc_rt2880.c
 @@ -0,0 +1,76 @@
@@ -358,6 +349,3 @@ index 0000000..0792dab
 +};
 +
 +MODULE_DEVICE_TABLE(of, of_fe_match);
--- 
-1.7.10.4
-
index 8fd09d3..a80c940 100644 (file)
@@ -49,7 +49,7 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  /* HW limitations for this switch:
   * - No large frame support (PKT_MAX_LEN at most 1536)
   * - Can't have untagged vlan and tagged vlan on one port at the same time,
-@@ -559,7 +543,7 @@
+@@ -559,7 +543,7 @@ static irqreturn_t esw_interrupt(int irq
  
  static int esw_probe(struct platform_device *pdev)
  {
@@ -58,7 +58,7 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
        struct device_node *np = pdev->dev.of_node;
        const __be32 *port_map, *reg_init;
        struct rt305x_esw *esw;
-@@ -629,12 +613,9 @@
+@@ -629,12 +613,9 @@ static struct platform_driver esw_driver
        },
  };
  
index 1b98155..53d35d0 100644 (file)
@@ -14,9 +14,6 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  1 file changed, 75 insertions(+)
  create mode 100644 drivers/net/ethernet/mediatek/soc_rt3883.c
 
-diff --git a/drivers/net/ethernet/mediatek/soc_rt3883.c b/drivers/net/ethernet/mediatek/soc_rt3883.c
-new file mode 100644
-index 0000000..7f34d4d
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/soc_rt3883.c
 @@ -0,0 +1,75 @@
@@ -95,6 +92,3 @@ index 0000000..7f34d4d
 +};
 +
 +MODULE_DEVICE_TABLE(of, of_fe_match);
--- 
-1.7.10.4
-
index 83e0424..4055026 100644 (file)
@@ -21,9 +21,6 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  create mode 100644 drivers/net/ethernet/mediatek/mdio_mt7620.c
  create mode 100644 drivers/net/ethernet/mediatek/soc_mt7620.c
 
-diff --git a/drivers/net/ethernet/mediatek/mdio_mt7620.c b/drivers/net/ethernet/mediatek/mdio_mt7620.c
-new file mode 100644
-index 0000000..89c6c30
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mdio_mt7620.c
 @@ -0,0 +1,156 @@
@@ -183,9 +180,6 @@ index 0000000..89c6c30
 +                              priv->phy->speed[port],
 +                              (priv->phy->duplex[port] == DUPLEX_FULL));
 +}
-diff --git a/drivers/net/ethernet/mediatek/soc_mt7620.c b/drivers/net/ethernet/mediatek/soc_mt7620.c
-new file mode 100644
-index 0000000..9ad6bc9
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/soc_mt7620.c
 @@ -0,0 +1,334 @@
@@ -523,6 +517,3 @@ index 0000000..9ad6bc9
 +};
 +
 +MODULE_DEVICE_TABLE(of, of_fe_match);
--- 
-1.7.10.4
-
index a59059d..4014539 100644 (file)
@@ -19,9 +19,6 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  1 file changed, 186 insertions(+)
  create mode 100644 drivers/net/ethernet/mediatek/soc_mt7621.c
 
-diff --git a/drivers/net/ethernet/mediatek/soc_mt7621.c b/drivers/net/ethernet/mediatek/soc_mt7621.c
-new file mode 100644
-index 0000000..1609a3e
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/soc_mt7621.c
 @@ -0,0 +1,186 @@
@@ -211,6 +208,3 @@ index 0000000..1609a3e
 +};
 +
 +MODULE_DEVICE_TABLE(of, of_fe_match);
--- 
-1.7.10.4
-
index ac07e8f..51427ad 100644 (file)
@@ -17,11 +17,9 @@ Signed-off-by: Michael Lee <igvtee@gmail.com>
  create mode 100644 drivers/net/ethernet/mediatek/Kconfig
  create mode 100644 drivers/net/ethernet/mediatek/Makefile
 
-diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
-index 955d06b..5302f81 100644
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -105,6 +105,7 @@ config LANTIQ_ETOP
+@@ -106,6 +106,7 @@ config LANTIQ_ETOP
          Support for the MII0 inside the Lantiq SoC
  
  source "drivers/net/ethernet/marvell/Kconfig"
@@ -29,11 +27,9 @@ index 955d06b..5302f81 100644
  source "drivers/net/ethernet/mellanox/Kconfig"
  source "drivers/net/ethernet/micrel/Kconfig"
  source "drivers/net/ethernet/microchip/Kconfig"
-diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
-index 4a2ee98..ecc16c2 100644
 --- a/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
-@@ -45,6 +45,7 @@ obj-$(CONFIG_JME) += jme.o
+@@ -46,6 +46,7 @@ obj-$(CONFIG_JME) += jme.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o
  obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
@@ -41,9 +37,6 @@ index 4a2ee98..ecc16c2 100644
  obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
  obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
  obj-$(CONFIG_NET_VENDOR_MICROCHIP) += microchip/
-diff --git a/drivers/net/ethernet/mediatek/Kconfig b/drivers/net/ethernet/mediatek/Kconfig
-new file mode 100644
-index 0000000..cf883c4
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/Kconfig
 @@ -0,0 +1,62 @@
@@ -109,9 +102,6 @@ index 0000000..cf883c4
 +      def_tristate NET_MEDIATEK_SOC
 +      depends on NET_MEDIATEK_MT7621
 +endif
-diff --git a/drivers/net/ethernet/mediatek/Makefile b/drivers/net/ethernet/mediatek/Makefile
-new file mode 100644
-index 0000000..c4d2dfb
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/Makefile
 @@ -0,0 +1,20 @@
@@ -135,6 +125,3 @@ index 0000000..c4d2dfb
 +obj-$(CONFIG_NET_MEDIATEK_GSW_MT7620)         += gsw_mt7620.o
 +obj-$(CONFIG_NET_MEDIATEK_GSW_MT7621)         += gsw_mt7621.o
 +obj-$(CONFIG_NET_MEDIATEK_SOC)                        += mtk-eth-soc.o
--- 
-1.7.10.4
-
index 349662f..4d5c2d8 100644 (file)
@@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/net/ethernet/mediatek/mdio_mt7620.c |   12 ++++++++++++
  5 files changed, 16 insertions(+)
 
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7620.c b/drivers/net/ethernet/mediatek/gsw_mt7620.c
-index a37ed1b..28122ac 100644
 --- a/drivers/net/ethernet/mediatek/gsw_mt7620.c
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7620.c
-@@ -54,6 +54,7 @@ static irqreturn_t gsw_interrupt_mt7620(int irq, void *_priv)
+@@ -54,6 +54,7 @@ static irqreturn_t gsw_interrupt_mt7620(
  
                        priv->link[i] = link;
                }
@@ -25,22 +23,18 @@ index a37ed1b..28122ac 100644
        mtk_switch_w32(gsw, status, GSW_REG_ISR);
  
        return IRQ_HANDLED;
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7620.h b/drivers/net/ethernet/mediatek/gsw_mt7620.h
-index 0d6ee84..dcef9a8 100644
 --- a/drivers/net/ethernet/mediatek/gsw_mt7620.h
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7620.h
-@@ -113,5 +113,6 @@ u32 mt7530_mdio_r32(struct mt7620_gsw *gsw, u32 reg);
+@@ -113,5 +113,6 @@ u32 mt7530_mdio_r32(struct mt7620_gsw *g
  u32 _mt7620_mii_write(struct mt7620_gsw *gsw, u32 phy_addr,
                             u32 phy_register, u32 write_data);
  u32 _mt7620_mii_read(struct mt7620_gsw *gsw, int phy_addr, int phy_reg);
 +void mt7620_handle_carrier(struct fe_priv *priv);
  
  #endif
-diff --git a/drivers/net/ethernet/mediatek/gsw_mt7621.c b/drivers/net/ethernet/mediatek/gsw_mt7621.c
-index 500841f..dc349ef 100644
 --- a/drivers/net/ethernet/mediatek/gsw_mt7621.c
 +++ b/drivers/net/ethernet/mediatek/gsw_mt7621.c
-@@ -60,6 +60,7 @@ static irqreturn_t gsw_interrupt_mt7621(int irq, void *_priv)
+@@ -60,6 +60,7 @@ static irqreturn_t gsw_interrupt_mt7621(
                        }
                }
  
@@ -48,11 +42,9 @@ index 500841f..dc349ef 100644
        mt7530_mdio_w32(gsw, 0x700c, 0x1f);
  
        return IRQ_HANDLED;
-diff --git a/drivers/net/ethernet/mediatek/mdio.c b/drivers/net/ethernet/mediatek/mdio.c
-index 169c937..79a946e 100644
 --- a/drivers/net/ethernet/mediatek/mdio.c
 +++ b/drivers/net/ethernet/mediatek/mdio.c
-@@ -89,6 +89,7 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node)
+@@ -89,6 +89,7 @@ int fe_connect_phy_node(struct fe_priv *
  
        phydev->supported &= PHY_GBIT_FEATURES;
        phydev->advertising = phydev->supported;
@@ -60,11 +52,9 @@ index 169c937..79a946e 100644
  
        dev_info(priv->device,
                 "connected port %d to PHY at %s [uid=%08x, driver=%s]\n",
-diff --git a/drivers/net/ethernet/mediatek/mdio_mt7620.c b/drivers/net/ethernet/mediatek/mdio_mt7620.c
-index 89c6c30..db6db52 100644
 --- a/drivers/net/ethernet/mediatek/mdio_mt7620.c
 +++ b/drivers/net/ethernet/mediatek/mdio_mt7620.c
-@@ -137,6 +137,17 @@ int mt7620_has_carrier(struct fe_priv *priv)
+@@ -137,6 +137,17 @@ int mt7620_has_carrier(struct fe_priv *p
  }
  
  
@@ -82,12 +72,9 @@ index 89c6c30..db6db52 100644
  void mt7620_print_link_state(struct fe_priv *priv, int port, int link,
                             int speed, int duplex)
  {
-@@ -153,4 +164,5 @@ void mt7620_mdio_link_adjust(struct fe_priv *priv, int port)
+@@ -153,4 +164,5 @@ void mt7620_mdio_link_adjust(struct fe_p
        mt7620_print_link_state(priv, port, priv->link[port],
                                priv->phy->speed[port],
                                (priv->phy->duplex[port] == DUPLEX_FULL));
 +      mt7620_handle_carrier(priv);
  }
--- 
-1.7.10.4
-
index 2f1557e..5d0072f 100644 (file)
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/net/ethernet/mediatek/esw_rt3050.c |  805 ++++++++++++++++++++++++++++
  1 file changed, 805 insertions(+)
 
-diff --git a/drivers/net/ethernet/mediatek/esw_rt3050.c b/drivers/net/ethernet/mediatek/esw_rt3050.c
-index 670ae16..352d50a 100644
 --- a/drivers/net/ethernet/mediatek/esw_rt3050.c
 +++ b/drivers/net/ethernet/mediatek/esw_rt3050.c
 @@ -17,6 +17,8 @@
@@ -167,7 +165,7 @@ index 670ae16..352d50a 100644
  static unsigned esw_get_port_disable(struct rt305x_esw *esw)
  {
        unsigned reg;
-@@ -261,6 +372,59 @@ static unsigned esw_get_port_disable(struct rt305x_esw *esw)
+@@ -261,6 +372,59 @@ static unsigned esw_get_port_disable(str
               RT305X_ESW_POC0_DIS_PORT_M;
  }
  
@@ -227,7 +225,7 @@ index 670ae16..352d50a 100644
  static void esw_hw_init(struct rt305x_esw *esw)
  {
        int i;
-@@ -519,6 +683,9 @@ static void esw_hw_init(struct rt305x_esw *esw)
+@@ -519,6 +683,9 @@ static void esw_hw_init(struct rt305x_es
        for (i = 0; i < RT305X_ESW_NUM_LEDS; i++)
                esw->ports[i].led = 0x05;
  
@@ -237,7 +235,7 @@ index 670ae16..352d50a 100644
        /* Only unmask the port change interrupt */
        esw_w32(esw, ~RT305X_ESW_PORT_ST_CHG, RT305X_ESW_REG_IMR);
  }
-@@ -541,11 +708,629 @@ static irqreturn_t esw_interrupt(int irq, void *_esw)
+@@ -541,11 +708,629 @@ static irqreturn_t esw_interrupt(int irq
        return IRQ_HANDLED;
  }
  
@@ -867,7 +865,7 @@ index 670ae16..352d50a 100644
        struct rt305x_esw *esw;
        struct resource *irq;
        int ret;
-@@ -568,6 +1353,21 @@ static int esw_probe(struct platform_device *pdev)
+@@ -568,6 +1353,21 @@ static int esw_probe(struct platform_dev
        if (reg_init)
                esw->reg_led_polarity = be32_to_cpu(*reg_init);
  
@@ -889,7 +887,7 @@ index 670ae16..352d50a 100644
        platform_set_drvdata(pdev, esw);
  
        spin_lock_init(&esw->reg_rw_lock);
-@@ -583,6 +1383,11 @@ static int esw_probe(struct platform_device *pdev)
+@@ -583,6 +1383,11 @@ static int esw_probe(struct platform_dev
        }
  
        return ret;
@@ -901,6 +899,3 @@ index 670ae16..352d50a 100644
  }
  
  static int esw_remove(struct platform_device *pdev)
--- 
-1.7.10.4
-
index 87ad128..bbad8cc 100644 (file)
@@ -15,11 +15,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  create mode 100644 drivers/net/ethernet/mediatek/mt7530.c
  create mode 100644 drivers/net/ethernet/mediatek/mt7530.h
 
-diff --git a/drivers/net/ethernet/mediatek/Makefile b/drivers/net/ethernet/mediatek/Makefile
-index c4d2dfb..07ba4c2 100644
 --- a/drivers/net/ethernet/mediatek/Makefile
 +++ b/drivers/net/ethernet/mediatek/Makefile
-@@ -15,6 +15,6 @@ mtk-eth-soc-$(CONFIG_NET_MEDIATEK_MT7620)    += soc_mt7620.o
+@@ -15,6 +15,6 @@ mtk-eth-soc-$(CONFIG_NET_MEDIATEK_MT7620
  mtk-eth-soc-$(CONFIG_NET_MEDIATEK_MT7621)     += soc_mt7621.o
  
  obj-$(CONFIG_NET_MEDIATEK_ESW_RT3050)         += esw_rt3050.o
@@ -28,9 +26,6 @@ index c4d2dfb..07ba4c2 100644
 +obj-$(CONFIG_NET_MEDIATEK_GSW_MT7620)         += gsw_mt7620.o mt7530.o
 +obj-$(CONFIG_NET_MEDIATEK_GSW_MT7621)         += gsw_mt7621.o mt7530.o
  obj-$(CONFIG_NET_MEDIATEK_SOC)                        += mtk-eth-soc.o
-diff --git a/drivers/net/ethernet/mediatek/mt7530.c b/drivers/net/ethernet/mediatek/mt7530.c
-new file mode 100644
-index 0000000..4d9980d
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mt7530.c
 @@ -0,0 +1,804 @@
@@ -838,9 +833,6 @@ index 0000000..4d9980d
 +
 +      return 0;
 +}
-diff --git a/drivers/net/ethernet/mediatek/mt7530.h b/drivers/net/ethernet/mediatek/mt7530.h
-new file mode 100644
-index 0000000..1fc8c62
 --- /dev/null
 +++ b/drivers/net/ethernet/mediatek/mt7530.h
 @@ -0,0 +1,20 @@
@@ -864,11 +856,9 @@ index 0000000..1fc8c62
 +int mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus, int vlan);
 +
 +#endif
-diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-index dae7147..6299f87 100644
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1308,8 +1308,13 @@ static int __init fe_init(struct net_device *dev)
+@@ -1308,8 +1308,13 @@ static int __init fe_init(struct net_dev
        }
  
        err = fe_hw_init(dev);
@@ -884,8 +874,6 @@ index dae7147..6299f87 100644
  
  err_phy_disconnect:
        if (priv->phy)
-diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
-index ba5ba07..d5f8b87 100644
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 @@ -383,6 +383,7 @@ struct fe_soc_data {
@@ -896,11 +884,9 @@ index ba5ba07..d5f8b87 100644
        void (*port_init)(struct fe_priv *priv, struct device_node *port);
        int (*has_carrier)(struct fe_priv *priv);
        int (*mdio_init)(struct fe_priv *priv);
-diff --git a/drivers/net/ethernet/mediatek/soc_mt7620.c b/drivers/net/ethernet/mediatek/soc_mt7620.c
-index 9ad6bc9..740dd90 100644
 --- a/drivers/net/ethernet/mediatek/soc_mt7620.c
 +++ b/drivers/net/ethernet/mediatek/soc_mt7620.c
-@@ -313,6 +313,7 @@ static struct fe_soc_data mt7620_data = {
+@@ -313,6 +313,7 @@ static struct fe_soc_data mt7620_data =
        .fwd_config = mt7620_fwd_config,
        .tx_dma = mt7620_tx_dma,
        .switch_init = mtk_gsw_init,
@@ -908,6 +894,3 @@ index 9ad6bc9..740dd90 100644
        .port_init = mt7620_port_init,
        .reg_table = mt7620_reg_table,
        .pdma_glo_cfg = FE_PDMA_SIZE_16DWORDS,
--- 
-1.7.10.4
-
index 0ea4592..de44a9f 100644 (file)
@@ -8,7 +8,7 @@
  
  #include <linux/switch.h>
  
-@@ -1332,7 +1333,6 @@
+@@ -1332,7 +1333,6 @@ static int esw_probe(struct platform_dev
        const __be32 *port_map, *reg_init;
        struct switch_dev *swdev;
        struct rt305x_esw *esw;
@@ -16,7 +16,7 @@
        int ret;
  
        esw = devm_kzalloc(&pdev->dev, sizeof(*esw), GFP_KERNEL);
-@@ -1340,7 +1340,7 @@
+@@ -1340,7 +1340,7 @@ static int esw_probe(struct platform_dev
                return -ENOMEM;
  
        esw->dev = &pdev->dev;
@@ -25,7 +25,7 @@
        esw->base = devm_ioremap_resource(&pdev->dev, res);
        if (!esw->base)
                return -EADDRNOTAVAIL;
-@@ -1365,7 +1365,7 @@
+@@ -1365,7 +1365,7 @@ static int esw_probe(struct platform_dev
        ret = register_switch(swdev, NULL);
        if (ret < 0) {
                dev_err(&pdev->dev, "register_switch failed\n");
@@ -34,7 +34,7 @@
        }
  
        platform_set_drvdata(pdev, esw);
-@@ -1383,11 +1383,6 @@
+@@ -1383,11 +1383,6 @@ static int esw_probe(struct platform_dev
        }
  
        return ret;
index 0628364..369afa9 100644 (file)
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  drivers/net/ethernet/mediatek/mtk_eth_soc.c |    3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-index 9999768..84b1a43 100644
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1342,6 +1342,9 @@ static int fe_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
+@@ -1344,6 +1344,9 @@ static int fe_do_ioctl(struct net_device
                return -ENODEV;
  
        switch (cmd) {
@@ -22,6 +20,3 @@ index 9999768..84b1a43 100644
        case SIOCGMIIPHY:
        case SIOCGMIIREG:
        case SIOCSMIIREG:
--- 
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-4.3/0902-mt7621-use-gic-timer.patch b/target/linux/ramips/patches-4.3/0902-mt7621-use-gic-timer.patch
deleted file mode 100644 (file)
index 1c6da10..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
---- a/arch/mips/ralink/Kconfig
-+++ b/arch/mips/ralink/Kconfig
-@@ -52,6 +52,8 @@
-               select SYS_SUPPORTS_SMP
-               select SYS_SUPPORTS_MIPS_CPS
-               select MIPS_GIC
-+              select COMMON_CLK
-+              select CLKSRC_MIPS_GIC
-               select HW_HAS_PCI
- endchoice
---- a/arch/mips/ralink/Makefile
-+++ b/arch/mips/ralink/Makefile
-@@ -6,14 +6,18 @@
- # Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>
- # Copyright (C) 2013 John Crispin <blogic@openwrt.org>
--obj-y := prom.o of.o reset.o clk.o timer.o
-+obj-y := prom.o of.o reset.o
-+
-+ifndef CONFIG_MIPS_GIC
-+      obj-y += clk.o timer.o
-+endif
- obj-$(CONFIG_CLKEVT_RT3352) += cevt-rt3352.o
- obj-$(CONFIG_RALINK_ILL_ACC) += ill_acc.o
- obj-$(CONFIG_IRQ_INTC) += irq.o
--obj-$(CONFIG_MIPS_GIC) += irq-gic.o
-+obj-$(CONFIG_MIPS_GIC) += irq-gic.o timer-gic.o
- obj-$(CONFIG_SOC_RT288X) += rt288x.o
- obj-$(CONFIG_SOC_RT305X) += rt305x.o
---- a/arch/mips/ralink/irq-gic.c
-+++ b/arch/mips/ralink/irq-gic.c
-@@ -3,13 +3,6 @@
- #include <linux/of.h>
- #include <linux/irqchip.h>
--#include <linux/irqchip/mips-gic.h>
--
--unsigned int get_c0_compare_int(void)
--{
--      return gic_get_c0_compare_int();
--}
--
- void __init
- arch_init_irq(void)
- {
---- /dev/null
-+++ b/arch/mips/ralink/timer-gic.c
-@@ -0,0 +1,15 @@
-+#include <linux/init.h>
-+
-+#include <linux/of.h>
-+#include <linux/clk-provider.h>
-+#include <linux/clocksource.h>
-+
-+#include "common.h"
-+
-+void __init plat_time_init(void)
-+{
-+      ralink_of_remap();
-+
-+      of_clk_init(NULL);
-+      clocksource_of_init();
-+}
---- a/arch/mips/ralink/mt7621.c
-+++ b/arch/mips/ralink/mt7621.c
-@@ -152,11 +152,6 @@
-               }
-               break;
-       }
--      cpu_clk = 880000000;
--      ralink_clk_add("cpu", cpu_clk);
--      ralink_clk_add("1e000b00.spi", 50000000);
--      ralink_clk_add("1e000c00.uartlite", 50000000);
--      ralink_clk_add("1e000d00.uart", 50000000);
- }
- void __init ralink_of_remap(void)
diff --git a/target/linux/ramips/patches-4.3/0903-mt7621-fix-gic-perfcounter.patch b/target/linux/ramips/patches-4.3/0903-mt7621-fix-gic-perfcounter.patch
deleted file mode 100644 (file)
index bb19511..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/arch/mips/ralink/irq-gic.c
-+++ b/arch/mips/ralink/irq-gic.c
-@@ -2,6 +2,13 @@
- #include <linux/of.h>
- #include <linux/irqchip.h>
-+#include <linux/irqchip/mips-gic.h>
-+
-+int get_c0_perfcount_int(void)
-+{
-+      return gic_get_c0_perfcount_int();
-+}
-+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
- void __init
- arch_init_irq(void)