diff options
author | Jonas Gorski <jogo@openwrt.org> | 2013-06-30 13:10:12 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2013-06-30 13:10:12 +0000 |
commit | 0d9f760f272f3ccb3abcaca8e678734b666e234c (patch) | |
tree | 14237dc1b483b6fefbf696164b80f594e9826e49 /target/linux/lantiq/patches-3.9 | |
parent | 6a4e78dca6ecd4325504f0a74cd1816275157eea (diff) | |
download | mtk-20170518-0d9f760f272f3ccb3abcaca8e678734b666e234c.zip mtk-20170518-0d9f760f272f3ccb3abcaca8e678734b666e234c.tar.gz mtk-20170518-0d9f760f272f3ccb3abcaca8e678734b666e234c.tar.bz2 |
kernel: update linux 3.9 to 3.9.8
Includes memory allocation fixes as well as several networking fixes.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 37103
Diffstat (limited to 'target/linux/lantiq/patches-3.9')
22 files changed, 70 insertions, 320 deletions
diff --git a/target/linux/lantiq/patches-3.9/0001-MTD-m25p80-allow-loading-mtd-name-from-OF.patch b/target/linux/lantiq/patches-3.9/0001-MTD-m25p80-allow-loading-mtd-name-from-OF.patch index 927e5e9..f1ba885 100644 --- a/target/linux/lantiq/patches-3.9/0001-MTD-m25p80-allow-loading-mtd-name-from-OF.patch +++ b/target/linux/lantiq/patches-3.9/0001-MTD-m25p80-allow-loading-mtd-name-from-OF.patch @@ -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 5b6b072..3a7a8f7 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -904,10 +904,13 @@ static int m25p_probe(struct spi_device *spi) +@@ -922,10 +922,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 5b6b072..3a7a8f7 100644 #endif /* Platform data helps sort out which chip type we have, as -@@ -983,6 +986,8 @@ static int m25p_probe(struct spi_device *spi) +@@ -1001,6 +1004,8 @@ static int m25p_probe(struct spi_device if (data && data->name) flash->mtd.name = data->name; @@ -39,6 +37,3 @@ index 5b6b072..3a7a8f7 100644 else flash->mtd.name = dev_name(&spi->dev); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch b/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch index 56e6b4c..102e2d9 100644 --- a/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch +++ b/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch @@ -7,8 +7,6 @@ Subject: [PATCH 02/22] 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 08f7ebd..ccf1451 100644 --- a/arch/mips/lantiq/xway/dma.c +++ b/arch/mips/lantiq/xway/dma.c @@ -48,6 +48,7 @@ @@ -29,6 +27,3 @@ index 08f7ebd..ccf1451 100644 LTQ_DMA_PCTRL); break; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0003-GPIO-MIPS-add-gpio-driver-for-falcon-SoC.patch b/target/linux/lantiq/patches-3.9/0003-GPIO-MIPS-add-gpio-driver-for-falcon-SoC.patch index 5a1281c..82f20b7 100644 --- a/target/linux/lantiq/patches-3.9/0003-GPIO-MIPS-add-gpio-driver-for-falcon-SoC.patch +++ b/target/linux/lantiq/patches-3.9/0003-GPIO-MIPS-add-gpio-driver-for-falcon-SoC.patch @@ -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 93aaadf..8cc0e74 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -136,6 +136,11 @@ config GPIO_EP93XX @@ -32,11 +30,9 @@ index 93aaadf..8cc0e74 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 22e07bc..f1762be 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 22e07bc..f1762be 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 - diff --git a/target/linux/lantiq/patches-3.9/0004-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch b/target/linux/lantiq/patches-3.9/0004-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch index 25b2bce..fc57b8b 100644 --- a/target/linux/lantiq/patches-3.9/0004-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch +++ b/target/linux/lantiq/patches-3.9/0004-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch @@ -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 adfee98..83d3147 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -494,6 +494,16 @@ config I2C_IOP3XX @@ -37,11 +35,9 @@ index adfee98..83d3147 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 8f4fc23..3273061 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -48,6 +48,7 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o +@@ -48,6 +48,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 8f4fc23..3273061 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 - diff --git a/target/linux/lantiq/patches-3.9/0005-USB-fix-roothub-for-IFXHCD.patch b/target/linux/lantiq/patches-3.9/0005-USB-fix-roothub-for-IFXHCD.patch index 8a4fd09..1bc361d 100644 --- a/target/linux/lantiq/patches-3.9/0005-USB-fix-roothub-for-IFXHCD.patch +++ b/target/linux/lantiq/patches-3.9/0005-USB-fix-roothub-for-IFXHCD.patch @@ -8,8 +8,6 @@ Subject: [PATCH 05/22] 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 5480352..9763b0d 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4016,7 +4016,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4016,7 +4016,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 5480352..9763b0d 100644 dev_err(&udev->dev, "parent hub has no TT\n"); retval = -EINVAL; goto fail; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0006-SPI-MIPS-lantiq-adds-spi-xway.patch b/target/linux/lantiq/patches-3.9/0006-SPI-MIPS-lantiq-adds-spi-xway.patch index 008f6ab..1c32947 100644 --- a/target/linux/lantiq/patches-3.9/0006-SPI-MIPS-lantiq-adds-spi-xway.patch +++ b/target/linux/lantiq/patches-3.9/0006-SPI-MIPS-lantiq-adds-spi-xway.patch @@ -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 2be0de9..2c8cd63 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -461,6 +461,14 @@ config SPI_NUC900 +@@ -470,6 +470,14 @@ config SPI_NUC900 help SPI driver for Nuvoton NUC900 series ARM SoCs @@ -35,18 +33,13 @@ index 2be0de9..2c8cd63 100644 # # Add new SPI master controllers in alphabetical order above this line # -diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile -index e53c309..f65578d 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -71,3 +71,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o +@@ -72,3 +72,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 - diff --git a/target/linux/lantiq/patches-3.9/0007-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-3.9/0007-NET-MIPS-lantiq-adds-xrx200-net.patch index 5f674d2..d9f95ab 100644 --- a/target/linux/lantiq/patches-3.9/0007-NET-MIPS-lantiq-adds-xrx200-net.patch +++ b/target/linux/lantiq/patches-3.9/0007-NET-MIPS-lantiq-adds-xrx200-net.patch @@ -12,8 +12,6 @@ Subject: [PATCH 07/22] 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 ed956e0..9261fe4 100644 --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig @@ -83,7 +83,13 @@ config LANTIQ_ETOP @@ -31,8 +29,6 @@ index ed956e0..9261fe4 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 8268d85..e8410d8 100644 --- a/drivers/net/ethernet/Makefile +++ b/drivers/net/ethernet/Makefile @@ -36,6 +36,7 @@ obj-$(CONFIG_IP1000) += icplus/ @@ -43,9 +39,6 @@ index 8268d85..e8410d8 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..ed892d0 --- /dev/null +++ b/drivers/net/ethernet/lantiq_xrx200.c @@ -0,0 +1,1203 @@ @@ -1421,6 +1411,3 @@ index 0000000..ed892d0 +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); +MODULE_DESCRIPTION("Lantiq SoC XRX200 ethernet"); +MODULE_LICENSE("GPL"); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0008-NET-lantiq-adds-PHY11G-firmware-blobs.patch b/target/linux/lantiq/patches-3.9/0008-NET-lantiq-adds-PHY11G-firmware-blobs.patch index fa21930..449926a 100644 --- a/target/linux/lantiq/patches-3.9/0008-NET-lantiq-adds-PHY11G-firmware-blobs.patch +++ b/target/linux/lantiq/patches-3.9/0008-NET-lantiq-adds-PHY11G-firmware-blobs.patch @@ -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..f4a315c 100644 --- a/firmware/Makefile +++ b/firmware/Makefile -@@ -134,6 +134,9 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw +@@ -134,6 +134,9 @@ 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 @@ -26,9 +24,6 @@ index cbb09ce..f4a315c 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 @@ @@ -318,9 +313,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 @@ @@ -369,6 +361,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 - diff --git a/target/linux/lantiq/patches-3.9/0009-NET-PHY-adds-driver-for-lantiq-PHY11G.patch b/target/linux/lantiq/patches-3.9/0009-NET-PHY-adds-driver-for-lantiq-PHY11G.patch index 3184ebf..810ea5d 100644 --- a/target/linux/lantiq/patches-3.9/0009-NET-PHY-adds-driver-for-lantiq-PHY11G.patch +++ b/target/linux/lantiq/patches-3.9/0009-NET-PHY-adds-driver-for-lantiq-PHY11G.patch @@ -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 4503452..edc61b0 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -106,6 +106,11 @@ config MICREL_PHY +@@ -149,6 +149,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 4503452..edc61b0 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 - diff --git a/target/linux/lantiq/patches-3.9/0010-NET-MIPS-lantiq-update-etop-driver-for-devicetree.patch b/target/linux/lantiq/patches-3.9/0010-NET-MIPS-lantiq-update-etop-driver-for-devicetree.patch index 75e0521..692a2ab 100644 --- a/target/linux/lantiq/patches-3.9/0010-NET-MIPS-lantiq-update-etop-driver-for-devicetree.patch +++ b/target/linux/lantiq/patches-3.9/0010-NET-MIPS-lantiq-update-etop-driver-for-devicetree.patch @@ -7,8 +7,6 @@ Subject: [PATCH 10/22] NET: MIPS: lantiq: update etop driver for devicetree drivers/net/ethernet/lantiq_etop.c | 500 +++++++++++++++++++++++++----------- 1 file changed, 354 insertions(+), 146 deletions(-) -diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c -index bfdb0686..c711787 100644 --- a/drivers/net/ethernet/lantiq_etop.c +++ b/drivers/net/ethernet/lantiq_etop.c @@ -12,7 +12,7 @@ @@ -35,15 +33,13 @@ index bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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), @@ -513,7 +508,7 @@ index bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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 bfdb0686..c711787 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); @@ -679,7 +675,7 @@ index bfdb0686..c711787 100644 return 0; err_netdev: -@@ -680,6 +860,9 @@ ltq_etop_tx_timeout(struct net_device *dev) +@@ -680,6 +860,9 @@ ltq_etop_tx_timeout(struct net_device *d err = ltq_etop_hw_init(dev); if (err) goto err_hw; @@ -689,7 +685,7 @@ index bfdb0686..c711787 100644 dev->trans_start = jiffies; netif_wake_queue(dev); return; -@@ -703,14 +886,18 @@ static const struct net_device_ops ltq_eth_netdev_ops = { +@@ -703,14 +886,18 @@ static const struct net_device_ops ltq_e .ndo_tx_timeout = ltq_etop_tx_timeout, }; @@ -712,7 +708,7 @@ index bfdb0686..c711787 100644 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { -@@ -736,30 +923,60 @@ ltq_etop_probe(struct platform_device *pdev) +@@ -736,30 +923,60 @@ ltq_etop_probe(struct platform_device *p goto err_out; } @@ -788,7 +784,7 @@ index bfdb0686..c711787 100644 err = register_netdev(dev); if (err) -@@ -788,32 +1005,23 @@ ltq_etop_remove(struct platform_device *pdev) +@@ -788,32 +1005,23 @@ ltq_etop_remove(struct platform_device * return 0; } @@ -830,6 +826,3 @@ index bfdb0686..c711787 100644 MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); MODULE_DESCRIPTION("Lantiq SoC ETOP"); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0011-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-3.9/0011-MIPS-lantiq-add-pcie-driver.patch index 35c7353..4dd11e7 100644 --- a/target/linux/lantiq/patches-3.9/0011-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-3.9/0011-MIPS-lantiq-add-pcie-driver.patch @@ -36,8 +36,6 @@ Subject: [PATCH 11/22] 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 2cb1d31..8ba7fff 100644 --- a/arch/mips/pci/Makefile +++ b/arch/mips/pci/Makefile -@@ -41,6 +41,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o +@@ -41,6 +41,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 2cb1d31..8ba7fff 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,11 +4661,9 @@ index 0000000..57d9368 + +#endif /* IFXMIPS_PCIE_VR9_H */ + -diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c -index 0872f12..eb104ad 100644 --- a/arch/mips/pci/pci.c +++ b/arch/mips/pci/pci.c -@@ -260,6 +260,31 @@ static int __init pcibios_init(void) +@@ -266,6 +266,31 @@ static int __init pcibios_init(void) subsys_initcall(pcibios_init); @@ -4738,8 +4695,6 @@ index 0872f12..eb104ad 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 710067f..f06ad11 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1064,6 +1064,8 @@ void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *), +@@ -1064,6 +1064,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 710067f..f06ad11 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 f11c1c2..ee87398 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1040,6 +1040,12 @@ @@ -4781,6 +4732,3 @@ index f11c1c2..ee87398 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 - diff --git a/target/linux/lantiq/patches-3.9/0012-MIPS-lantiq-adds-minimal-dcdc-driver.patch b/target/linux/lantiq/patches-3.9/0012-MIPS-lantiq-adds-minimal-dcdc-driver.patch index b1813b3..1a0ac21 100644 --- a/target/linux/lantiq/patches-3.9/0012-MIPS-lantiq-adds-minimal-dcdc-driver.patch +++ b/target/linux/lantiq/patches-3.9/0012-MIPS-lantiq-adds-minimal-dcdc-driver.patch @@ -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 - diff --git a/target/linux/lantiq/patches-3.9/0013-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch b/target/linux/lantiq/patches-3.9/0013-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch index 2651ea6..ea6ce5b 100644 --- a/target/linux/lantiq/patches-3.9/0013-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch +++ b/target/linux/lantiq/patches-3.9/0013-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch @@ -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 81bf5e5..2738097 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -574,4 +574,12 @@ config MTD_NAND_XWAY @@ -33,20 +31,15 @@ index 81bf5e5..2738097 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 - diff --git a/target/linux/lantiq/patches-3.9/0014-MTD-lantiq-xway-make-nand-actually-work.patch b/target/linux/lantiq/patches-3.9/0014-MTD-lantiq-xway-make-nand-actually-work.patch index 06cfaa3..839021d 100644 --- a/target/linux/lantiq/patches-3.9/0014-MTD-lantiq-xway-make-nand-actually-work.patch +++ b/target/linux/lantiq/patches-3.9/0014-MTD-lantiq-xway-make-nand-actually-work.patch @@ -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 - diff --git a/target/linux/lantiq/patches-3.9/0015-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch b/target/linux/lantiq/patches-3.9/0015-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch index 97284de..661a4bf 100644 --- a/target/linux/lantiq/patches-3.9/0015-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch +++ b/target/linux/lantiq/patches-3.9/0015-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch @@ -7,11 +7,9 @@ Subject: [PATCH 15/22] 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 d1da6ed..ae170ce 100644 --- a/drivers/mtd/maps/lantiq-flash.c +++ b/drivers/mtd/maps/lantiq-flash.c -@@ -135,7 +135,11 @@ ltq_mtd_probe(struct platform_device *pdev) +@@ -135,7 +135,11 @@ ltq_mtd_probe(struct platform_device *pd } ltq_mtd->map = kzalloc(sizeof(struct map_info), GFP_KERNEL); @@ -24,6 +22,3 @@ index d1da6ed..ae170ce 100644 ltq_mtd->map->size = resource_size(ltq_mtd->res); ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res); if (IS_ERR(ltq_mtd->map->virt)) { --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0016-owrt-generic-dtb-image-hack.patch b/target/linux/lantiq/patches-3.9/0016-owrt-generic-dtb-image-hack.patch index 35a46cc..deac9bf 100644 --- a/target/linux/lantiq/patches-3.9/0016-owrt-generic-dtb-image-hack.patch +++ b/target/linux/lantiq/patches-3.9/0016-owrt-generic-dtb-image-hack.patch @@ -7,13 +7,11 @@ Subject: [PATCH 16/22] 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 c61cdae..b4e55bb 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 c61cdae..b4e55bb 100644 __REF NESTED(kernel_entry, 16, sp) # kernel entry point --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0017-owrt-lantiq-dtb-image-hack.patch b/target/linux/lantiq/patches-3.9/0017-owrt-lantiq-dtb-image-hack.patch index 2b26564..5110b7f 100644 --- a/target/linux/lantiq/patches-3.9/0017-owrt-lantiq-dtb-image-hack.patch +++ b/target/linux/lantiq/patches-3.9/0017-owrt-lantiq-dtb-image-hack.patch @@ -8,8 +8,6 @@ Subject: [PATCH 17/22] 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 - diff --git a/target/linux/lantiq/patches-3.9/0018-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-3.9/0018-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch index 4c86eb4..d589f47 100644 --- a/target/linux/lantiq/patches-3.9/0018-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-3.9/0018-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -19,9 +19,6 @@ Subject: [PATCH 18/22] 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..095d261 --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h @@ -0,0 +1,6 @@ @@ -31,11 +28,9 @@ index 0000000..095d261 +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..ed55124 --- /dev/null +++ b/arch/mips/lantiq/xway/ath_eep.c @@ -0,0 +1,248 @@ @@ -309,9 +299,6 @@ index 0000000..ed55124 + return platform_driver_probe(&ath5k_eeprom_driver, of_ath5k_eeprom_probe); +} +late_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 @@ @@ -391,9 +378,6 @@ index 0000000..d288a0e + return platform_driver_probe(ð_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 @@ @@ -506,9 +490,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 @@ @@ -572,8 +553,6 @@ index 0000000..00f2d4c + return platform_driver_probe(&ralink_eeprom_driver, of_ralink_eeprom_probe); +} +device_initcall(of_ralink_eeprom_init); -diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c -index 879077b..ad22c82 100644 --- a/arch/mips/pci/pci-lantiq.c +++ b/arch/mips/pci/pci-lantiq.c @@ -260,4 +260,4 @@ int __init pcibios_init(void) @@ -582,6 +561,3 @@ index 879077b..ad22c82 100644 -arch_initcall(pcibios_init); +late_initcall(pcibios_init); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0019-owrt-lantiq-handle-vmmc-memory-reservation.patch b/target/linux/lantiq/patches-3.9/0019-owrt-lantiq-handle-vmmc-memory-reservation.patch index 7eb0e22..cb6811a 100644 --- a/target/linux/lantiq/patches-3.9/0019-owrt-lantiq-handle-vmmc-memory-reservation.patch +++ b/target/linux/lantiq/patches-3.9/0019-owrt-lantiq-handle-vmmc-memory-reservation.patch @@ -9,8 +9,6 @@ Subject: [PATCH 19/22] 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 - diff --git a/target/linux/lantiq/patches-3.9/0020-owrt-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-3.9/0020-owrt-lantiq-backport-old-timer-code.patch index b822148..2e2a810 100644 --- a/target/linux/lantiq/patches-3.9/0020-owrt-lantiq-backport-old-timer-code.patch +++ b/target/linux/lantiq/patches-3.9/0020-owrt-lantiq-backport-old-timer-code.patch @@ -11,9 +11,6 @@ Subject: [PATCH 20/22] 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 - diff --git a/target/linux/lantiq/patches-3.9/0021-owrt-lantiq-add-atm-hack.patch b/target/linux/lantiq/patches-3.9/0021-owrt-lantiq-add-atm-hack.patch index 2e2afbc..9c161bb 100644 --- a/target/linux/lantiq/patches-3.9/0021-owrt-lantiq-add-atm-hack.patch +++ b/target/linux/lantiq/patches-3.9/0021-owrt-lantiq-add-atm-hack.patch @@ -15,9 +15,6 @@ Subject: [PATCH 21/22] 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 737bef5..959008d 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 737bef5..959008d 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 6ac35ff..3cea444 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 6ac35ff..3cea444 100644 static const char *const aal_name[] = { "---", "1", "2", "3/4", /* 0- 3 */ "???", "5", "???", "???", /* 4- 7 */ --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.9/0022-PINCTRL-add-gpio_irq-support.patch b/target/linux/lantiq/patches-3.9/0022-PINCTRL-add-gpio_irq-support.patch index 223f78c..fd18e62 100644 --- a/target/linux/lantiq/patches-3.9/0022-PINCTRL-add-gpio_irq-support.patch +++ b/target/linux/lantiq/patches-3.9/0022-PINCTRL-add-gpio_irq-support.patch @@ -7,11 +7,9 @@ Subject: [PATCH 22/22] PINCTRL: add gpio_irq support drivers/pinctrl/pinctrl-xway.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) -diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c -index 068224e..8719d35 100644 --- a/drivers/pinctrl/pinctrl-xway.c +++ b/drivers/pinctrl/pinctrl-xway.c -@@ -564,10 +564,9 @@ static struct pinctrl_desc xway_pctrl_desc = { +@@ -564,10 +564,9 @@ static struct pinctrl_desc xway_pctrl_de .confops = &xway_pinconf_ops, }; @@ -23,7 +21,7 @@ index 068224e..8719d35 100644 int port = PORT(pin); u32 alt1_reg = GPIO_ALT1(pin); -@@ -587,6 +586,14 @@ static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, +@@ -587,6 +586,14 @@ static inline int xway_mux_apply(struct return 0; } @@ -38,7 +36,7 @@ index 068224e..8719d35 100644 static const struct ltq_cfg_param xway_cfg_params[] = { {"lantiq,pull", LTQ_PINCONF_PARAM_PULL}, {"lantiq,open-drain", LTQ_PINCONF_PARAM_OPEN_DRAIN}, -@@ -631,6 +638,10 @@ static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val) +@@ -631,6 +638,10 @@ static int xway_gpio_dir_out(struct gpio { struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); @@ -49,7 +47,7 @@ index 068224e..8719d35 100644 gpio_setbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin)); xway_gpio_set(chip, pin, val); -@@ -651,6 +662,18 @@ static void xway_gpio_free(struct gpio_chip *chip, unsigned offset) +@@ -651,6 +662,18 @@ static void xway_gpio_free(struct gpio_c pinctrl_free_gpio(gpio); } @@ -76,6 +74,3 @@ index 068224e..8719d35 100644 .base = -1, }; --- -1.7.10.4 - |