kernel: update linux 3.8 to 3.8.3

Also refresh the related generic/platform patches.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36039
v19.07.3_mercusys_ac12_duma
Gabor Juhos 11 years ago
parent d614f8a880
commit 07532dca7f

@ -11,8 +11,8 @@ endif
ifeq ($(LINUX_VERSION),3.7.10)
LINUX_KERNEL_MD5SUM:=09624c3702107076efcac5e1cd8a18ec
endif
ifeq ($(LINUX_VERSION),3.8.2)
LINUX_KERNEL_MD5SUM:=0587d693653dc5e67e3d280278100d1d
ifeq ($(LINUX_VERSION),3.8.3)
LINUX_KERNEL_MD5SUM:=eb59b1fc7343db96e20c85a9cf2baa9f
endif
# disable the md5sum check for unknown kernel versions

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
BOARD:=adm5120
BOARDNAME:=Infineon/ADMtek ADM5120
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
SUBTARGETS:=router_le router_be rb1xx
INITRAMFS_EXTRA_FILES:=

@ -1,6 +1,6 @@
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -984,6 +984,18 @@ config RC32434_WDT
@@ -985,6 +985,18 @@ config RC32434_WDT
To compile this driver as a module, choose M here: the
module will be called rc32434_wdt.

@ -13,7 +13,7 @@ FEATURES:=squashfs jffs2 targz
CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -mno-branch-likely
SUBTARGETS:=generic nand
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -1,6 +1,6 @@
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -180,6 +180,7 @@ endif
@@ -182,6 +182,7 @@ endif
#
libs-$(CONFIG_FW_ARC) += arch/mips/fw/arc/
libs-$(CONFIG_FW_CFE) += arch/mips/fw/cfe/

@ -11,7 +11,7 @@ BOARD:=atheros
BOARDNAME:=Atheros AR231x/AR5312
FEATURES:=squashfs jffs2
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -202,7 +202,7 @@
+module_exit(exit_ar2315_wdt);
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1076,6 +1076,12 @@ config LANTIQ_WDT
@@ -1077,6 +1077,12 @@ config LANTIQ_WDT
help
Hardware driver for the Lantiq SoC Watchdog Timer.

@ -12,7 +12,7 @@ BOARDNAME:=Atmel AVR32
FEATURES:=squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -1,6 +1,6 @@
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -971,6 +971,7 @@ config ATH79_WDT
@@ -972,6 +972,7 @@ config ATH79_WDT
config BCM47XX_WDT
tristate "Broadcom BCM47xx Watchdog Timer"
depends on BCM47XX

@ -104,7 +104,7 @@
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
/* Wait up to 20ms for init done. */
for (i = 0; i < 200; i++) {
@@ -3447,6 +3469,13 @@ static int tg3_halt_cpu(struct tg3 *tp,
@@ -3443,6 +3465,13 @@ static int tg3_halt_cpu(struct tg3 *tp,
tw32_f(offset + CPU_MODE, CPU_MODE_HALT);
udelay(10);
} else {
@ -118,7 +118,7 @@
for (i = 0; i < 10000; i++) {
tw32(offset + CPU_STATE, 0xffffffff);
tw32(offset + CPU_MODE, CPU_MODE_HALT);
@@ -3914,8 +3943,9 @@ static int tg3_power_down_prepare(struct
@@ -3910,8 +3939,9 @@ static int tg3_power_down_prepare(struct
tg3_frob_aux_power(tp, true);
/* Workaround for unstable PLL clock */
@ -130,7 +130,7 @@
u32 val = tr32(0x7d00);
val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1);
@@ -4435,6 +4465,15 @@ relink:
@@ -4431,6 +4461,15 @@ relink:
if (current_link_up == 0 || (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
tg3_phy_copper_begin(tp);
@ -146,7 +146,7 @@
tg3_readphy(tp, MII_BMSR, &bmsr);
if ((!tg3_readphy(tp, MII_BMSR, &bmsr) && (bmsr & BMSR_LSTATUS)) ||
(tp->mac_mode & MAC_MODE_PORT_INT_LPBACK))
@@ -4453,6 +4492,26 @@ relink:
@@ -4449,6 +4488,26 @@ relink:
else
tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
@ -173,7 +173,7 @@
tp->mac_mode &= ~MAC_MODE_HALF_DUPLEX;
if (tp->link_config.active_duplex == DUPLEX_HALF)
tp->mac_mode |= MAC_MODE_HALF_DUPLEX;
@@ -8431,6 +8490,16 @@ static int tg3_chip_reset(struct tg3 *tp
@@ -8427,6 +8486,16 @@ static int tg3_chip_reset(struct tg3 *tp
tw32(0x5000, 0x400);
}
@ -190,7 +190,7 @@
tw32(GRC_MODE, tp->grc_mode);
if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
@@ -10064,6 +10133,11 @@ static void tg3_timer(unsigned long __op
@@ -10060,6 +10129,11 @@ static void tg3_timer(unsigned long __op
tg3_flag(tp, 57765_CLASS))
tg3_chk_missed_msi(tp);
@ -202,7 +202,7 @@
if (!tg3_flag(tp, TAGGED_STATUS)) {
/* All of this garbage is because when using non-tagged
* IRQ status the mailbox/status_block protocol the chip
@@ -12937,7 +13011,8 @@ static int tg3_ioctl(struct net_device *
@@ -12933,7 +13007,8 @@ static int tg3_ioctl(struct net_device *
return -EAGAIN;
spin_lock_bh(&tp->lock);
@ -212,7 +212,7 @@
spin_unlock_bh(&tp->lock);
data->val_out = mii_regval;
@@ -12953,7 +13028,8 @@ static int tg3_ioctl(struct net_device *
@@ -12949,7 +13024,8 @@ static int tg3_ioctl(struct net_device *
return -EAGAIN;
spin_lock_bh(&tp->lock);
@ -222,7 +222,7 @@
spin_unlock_bh(&tp->lock);
return err;
@@ -13806,6 +13882,14 @@ static void tg3_get_5720_nvram_info(stru
@@ -13802,6 +13878,14 @@ static void tg3_get_5720_nvram_info(stru
/* Chips other than 5700/5701 use the NVRAM for fetching info. */
static void tg3_nvram_init(struct tg3 *tp)
{
@ -237,7 +237,7 @@
tw32_f(GRC_EEPROM_ADDR,
(EEPROM_ADDR_FSM_RESET |
(EEPROM_DEFAULT_CLOCK_PERIOD <<
@@ -14298,10 +14382,19 @@ static int tg3_phy_probe(struct tg3 *tp)
@@ -14294,10 +14378,19 @@ static int tg3_phy_probe(struct tg3 *tp)
* subsys device table.
*/
p = tg3_lookup_by_subsys(tp);
@ -259,7 +259,7 @@
if (!tp->phy_id ||
tp->phy_id == TG3_PHY_ID_BCM8002)
tp->phy_flags |= TG3_PHYFLG_PHY_SERDES;
@@ -15346,6 +15439,11 @@ static int tg3_get_invariants(struct tg3
@@ -15342,6 +15435,11 @@ static int tg3_get_invariants(struct tg3
}
}
@ -271,7 +271,7 @@
/* Get eeprom hw config before calling tg3_set_power_state().
* In particular, the TG3_FLAG_IS_NIC flag must be
* determined before calling tg3_set_power_state() so that
@@ -15679,12 +15777,19 @@ static int tg3_get_device_address(struct
@@ -15675,12 +15773,19 @@ static int tg3_get_device_address(struct
struct net_device *dev = tp->dev;
u32 hi, lo, mac_offset;
int addr_ok = 0;
@ -291,7 +291,7 @@
mac_offset = 0x7c;
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 ||
tg3_flag(tp, 5780_CLASS)) {
@@ -16045,6 +16150,8 @@ static int tg3_test_dma(struct tg3 *tp)
@@ -16041,6 +16146,8 @@ static int tg3_test_dma(struct tg3 *tp)
tp->dma_rwctrl |= 0x001b000f;
}
}
@ -300,7 +300,7 @@
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 ||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704)
@@ -16389,6 +16496,18 @@ static int tg3_init_one(struct pci_dev *
@@ -16385,6 +16492,18 @@ static int tg3_init_one(struct pci_dev *
else
tp->msg_enable = TG3_DEF_MSG_ENABLE;

@ -12,7 +12,7 @@ BOARDNAME:=Cavium Networks Econa CNS21xx
FEATURES:=squashfs
CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -18,7 +18,7 @@
select GENERIC_CLOCKEVENTS
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -202,6 +202,7 @@ machine-$(CONFIG_ARCH_SUNXI) += sunxi
@@ -207,6 +207,7 @@ machine-$(CONFIG_ARCH_SUNXI) += sunxi
plat-$(CONFIG_ARCH_OMAP) += omap
plat-$(CONFIG_ARCH_S3C64XX) += samsung
plat-$(CONFIG_PLAT_IOP) += iop
@ -26,7 +26,7 @@
plat-$(CONFIG_PLAT_ORION) += orion
plat-$(CONFIG_PLAT_PXA) += pxa
plat-$(CONFIG_PLAT_S3C24XX) += s3c24xx samsung
@@ -311,7 +312,7 @@ define archhelp
@@ -316,7 +317,7 @@ define archhelp
echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)'
echo ' uImage - U-Boot wrapped zImage'

@ -1,6 +1,6 @@
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -364,6 +364,13 @@ config IMX2_WDT
@@ -365,6 +365,13 @@ config IMX2_WDT
To compile this driver as a module, choose M here: the
module will be called imx2_wdt.

@ -67,7 +67,7 @@
+initrd_phys-y := 0x00C00000
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -141,6 +141,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
@@ -146,6 +146,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_BCM) += bcm
machine-$(CONFIG_ARCH_BCM2835) += bcm2835
machine-$(CONFIG_ARCH_CLPS711X) += clps711x

@ -52,7 +52,7 @@
+}
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -366,7 +366,7 @@ config IMX2_WDT
@@ -367,7 +367,7 @@ config IMX2_WDT
config FA_WATCHDOG
tristate "Faraday watchdog"

@ -13,7 +13,7 @@ FEATURES:=squashfs fpu gpio pcie usb usbgadget
CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -1,6 +1,6 @@
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
@@ -122,12 +122,13 @@ static void cns3xxx_timer_set_mode(enum
@@ -122,12 +122,13 @@ static void cns3xxx_timer_set_mode(enum
switch (mode) {
case CLOCK_EVT_MODE_PERIODIC:

@ -13,7 +13,7 @@ FEATURES:=squashfs broken
CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -301,7 +301,7 @@
/**
* sb_permission - Check superblock-level permissions
@@ -2878,9 +2879,12 @@ finish_open_created:
@@ -2876,9 +2877,12 @@ finish_open_created:
error = may_open(&nd->path, acc_mode, open_flag);
if (error)
goto out;

@ -63,7 +63,7 @@ Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
{ .compatible = "arm,cortex-a9-twd-timer", },
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
spin_lock(&wdt_lock);
/* Assume prescale is set to 256 */

@ -11,7 +11,7 @@ BOARDNAME:=Lantiq GPON/XWAY/SVIP
FEATURES:=squashfs jffs2
SUBTARGETS=xway ase falcon
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -mno-branch-likely

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/mtd/devices/m25p80.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 4eeeb2d..b12da33 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -810,10 +810,13 @@ static int m25p_probe(struct spi_device *spi)
@@ -827,10 +827,13 @@ static int m25p_probe(struct spi_device
unsigned i;
struct mtd_part_parser_data ppdata;
struct device_node __maybe_unused *np = spi->dev.of_node;
@ -30,7 +28,7 @@ index 4eeeb2d..b12da33 100644
#endif
/* Platform data helps sort out which chip type we have, as
@@ -889,6 +892,8 @@ static int m25p_probe(struct spi_device *spi)
@@ -906,6 +909,8 @@ static int m25p_probe(struct spi_device
if (data && data->name)
flash->mtd.name = data->name;
@ -39,6 +37,3 @@ index 4eeeb2d..b12da33 100644
else
flash->mtd.name = dev_name(&spi->dev);
--
1.7.10.4

@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/spi/spi-falcon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/spi/spi-falcon.c b/drivers/spi/spi-falcon.c
index 6a6f62e..f9c66c2 100644
--- a/drivers/spi/spi-falcon.c
+++ b/drivers/spi/spi-falcon.c
@@ -398,7 +398,7 @@ static int falcon_sflash_xfer_one(struct spi_master *master,
@@ -398,7 +398,7 @@ static int falcon_sflash_xfer_one(struct
}
m->status = ret;
@ -26,6 +24,3 @@ index 6a6f62e..f9c66c2 100644
return 0;
}
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/spi/spi-falcon.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-falcon.c b/drivers/spi/spi-falcon.c
index f9c66c2..c7a74f0 100644
--- a/drivers/spi/spi-falcon.c
+++ b/drivers/spi/spi-falcon.c
@@ -423,6 +423,7 @@ static int falcon_sflash_probe(struct platform_device *pdev)
@@ -423,6 +423,7 @@ static int falcon_sflash_probe(struct pl
master->mode_bits = SPI_MODE_3;
master->num_chipselect = 1;
@ -24,6 +22,3 @@ index f9c66c2..c7a74f0 100644
master->bus_num = -1;
master->setup = falcon_sflash_setup;
master->prepare_transfer_hardware = falcon_sflash_prepare_xfer;
--
1.7.10.4

@ -12,9 +12,6 @@ Cc: devicetree-discuss@lists.ozlabs.org
1 file changed, 16 insertions(+)
create mode 100644 Documentation/devicetree/bindings/serial/lantiq_asc.txt
diff --git a/Documentation/devicetree/bindings/serial/lantiq_asc.txt b/Documentation/devicetree/bindings/serial/lantiq_asc.txt
new file mode 100644
index 0000000..5b78591
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/lantiq_asc.txt
@@ -0,0 +1,16 @@
@ -34,6 +31,3 @@ index 0000000..5b78591
+ interrupt-parent = <&icu0>;
+ interrupts = <112 113 114>;
+};
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-xway.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index 5f0eb04..69dec9b 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -441,17 +441,17 @@ static int xway_pinconf_get(struct pinctrl_dev *pctldev,
@@ -441,17 +441,17 @@ static int xway_pinconf_get(struct pinct
if (port == PORT3)
reg = GPIO3_OD;
else
@ -38,7 +36,7 @@ index 5f0eb04..69dec9b 100644
*config = LTQ_PINCONF_PACK(param, 0);
break;
}
@@ -459,8 +459,8 @@ static int xway_pinconf_get(struct pinctrl_dev *pctldev,
@@ -459,8 +459,8 @@ static int xway_pinconf_get(struct pinct
if (port == PORT3)
reg = GPIO3_PUDSEL;
else
@ -49,7 +47,7 @@ index 5f0eb04..69dec9b 100644
*config = LTQ_PINCONF_PACK(param, 2);
else
*config = LTQ_PINCONF_PACK(param, 1);
@@ -488,29 +488,29 @@ static int xway_pinconf_set(struct pinctrl_dev *pctldev,
@@ -488,29 +488,29 @@ static int xway_pinconf_set(struct pinct
if (port == PORT3)
reg = GPIO3_OD;
else
@ -87,6 +85,3 @@ index 5f0eb04..69dec9b 100644
else
dev_err(pctldev->dev, "Invalid pull value %d\n", arg);
break;
--
1.7.10.4

@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-xway.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index 69dec9b..c49c9db 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -443,7 +443,7 @@ static int xway_pinconf_get(struct pinctrl_dev *pctldev,
@@ -443,7 +443,7 @@ static int xway_pinconf_get(struct pinct
else
reg = GPIO_OD(pin);
*config = LTQ_PINCONF_PACK(param,
@ -23,6 +21,3 @@ index 69dec9b..c49c9db 100644
break;
case LTQ_PINCONF_PARAM_PULL:
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-xway.c | 15 +++++++++++
2 files changed, 49 insertions(+), 20 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
index 15f501d..7d11072 100644
--- a/drivers/pinctrl/pinctrl-lantiq.c
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -64,11 +64,13 @@ static void ltq_pinctrl_pin_dbg_show(struct pinctrl_dev *pctldev,
@@ -64,11 +64,13 @@ static void ltq_pinctrl_pin_dbg_show(str
seq_printf(s, " %s", dev_name(pctldev->dev));
}
@ -31,7 +29,7 @@ index 15f501d..7d11072 100644
unsigned long configs[3];
unsigned num_configs = 0;
struct property *prop;
@@ -76,8 +78,20 @@ static int ltq_pinctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
@@ -76,8 +78,20 @@ static int ltq_pinctrl_dt_subnode_to_map
const char *function;
int ret, i;
@ -53,7 +51,7 @@ index 15f501d..7d11072 100644
of_property_for_each_string(np, "lantiq,groups", prop, group) {
(*map)->type = PIN_MAP_TYPE_MUX_GROUP;
(*map)->name = function;
@@ -85,11 +99,6 @@ static int ltq_pinctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
@@ -85,11 +99,6 @@ static int ltq_pinctrl_dt_subnode_to_map
(*map)->data.mux.function = function;
(*map)++;
}
@ -65,7 +63,7 @@ index 15f501d..7d11072 100644
}
for (i = 0; i < info->num_params; i++) {
@@ -103,7 +112,7 @@ static int ltq_pinctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
@@ -103,7 +112,7 @@ static int ltq_pinctrl_dt_subnode_to_map
}
if (!num_configs)
@ -74,7 +72,7 @@ index 15f501d..7d11072 100644
of_property_for_each_string(np, "lantiq,pins", prop, pin) {
(*map)->data.configs.configs = kmemdup(configs,
@@ -115,7 +124,16 @@ static int ltq_pinctrl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
@@ -115,7 +124,16 @@ static int ltq_pinctrl_dt_subnode_to_map
(*map)->data.configs.num_configs = num_configs;
(*map)++;
}
@ -92,7 +90,7 @@ index 15f501d..7d11072 100644
}
static int ltq_pinctrl_dt_subnode_size(struct device_node *np)
@@ -135,23 +153,19 @@ static int ltq_pinctrl_dt_node_to_map(struct pinctrl_dev *pctldev,
@@ -135,23 +153,19 @@ static int ltq_pinctrl_dt_node_to_map(st
{
struct pinctrl_map *tmp;
struct device_node *np;
@ -123,11 +121,9 @@ index 15f501d..7d11072 100644
return 0;
}
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index c49c9db..aa4c8b8 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -522,9 +522,24 @@ static int xway_pinconf_set(struct pinctrl_dev *pctldev,
@@ -522,9 +522,24 @@ static int xway_pinconf_set(struct pinct
return 0;
}
@ -152,6 +148,3 @@ index c49c9db..aa4c8b8 100644
};
static struct pinctrl_desc xway_pctrl_desc = {
--
1.7.10.4

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-xway.c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-lantiq.h b/drivers/pinctrl/pinctrl-lantiq.h
index 4419d32..6d07f02 100644
--- a/drivers/pinctrl/pinctrl-lantiq.h
+++ b/drivers/pinctrl/pinctrl-lantiq.h
@@ -34,6 +34,7 @@ enum ltq_pinconf_param {
@ -24,11 +22,9 @@ index 4419d32..6d07f02 100644
};
struct ltq_cfg_param {
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index aa4c8b8..b23b895 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -466,6 +466,11 @@ static int xway_pinconf_get(struct pinctrl_dev *pctldev,
@@ -466,6 +466,11 @@ static int xway_pinconf_get(struct pinct
*config = LTQ_PINCONF_PACK(param, 1);
break;
@ -40,7 +36,7 @@ index aa4c8b8..b23b895 100644
default:
dev_err(pctldev->dev, "Invalid config param %04x\n", param);
return -ENOTSUPP;
@@ -515,6 +520,14 @@ static int xway_pinconf_set(struct pinctrl_dev *pctldev,
@@ -515,6 +520,14 @@ static int xway_pinconf_set(struct pinct
dev_err(pctldev->dev, "Invalid pull value %d\n", arg);
break;
@ -55,7 +51,7 @@ index aa4c8b8..b23b895 100644
default:
dev_err(pctldev->dev, "Invalid config param %04x\n", param);
return -ENOTSUPP;
@@ -573,6 +586,7 @@ static inline int xway_mux_apply(struct pinctrl_dev *pctrldev,
@@ -573,6 +586,7 @@ static inline int xway_mux_apply(struct
static const struct ltq_cfg_param xway_cfg_params[] = {
{"lantiq,pull", LTQ_PINCONF_PARAM_PULL},
{"lantiq,open-drain", LTQ_PINCONF_PARAM_OPEN_DRAIN},
@ -63,6 +59,3 @@ index aa4c8b8..b23b895 100644
};
static struct ltq_pinmux_info xway_info = {
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-xway.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index b23b895..53cb6a3 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -494,7 +494,10 @@ static int xway_pinconf_set(struct pinctrl_dev *pctldev,
@@ -494,7 +494,10 @@ static int xway_pinconf_set(struct pinct
reg = GPIO3_OD;
else
reg = GPIO_OD(pin);
@ -28,6 +26,3 @@ index b23b895..53cb6a3 100644
break;
case LTQ_PINCONF_PARAM_PULL:
--
1.7.10.4

@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-falcon.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
index 8ed20e8..6331c5c 100644
--- a/drivers/pinctrl/pinctrl-falcon.c
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -398,6 +398,9 @@ static int pinctrl_falcon_probe(struct platform_device *pdev)
@@ -398,6 +398,9 @@ static int pinctrl_falcon_probe(struct p
u32 avail;
int pins;
@ -25,6 +23,3 @@ index 8ed20e8..6331c5c 100644
if (!ppdev) {
dev_err(&pdev->dev, "failed to find pad pdev\n");
continue;
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-falcon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
index 6331c5c..249a405 100644
--- a/drivers/pinctrl/pinctrl-falcon.c
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -170,7 +170,7 @@ static const unsigned pins_ntr[] = {GPIO4};
@@ -170,7 +170,7 @@ static const unsigned pins_ntr[] = {GPIO
static const unsigned pins_ntr8k[] = {GPIO5};
static const unsigned pins_hrst[] = {GPIO6};
static const unsigned pins_mdio[] = {GPIO7, GPIO8};
@ -25,6 +23,3 @@ index 6331c5c..249a405 100644
GPIO12, GPIO13, GPIO14};
static const unsigned pins_asc0[] = {GPIO32, GPIO33};
static const unsigned pins_spi[] = {GPIO34, GPIO35, GPIO36};
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-falcon.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
index 249a405..c5a9868 100644
--- a/drivers/pinctrl/pinctrl-falcon.c
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -360,6 +360,8 @@ static const struct ltq_cfg_param falcon_cfg_params[] = {
@@ -360,6 +360,8 @@ static const struct ltq_cfg_param falcon
static struct ltq_pinmux_info falcon_info = {
.desc = &falcon_pctrl_desc,
.apply_mux = falcon_mux_apply,
@ -25,6 +23,3 @@ index 249a405..c5a9868 100644
};
--
1.7.10.4

@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-falcon.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
index c5a9868..4a0d54a 100644
--- a/drivers/pinctrl/pinctrl-falcon.c
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -315,6 +315,37 @@ static int falcon_pinconf_set(struct pinctrl_dev *pctrldev,
@@ -315,6 +315,37 @@ static int falcon_pinconf_set(struct pin
static void falcon_pinconf_dbg_show(struct pinctrl_dev *pctrldev,
struct seq_file *s, unsigned offset)
{
@ -55,6 +53,3 @@ index c5a9868..4a0d54a 100644
}
static void falcon_pinconf_group_dbg_show(struct pinctrl_dev *pctrldev,
--
1.7.10.4

@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-falcon.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-falcon.c b/drivers/pinctrl/pinctrl-falcon.c
index 4a0d54a..de9d1db 100644
--- a/drivers/pinctrl/pinctrl-falcon.c
+++ b/drivers/pinctrl/pinctrl-falcon.c
@@ -455,12 +455,17 @@ static int pinctrl_falcon_probe(struct platform_device *pdev)
@@ -455,12 +455,17 @@ static int pinctrl_falcon_probe(struct p
*bank);
return -ENOMEM;
}
@ -38,6 +36,3 @@ index 4a0d54a..de9d1db 100644
dev_dbg(&pdev->dev, "found %s with %d pads\n",
res.name, pins);
}
--
1.7.10.4

@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/pinctrl/pinctrl-lantiq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-lantiq.c b/drivers/pinctrl/pinctrl-lantiq.c
index 7d11072..a703846 100644
--- a/drivers/pinctrl/pinctrl-lantiq.c
+++ b/drivers/pinctrl/pinctrl-lantiq.c
@@ -294,7 +294,7 @@ static int ltq_pmx_gpio_request_enable(struct pinctrl_dev *pctrldev,
@@ -294,7 +294,7 @@ static int ltq_pmx_gpio_request_enable(s
unsigned pin)
{
struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
@ -26,6 +24,3 @@ index 7d11072..a703846 100644
int pin_func;
if (mfp < 0) {
--
1.7.10.4

@ -11,8 +11,6 @@ Patchwork: http://patchwork.linux-mips.org/patch/4814/
arch/mips/lantiq/xway/sysctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 3925e66..1aaa726 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -305,7 +305,7 @@ void __init ltq_soc_init(void)
@ -24,6 +22,3 @@ index 3925e66..1aaa726 100644
if (of_address_to_resource(np_pmu, 0, &res_pmu) ||
of_address_to_resource(np_cgu, 0, &res_cgu) ||
--
1.7.10.4

@ -17,11 +17,9 @@ Patchwork: http://patchwork.linux-mips.org/patch/4815/
arch/mips/lantiq/xway/sysctrl.c | 12 ++++----
6 files changed, 69 insertions(+), 10 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 5e8a6e9..76be7a0 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -41,6 +41,7 @@ extern void clk_deactivate(struct clk *clk);
@@ -41,6 +41,7 @@ extern void clk_deactivate(struct clk *c
extern struct clk *clk_get_cpu(void);
extern struct clk *clk_get_fpi(void);
extern struct clk *clk_get_io(void);
@ -29,8 +27,6 @@ index 5e8a6e9..76be7a0 100644
/* find out what bootsource we have */
extern unsigned char ltq_boot_select(void);
diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
index ce2f129..d903560 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -26,13 +26,15 @@
@ -64,8 +60,6 @@ index ce2f129..d903560 100644
static inline int clk_good(struct clk *clk)
{
return clk && !IS_ERR(clk);
diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
index fa67060..77e4bdb 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -27,12 +27,15 @@
@ -103,8 +97,6 @@ index fa67060..77e4bdb 100644
+extern unsigned long ltq_vr9_pp32_hz(void);
#endif
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index 2d4ced3..ff4894a 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -241,9 +241,9 @@ void __init ltq_soc_init(void)
@ -119,8 +111,6 @@ index 2d4ced3..ff4894a 100644
/* add our clock domains */
clkdev_add_sys("1d810000.gpio", SYSCTL_SYSETH, ACTS_P0);
diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
index 9aa17f7..1ab576d 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -53,6 +53,29 @@ unsigned long ltq_danube_cpu_hz(void)
@ -153,10 +143,12 @@ index 9aa17f7..1ab576d 100644
unsigned long ltq_ar9_sys_hz(void)
{
if (((ltq_cgu_r32(CGU_SYS) >> 3) & 0x3) == 0x2)
@@ -149,3 +172,23 @@ unsigned long ltq_vr9_fpi_hz(void)
@@ -147,5 +170,25 @@ unsigned long ltq_vr9_fpi_hz(void)
break;
}
return clk;
}
+ return clk;
+}
+
+unsigned long ltq_vr9_pp32_hz(void)
+{
@ -175,10 +167,8 @@ index 9aa17f7..1ab576d 100644
+ break;
+ }
+
+ return clk;
+}
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 1aaa726..3390fcd 100644
return clk;
}
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -356,14 +356,16 @@ void __init ltq_soc_init(void)
@ -214,6 +204,3 @@ index 1aaa726..3390fcd 100644
+ ltq_danube_fpi_hz(), ltq_danube_pp32_hz());
}
}
--
1.7.10.4

@ -12,11 +12,9 @@ Patchwork: http://patchwork.linux-mips.org/patch/4817/
arch/mips/pci/pci-lantiq.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index 9568178..f32664b 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -129,8 +129,16 @@ static int ltq_pci_startup(struct platform_device *pdev)
@@ -129,8 +129,16 @@ static int ltq_pci_startup(struct platfo
/* setup reset gpio used by pci */
reset_gpio = of_get_named_gpio(node, "gpio-reset", 0);
@ -35,6 +33,3 @@ index 9568178..f32664b 100644
/* enable auto-switching between PCI and EBU */
ltq_pci_w32(0xa, PCI_CR_CLK_CTRL);
--
1.7.10.4

@ -14,8 +14,6 @@ Patchwork: http://patchwork.linux-mips.org/patch/4818/
arch/mips/lantiq/irq.c | 105 +++++++++++++++++++---------
2 files changed, 74 insertions(+), 32 deletions(-)
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
index 76be7a0..f196cce 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -34,6 +34,7 @@ extern spinlock_t ebu_lock;
@ -26,8 +24,6 @@ index 76be7a0..f196cce 100644
/* clock handling */
extern int clk_activate(struct clk *clk);
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index a7935bf..5119487 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -33,17 +33,10 @@
@ -151,7 +147,7 @@ index a7935bf..5119487 100644
/* enable */
ltq_eiu_w32(ltq_eiu_r32(LTQ_EIU_EXIN_INEN) | BIT(i),
LTQ_EIU_EXIN_INEN);
@@ -157,7 +195,7 @@ static void ltq_shutdown_eiu_irq(struct irq_data *d)
@@ -157,7 +195,7 @@ static void ltq_shutdown_eiu_irq(struct
ltq_disable_irq(d);
for (i = 0; i < MAX_EIU; i++) {
@ -168,7 +164,7 @@ index a7935bf..5119487 100644
};
static void ltq_hw_irqdispatch(int module)
@@ -301,7 +340,7 @@ static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
@@ -301,7 +340,7 @@ static int icu_map(struct irq_domain *d,
return 0;
for (i = 0; i < exin_avail; i++)
@ -177,7 +173,7 @@ index a7935bf..5119487 100644
chip = &ltq_eiu_type;
irq_set_chip_and_handler(hw, chip, handle_level_irq);
@@ -323,7 +362,7 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
@@ -323,7 +362,7 @@ int __init icu_of_init(struct device_nod
{
struct device_node *eiu_node;
struct resource res;
@ -186,7 +182,7 @@ index a7935bf..5119487 100644
for (i = 0; i < MAX_IM; i++) {
if (of_address_to_resource(node, i, &res))
@@ -340,17 +379,19 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent)
@@ -340,17 +379,19 @@ int __init icu_of_init(struct device_nod
}
/* the external interrupts are optional and xway only */
@ -211,6 +207,3 @@ index a7935bf..5119487 100644
if (request_mem_region(res.start, resource_size(&res),
res.name) < 0)
pr_err("Failed to request eiu memory");
--
1.7.10.4

@ -7,8 +7,6 @@ Subject: [PATCH 20/40] MIPS: lantiq: adds 4dword burst length for dma
arch/mips/lantiq/xway/dma.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
index e44a186..c7684c9 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -47,6 +47,7 @@
@ -29,6 +27,3 @@ index e44a186..c7684c9 100644
LTQ_DMA_PCTRL);
break;
--
1.7.10.4

@ -16,8 +16,6 @@ Cc: linux-kernel@vger.kernel.org
3 files changed, 355 insertions(+)
create mode 100644 drivers/gpio/gpio-falcon.c
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 682de75..e8d84fa 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -133,6 +133,11 @@ config GPIO_EP93XX
@ -32,11 +30,9 @@ index 682de75..e8d84fa 100644
config GPIO_MM_LANTIQ
bool "Lantiq Memory mapped GPIOs"
depends on LANTIQ && SOC_XWAY
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index c5aebd0..9bdbb91 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -24,6 +24,7 @@ obj-$(CONFIG_GPIO_DA9055) += gpio-da9055.o
@@ -24,6 +24,7 @@ obj-$(CONFIG_GPIO_DA9055) += gpio-da9055
obj-$(CONFIG_ARCH_DAVINCI) += gpio-davinci.o
obj-$(CONFIG_GPIO_EM) += gpio-em.o
obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o
@ -44,9 +40,6 @@ index c5aebd0..9bdbb91 100644
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
obj-$(CONFIG_GPIO_ICH) += gpio-ich.o
obj-$(CONFIG_GPIO_IT8761E) += gpio-it8761e.o
diff --git a/drivers/gpio/gpio-falcon.c b/drivers/gpio/gpio-falcon.c
new file mode 100644
index 0000000..ae8b55d
--- /dev/null
+++ b/drivers/gpio/gpio-falcon.c
@@ -0,0 +1,349 @@
@ -399,6 +392,3 @@ index 0000000..ae8b55d
+}
+
+subsys_initcall(falcon_gpio_init);
--
1.7.10.4

@ -16,8 +16,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/i2c/busses/i2c-lantiq.c
create mode 100644 drivers/i2c/busses/i2c-lantiq.h
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index bdca511..5e2994f 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -470,6 +470,16 @@ config I2C_IOP3XX
@ -37,11 +35,9 @@ index bdca511..5e2994f 100644
config I2C_MPC
tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
depends on PPC
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
index 6181f3f..40ea7d8 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -46,6 +46,7 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
@@ -46,6 +46,7 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic
obj-$(CONFIG_I2C_IMX) += i2c-imx.o
obj-$(CONFIG_I2C_INTEL_MID) += i2c-intel-mid.o
obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o
@ -49,9 +45,6 @@ index 6181f3f..40ea7d8 100644
obj-$(CONFIG_I2C_MPC) += i2c-mpc.o
obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o
obj-$(CONFIG_I2C_MXS) += i2c-mxs.o
diff --git a/drivers/i2c/busses/i2c-lantiq.c b/drivers/i2c/busses/i2c-lantiq.c
new file mode 100644
index 0000000..9a5f58b
--- /dev/null
+++ b/drivers/i2c/busses/i2c-lantiq.c
@@ -0,0 +1,747 @@
@ -802,9 +795,6 @@ index 0000000..9a5f58b
+MODULE_ALIAS("platform:" DRV_NAME);
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VERSION);
diff --git a/drivers/i2c/busses/i2c-lantiq.h b/drivers/i2c/busses/i2c-lantiq.h
new file mode 100644
index 0000000..7a86b89
--- /dev/null
+++ b/drivers/i2c/busses/i2c-lantiq.h
@@ -0,0 +1,234 @@
@ -1042,6 +1032,3 @@ index 0000000..7a86b89
+
+
+#endif /* I2C_LANTIQ_H */
--
1.7.10.4

@ -8,8 +8,6 @@ Subject: [PATCH 23/40] USB: fix roothub for IFXHCD
drivers/usb/core/hub.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index c002191..675310a 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -3,6 +3,7 @@ if LANTIQ
@ -20,11 +18,9 @@ index c002191..675310a 100644
default n
choice
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index cbf7168..5cddead 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4006,7 +4006,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
@@ -4007,7 +4007,7 @@ hub_port_init (struct usb_hub *hub, stru
udev->ttport = hdev->ttport;
} else if (udev->speed != USB_SPEED_HIGH
&& hdev->speed == USB_SPEED_HIGH) {
@ -33,6 +29,3 @@ index cbf7168..5cddead 100644
dev_err(&udev->dev, "parent hub has no TT\n");
retval = -EINVAL;
goto fail;
--
1.7.10.4

@ -16,11 +16,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 986 insertions(+)
create mode 100644 drivers/spi/spi-xway.c
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 2e188e1..3522f29 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -449,6 +449,14 @@ config SPI_NUC900
@@ -458,6 +458,14 @@ config SPI_NUC900
help
SPI driver for Nuvoton NUC900 series ARM SoCs
@ -35,18 +33,13 @@ index 2e188e1..3522f29 100644
#
# Add new SPI master controllers in alphabetical order above this line
#
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index 64e970b..63c24da 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -68,3 +68,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o
@@ -69,3 +69,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-t
obj-$(CONFIG_SPI_TXX9) += spi-txx9.o
obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
+obj-$(CONFIG_SPI_XWAY) += spi-xway.o
diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c
new file mode 100644
index 0000000..61532e3
--- /dev/null
+++ b/drivers/spi/spi-xway.c
@@ -0,0 +1,977 @@
@ -1027,6 +1020,3 @@ index 0000000..61532e3
+MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:spi-xway");
--
1.7.10.4

@ -12,8 +12,6 @@ Subject: [PATCH 25/40] NET: MIPS: lantiq: adds xrx200-net
create mode 100644 drivers/net/ethernet/lantiq_pce.h
create mode 100644 drivers/net/ethernet/lantiq_xrx200.c
diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
index e4ff389..35cb7b0 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -83,7 +83,13 @@ config LANTIQ_ETOP
@ -31,8 +29,6 @@ index e4ff389..35cb7b0 100644
source "drivers/net/ethernet/marvell/Kconfig"
source "drivers/net/ethernet/mellanox/Kconfig"
diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
index d447307..4f95100 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -36,6 +36,7 @@ obj-$(CONFIG_IP1000) += icplus/
@ -43,9 +39,6 @@ index d447307..4f95100 100644
obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
diff --git a/drivers/net/ethernet/lantiq_pce.h b/drivers/net/ethernet/lantiq_pce.h
new file mode 100644
index 0000000..0c38efe
--- /dev/null
+++ b/drivers/net/ethernet/lantiq_pce.h
@@ -0,0 +1,163 @@
@ -212,9 +205,6 @@ index 0000000..0c38efe
+ MC_ENTRY(0x0000, 0x0000, 39, OUT_NONE, 0, INSTR, FLAG_END, 0),
+ MC_ENTRY(0x0000, 0x0000, 39, OUT_NONE, 0, INSTR, FLAG_END, 0),
+};
diff --git a/drivers/net/ethernet/lantiq_xrx200.c b/drivers/net/ethernet/lantiq_xrx200.c
new file mode 100644
index 0000000..f815165
--- /dev/null
+++ b/drivers/net/ethernet/lantiq_xrx200.c
@@ -0,0 +1,1203 @@
@ -1421,6 +1411,3 @@ index 0000000..f815165
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+MODULE_DESCRIPTION("Lantiq SoC XRX200 ethernet");
+MODULE_LICENSE("GPL");
--
1.7.10.4

@ -7,8 +7,6 @@ Subject: [PATCH 26/40] NET: MIPS: lantiq: update etop driver for devicetree
drivers/net/ethernet/lantiq_etop.c | 496 +++++++++++++++++++++++++-----------
1 file changed, 351 insertions(+), 145 deletions(-)
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index c124e67..91a37f1 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -12,7 +12,7 @@
@ -35,15 +33,13 @@ index c124e67..91a37f1 100644
#define ETOP_MII_REVERSE 0xe
#define ETOP_PLEN_UNDER 0x40
#define ETOP_CGEN 0x800
-
+#define ETOP_CFG_MII0 0x01
-/* use 2 static channels for TX/RX */
-#define LTQ_ETOP_TX_CHANNEL 1
-#define LTQ_ETOP_RX_CHANNEL 6
-#define IS_TX(x) (x == LTQ_ETOP_TX_CHANNEL)
-#define IS_RX(x) (x == LTQ_ETOP_RX_CHANNEL)
-
+#define ETOP_CFG_MII0 0x01
+
+#define LTQ_GBIT_MDIO_CTL 0xCC
+#define LTQ_GBIT_MDIO_DATA 0xd0
+#define LTQ_GBIT_GCTL0 0x68
@ -74,7 +70,7 @@ index c124e67..91a37f1 100644
+#define MDIO_XR9_REG_OFFSET 0
+#define MDIO_XR9_ADDR_OFFSET 5
+#define MDIO_XR9_WR_OFFSET 16
+
+#define LTQ_DMA_ETOP ((of_machine_is_compatible("lantiq,ase")) ? \
+ (INT_NUM_IM3_IRL0) : (INT_NUM_IM2_IRL0))
+
@ -142,7 +138,7 @@ index c124e67..91a37f1 100644
if (!ch->skb[ch->dma.desc])
return -ENOMEM;
ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(NULL,
@@ -149,8 +202,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan *ch)
@@ -149,8 +202,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan
spin_unlock_irqrestore(&priv->lock, flags);
skb_put(skb, len);
@ -154,7 +150,7 @@ index c124e67..91a37f1 100644
}
static int
@@ -158,8 +214,10 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
@@ -158,8 +214,10 @@ ltq_etop_poll_rx(struct napi_struct *nap
{
struct ltq_etop_chan *ch = container_of(napi,
struct ltq_etop_chan, napi);
@ -165,7 +161,7 @@ index c124e67..91a37f1 100644
while ((rx < budget) && !complete) {
struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
@@ -173,7 +231,9 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
@@ -173,7 +231,9 @@ ltq_etop_poll_rx(struct napi_struct *nap
}
if (complete || !rx) {
napi_complete(&ch->napi);
@ -175,7 +171,7 @@ index c124e67..91a37f1 100644
}
return rx;
}
@@ -185,12 +245,14 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
@@ -185,12 +245,14 @@ ltq_etop_poll_tx(struct napi_struct *nap
container_of(napi, struct ltq_etop_chan, napi);
struct ltq_etop_priv *priv = netdev_priv(ch->netdev);
struct netdev_queue *txq =
@ -191,7 +187,7 @@ index c124e67..91a37f1 100644
dev_kfree_skb_any(ch->skb[ch->tx_free]);
ch->skb[ch->tx_free] = NULL;
memset(&ch->dma.desc_base[ch->tx_free], 0,
@@ -203,7 +265,9 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
@@ -203,7 +265,9 @@ ltq_etop_poll_tx(struct napi_struct *nap
if (netif_tx_queue_stopped(txq))
netif_tx_start_queue(txq);
napi_complete(&ch->napi);
@ -215,7 +211,7 @@ index c124e67..91a37f1 100644
return IRQ_HANDLED;
}
@@ -225,7 +290,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch)
@@ -225,7 +290,7 @@ ltq_etop_free_channel(struct net_device
ltq_dma_free(&ch->dma);
if (ch->dma.irq)
free_irq(ch->dma.irq, priv);
@ -383,7 +379,7 @@ index c124e67..91a37f1 100644
}
static void
@@ -312,7 +442,10 @@ ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
@@ -312,7 +442,10 @@ ltq_etop_get_settings(struct net_device
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -395,7 +391,7 @@ index c124e67..91a37f1 100644
}
static int
@@ -320,7 +453,10 @@ ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
@@ -320,7 +453,10 @@ ltq_etop_set_settings(struct net_device
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -407,7 +403,7 @@ index c124e67..91a37f1 100644
}
static int
@@ -328,7 +464,10 @@ ltq_etop_nway_reset(struct net_device *dev)
@@ -328,7 +464,10 @@ ltq_etop_nway_reset(struct net_device *d
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -419,7 +415,7 @@ index c124e67..91a37f1 100644
}
static const struct ethtool_ops ltq_etop_ethtool_ops = {
@@ -339,6 +478,39 @@ static const struct ethtool_ops ltq_etop_ethtool_ops = {
@@ -339,6 +478,39 @@ static const struct ethtool_ops ltq_etop
};
static int
@ -459,18 +455,11 @@ index c124e67..91a37f1 100644
ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
{
u32 val = MDIO_REQUEST |
@@ -379,14 +551,18 @@ ltq_etop_mdio_probe(struct net_device *dev)
@@ -379,14 +551,18 @@ ltq_etop_mdio_probe(struct net_device *d
{
struct ltq_etop_priv *priv = netdev_priv(dev);
struct phy_device *phydev = NULL;
- int phy_addr;
-
- for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) {
- if (priv->mii_bus->phy_map[phy_addr]) {
- phydev = priv->mii_bus->phy_map[phy_addr];
- break;
- }
- }
+ u32 phy_supported = (SUPPORTED_10baseT_Half
+ | SUPPORTED_10baseT_Full
+ | SUPPORTED_100baseT_Half
@ -478,7 +467,13 @@ index c124e67..91a37f1 100644
+ | SUPPORTED_Autoneg
+ | SUPPORTED_MII
+ | SUPPORTED_TP);
+
- for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) {
- if (priv->mii_bus->phy_map[phy_addr]) {
- phydev = priv->mii_bus->phy_map[phy_addr];
- break;
- }
- }
+ if (of_machine_is_compatible("lantiq,ase"))
+ phydev = priv->mii_bus->phy_map[8];
+ else
@ -486,7 +481,7 @@ index c124e67..91a37f1 100644
if (!phydev) {
netdev_err(dev, "no PHY found\n");
@@ -394,21 +570,18 @@ ltq_etop_mdio_probe(struct net_device *dev)
@@ -394,21 +570,18 @@ ltq_etop_mdio_probe(struct net_device *d
}
phydev = phy_connect(dev, dev_name(&phydev->dev), &ltq_etop_mdio_link,
@ -513,7 +508,7 @@ index c124e67..91a37f1 100644
phydev->advertising = phydev->supported;
priv->phydev = phydev;
pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n",
@@ -433,8 +606,13 @@ ltq_etop_mdio_init(struct net_device *dev)
@@ -433,8 +606,13 @@ ltq_etop_mdio_init(struct net_device *de
}
priv->mii_bus->priv = dev;
@ -569,6 +564,12 @@ index c124e67..91a37f1 100644
- phy_stop(priv->phydev);
- for (i = 0; i < MAX_DMA_CHAN; i++) {
- struct ltq_etop_chan *ch = &priv->ch[i];
-
- if (!IS_RX(i) && !IS_TX(i))
- continue;
- napi_disable(&ch->napi);
- ltq_dma_close(&ch->dma);
- }
+ if (priv->phydev)
+ phy_stop(priv->phydev);
+ napi_disable(&priv->txch.napi);
@ -578,16 +579,11 @@ index c124e67..91a37f1 100644
+ ltq_dma_close(&priv->txch.dma);
+ ltq_dma_close(&priv->rxch.dma);
+ spin_unlock_irqrestore(&priv->lock, flags);
- if (!IS_RX(i) && !IS_TX(i))
- continue;
- napi_disable(&ch->napi);
- ltq_dma_close(&ch->dma);
- }
+
return 0;
}
@@ -523,16 +704,16 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -523,16 +704,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
int queue = skb_get_queue_mapping(skb);
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
struct ltq_etop_priv *priv = netdev_priv(dev);
@ -609,7 +605,7 @@ index c124e67..91a37f1 100644
netdev_err(dev, "tx ring full\n");
netif_tx_stop_queue(txq);
return NETDEV_TX_BUSY;
@@ -540,7 +721,7 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -540,7 +721,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
/* dma needs to start on a 16 byte aligned address */
byte_offset = CPHYSADDR(skb->data) % 16;
@ -618,7 +614,7 @@ index c124e67..91a37f1 100644
dev->trans_start = jiffies;
@@ -550,11 +731,11 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
@@ -550,11 +731,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
wmb();
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
@ -678,7 +674,7 @@ index c124e67..91a37f1 100644
return 0;
err_netdev:
@@ -680,6 +859,9 @@ ltq_etop_tx_timeout(struct net_device *dev)
@@ -680,6 +859,9 @@ ltq_etop_tx_timeout(struct net_device *d
err = ltq_etop_hw_init(dev);
if (err)
goto err_hw;
@ -688,7 +684,7 @@ index c124e67..91a37f1 100644
dev->trans_start = jiffies;
netif_wake_queue(dev);
return;
@@ -703,14 +885,19 @@ static const struct net_device_ops ltq_eth_netdev_ops = {
@@ -703,14 +885,19 @@ static const struct net_device_ops ltq_e
.ndo_tx_timeout = ltq_etop_tx_timeout,
};
@ -711,7 +707,7 @@ index c124e67..91a37f1 100644
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
@@ -736,30 +923,58 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -736,30 +923,58 @@ ltq_etop_probe(struct platform_device *p
goto err_out;
}
@ -785,7 +781,7 @@ index c124e67..91a37f1 100644
err = register_netdev(dev);
if (err)
@@ -788,32 +1003,23 @@ ltq_etop_remove(struct platform_device *pdev)
@@ -788,32 +1003,23 @@ ltq_etop_remove(struct platform_device *
return 0;
}
@ -827,6 +823,3 @@ index c124e67..91a37f1 100644
MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
MODULE_DESCRIPTION("Lantiq SoC ETOP");
--
1.7.10.4

@ -11,13 +11,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 226 insertions(+)
create mode 100644 drivers/net/phy/lantiq.c
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 961f0b2..41a2992 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -107,6 +107,11 @@ config MICREL_PHY
@@ -150,6 +150,11 @@ config MICREL_PHY
---help---
Supports the KSZ9021, VSC8201, KS8001 PHYs.
Currently has a driver for the KSZ8041
+config LANTIQ_PHY
+ tristate "Driver for Lantiq PHYs"
@ -27,11 +25,9 @@ index 961f0b2..41a2992 100644
config FIXED_PHY
bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
depends on PHYLIB=y
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 9645e38..e2eeee3 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -23,6 +23,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o
@@ -39,6 +39,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o
obj-$(CONFIG_DP83640_PHY) += dp83640.o
obj-$(CONFIG_STE10XP) += ste10Xp.o
obj-$(CONFIG_MICREL_PHY) += micrel.o
@ -39,9 +35,6 @@ index 9645e38..e2eeee3 100644
obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o
obj-$(CONFIG_AT803X_PHY) += at803x.o
diff --git a/drivers/net/phy/lantiq.c b/drivers/net/phy/lantiq.c
new file mode 100644
index 0000000..418dff0
--- /dev/null
+++ b/drivers/net/phy/lantiq.c
@@ -0,0 +1,220 @@
@ -265,6 +258,3 @@ index 0000000..418dff0
+MODULE_DESCRIPTION("Lantiq PHY drivers");
+MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
+MODULE_LICENSE("GPL");
--
1.7.10.4

@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 firmware/lantiq/COPYING
create mode 100644 firmware/lantiq/README
diff --git a/firmware/Makefile b/firmware/Makefile
index cbb09ce..cdc0aef 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -134,6 +134,8 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw
@@ -134,6 +134,8 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_P
fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw
fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin
@ -25,9 +23,6 @@ index cbb09ce..cdc0aef 100644
fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin
fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
diff --git a/firmware/lantiq/COPYING b/firmware/lantiq/COPYING
new file mode 100644
index 0000000..5ec70b2
--- /dev/null
+++ b/firmware/lantiq/COPYING
@@ -0,0 +1,286 @@
@ -317,9 +312,6 @@ index 0000000..5ec70b2
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
diff --git a/firmware/lantiq/README b/firmware/lantiq/README
new file mode 100644
index 0000000..cb1a10a
--- /dev/null
+++ b/firmware/lantiq/README
@@ -0,0 +1,45 @@
@ -368,6 +360,3 @@ index 0000000..cb1a10a
+# GPHY core on Lantiq XWAY VR9 v1.1
+lantiq/vr9_phy11g_a2x.bin
+lantiq/vr9_phy22f_a2x.bin
--
1.7.10.4

@ -7,8 +7,6 @@ Subject: [PATCH 29/40] NET: lantiq: adds gphy clock
arch/mips/lantiq/xway/sysctrl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 3390fcd..c24924f 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -376,6 +376,7 @@ void __init ltq_soc_init(void)
@ -19,6 +17,3 @@ index 3390fcd..c24924f 100644
} else if (of_machine_is_compatible("lantiq,ar9")) {
clkdev_add_static(ltq_ar9_cpu_hz(), ltq_ar9_fpi_hz(),
ltq_ar9_fpi_hz(), CLOCK_250M);
--
1.7.10.4

@ -36,8 +36,6 @@ Subject: [PATCH 30/40] MIPS: lantiq: add pcie driver
create mode 100644 arch/mips/pci/ifxmips_pcie_reg.h
create mode 100644 arch/mips/pci/ifxmips_pcie_vr9.h
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index 675310a..4c9a241 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -18,6 +18,7 @@ config SOC_XWAY
@ -64,8 +62,6 @@ index 675310a..4c9a241 100644
config XRX200_PHY_FW
bool "XRX200 PHY firmware loader"
depends on SOC_XWAY
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index c24924f..e30dde8 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -377,6 +377,8 @@ void __init ltq_soc_init(void)
@ -77,11 +73,9 @@ index c24924f..e30dde8 100644
} else if (of_machine_is_compatible("lantiq,ar9")) {
clkdev_add_static(ltq_ar9_cpu_hz(), ltq_ar9_fpi_hz(),
ltq_ar9_fpi_hz(), CLOCK_250M);
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index ce995d3..bd32fe1 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -42,6 +42,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
@@ -42,6 +42,8 @@ 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
@ -90,9 +84,6 @@ index ce995d3..bd32fe1 100644
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
diff --git a/arch/mips/pci/fixup-lantiq-pcie.c b/arch/mips/pci/fixup-lantiq-pcie.c
new file mode 100644
index 0000000..50a1c3b
--- /dev/null
+++ b/arch/mips/pci/fixup-lantiq-pcie.c
@@ -0,0 +1,82 @@
@ -178,8 +169,6 @@ index 0000000..50a1c3b
+
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LANTIQ, PCI_DEVICE_ID_LANTIQ_PCIE,
+ ifx_pcie_rc_class_early_fixup);
diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c
index 6c829df..cf5c4e0 100644
--- a/arch/mips/pci/fixup-lantiq.c
+++ b/arch/mips/pci/fixup-lantiq.c
@@ -11,6 +11,7 @@
@ -190,7 +179,7 @@ index 6c829df..cf5c4e0 100644
int pcibios_plat_dev_init(struct pci_dev *dev)
{
@@ -28,6 +29,8 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
@@ -28,6 +29,8 @@ int __init pcibios_map_irq(const struct
struct of_irq dev_irq;
int irq;
@ -199,9 +188,6 @@ index 6c829df..cf5c4e0 100644
if (of_irq_map_pci(dev, &dev_irq)) {
dev_err(&dev->dev, "trying to map irq for unknown slot:%d pin:%d\n",
slot, pin);
diff --git a/arch/mips/pci/ifxmips_pci_common.h b/arch/mips/pci/ifxmips_pci_common.h
new file mode 100644
index 0000000..46f4cb2
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pci_common.h
@@ -0,0 +1,57 @@
@ -262,9 +248,6 @@ index 0000000..46f4cb2
+
+#endif /* IFXMIPS_PCI_COMMON_H */
+
diff --git a/arch/mips/pci/ifxmips_pcie.c b/arch/mips/pci/ifxmips_pcie.c
new file mode 100644
index 0000000..5cebfe6
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie.c
@@ -0,0 +1,1607 @@
@ -1875,9 +1858,6 @@ index 0000000..5cebfe6
+MODULE_SUPPORTED_DEVICE("Infineon builtin PCIe RC module");
+MODULE_DESCRIPTION("Infineon builtin PCIe RC driver");
+
diff --git a/arch/mips/pci/ifxmips_pcie.h b/arch/mips/pci/ifxmips_pcie.h
new file mode 100644
index 0000000..c6f92f5
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie.h
@@ -0,0 +1,135 @@
@ -2016,9 +1996,6 @@ index 0000000..c6f92f5
+
+#endif /* IFXMIPS_PCIE_H */
+
diff --git a/arch/mips/pci/ifxmips_pcie_ar10.h b/arch/mips/pci/ifxmips_pcie_ar10.h
new file mode 100644
index 0000000..99ff463
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_ar10.h
@@ -0,0 +1,290 @@
@ -2312,9 +2289,6 @@ index 0000000..99ff463
+}
+
+#endif /* IFXMIPS_PCIE_AR10_H */
diff --git a/arch/mips/pci/ifxmips_pcie_msi.c b/arch/mips/pci/ifxmips_pcie_msi.c
new file mode 100644
index 0000000..bffd6fa
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_msi.c
@@ -0,0 +1,392 @@
@ -2710,9 +2684,6 @@ index 0000000..bffd6fa
+MODULE_SUPPORTED_DEVICE("Infineon PCIe IP builtin MSI PIC module");
+MODULE_DESCRIPTION("Infineon PCIe IP builtin MSI PIC driver");
+
diff --git a/arch/mips/pci/ifxmips_pcie_phy.c b/arch/mips/pci/ifxmips_pcie_phy.c
new file mode 100644
index 0000000..f5b0f13
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_phy.c
@@ -0,0 +1,478 @@
@ -3194,9 +3165,6 @@ index 0000000..f5b0f13
+#endif
+}
+
diff --git a/arch/mips/pci/ifxmips_pcie_pm.c b/arch/mips/pci/ifxmips_pcie_pm.c
new file mode 100644
index 0000000..a10ecad
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_pm.c
@@ -0,0 +1,176 @@
@ -3376,9 +3344,6 @@ index 0000000..a10ecad
+ ifx_pmcu_unregister(&pmcuUnRegister);
+}
+
diff --git a/arch/mips/pci/ifxmips_pcie_pm.h b/arch/mips/pci/ifxmips_pcie_pm.h
new file mode 100644
index 0000000..6ece20d
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_pm.h
@@ -0,0 +1,36 @@
@ -3418,9 +3383,6 @@ index 0000000..6ece20d
+
+#endif /* IFXMIPS_PCIE_PM_H */
+
diff --git a/arch/mips/pci/ifxmips_pcie_reg.h b/arch/mips/pci/ifxmips_pcie_reg.h
new file mode 100644
index 0000000..e7e4b6c
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_reg.h
@@ -0,0 +1,1001 @@
@ -4425,9 +4387,6 @@ index 0000000..e7e4b6c
+
+#endif /* IFXMIPS_PCIE_REG_H */
+
diff --git a/arch/mips/pci/ifxmips_pcie_vr9.h b/arch/mips/pci/ifxmips_pcie_vr9.h
new file mode 100644
index 0000000..57d9368
--- /dev/null
+++ b/arch/mips/pci/ifxmips_pcie_vr9.h
@@ -0,0 +1,271 @@
@ -4702,8 +4661,6 @@ index 0000000..57d9368
+
+#endif /* IFXMIPS_PCIE_VR9_H */
+
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index a184344..35ca57f 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -249,6 +249,31 @@ static int __init pcibios_init(void)
@ -4738,8 +4695,6 @@ index a184344..35ca57f 100644
static int pcibios_enable_resources(struct pci_dev *dev, int mask)
{
u16 cmd, old_cmd;
diff --git a/drivers/pci/pcie/aer/Kconfig b/drivers/pci/pcie/aer/Kconfig
index 50e94e0..4bf848f 100644
--- a/drivers/pci/pcie/aer/Kconfig
+++ b/drivers/pci/pcie/aer/Kconfig
@@ -5,7 +5,7 @@
@ -4751,11 +4706,9 @@ index 50e94e0..4bf848f 100644
help
This enables PCI Express Root Port Advanced Error Reporting
(AER) driver support. Error reporting messages sent to Root
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 15472d6..73b6926 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1059,6 +1059,8 @@ void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *),
@@ -1059,6 +1059,8 @@ void pci_walk_bus(struct pci_bus *top, i
int pci_cfg_space_size_ext(struct pci_dev *dev);
int pci_cfg_space_size(struct pci_dev *dev);
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
@ -4764,8 +4717,6 @@ index 15472d6..73b6926 100644
void pci_setup_bridge(struct pci_bus *bus);
resource_size_t pcibios_window_alignment(struct pci_bus *bus,
unsigned long type);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 0eb6579..81adb58 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1040,6 +1040,12 @@
@ -4781,6 +4732,3 @@ index 0eb6579..81adb58 100644
#define PCI_VENDOR_ID_WINBOND 0x10ad
#define PCI_DEVICE_ID_WINBOND_82C105 0x0105
#define PCI_DEVICE_ID_WINBOND_83C553 0x0565
--
1.7.10.4

@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 75 insertions(+), 1 deletion(-)
create mode 100644 arch/mips/lantiq/xway/dcdc.c
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 7a13660..087497d 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,3 +1,3 @@
@ -21,9 +19,6 @@ index 7a13660..087497d 100644
+obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o dcdc.o
obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o
diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
new file mode 100644
index 0000000..8dd871a
--- /dev/null
+++ b/arch/mips/lantiq/xway/dcdc.c
@@ -0,0 +1,74 @@
@ -101,6 +96,3 @@ index 0000000..8dd871a
+}
+
+arch_initcall(dcdc_init);
--
1.7.10.4

@ -16,8 +16,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 92 insertions(+)
create mode 100644 drivers/mtd/nand/falcon_nand.c
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 5819eb5..058939d 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -575,4 +575,12 @@ config MTD_NAND_XWAY
@ -33,20 +31,15 @@ index 5819eb5..058939d 100644
+ attached to the External Bus Unit (EBU).
+
endif # MTD_NAND
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index d76d912..1a61bf0 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -53,5 +53,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
@@ -53,5 +53,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
+obj-$(CONFIG_MTD_NAND_FALCON) += falcon_nand.o
nand-objs := nand_base.o nand_bbt.o
diff --git a/drivers/mtd/nand/falcon_nand.c b/drivers/mtd/nand/falcon_nand.c
new file mode 100644
index 0000000..13458d3
--- /dev/null
+++ b/drivers/mtd/nand/falcon_nand.c
@@ -0,0 +1,83 @@
@ -133,6 +126,3 @@ index 0000000..13458d3
+}
+
+arch_initcall(falcon_register_nand);
--
1.7.10.4

@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/mtd/nand/xway_nand.c | 54 +++++++++++++++++++++++++++++++++++-------
1 file changed, 45 insertions(+), 9 deletions(-)
diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c
index 3f81dc8..49b2e47 100644
--- a/drivers/mtd/nand/xway_nand.c
+++ b/drivers/mtd/nand/xway_nand.c
@@ -54,19 +54,29 @@
@ -46,7 +44,7 @@ index 3f81dc8..49b2e47 100644
spin_unlock_irqrestore(&ebu_lock, flags);
}
@@ -94,17 +104,15 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
@@ -94,17 +104,15 @@ static void xway_cmd_ctrl(struct mtd_inf
unsigned long flags;
if (ctrl & NAND_CTRL_CHANGE) {
@ -68,7 +66,7 @@ index 3f81dc8..49b2e47 100644
while ((ltq_ebu_r32(EBU_NAND_WAIT) & NAND_WAIT_WR_C) == 0)
;
spin_unlock_irqrestore(&ebu_lock, flags);
@@ -124,12 +132,38 @@ static unsigned char xway_read_byte(struct mtd_info *mtd)
@@ -124,12 +132,38 @@ static unsigned char xway_read_byte(stru
int ret;
spin_lock_irqsave(&ebu_lock, flags);
@ -108,7 +106,7 @@ index 3f81dc8..49b2e47 100644
static int xway_nand_probe(struct platform_device *pdev)
{
struct nand_chip *this = platform_get_drvdata(pdev);
@@ -175,6 +209,8 @@ static struct platform_nand_data xway_nand_data = {
@@ -175,6 +209,8 @@ static struct platform_nand_data xway_na
.dev_ready = xway_dev_ready,
.select_chip = xway_select_chip,
.read_byte = xway_read_byte,
@ -117,6 +115,3 @@ index 3f81dc8..49b2e47 100644
}
};
--
1.7.10.4

@ -7,11 +7,9 @@ Subject: [PATCH 34/40] MTD: lantiq: handle NO_XIP on cfi0001 flash
drivers/mtd/maps/lantiq-flash.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c
index 3c3c791..343cfaa 100644
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
@@ -134,7 +134,11 @@ ltq_mtd_probe(struct platform_device *pdev)
@@ -134,7 +134,11 @@ ltq_mtd_probe(struct platform_device *pd
}
ltq_mtd->map = kzalloc(sizeof(struct map_info), GFP_KERNEL);
@ -24,6 +22,3 @@ index 3c3c791..343cfaa 100644
ltq_mtd->map->size = resource_size(ltq_mtd->res);
ltq_mtd->map->virt = devm_request_and_ioremap(&pdev->dev, ltq_mtd->res);
if (!ltq_mtd->map->virt) {
--
1.7.10.4

@ -7,13 +7,11 @@ Subject: [PATCH 35/40] owrt: generic dtb image hack
arch/mips/kernel/head.S | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index fcf9731..dc7fa6e 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -140,6 +140,9 @@ FEXPORT(__kernel_entry)
j kernel_entry
#endif
@@ -146,6 +146,9 @@ EXPORT(__image_cmdline)
.fill 0x400
#endif /* CONFIG_IMAGE_CMDLINE_HACK */
+ .ascii "OWRTDTB:"
+ EXPORT(__image_dtb)
@ -21,6 +19,3 @@ index fcf9731..dc7fa6e 100644
__REF
NESTED(kernel_entry, 16, sp) # kernel entry point
--
1.7.10.4

@ -8,8 +8,6 @@ Subject: [PATCH 36/40] owrt: lantiq dtb image hack
arch/mips/lantiq/prom.c | 4 +++-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile
index d6bdc57..690257a 100644
--- a/arch/mips/lantiq/Makefile
+++ b/arch/mips/lantiq/Makefile
@@ -6,8 +6,6 @@
@ -21,11 +19,9 @@ index d6bdc57..690257a 100644
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-$(CONFIG_SOC_TYPE_XWAY) += xway/
diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
index 9f9e875..72b183a 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -57,6 +57,8 @@ static void __init prom_init_cmdline(void)
@@ -57,6 +57,8 @@ static void __init prom_init_cmdline(voi
}
}
@ -43,6 +39,3 @@ index 9f9e875..72b183a 100644
}
void __init device_tree_init(void)
--
1.7.10.4

@ -19,9 +19,6 @@ Subject: [PATCH 37/40] owrt: lantiq: wifi and ethernet eeprom handling
create mode 100644 arch/mips/lantiq/xway/pci-ath-fixup.c
create mode 100644 arch/mips/lantiq/xway/rt_eep.c
diff --git a/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h
new file mode 100644
index 0000000..095d2619
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h
@@ -0,0 +1,6 @@
@ -31,11 +28,9 @@ index 0000000..095d2619
+void ltq_pci_ath_fixup(unsigned slot, u16 *cal_data) __init;
+
+#endif /* _PCI_ATH_FIXUP */
diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
index 133336b..779715c 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev, unsigned int id, dma_addr_t dev_addr);
@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev,
extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
@ -44,8 +39,6 @@ index 133336b..779715c 100644
+
#endif /* CONFIG_SOC_TYPE_XWAY */
#endif /* _LTQ_XWAY_H__ */
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 087497d..51f0eba 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,3 +1,6 @@
@ -55,9 +48,6 @@ index 087497d..51f0eba 100644
+obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o
+
obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o
diff --git a/arch/mips/lantiq/xway/ath_eep.c b/arch/mips/lantiq/xway/ath_eep.c
new file mode 100644
index 0000000..96da7c1
--- /dev/null
+++ b/arch/mips/lantiq/xway/ath_eep.c
@@ -0,0 +1,206 @@
@ -267,9 +257,6 @@ index 0000000..96da7c1
+ return platform_driver_probe(&ath5k_eeprom_driver, of_ath5k_eeprom_probe);
+}
+device_initcall(of_ath5k_eeprom_init);
diff --git a/arch/mips/lantiq/xway/eth_mac.c b/arch/mips/lantiq/xway/eth_mac.c
new file mode 100644
index 0000000..d288a0e
--- /dev/null
+++ b/arch/mips/lantiq/xway/eth_mac.c
@@ -0,0 +1,76 @@
@ -349,9 +336,6 @@ index 0000000..d288a0e
+ return platform_driver_probe(&eth_mac_driver, of_eth_mac_probe);
+}
+device_initcall(of_eth_mac_init);
diff --git a/arch/mips/lantiq/xway/pci-ath-fixup.c b/arch/mips/lantiq/xway/pci-ath-fixup.c
new file mode 100644
index 0000000..c87ffb2
--- /dev/null
+++ b/arch/mips/lantiq/xway/pci-ath-fixup.c
@@ -0,0 +1,109 @@
@ -464,9 +448,6 @@ index 0000000..c87ffb2
+ ath_fixups[ath_num_fixups].cal_data = cal_data;
+ ath_num_fixups++;
+}
diff --git a/arch/mips/lantiq/xway/rt_eep.c b/arch/mips/lantiq/xway/rt_eep.c
new file mode 100644
index 0000000..00f2d4c
--- /dev/null
+++ b/arch/mips/lantiq/xway/rt_eep.c
@@ -0,0 +1,60 @@
@ -530,8 +511,6 @@ index 0000000..00f2d4c
+ return platform_driver_probe(&ralink_eeprom_driver, of_ralink_eeprom_probe);
+}
+device_initcall(of_ralink_eeprom_init);
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 91a37f1..fa23a7e 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -826,7 +826,8 @@ ltq_etop_init(struct net_device *dev)
@ -544,7 +523,7 @@ index 91a37f1..fa23a7e 100644
if (!is_valid_ether_addr(mac.sa_data)) {
pr_warn("etop: invalid MAC, using random\n");
random_ether_addr(mac.sa_data);
@@ -885,8 +886,7 @@ static const struct net_device_ops ltq_eth_netdev_ops = {
@@ -885,8 +886,7 @@ static const struct net_device_ops ltq_e
.ndo_tx_timeout = ltq_etop_tx_timeout,
};
@ -554,7 +533,7 @@ index 91a37f1..fa23a7e 100644
{
struct net_device *dev;
struct ltq_etop_priv *priv;
@@ -950,7 +950,9 @@ ltq_etop_probe(struct platform_device *pdev)
@@ -950,7 +950,9 @@ ltq_etop_probe(struct platform_device *p
priv->tx_irq = irqres[0].start;
priv->rx_irq = irqres[1].start;
priv->mii_mode = of_get_phy_mode(pdev->dev.of_node);
@ -565,6 +544,3 @@ index 91a37f1..fa23a7e 100644
priv->clk_ppe = clk_get(&pdev->dev, NULL);
if (IS_ERR(priv->clk_ppe))
--
1.7.10.4

@ -9,8 +9,6 @@ Subject: [PATCH 38/40] owrt: lantiq: handle vmmc memory reservation
2 files changed, 64 insertions(+), 1 deletion(-)
create mode 100644 arch/mips/lantiq/xway/vmmc.c
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 51f0eba..3a01d22 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,6 +1,6 @@
@ -21,9 +19,6 @@ index 51f0eba..3a01d22 100644
obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o
obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o
diff --git a/arch/mips/lantiq/xway/vmmc.c b/arch/mips/lantiq/xway/vmmc.c
new file mode 100644
index 0000000..6dedf77
--- /dev/null
+++ b/arch/mips/lantiq/xway/vmmc.c
@@ -0,0 +1,63 @@
@ -90,6 +85,3 @@ index 0000000..6dedf77
+};
+
+module_platform_driver(vmmc_driver);
--
1.7.10.4

@ -11,9 +11,6 @@ Subject: [PATCH 39/40] owrt: lantiq: backport old timer code
create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_timer.h
create mode 100644 arch/mips/lantiq/xway/timer.c
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
new file mode 100644
index 0000000..ef564ab
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
@@ -0,0 +1,155 @@
@ -172,8 +169,6 @@ index 0000000..ef564ab
+ u32 reload, unsigned long arg1, unsigned long arg2);
+
+#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */
diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 3a01d22..ea8706f 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@ -182,9 +177,6 @@ index 3a01d22..ea8706f 100644
obj-y += eth_mac.o vmmc.o
obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o
diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c
new file mode 100644
index 0000000..1c0fdb8
--- /dev/null
+++ b/arch/mips/lantiq/xway/timer.c
@@ -0,0 +1,845 @@
@ -1033,6 +1025,3 @@ index 0000000..1c0fdb8
+module_exit(lq_gptu_exit);
+
+#endif
--
1.7.10.4

@ -15,9 +15,6 @@ Subject: [PATCH 40/40] owrt: lantiq: add atm hack
create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_atm.h
create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_ptm.h
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_atm.h b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h
new file mode 100644
index 0000000..bf045a9
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h
@@ -0,0 +1,196 @@
@ -217,9 +214,6 @@ index 0000000..bf045a9
+
+#endif // IFX_ATM_H
+
diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h
new file mode 100644
index 0000000..698e5c3
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h
@@ -0,0 +1,203 @@
@ -426,8 +420,6 @@ index 0000000..698e5c3
+
+#endif // IFX_PTM_H
+
diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
index 5119487..6d2c486 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -14,6 +14,7 @@
@ -438,7 +430,7 @@ index 5119487..6d2c486 100644
#include <asm/bootinfo.h>
#include <asm/irq_cpu.h>
@@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_data *d)
@@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_dat
ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
ltq_icu_w32(im, BIT(offset), isr);
}
@ -446,11 +438,9 @@ index 5119487..6d2c486 100644
static void ltq_ack_irq(struct irq_data *d)
{
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 07cec44..a3e3872 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -57,6 +57,8 @@ void (*_dma_cache_wback)(unsigned long start, unsigned long size);
@@ -58,6 +58,8 @@ void (*_dma_cache_wback)(unsigned long s
void (*_dma_cache_inv)(unsigned long start, unsigned long size);
EXPORT_SYMBOL(_dma_cache_wback_inv);
@ -459,8 +449,6 @@ index 07cec44..a3e3872 100644
#endif /* CONFIG_DMA_NONCOHERENT */
diff --git a/include/uapi/linux/atm.h b/include/uapi/linux/atm.h
index 88399db..78c8bbc 100644
--- a/include/uapi/linux/atm.h
+++ b/include/uapi/linux/atm.h
@@ -130,8 +130,14 @@
@ -478,11 +466,9 @@ index 88399db..78c8bbc 100644
struct atm_trafprm {
unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */
int max_pcr; /* maximum PCR in cells per second */
diff --git a/net/atm/common.c b/net/atm/common.c
index 806fc0a..82bc78e 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -62,11 +62,17 @@ static void vcc_remove_socket(struct sock *sk)
@@ -62,11 +62,17 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(&vcc_sklist_lock);
}
@ -500,11 +486,9 @@ index 806fc0a..82bc78e 100644
if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) {
pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n",
sk_wmem_alloc_get(sk), size, sk->sk_sndbuf);
diff --git a/net/atm/proc.c b/net/atm/proc.c
index 0d020de..9fdb539 100644
--- a/net/atm/proc.c
+++ b/net/atm/proc.c
@@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_file *seq, void *v, loff_t *pos)
@@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_fil
static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)
{
static const char *const class_name[] = {
@ -513,6 +497,3 @@ index 0d020de..9fdb539 100644
static const char *const aal_name[] = {
"---", "1", "2", "3/4", /* 0- 3 */
"???", "5", "???", "???", /* 4- 7 */
--
1.7.10.4

@ -13,7 +13,7 @@ SUBTARGETS:=le be
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
DEVICE_TYPE:=developerboard

@ -12,7 +12,7 @@ BOARDNAME:=Freescale MPC52xx
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=603e
FEATURES:=targz ext4
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -13,7 +13,7 @@ CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=603e
FEATURES:=squashfs targz
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -13,7 +13,7 @@ CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=8540
FEATURES:=spe_fpu squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -13,7 +13,7 @@ FEATURES:=targz usb jffs2 pci pcie gpio
CFLAGS:=-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -13,7 +13,7 @@ FEATURES:=squashfs
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -13,7 +13,7 @@ FEATURES:=squashfs broken
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk

@ -1,6 +1,6 @@
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1076,6 +1076,13 @@ config LANTIQ_WDT
@@ -1077,6 +1077,13 @@ config LANTIQ_WDT
help
Hardware driver for the Lantiq SoC Watchdog Timer.

@ -11,7 +11,7 @@ BOARD:=rb532
BOARDNAME:=Mikrotik RouterBoard 532
FEATURES:=jffs2 pci targz broken
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += wpad-mini kmod-madwifi kmod-input-rb532

@ -13,7 +13,7 @@ FEATURES:=fpu ramdisk
CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
DEVICE_TYPE:=developerboard

@ -12,7 +12,7 @@ BOARDNAME:=Ingenic XBurst
FEATURES:=jffs2 targz ubifs audio broken
SUBTARGETS:=qi_lb60 n516 n526 id800wt
LINUX_VERSION:=3.8.2
LINUX_VERSION:=3.8.3
DEVICE_TYPE=other

Loading…
Cancel
Save