Also refresh 3.10 patches.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37546
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
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
--- 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;
--- 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
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
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
--- 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).
+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.
# 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
}
---- 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
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
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
+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.
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
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
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic harddisk
-LINUX_VERSION:=3.10.2
+LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
-LINUX_VERSION:=3.10.2
+LINUX_VERSION:=3.10.3
DEVICE_TYPE:=developerboard
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic p1020
-LINUX_VERSION:=3.10.2
+LINUX_VERSION:=3.10.3
include $(INCLUDE_DIR)/target.mk
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+=\
+};
--- 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.
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
FEATURES:=targz ubifs audio
SUBTARGETS:=qi_lb60 n516 n526 id800wt
-LINUX_VERSION:=3.10.1
+LINUX_VERSION:=3.10.3
DEVICE_TYPE=other
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,
if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
return read_err;
---
-1.7.10.4
-
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 */
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;
/*
* Now read the page into the buffer. Absent an error,
---
-1.7.10.4
-
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,
{
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
}
/**
* 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,
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 {
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
-
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;
}
jz4740_mmc_set_irq_enabled(host, irq_reg, false);
---
-1.7.10.4
-
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;
}
}
}
---
-1.7.10.4
-
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:
break;
case SND_SOC_BIAS_STANDBY:
/* The only way to clear the suspend flag is to reset the codec */
---
-1.7.10.4
-
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 @@
#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;
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
}
}
return 0;
err_free_irq:
---
-1.7.10.4
-
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
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
# 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 @@
#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 @@
+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 @@
+}
+
+#endif /* __USB_GADGET_JZ4740_H__ */
---
-1.7.10.4
-
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
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
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 @@
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("LCD driver for Ilitek ili8960");
+MODULE_ALIAS("spi:ili8960");
---
-1.7.10.4
-
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,
},
};
---
-1.7.10.4
-
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
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
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 @@
+MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
+MODULE_DESCRIPTION("JZ4740 DMA driver");
+MODULE_LICENSE("GPLv2");
---
-1.7.10.4
-
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,
.ops = &jz_clk_simple_ops,
},
[4] = {
---
-1.7.10.4
-
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)
}
-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 @@
#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)
{
return ret;
}
arch_initcall(jz4740_dma_init);
---
-1.7.10.4
-
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;
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,
&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,
};
+ .num_resources = ARRAY_SIZE(jz4740_dma_resources),
+ .resource = jz4740_dma_resources,
+};
---
-1.7.10.4
-
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 @@
- 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 @@
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 @@
- 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 @@
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);
}
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);
+ 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;
+ 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),
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);
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)
{
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;
}
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);
}
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)
{
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;
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)
{
}
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;
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;
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];
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;
return 0;
}
---
-1.7.10.4
-
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 @@
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 @@
};
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);
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;
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;
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)
{
}
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);
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 @@
.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,
};
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 @@
-};
-
-#endif
---
-1.7.10.4
-