kernel: update 3.10 to 3.10.3

Also refresh 3.10 patches.

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

SVN-Revision: 37546
This commit is contained in:
Gabor Juhos 2013-07-26 07:19:58 +00:00
parent aa81b9ed5f
commit e9688455f6
36 changed files with 65 additions and 189 deletions

View file

@ -17,8 +17,8 @@ endif
ifeq ($(LINUX_VERSION),3.9.11)
LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755
endif
ifeq ($(LINUX_VERSION),3.10.2)
LINUX_KERNEL_MD5SUM:=06d6bf3218c8f37d6320473b93382fe2
ifeq ($(LINUX_VERSION),3.10.3)
LINUX_KERNEL_MD5SUM:=30d2f96003778d03fa102b319f46b0c9
endif
# disable the md5sum check for unknown kernel versions

View file

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

View file

@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -173,20 +173,23 @@ int __cpuinit r4k_clockevent_init(void)
@@ -177,20 +177,23 @@ int __cpuinit r4k_clockevent_init(void)
struct clock_event_device *cd;
unsigned int irq;

View file

@ -1,6 +1,6 @@
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -135,6 +135,19 @@ config BCM63XX
@@ -137,6 +137,19 @@ config BCM63XX
help
Support for BCM63XX based boards
@ -20,7 +20,7 @@
config MIPS_COBALT
bool "Cobalt Server"
select CEVT_R4K
@@ -836,6 +849,7 @@ config NLM_XLP_BOARD
@@ -837,6 +850,7 @@ config NLM_XLP_BOARD
endchoice

View file

@ -58,7 +58,7 @@
obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -145,6 +145,7 @@ config ATHEROS_AR231X
@@ -147,6 +147,7 @@ config ATHEROS_AR231X
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_32BIT_KERNEL
select ARCH_REQUIRE_GPIOLIB

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/devices/Kconfig
+++ b/drivers/mtd/devices/Kconfig
@@ -136,6 +136,10 @@ config MTD_BCM47XXSFLASH
@@ -135,6 +135,10 @@ config MTD_BCM47XXSFLASH
registered by bcma as platform devices. This enables driver for
serial flash memories (only read-only mode is implemented).

View file

@ -202,7 +202,7 @@
+module_exit(exit_ar2315_wdt);
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1077,6 +1077,12 @@ config LANTIQ_WDT
@@ -1104,6 +1104,12 @@ config LANTIQ_WDT
help
Hardware driver for the Lantiq SoC Watchdog Timer.
@ -217,7 +217,7 @@
# POWERPC Architecture
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -128,6 +128,7 @@ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
@@ -130,6 +130,7 @@ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o

View file

@ -20,8 +20,6 @@
}
--- a/drivers/net/phy/mvswitch.c
+++ b/drivers/net/phy/mvswitch.c
@@ -307,9 +307,9 @@ mvswitch_config_init(struct phy_device *
#ifdef HEADER_MODE

View file

@ -12,7 +12,7 @@ BOARDNAME:=Broadcom BCM47xx/53xx with ARM CPU
FEATURES:=squashfs usb pci pcie gpio
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ BOARDNAME:=Broadcom BCM2708/BCM2835
FEATURES:=ext4 audio usb usbgadget display gpio
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835

View file

@ -411,7 +411,7 @@
+MODULE_ALIAS("platform:" DRV_NAME);
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -343,6 +343,25 @@ config I2C_BCM2835
@@ -344,6 +344,25 @@ config I2C_BCM2835
This support is also available as a module. If so, the module
will be called i2c-bcm2835.

View file

@ -12,7 +12,7 @@ BOARDNAME:=Freescale i.MX23 series
FEATURES:=ext4 rtc usb gpio
CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -fno-caller-saves
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
KERNELNAME:="zImage dtbs"
#DEPENDS:=+imx-bootlets

View file

@ -13,7 +13,7 @@ FEATURES:=audio display gpio pcie usb usbgadget squashfs targz
CFLAGS:=-Os -pipe -mtune=cortex-a9 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp
MAINTAINER:=Luka Perkov <luka@openwrt.org>
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic harddisk
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk

View file

@ -12,7 +12,7 @@ SUBTARGETS:=le be le64 be64
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
DEVICE_TYPE:=developerboard

View file

@ -14,7 +14,7 @@ FEATURES:=spe_fpu squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic p1020
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ SUBTARGETS:=rt288x rt305x rt3883 mt7620a
CFLAGS:=-Os -pipe -fno-caller-saves -mno-branch-likely
FEATURES:=squashfs gpio
LINUX_VERSION:=3.10.2
LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES+=\

View file

@ -45,7 +45,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+};
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -628,6 +628,10 @@ config I2C_PXA_SLAVE
@@ -629,6 +629,10 @@ config I2C_PXA_SLAVE
is necessary for systems where the PXA may be a target on the
I2C bus.

View file

@ -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.10.2
LINUX_VERSION:=3.10.3
DEVICE_TYPE:=developerboard

View file

@ -12,7 +12,7 @@ BOARDNAME:=Ingenic XBurst
FEATURES:=targz ubifs audio
SUBTARGETS:=qi_lb60 n516 n526 id800wt
LINUX_VERSION:=3.10.1
LINUX_VERSION:=3.10.3
DEVICE_TYPE=other

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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