summaryrefslogtreecommitdiff
path: root/target/linux/xburst/patches-3.10
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-07-26 07:19:58 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-07-26 07:19:58 +0000
commite9688455f60944b73ed69d435569c62b2670ac08 (patch)
tree7cfb04a54015dd34cab0306bfa2a450f42f815f1 /target/linux/xburst/patches-3.10
parentaa81b9ed5ff5f016bc6fcefd110ee524d9dc98fd (diff)
downloadmtk-20170518-e9688455f60944b73ed69d435569c62b2670ac08.zip
mtk-20170518-e9688455f60944b73ed69d435569c62b2670ac08.tar.gz
mtk-20170518-e9688455f60944b73ed69d435569c62b2670ac08.tar.bz2
kernel: update 3.10 to 3.10.3
Also refresh 3.10 patches. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 37546
Diffstat (limited to 'target/linux/xburst/patches-3.10')
-rw-r--r--target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch7
-rw-r--r--target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch9
-rw-r--r--target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch13
-rw-r--r--target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch7
-rw-r--r--target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch7
-rw-r--r--target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch7
-rw-r--r--target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch9
-rw-r--r--target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch15
-rw-r--r--target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch10
-rw-r--r--target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch7
-rw-r--r--target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch10
-rw-r--r--target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch7
-rw-r--r--target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch9
-rw-r--r--target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch15
-rw-r--r--target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch52
-rw-r--r--target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch24
16 files changed, 43 insertions, 165 deletions
diff --git a/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch b/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
index 15d90be..5991635 100644
--- a/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
+++ b/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
@@ -9,11 +9,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
drivers/mtd/ubi/io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c
-index bf79def..bc82962 100644
--- a/drivers/mtd/ubi/io.c
+++ b/drivers/mtd/ubi/io.c
-@@ -1019,7 +1019,7 @@ int ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum,
+@@ -1019,7 +1019,7 @@ int ubi_io_read_vid_hdr(struct ubi_devic
p = (char *)vid_hdr - ubi->vid_hdr_shift;
read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset,
@@ -22,6 +20,3 @@ index bf79def..bc82962 100644
if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
return read_err;
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch b/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
index da951dc..57f53b7 100644
--- a/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
+++ b/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
@@ -10,11 +10,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
drivers/mtd/nand/nand_base.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index dfcd0a5..287c433 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -1278,9 +1278,16 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
+@@ -1278,9 +1278,16 @@ static int nand_read_page_hwecc_oob_firs
unsigned int max_bitflips = 0;
/* Read the OOB area first */
@@ -34,7 +32,7 @@ index dfcd0a5..287c433 100644
for (i = 0; i < chip->ecc.total; i++)
ecc_code[i] = chip->oob_poi[eccpos[i]];
-@@ -1455,7 +1462,9 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
+@@ -1455,7 +1462,9 @@ static int nand_do_read_ops(struct mtd_i
if (realpage != chip->pagebuf || oob) {
bufpoi = aligned ? buf : chip->buffers->databuf;
@@ -45,6 +43,3 @@ index dfcd0a5..287c433 100644
/*
* Now read the page into the buffer. Absent an error,
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch b/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
index 2e67ad9..1754de7 100644
--- a/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
+++ b/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
@@ -10,11 +10,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
include/linux/mtd/nand.h | 2 +-
2 files changed, 78 insertions(+), 4 deletions(-)
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 287c433..0fd6f2e 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -1118,7 +1118,7 @@ static int nand_read_page_swecc(struct mtd_info *mtd, struct nand_chip *chip,
+@@ -1118,7 +1118,7 @@ static int nand_read_page_swecc(struct m
* @bufpoi: buffer to store read data
*/
static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip,
@@ -23,7 +21,7 @@ index 287c433..0fd6f2e 100644
{
int start_step, end_step, num_steps;
uint32_t *eccpos = chip->ecc.layout->eccpos;
-@@ -1311,6 +1311,75 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
+@@ -1311,6 +1311,75 @@ static int nand_read_page_hwecc_oob_firs
}
/**
@@ -99,7 +97,7 @@ index 287c433..0fd6f2e 100644
* nand_read_page_syndrome - [REPLACEABLE] hardware ECC syndrome based page read
* @mtd: mtd info structure
* @chip: nand chip info structure
-@@ -1477,7 +1546,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
+@@ -1477,7 +1546,7 @@ static int nand_do_read_ops(struct mtd_i
else if (!aligned && NAND_HAS_SUBPAGE_READ(chip) &&
!oob)
ret = chip->ecc.read_subpage(mtd, chip,
@@ -123,8 +121,6 @@ index 287c433..0fd6f2e 100644
case NAND_ECC_HW:
/* Use standard hwecc read page function? */
-diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
-index ab63634..ff5b62e 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -349,7 +349,7 @@ struct nand_ecc_ctrl {
@@ -136,6 +132,3 @@ index ab63634..ff5b62e 100644
int (*write_subpage)(struct mtd_info *mtd, struct nand_chip *chip,
uint32_t offset, uint32_t data_len,
const uint8_t *data_buf, int oob_required);
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch b/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch
index 7a8ab65..0d4ff65 100644
--- a/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch
+++ b/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch
@@ -8,11 +8,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
drivers/mmc/host/jz4740_mmc.c | 5 -----
1 file changed, 5 deletions(-)
-diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
-index 2391c6b..5a6ac99 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
-@@ -560,11 +560,6 @@ static irqreturn_t jz_mmc_irq(int irq, void *devid)
+@@ -560,11 +560,6 @@ static irqreturn_t jz_mmc_irq(int irq, v
if (cmd->data)
cmd->data->error = -EIO;
cmd->error = -EIO;
@@ -24,6 +22,3 @@ index 2391c6b..5a6ac99 100644
}
jz4740_mmc_set_irq_enabled(host, irq_reg, false);
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
index aef88f0..598d518 100644
--- a/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
+++ b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch
@@ -11,11 +11,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
drivers/mmc/host/jz4740_mmc.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
-index 5a6ac99..ffe1181 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
-@@ -231,6 +231,14 @@ static void jz4740_mmc_transfer_check_state(struct jz4740_mmc_host *host,
+@@ -231,6 +231,14 @@ static void jz4740_mmc_transfer_check_st
host->req->cmd->error = -EIO;
data->error = -EIO;
}
@@ -30,6 +28,3 @@ index 5a6ac99..ffe1181 100644
}
}
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch b/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
index b4b69a8..7a7ce73 100644
--- a/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
+++ b/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
@@ -12,11 +12,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
sound/soc/codecs/jz4740.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
-diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c
-index 5f607b3..76ff580 100644
--- a/sound/soc/codecs/jz4740.c
+++ b/sound/soc/codecs/jz4740.c
-@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(struct snd_soc_codec *codec,
+@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(s
case SND_SOC_BIAS_ON:
break;
case SND_SOC_BIAS_PREPARE:
@@ -35,6 +33,3 @@ index 5f607b3..76ff580 100644
break;
case SND_SOC_BIAS_STANDBY:
/* The only way to clear the suspend flag is to reset the codec */
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch b/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
index 8dfae3a..dc66b00 100644
--- a/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
+++ b/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
@@ -14,8 +14,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
drivers/rtc/rtc-jz4740.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
-index 1e48686..722fb0c 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -14,6 +14,7 @@
@@ -26,7 +24,7 @@ index 1e48686..722fb0c 100644
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
-@@ -215,6 +216,7 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
+@@ -215,6 +216,7 @@ static int jz4740_rtc_probe(struct platf
int ret;
struct jz4740_rtc *rtc;
uint32_t scratchpad;
@@ -34,7 +32,7 @@ index 1e48686..722fb0c 100644
rtc = kzalloc(sizeof(*rtc), GFP_KERNEL);
if (!rtc)
-@@ -280,6 +282,21 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
+@@ -280,6 +282,21 @@ static int jz4740_rtc_probe(struct platf
}
}
@@ -56,6 +54,3 @@ index 1e48686..722fb0c 100644
return 0;
err_free_irq:
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch b/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch
index 6fc025b..88b2b5a 100644
--- a/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch
+++ b/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch
@@ -14,8 +14,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
create mode 100644 drivers/usb/gadget/jz4740_udc.c
create mode 100644 drivers/usb/gadget/jz4740_udc.h
-diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
-index f41aa0d..c96b7ef 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -192,6 +192,14 @@ config USB_FUSB300
@@ -33,8 +31,6 @@ index f41aa0d..c96b7ef 100644
config USB_OMAP
tristate "OMAP USB Device Controller"
depends on ARCH_OMAP1
-diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
-index 6afd166..f18db69 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -34,6 +34,7 @@ obj-$(CONFIG_USB_MV_UDC) += mv_udc.o
@@ -45,8 +41,6 @@ index 6afd166..f18db69 100644
# USB Functions
usb_f_acm-y := f_acm.o
-diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
-index bcd04bc..a3b069f 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -29,6 +29,7 @@
@@ -57,9 +51,6 @@ index bcd04bc..a3b069f 100644
#define gadget_is_musbhdrc(g) (!strcmp("musb-hdrc", (g)->name))
#define gadget_is_net2280(g) (!strcmp("net2280", (g)->name))
#define gadget_is_pxa(g) (!strcmp("pxa25x_udc", (g)->name))
-diff --git a/drivers/usb/gadget/jz4740_udc.c b/drivers/usb/gadget/jz4740_udc.c
-new file mode 100644
-index 0000000..72e9a6c
--- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.c
@@ -0,0 +1,2155 @@
@@ -2218,9 +2209,6 @@ index 0000000..72e9a6c
+MODULE_DESCRIPTION("JZ4740 USB Device Controller");
+MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>");
+MODULE_LICENSE("GPL");
-diff --git a/drivers/usb/gadget/jz4740_udc.h b/drivers/usb/gadget/jz4740_udc.h
-new file mode 100644
-index 0000000..53fd1da
--- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.h
@@ -0,0 +1,101 @@
@@ -2325,6 +2313,3 @@ index 0000000..53fd1da
+}
+
+#endif /* __USB_GADGET_JZ4740_H__ */
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch b/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch
index 3984ffe..95545ed 100644
--- a/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch
+++ b/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch
@@ -11,8 +11,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
3 files changed, 270 insertions(+)
create mode 100644 drivers/video/backlight/ili8960.c
-diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
-index d5ab658..7cd68d0 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -59,6 +59,13 @@ config LCD_LTV350QV
@@ -29,8 +27,6 @@ index d5ab658..7cd68d0 100644
config LCD_ILI922X
tristate "ILI Technology ILI9221/ILI9222 support"
depends on SPI
-diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
-index 92711fe..81d3e93 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o
@@ -41,9 +37,6 @@ index 92711fe..81d3e93 100644
obj-$(CONFIG_LCD_ILI922X) += ili922x.o
obj-$(CONFIG_LCD_ILI9320) += ili9320.o
obj-$(CONFIG_LCD_L4F00242T03) += l4f00242t03.o
-diff --git a/drivers/video/backlight/ili8960.c b/drivers/video/backlight/ili8960.c
-new file mode 100644
-index 0000000..61eb815
--- /dev/null
+++ b/drivers/video/backlight/ili8960.c
@@ -0,0 +1,262 @@
@@ -309,6 +302,3 @@ index 0000000..61eb815
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("LCD driver for Ilitek ili8960");
+MODULE_ALIAS("spi:ili8960");
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch b/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
index b717bd5..c45964f 100644
--- a/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
+++ b/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
@@ -11,11 +11,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
arch/mips/jz4740/board-qi_lb60.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
-index be2b3de..bc454e6 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
-@@ -311,7 +311,6 @@ static struct spi_board_info qi_lb60_spi_board_info[] = {
+@@ -311,7 +311,6 @@ static struct spi_board_info qi_lb60_spi
.chip_select = 0,
.bus_num = 1,
.max_speed_hz = 30 * 1000,
@@ -23,6 +21,3 @@ index be2b3de..bc454e6 100644
},
};
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch b/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch
index 3225c7b..e53896b 100644
--- a/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch
+++ b/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch
@@ -18,8 +18,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
3 files changed, 440 insertions(+)
create mode 100644 drivers/dma/dma-jz4740.c
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index e992489..b3e8952 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -312,6 +312,12 @@ config MMP_PDMA
@@ -35,8 +33,6 @@ index e992489..b3e8952 100644
config DMA_ENGINE
bool
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index a2b0df5..6127a61 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -38,3 +38,4 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
@@ -44,9 +40,6 @@ index a2b0df5..6127a61 100644
obj-$(CONFIG_DMA_OMAP) += omap-dma.o
obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
+obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
-diff --git a/drivers/dma/dma-jz4740.c b/drivers/dma/dma-jz4740.c
-new file mode 100644
-index 0000000..3d42434
--- /dev/null
+++ b/drivers/dma/dma-jz4740.c
@@ -0,0 +1,433 @@
@@ -483,6 +476,3 @@ index 0000000..3d42434
+MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
+MODULE_DESCRIPTION("JZ4740 DMA driver");
+MODULE_LICENSE("GPLv2");
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch b/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch
index 06850ec..f440a9d 100644
--- a/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch
+++ b/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch
@@ -9,11 +9,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
arch/mips/jz4740/clock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/mips/jz4740/clock.c b/arch/mips/jz4740/clock.c
-index 484d38a..1b5f554 100644
--- a/arch/mips/jz4740/clock.c
+++ b/arch/mips/jz4740/clock.c
-@@ -687,7 +687,7 @@ static struct clk jz4740_clock_simple_clks[] = {
+@@ -687,7 +687,7 @@ static struct clk jz4740_clock_simple_cl
[3] = {
.name = "dma",
.parent = &jz_clk_high_speed_peripheral.clk,
@@ -22,6 +20,3 @@ index 484d38a..1b5f554 100644
.ops = &jz_clk_simple_ops,
},
[4] = {
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch b/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch
index 110f061..027e3ad 100644
--- a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch
+++ b/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch
@@ -13,8 +13,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
arch/mips/jz4740/dma.c | 24 ++++++++++++++++++++++--
2 files changed, 23 insertions(+), 3 deletions(-)
-diff --git a/arch/mips/jz4740/clock.c b/arch/mips/jz4740/clock.c
-index 1b5f554..b3eba60 100644
--- a/arch/mips/jz4740/clock.c
+++ b/arch/mips/jz4740/clock.c
@@ -921,4 +921,4 @@ static int jz4740_clock_init(void)
@@ -23,8 +21,6 @@ index 1b5f554..b3eba60 100644
}
-arch_initcall(jz4740_clock_init);
+postcore_initcall(jz4740_clock_init);
-diff --git a/arch/mips/jz4740/dma.c b/arch/mips/jz4740/dma.c
-index 317ec6f..fb5266c 100644
--- a/arch/mips/jz4740/dma.c
+++ b/arch/mips/jz4740/dma.c
@@ -16,6 +16,7 @@
@@ -35,7 +31,7 @@ index 317ec6f..fb5266c 100644
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>
-@@ -268,6 +269,7 @@ static irqreturn_t jz4740_dma_irq(int irq, void *dev_id)
+@@ -268,6 +269,7 @@ static irqreturn_t jz4740_dma_irq(int ir
static int jz4740_dma_init(void)
{
@@ -75,6 +71,3 @@ index 317ec6f..fb5266c 100644
return ret;
}
arch_initcall(jz4740_dma_init);
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch b/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch
index 1ae288b..f10666d 100644
--- a/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch
+++ b/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch
@@ -15,11 +15,9 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
arch/mips/jz4740/platform.c | 21 +++++++++++++++++++++
3 files changed, 23 insertions(+)
-diff --git a/arch/mips/include/asm/mach-jz4740/platform.h b/arch/mips/include/asm/mach-jz4740/platform.h
-index 72cfebd..05988c2 100644
--- a/arch/mips/include/asm/mach-jz4740/platform.h
+++ b/arch/mips/include/asm/mach-jz4740/platform.h
-@@ -32,6 +32,7 @@ extern struct platform_device jz4740_codec_device;
+@@ -32,6 +32,7 @@ extern struct platform_device jz4740_cod
extern struct platform_device jz4740_adc_device;
extern struct platform_device jz4740_wdt_device;
extern struct platform_device jz4740_pwm_device;
@@ -27,11 +25,9 @@ index 72cfebd..05988c2 100644
void jz4740_serial_device_register(void);
-diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
-index bc454e6..b857521 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
-@@ -437,6 +437,7 @@ static struct platform_device *jz_platform_devices[] __initdata = {
+@@ -437,6 +437,7 @@ static struct platform_device *jz_platfo
&jz4740_rtc_device,
&jz4740_adc_device,
&jz4740_pwm_device,
@@ -39,11 +35,9 @@ index bc454e6..b857521 100644
&qi_lb60_gpio_keys,
&qi_lb60_pwm_beeper,
&qi_lb60_charger_device,
-diff --git a/arch/mips/jz4740/platform.c b/arch/mips/jz4740/platform.c
-index e9348fd..df65677 100644
--- a/arch/mips/jz4740/platform.c
+++ b/arch/mips/jz4740/platform.c
-@@ -329,3 +329,24 @@ struct platform_device jz4740_pwm_device = {
+@@ -329,3 +329,24 @@ struct platform_device jz4740_pwm_device
.name = "jz4740-pwm",
.id = -1,
};
@@ -68,6 +62,3 @@ index e9348fd..df65677 100644
+ .num_resources = ARRAY_SIZE(jz4740_dma_resources),
+ .resource = jz4740_dma_resources,
+};
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch b/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch
index ff25552..0bce0ac 100644
--- a/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch
+++ b/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch
@@ -18,8 +18,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
4 files changed, 222 insertions(+), 401 deletions(-)
delete mode 100644 arch/mips/jz4740/dma.c
-diff --git a/arch/mips/include/asm/mach-jz4740/dma.h b/arch/mips/include/asm/mach-jz4740/dma.h
-index 98b4e7c..509cd58 100644
--- a/arch/mips/include/asm/mach-jz4740/dma.h
+++ b/arch/mips/include/asm/mach-jz4740/dma.h
@@ -16,8 +16,6 @@
@@ -90,8 +88,6 @@ index 98b4e7c..509cd58 100644
- jz4740_dma_complete_callback_t cb);
-
#endif /* __ASM_JZ4740_DMA_H__ */
-diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile
-index 63bad0e..28e5535 100644
--- a/arch/mips/jz4740/Makefile
+++ b/arch/mips/jz4740/Makefile
@@ -4,7 +4,7 @@
@@ -103,9 +99,6 @@ index 63bad0e..28e5535 100644
gpio.o clock.o platform.o timer.o serial.o
obj-$(CONFIG_DEBUG_FS) += clock-debugfs.o
-diff --git a/arch/mips/jz4740/dma.c b/arch/mips/jz4740/dma.c
-deleted file mode 100644
-index fb5266c..0000000
--- a/arch/mips/jz4740/dma.c
+++ /dev/null
@@ -1,307 +0,0 @@
@@ -416,8 +409,6 @@ index fb5266c..0000000
- return ret;
-}
-arch_initcall(jz4740_dma_init);
-diff --git a/drivers/dma/dma-jz4740.c b/drivers/dma/dma-jz4740.c
-index 3d42434..b0c0c82 100644
--- a/drivers/dma/dma-jz4740.c
+++ b/drivers/dma/dma-jz4740.c
@@ -22,6 +22,8 @@
@@ -538,7 +529,7 @@ index 3d42434..b0c0c82 100644
static struct jz4740_dmaengine_chan *to_jz4740_dma_chan(struct dma_chan *c)
{
return container_of(c, struct jz4740_dmaengine_chan, vchan.chan);
-@@ -70,6 +152,29 @@ static struct jz4740_dma_desc *to_jz4740_dma_desc(struct virt_dma_desc *vdesc)
+@@ -70,6 +152,29 @@ static struct jz4740_dma_desc *to_jz4740
return container_of(vdesc, struct jz4740_dma_desc, vdesc);
}
@@ -568,7 +559,7 @@ index 3d42434..b0c0c82 100644
static struct jz4740_dma_desc *jz4740_dma_alloc_desc(unsigned int num_sgs)
{
return kzalloc(sizeof(struct jz4740_dma_desc) +
-@@ -108,30 +213,60 @@ static int jz4740_dma_slave_config(struct dma_chan *c,
+@@ -108,30 +213,60 @@ static int jz4740_dma_slave_config(struc
const struct dma_slave_config *config)
{
struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c);
@@ -601,7 +592,11 @@ index 3d42434..b0c0c82 100644
+ src_width = jz4740_dma_width(config->src_addr_width);
+ dst_width = jz4740_dma_width(config->dst_addr_width);
-+
+
+- jzcfg.src_width = jz4740_dma_width(config->src_addr_width);
+- jzcfg.dst_width = jz4740_dma_width(config->dst_addr_width);
+- jzcfg.mode = JZ4740_DMA_MODE_SINGLE;
+- jzcfg.request_type = config->slave_id;
+ switch (transfer_size) {
+ case JZ4740_DMA_TRANSFER_SIZE_2BYTE:
+ chan->transfer_shift = 1;
@@ -620,18 +615,14 @@ index 3d42434..b0c0c82 100644
+ break;
+ }
-- jzcfg.src_width = jz4740_dma_width(config->src_addr_width);
-- jzcfg.dst_width = jz4740_dma_width(config->dst_addr_width);
-- jzcfg.mode = JZ4740_DMA_MODE_SINGLE;
-- jzcfg.request_type = config->slave_id;
+- jz4740_dma_configure(chan->jz_chan, &jzcfg);
+ cmd = flags << JZ_DMA_CMD_FLAGS_OFFSET;
+ cmd |= src_width << JZ_DMA_CMD_SRC_WIDTH_OFFSET;
+ cmd |= dst_width << JZ_DMA_CMD_DST_WIDTH_OFFSET;
+ cmd |= transfer_size << JZ_DMA_CMD_TRANSFER_SIZE_OFFSET;
+ cmd |= JZ4740_DMA_MODE_SINGLE << JZ_DMA_CMD_MODE_OFFSET;
+ cmd |= JZ_DMA_CMD_TRANSFER_IRQ_ENABLE;
-
-- jz4740_dma_configure(chan->jz_chan, &jzcfg);
++
+ jz4740_dma_write(dmadev, JZ_REG_DMA_CMD(chan->id), cmd);
+ jz4740_dma_write(dmadev, JZ_REG_DMA_STATUS_CTRL(chan->id), 0);
+ jz4740_dma_write(dmadev, JZ_REG_DMA_REQ_TYPE(chan->id),
@@ -639,7 +630,7 @@ index 3d42434..b0c0c82 100644
return 0;
}
-@@ -139,11 +274,13 @@ static int jz4740_dma_slave_config(struct dma_chan *c,
+@@ -139,11 +274,13 @@ static int jz4740_dma_slave_config(struc
static int jz4740_dma_terminate_all(struct dma_chan *c)
{
struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c);
@@ -654,7 +645,7 @@ index 3d42434..b0c0c82 100644
chan->desc = NULL;
vchan_get_all_descriptors(&chan->vchan, &head);
spin_unlock_irqrestore(&chan->vchan.lock, flags);
-@@ -170,11 +307,13 @@ static int jz4740_dma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
+@@ -170,11 +307,13 @@ static int jz4740_dma_control(struct dma
static int jz4740_dma_start_transfer(struct jz4740_dmaengine_chan *chan)
{
@@ -669,7 +660,7 @@ index 3d42434..b0c0c82 100644
if (!chan->desc) {
vdesc = vchan_next_desc(&chan->vchan);
-@@ -196,22 +335,27 @@ static int jz4740_dma_start_transfer(struct jz4740_dmaengine_chan *chan)
+@@ -196,22 +335,27 @@ static int jz4740_dma_start_transfer(str
src_addr = chan->fifo_addr;
dst_addr = sg->addr;
}
@@ -705,7 +696,7 @@ index 3d42434..b0c0c82 100644
spin_lock(&chan->vchan.lock);
if (chan->desc) {
if (chan->desc && chan->desc->cyclic) {
-@@ -227,6 +371,28 @@ static void jz4740_dma_complete_cb(struct jz4740_dma_chan *jz_chan, int error,
+@@ -227,6 +371,28 @@ static void jz4740_dma_complete_cb(struc
spin_unlock(&chan->vchan.lock);
}
@@ -734,7 +725,7 @@ index 3d42434..b0c0c82 100644
static void jz4740_dma_issue_pending(struct dma_chan *c)
{
struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c);
-@@ -298,7 +464,8 @@ static struct dma_async_tx_descriptor *jz4740_dma_prep_dma_cyclic(
+@@ -298,7 +464,8 @@ static struct dma_async_tx_descriptor *j
static size_t jz4740_dma_desc_residue(struct jz4740_dmaengine_chan *chan,
struct jz4740_dma_desc *desc, unsigned int next_sg)
{
@@ -744,7 +735,7 @@ index 3d42434..b0c0c82 100644
unsigned int i;
residue = 0;
-@@ -306,8 +473,11 @@ static size_t jz4740_dma_desc_residue(struct jz4740_dmaengine_chan *chan,
+@@ -306,8 +473,11 @@ static size_t jz4740_dma_desc_residue(st
for (i = next_sg; i < desc->num_sgs; i++)
residue += desc->sg[i].len;
@@ -758,7 +749,7 @@ index 3d42434..b0c0c82 100644
return residue;
}
-@@ -342,24 +512,12 @@ static enum dma_status jz4740_dma_tx_status(struct dma_chan *c,
+@@ -342,24 +512,12 @@ static enum dma_status jz4740_dma_tx_sta
static int jz4740_dma_alloc_chan_resources(struct dma_chan *c)
{
@@ -784,7 +775,7 @@ index 3d42434..b0c0c82 100644
}
static void jz4740_dma_desc_free(struct virt_dma_desc *vdesc)
-@@ -373,7 +531,9 @@ static int jz4740_dma_probe(struct platform_device *pdev)
+@@ -373,7 +531,9 @@ static int jz4740_dma_probe(struct platf
struct jz4740_dma_dev *dmadev;
struct dma_device *dd;
unsigned int i;
@@ -794,7 +785,7 @@ index 3d42434..b0c0c82 100644
dmadev = devm_kzalloc(&pdev->dev, sizeof(*dmadev), GFP_KERNEL);
if (!dmadev)
-@@ -381,6 +541,17 @@ static int jz4740_dma_probe(struct platform_device *pdev)
+@@ -381,6 +541,17 @@ static int jz4740_dma_probe(struct platf
dd = &dmadev->ddev;
@@ -812,7 +803,7 @@ index 3d42434..b0c0c82 100644
dma_cap_set(DMA_SLAVE, dd->cap_mask);
dma_cap_set(DMA_CYCLIC, dd->cap_mask);
dd->device_alloc_chan_resources = jz4740_dma_alloc_chan_resources;
-@@ -396,6 +567,7 @@ static int jz4740_dma_probe(struct platform_device *pdev)
+@@ -396,6 +567,7 @@ static int jz4740_dma_probe(struct platf
for (i = 0; i < dd->chancnt; i++) {
chan = &dmadev->chan[i];
@@ -820,7 +811,7 @@ index 3d42434..b0c0c82 100644
chan->vchan.desc_free = jz4740_dma_desc_free;
vchan_init(&chan->vchan, dd);
}
-@@ -404,16 +576,28 @@ static int jz4740_dma_probe(struct platform_device *pdev)
+@@ -404,16 +576,28 @@ static int jz4740_dma_probe(struct platf
if (ret)
return ret;
@@ -849,6 +840,3 @@ index 3d42434..b0c0c82 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch b/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch
index 296d5cc..1fb3731 100644
--- a/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch
+++ b/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch
@@ -16,8 +16,6 @@ Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
4 files changed, 27 insertions(+), 352 deletions(-)
delete mode 100644 sound/soc/jz4740/jz4740-pcm.h
-diff --git a/sound/soc/jz4740/Kconfig b/sound/soc/jz4740/Kconfig
-index 5351cba..29f76af 100644
--- a/sound/soc/jz4740/Kconfig
+++ b/sound/soc/jz4740/Kconfig
@@ -1,6 +1,7 @@
@@ -28,8 +26,6 @@ index 5351cba..29f76af 100644
help
Say Y or M if you want to add support for codecs attached to
the JZ4740 I2S interface. You will also need to select the audio
-diff --git a/sound/soc/jz4740/jz4740-i2s.c b/sound/soc/jz4740/jz4740-i2s.c
-index 9a12644..5d04134 100644
--- a/sound/soc/jz4740/jz4740-i2s.c
+++ b/sound/soc/jz4740/jz4740-i2s.c
@@ -29,9 +29,12 @@
@@ -57,7 +53,7 @@ index 9a12644..5d04134 100644
};
static inline uint32_t jz4740_i2s_read(const struct jz4740_i2s *i2s,
-@@ -233,8 +236,6 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -233,8 +236,6 @@ static int jz4740_i2s_hw_params(struct s
struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{
struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai);
@@ -66,7 +62,7 @@ index 9a12644..5d04134 100644
unsigned int sample_size;
uint32_t ctrl;
-@@ -243,11 +244,9 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -243,11 +244,9 @@ static int jz4740_i2s_hw_params(struct s
switch (params_format(params)) {
case SNDRV_PCM_FORMAT_S8:
sample_size = 0;
@@ -78,7 +74,7 @@ index 9a12644..5d04134 100644
break;
default:
return -EINVAL;
-@@ -260,22 +259,13 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -260,22 +259,13 @@ static int jz4740_i2s_hw_params(struct s
ctrl |= JZ_AIC_CTRL_MONO_TO_STEREO;
else
ctrl &= ~JZ_AIC_CTRL_MONO_TO_STEREO;
@@ -101,7 +97,7 @@ index 9a12644..5d04134 100644
return 0;
}
-@@ -342,25 +332,19 @@ static int jz4740_i2s_resume(struct snd_soc_dai *dai)
+@@ -342,25 +332,19 @@ static int jz4740_i2s_resume(struct snd_
static void jz4740_i2c_init_pcm_config(struct jz4740_i2s *i2s)
{
@@ -136,7 +132,7 @@ index 9a12644..5d04134 100644
}
static int jz4740_i2s_dai_probe(struct snd_soc_dai *dai)
-@@ -371,6 +355,8 @@ static int jz4740_i2s_dai_probe(struct snd_soc_dai *dai)
+@@ -371,6 +355,8 @@ static int jz4740_i2s_dai_probe(struct s
clk_enable(i2s->clk_aic);
jz4740_i2c_init_pcm_config(i2s);
@@ -145,8 +141,6 @@ index 9a12644..5d04134 100644
conf = (7 << JZ_AIC_CONF_FIFO_RX_THRESHOLD_OFFSET) |
(8 << JZ_AIC_CONF_FIFO_TX_THRESHOLD_OFFSET) |
-diff --git a/sound/soc/jz4740/jz4740-pcm.c b/sound/soc/jz4740/jz4740-pcm.c
-index 7100592..79fcade 100644
--- a/sound/soc/jz4740/jz4740-pcm.c
+++ b/sound/soc/jz4740/jz4740-pcm.c
@@ -19,38 +19,14 @@
@@ -189,7 +183,7 @@ index 7100592..79fcade 100644
.period_bytes_min = 16,
.period_bytes_max = 2 * PAGE_SIZE,
.periods_min = 2,
-@@ -59,290 +35,22 @@ static const struct snd_pcm_hardware jz4740_pcm_hardware = {
+@@ -59,290 +35,22 @@ static const struct snd_pcm_hardware jz4
.fifo_size = 32,
};
@@ -488,9 +482,6 @@ index 7100592..79fcade 100644
return 0;
}
-diff --git a/sound/soc/jz4740/jz4740-pcm.h b/sound/soc/jz4740/jz4740-pcm.h
-deleted file mode 100644
-index 1220cbb..0000000
--- a/sound/soc/jz4740/jz4740-pcm.h
+++ /dev/null
@@ -1,20 +0,0 @@
@@ -514,6 +505,3 @@ index 1220cbb..0000000
-};
-
-#endif
---
-1.7.10.4
-