kernel: update linux 3.2 to 3.2.14

SVN-Revision: 31222
This commit is contained in:
Jonas Gorski 2012-04-09 14:48:51 +00:00
parent 1a57b05f47
commit 16b4cbcdd6
40 changed files with 88 additions and 264 deletions

View file

@ -35,8 +35,8 @@ endif
ifeq ($(LINUX_VERSION),3.1.10)
LINUX_KERNEL_MD5SUM:=3649bdaa50ffd9114cc16486ec54d83a
endif
ifeq ($(LINUX_VERSION),3.2.13)
LINUX_KERNEL_MD5SUM:=1966afd4474000e48fb1e22a5991882e
ifeq ($(LINUX_VERSION),3.2.14)
LINUX_KERNEL_MD5SUM:=961da0dc037181a4a5059f763b70eabd
endif
ifeq ($(LINUX_VERSION),3.3)
LINUX_KERNEL_MD5SUM:=98a6cdd7d082b7ea72df9c89842bac74

View file

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

View file

@ -13,7 +13,7 @@ FEATURES:=jffs2 usb pci
SUBTARGETS=au1500 au1550
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += wpad-mini yamonenv

View file

@ -11,7 +11,7 @@ BOARD:=brcm47xx
BOARDNAME:=Broadcom BCM947xx/953xx
FEATURES:=squashfs usb pcmcia
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += wpad-mini kmod-switch kmod-diag nvram

View file

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

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs jffs2 ext4 targz usb
CFLAGS:=-Os -pipe -march=armv4t -fno-caller-saves
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk

View file

@ -1,6 +1,6 @@
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -49,6 +49,18 @@ static const char *kobject_actions[] = {
@@ -50,6 +50,18 @@ static const char *kobject_actions[] = {
[KOBJ_OFFLINE] = "offline",
};
@ -8,9 +8,9 @@
+{
+ u64 seq;
+
+ spin_lock(&sequence_lock);
+ mutex_lock(&uevent_sock_mutex);
+ seq = ++uevent_seqnum;
+ spin_unlock(&sequence_lock);
+ mutex_unlock(&uevent_sock_mutex);
+
+ return seq;
+}
@ -19,14 +19,3 @@
/**
* kobject_action_type - translate action string to numeric type
*
@@ -244,9 +256,7 @@ int kobject_uevent_env(struct kobject *k
kobj->state_remove_uevent_sent = 1;
/* we will send an event, so request a new sequence number */
- spin_lock(&sequence_lock);
- seq = ++uevent_seqnum;
- spin_unlock(&sequence_lock);
+ seq = uevent_next_seqnum();
retval = add_uevent_var(env, "SEQNUM=%llu", (unsigned long long)seq);
if (retval)
goto exit;

View file

@ -39,7 +39,7 @@
#endif /* _KOBJECT_H_ */
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -377,6 +377,43 @@ int add_uevent_var(struct kobj_uevent_en
@@ -378,6 +378,43 @@ int add_uevent_var(struct kobj_uevent_en
EXPORT_SYMBOL_GPL(add_uevent_var);
#if defined(CONFIG_NET)

View file

@ -71,7 +71,7 @@
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1385,6 +1385,7 @@ unsigned long zap_page_range(struct vm_a
@@ -1393,6 +1393,7 @@ unsigned long zap_page_range(struct vm_a
tlb_finish_mmu(&tlb, address, end);
return end;
}
@ -79,7 +79,7 @@
/**
* zap_vma_ptes - remove ptes mapping the vma
@@ -3060,6 +3061,7 @@ static inline int check_stack_guard_page
@@ -3068,6 +3069,7 @@ static inline int check_stack_guard_page
}
return 0;
}

View file

@ -12,7 +12,7 @@ BOARDNAME:=Lantiq GPON/XWAY
FEATURES:=squashfs jffs2
DEFAULT_SUBTARGET:=danube
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves

View file

@ -13,7 +13,7 @@ SUBTARGETS:=le be
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk

View file

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

View file

@ -11,7 +11,7 @@ BOARD:=omap4
BOARDNAME:=TI OMAP4
FEATURES:=usb targz audio display
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
CFLAGS:=-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>

View file

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

View file

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

View file

@ -13,7 +13,7 @@ SUBTARGETS:=rt288x rt305x rt3883
CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
FEATURES:=squashfs
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES+=\

View file

@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux
FEATURES:=ext4 audio
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13
LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk

View file

@ -1,25 +0,0 @@
From b189e810619a676e6b931a942a3e8387f3d39c21 Mon Sep 17 00:00:00 2001
From: =?utf8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
Date: Sun, 8 Jan 2012 13:41:33 +0000
Subject: [PATCH] 8139cp: fix missing napi_gro_flush.
The driver uses __napi_complete and napi_gro_receive. Without it, the
driver hits the BUG_ON(n->gro_list) assertion hard in __napi_complete.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Marin Glibic <zhilla2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/ethernet/realtek/8139cp.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -563,6 +563,7 @@ rx_next:
if (cpr16(IntrStatus) & cp_rx_intr_mask)
goto rx_status_loop;
+ napi_gro_flush(napi);
spin_lock_irqsave(&cp->lock, flags);
__napi_complete(napi);
cpw16_f(IntrMask, cp_intr_mask);

View file

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

View file

@ -8,11 +8,9 @@ Subject: [PATCH 01/21] ubi: Read only the vid header instead of the whole
drivers/mtd/ubi/io.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c
index f20b6f2..e66079d 100644
--- a/drivers/mtd/ubi/io.c
+++ b/drivers/mtd/ubi/io.c
@@ -1031,7 +1031,7 @@ int ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum,
@@ -1031,7 +1031,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,
@ -21,6 +19,3 @@ index f20b6f2..e66079d 100644
if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
return read_err;
--
1.7.5.4

View file

@ -17,8 +17,6 @@ History:
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 23a4473..89b7d28 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -178,6 +178,14 @@ config USB_FUSB300
@ -36,8 +34,6 @@ index 23a4473..89b7d28 100644
config USB_OMAP
tristate "OMAP USB Device Controller"
depends on ARCH_OMAP
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
index b54ac61..2d65f6e 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -31,6 +31,7 @@ obj-$(CONFIG_USB_PXA_U2O) += mv_udc.o
@ -48,8 +44,6 @@ index b54ac61..2d65f6e 100644
#
# USB gadget drivers
diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
index a8855d0..99f1580 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -36,6 +36,7 @@
@ -60,7 +54,7 @@ index a8855d0..99f1580 100644
#define gadget_is_langwell(g) (!strcmp("langwell_udc", (g)->name))
#define gadget_is_m66592(g) (!strcmp("m66592_udc", (g)->name))
#define gadget_is_musbhdrc(g) (!strcmp("musb-hdrc", (g)->name))
@@ -118,6 +119,8 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
@@ -118,6 +119,8 @@ static inline int usb_gadget_controller_
return 0x31;
else if (gadget_is_dwc3(gadget))
return 0x32;
@ -69,9 +63,6 @@ index a8855d0..99f1580 100644
return -ENOENT;
}
diff --git a/drivers/usb/gadget/jz4740_udc.c b/drivers/usb/gadget/jz4740_udc.c
new file mode 100644
index 0000000..8d36434
--- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.c
@@ -0,0 +1,2199 @@
@ -2274,9 +2265,6 @@ index 0000000..8d36434
+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 @@
@ -2381,6 +2369,3 @@ index 0000000..53fd1da
+}
+
+#endif /* __USB_GADGET_JZ4740_H__ */
--
1.7.5.4

View file

@ -8,11 +8,9 @@ Avoid sending unnecessary READ commands to the chip.
drivers/mtd/nand/nand_base.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 3ed9c5e..184aa93 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -1294,9 +1294,15 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
@@ -1294,9 +1294,15 @@ static int nand_read_page_hwecc_oob_firs
uint8_t *ecc_calc = chip->buffers->ecccalc;
/* Read the OOB area first */
@ -31,7 +29,7 @@ index 3ed9c5e..184aa93 100644
for (i = 0; i < chip->ecc.total; i++)
ecc_code[i] = chip->oob_poi[eccpos[i]];
@@ -1465,7 +1471,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
@@ -1465,7 +1471,7 @@ static int nand_do_read_ops(struct mtd_i
if (realpage != chip->pagebuf || oob) {
bufpoi = aligned ? buf : chip->buffers->databuf;
@ -40,6 +38,3 @@ index 3ed9c5e..184aa93 100644
chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
sndcmd = 0;
}
--
1.7.5.4

View file

@ -9,11 +9,9 @@ Subject: [PATCH 04/21] NAND: Add support for subpage reads for
include/linux/mtd/nand.h | 8 ++--
2 files changed, 79 insertions(+), 7 deletions(-)
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 184aa93..0131e84 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -1143,7 +1143,7 @@ static int nand_read_page_swecc(struct mtd_info *mtd, struct nand_chip *chip,
@@ -1143,7 +1143,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,
@ -22,7 +20,7 @@ index 184aa93..0131e84 100644
{
int start_step, end_step, num_steps;
uint32_t *eccpos = chip->ecc.layout->eccpos;
@@ -1324,6 +1324,75 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
@@ -1324,6 +1324,75 @@ static int nand_read_page_hwecc_oob_firs
}
/**
@ -98,7 +96,7 @@ index 184aa93..0131e84 100644
* nand_read_page_syndrome - [REPLACEABLE] hardware ECC syndrome based page read
* @mtd: mtd info structure
* @chip: nand chip info structure
@@ -1482,7 +1551,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
@@ -1482,7 +1551,7 @@ static int nand_do_read_ops(struct mtd_i
bufpoi, page);
else if (!aligned && NAND_SUBPAGE_READ(chip) && !oob)
ret = chip->ecc.read_subpage(mtd, chip,
@ -120,8 +118,6 @@ index 184aa93..0131e84 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 904131b..9034100 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -211,9 +211,9 @@ typedef enum {
@ -146,6 +142,3 @@ index 904131b..9034100 100644
void (*write_page)(struct mtd_info *mtd, struct nand_chip *chip,
const uint8_t *buf);
int (*write_oob_raw)(struct mtd_info *mtd, struct nand_chip *chip,
--
1.7.5.4

View file

@ -7,11 +7,9 @@ Subject: [PATCH 05/21] NAND-Optimize-reading-the-eec-data-for-the-JZ4740
drivers/mtd/nand/nand_base.c | 14 ++++----------
1 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 0131e84..74b8cce 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -1295,8 +1295,8 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
@@ -1295,8 +1295,8 @@ static int nand_read_page_hwecc_oob_firs
/* Read the OOB area first */
if (mtd->writesize > 512) {
@ -22,7 +20,7 @@ index 0131e84..74b8cce 100644
chip->cmdfunc(mtd, NAND_CMD_RNDOUT, 0, -1);
} else {
chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page);
@@ -1304,9 +1304,6 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
@@ -1304,9 +1304,6 @@ static int nand_read_page_hwecc_oob_firs
chip->cmdfunc(mtd, NAND_CMD_READ0, 0, page);
}
@ -32,7 +30,7 @@ index 0131e84..74b8cce 100644
for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) {
int stat;
@@ -1361,8 +1358,8 @@ static int nand_read_subpage_hwecc_oob_first(struct mtd_info *mtd, struct nand_c
@@ -1361,8 +1358,8 @@ static int nand_read_subpage_hwecc_oob_f
/* Read the OOB area first */
if (mtd->writesize > 512) {
@ -43,7 +41,7 @@ index 0131e84..74b8cce 100644
chip->cmdfunc(mtd, NAND_CMD_RNDOUT, data_col_addr, -1);
} else {
chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page);
@@ -1370,9 +1367,6 @@ static int nand_read_subpage_hwecc_oob_first(struct mtd_info *mtd, struct nand_c
@@ -1370,9 +1367,6 @@ static int nand_read_subpage_hwecc_oob_f
chip->cmdfunc(mtd, NAND_CMD_READ0, data_col_addr, page);
}
@ -53,6 +51,3 @@ index 0131e84..74b8cce 100644
p = bufpoi + data_col_addr;
for (i = eccbytes * start_step; num_steps; num_steps--, i += eccbytes, p += eccsize) {
--
1.7.5.4

View file

@ -17,8 +17,6 @@ Thanks to Paul Cercueil for the initial autodetection patch.
drivers/mtd/nand/jz4740_nand.c | 228 +++++++++++++++++++----
3 files changed, 215 insertions(+), 37 deletions(-)
diff --git a/arch/mips/include/asm/mach-jz4740/jz4740_nand.h b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
index bb5b9a4..986982d 100644
--- a/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
+++ b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
@@ -19,6 +19,8 @@
@ -39,11 +37,9 @@ index bb5b9a4..986982d 100644
void (*ident_callback)(struct platform_device *, struct nand_chip *,
struct mtd_partition **, int *num_partitions);
};
diff --git a/arch/mips/jz4740/platform.c b/arch/mips/jz4740/platform.c
index 10929e2..e342ed4 100644
--- a/arch/mips/jz4740/platform.c
+++ b/arch/mips/jz4740/platform.c
@@ -157,11 +157,29 @@ static struct resource jz4740_nand_resources[] = {
@@ -157,11 +157,29 @@ static struct resource jz4740_nand_resou
.flags = IORESOURCE_MEM,
},
{
@ -74,8 +70,6 @@ index 10929e2..e342ed4 100644
};
struct platform_device jz4740_nand_device = {
diff --git a/drivers/mtd/nand/jz4740_nand.c b/drivers/mtd/nand/jz4740_nand.c
index e266407..b254b99 100644
--- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c
@@ -52,9 +52,10 @@
@ -104,7 +98,7 @@ index e266407..b254b99 100644
struct jz_nand_platform_data *pdata;
bool is_reading;
@@ -74,26 +78,50 @@ static inline struct jz_nand *mtd_to_jz_nand(struct mtd_info *mtd)
@@ -74,26 +78,50 @@ static inline struct jz_nand *mtd_to_jz_
return container_of(mtd, struct jz_nand, mtd);
}
@ -161,7 +155,7 @@ index e266407..b254b99 100644
writel(reg, nand->base + JZ_REG_NAND_CTRL);
}
if (dat != NAND_CMD_NONE)
@@ -252,7 +280,7 @@ static int jz_nand_correct_ecc_rs(struct mtd_info *mtd, uint8_t *dat,
@@ -252,7 +280,7 @@ static int jz_nand_correct_ecc_rs(struct
}
static int jz_nand_ioremap_resource(struct platform_device *pdev,
@ -261,7 +255,7 @@ index e266407..b254b99 100644
static int __devinit jz_nand_probe(struct platform_device *pdev)
{
int ret;
@@ -295,6 +407,8 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -295,6 +407,8 @@ static int __devinit jz_nand_probe(struc
struct nand_chip *chip;
struct mtd_info *mtd;
struct jz_nand_platform_data *pdata = pdev->dev.platform_data;
@ -270,7 +264,7 @@ index e266407..b254b99 100644
nand = kzalloc(sizeof(*nand), GFP_KERNEL);
if (!nand) {
@@ -305,10 +419,6 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -305,10 +419,6 @@ static int __devinit jz_nand_probe(struc
ret = jz_nand_ioremap_resource(pdev, "mmio", &nand->mem, &nand->base);
if (ret)
goto err_free;
@ -281,7 +275,7 @@ index e266407..b254b99 100644
if (pdata && gpio_is_valid(pdata->busy_gpio)) {
ret = gpio_request(pdata->busy_gpio, "NAND busy pin");
@@ -316,7 +426,7 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -316,7 +426,7 @@ static int __devinit jz_nand_probe(struc
dev_err(&pdev->dev,
"Failed to request busy gpio %d: %d\n",
pdata->busy_gpio, ret);
@ -290,7 +284,7 @@ index e266407..b254b99 100644
}
}
@@ -338,22 +448,51 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -338,22 +448,51 @@ static int __devinit jz_nand_probe(struc
chip->chip_delay = 50;
chip->cmd_ctrl = jz_nand_cmd_ctrl;
@ -351,7 +345,7 @@ index e266407..b254b99 100644
}
if (pdata && pdata->ident_callback) {
@@ -363,8 +502,8 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -363,8 +502,8 @@ static int __devinit jz_nand_probe(struc
ret = nand_scan_tail(mtd);
if (ret) {
@ -362,7 +356,7 @@ index e266407..b254b99 100644
}
ret = mtd_device_parse_register(mtd, NULL, 0,
@@ -381,14 +520,21 @@ static int __devinit jz_nand_probe(struct platform_device *pdev)
@@ -381,14 +520,21 @@ static int __devinit jz_nand_probe(struc
return 0;
err_nand_release:
@ -421,6 +415,3 @@ index e266407..b254b99 100644
platform_set_drvdata(pdev, NULL);
kfree(nand);
--
1.7.5.4

View file

@ -10,8 +10,6 @@ Subject: [PATCH 07/21] Add ili8960 lcd driver
3 files changed, 271 insertions(+), 0 deletions(-)
create mode 100644 drivers/video/backlight/ili8960.c
diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
index 278aeaa..f617883 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -59,6 +59,13 @@ config LCD_LTV350QV
@ -28,11 +26,9 @@ index 278aeaa..f617883 100644
config LCD_ILI9320
tristate
help
diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
index fdd1fc4..01ec378 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_LCD_HP700) += jornada720_lcd.o
@@ -6,6 +6,7 @@ obj-$(CONFIG_LCD_HP700) += jornada72
obj-$(CONFIG_LCD_L4F00242T03) += l4f00242t03.o
obj-$(CONFIG_LCD_LMS283GF05) += lms283gf05.o
obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o
@ -40,9 +36,6 @@ index fdd1fc4..01ec378 100644
obj-$(CONFIG_LCD_ILI9320) += ili9320.o
obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o
obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o
diff --git a/drivers/video/backlight/ili8960.c b/drivers/video/backlight/ili8960.c
new file mode 100644
index 0000000..1438e92
--- /dev/null
+++ b/drivers/video/backlight/ili8960.c
@@ -0,0 +1,263 @@
@ -309,6 +302,3 @@ index 0000000..1438e92
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("LCD driver for Ilitek ili8960");
+MODULE_ALIAS("spi:ili8960");
--
1.7.5.4

View file

@ -9,11 +9,9 @@ The spi_gpio driver does not support 3-wire mode.
arch/mips/jz4740/board-qi_lb60.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
index c3b04be..b622941 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
@@ -310,7 +310,6 @@ static struct spi_board_info qi_lb60_spi_board_info[] = {
@@ -310,7 +310,6 @@ static struct spi_board_info qi_lb60_spi
.chip_select = 0,
.bus_num = 1,
.max_speed_hz = 30 * 1000,
@ -21,6 +19,3 @@ index c3b04be..b622941 100644
},
};
--
1.7.5.4

View file

@ -12,8 +12,6 @@ It also saves some space on embedded systems.
drivers/char/mem.c | 17 +++++++++++++++++
3 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index bf56e17..0c97d51 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -7,6 +7,7 @@ source "lib/Kconfig.debug"
@ -24,8 +22,6 @@ index bf56e17..0c97d51 100644
---help---
If this option is disabled, you allow userspace (root) access to all
of memory, including kernel and userspace memory. Accidental
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 4364303..a2e462e 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -6,6 +6,16 @@ menu "Character devices"
@ -45,11 +41,9 @@ index 4364303..a2e462e 100644
config DEVKMEM
bool "/dev/kmem virtual device support"
default y
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 1451790..a6020ca 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -87,6 +87,8 @@ void __weak unxlate_dev_mem_ptr(unsigned long phys, void *addr)
@@ -87,6 +87,8 @@ void __weak unxlate_dev_mem_ptr(unsigned
{
}
@ -58,7 +52,7 @@ index 1451790..a6020ca 100644
/*
* This funcion reads the *physical* memory. The f_pos points directly to the
* memory location.
@@ -210,6 +212,10 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
@@ -210,6 +212,10 @@ static ssize_t write_mem(struct file *fi
return written;
}
@ -69,7 +63,7 @@ index 1451790..a6020ca 100644
int __weak phys_mem_access_prot_allowed(struct file *file,
unsigned long pfn, unsigned long size, pgprot_t *vma_prot)
{
@@ -331,6 +337,8 @@ static int mmap_mem(struct file *file, struct vm_area_struct *vma)
@@ -331,6 +337,8 @@ static int mmap_mem(struct file *file, s
return 0;
}
@ -78,7 +72,7 @@ index 1451790..a6020ca 100644
#ifdef CONFIG_DEVKMEM
static int mmap_kmem(struct file *file, struct vm_area_struct *vma)
{
@@ -694,6 +702,7 @@ static loff_t null_lseek(struct file *file, loff_t offset, int orig)
@@ -694,6 +702,7 @@ static loff_t null_lseek(struct file *fi
return file->f_pos = 0;
}
@ -86,7 +80,7 @@ index 1451790..a6020ca 100644
/*
* The memory devices use the full 32/64 bits of the offset, and so we cannot
* check against negative addresses: they are ok. The return value is weird,
@@ -726,11 +735,15 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
@@ -726,11 +735,15 @@ static loff_t memory_lseek(struct file *
mutex_unlock(&file->f_path.dentry->d_inode->i_mutex);
return ret;
}
@ -102,7 +96,7 @@ index 1451790..a6020ca 100644
#define zero_lseek null_lseek
#define full_lseek null_lseek
@@ -740,6 +753,7 @@ static int open_port(struct inode * inode, struct file * filp)
@@ -740,6 +753,7 @@ static int open_port(struct inode * inod
#define open_kmem open_mem
#define open_oldmem open_mem
@ -110,7 +104,7 @@ index 1451790..a6020ca 100644
static const struct file_operations mem_fops = {
.llseek = memory_lseek,
.read = read_mem,
@@ -748,6 +762,7 @@ static const struct file_operations mem_fops = {
@@ -748,6 +762,7 @@ static const struct file_operations mem_
.open = open_mem,
.get_unmapped_area = get_unmapped_area_mem,
};
@ -128,6 +122,3 @@ index 1451790..a6020ca 100644
#ifdef CONFIG_DEVKMEM
[2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi },
#endif
--
1.7.5.4

View file

@ -8,8 +8,6 @@ Subject: [PATCH 10/21] cpufreq_stats: Support runtime changes to frequency
drivers/cpufreq/cpufreq_stats.c | 161 ++++++++++++++++++++-------------------
1 files changed, 83 insertions(+), 78 deletions(-)
diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c
index c5072a9..95f6eb9 100644
--- a/drivers/cpufreq/cpufreq_stats.c
+++ b/drivers/cpufreq/cpufreq_stats.c
@@ -21,6 +21,7 @@
@ -29,7 +27,7 @@ index c5072a9..95f6eb9 100644
cputime64_t *time_in_state;
unsigned int *freq_table;
#ifdef CONFIG_CPU_FREQ_STAT_DETAILS
@@ -60,7 +61,7 @@ static int cpufreq_stats_update(unsigned int cpu)
@@ -60,7 +61,7 @@ static int cpufreq_stats_update(unsigned
cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock);
stat = per_cpu(cpufreq_stats_table, cpu);
@ -38,7 +36,7 @@ index c5072a9..95f6eb9 100644
stat->time_in_state[stat->last_index] =
cputime64_add(stat->time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
@@ -83,7 +84,7 @@ static ssize_t show_time_in_state(struct cpufreq_policy *policy, char *buf)
@@ -83,7 +84,7 @@ static ssize_t show_time_in_state(struct
ssize_t len = 0;
int i;
struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu);
@ -47,7 +45,7 @@ index c5072a9..95f6eb9 100644
return 0;
cpufreq_stats_update(stat->cpu);
for (i = 0; i < stat->state_num; i++) {
@@ -101,7 +102,7 @@ static ssize_t show_trans_table(struct cpufreq_policy *policy, char *buf)
@@ -101,7 +102,7 @@ static ssize_t show_trans_table(struct c
int i, j;
struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu);
@ -56,7 +54,7 @@ index c5072a9..95f6eb9 100644
return 0;
cpufreq_stats_update(stat->cpu);
len += snprintf(buf + len, PAGE_SIZE - len, " From : To\n");
@@ -160,63 +161,35 @@ static struct attribute_group stats_attr_group = {
@@ -160,63 +161,35 @@ static struct attribute_group stats_attr
static int freq_table_get_index(struct cpufreq_stats *stat, unsigned int freq)
{
int index;
@ -130,7 +128,7 @@ index c5072a9..95f6eb9 100644
for (i = 0; table[i].frequency != CPUFREQ_TABLE_END; i++) {
unsigned int freq = table[i].frequency;
@@ -225,40 +198,73 @@ static int cpufreq_stats_create_table(struct cpufreq_policy *policy,
@@ -225,40 +198,73 @@ static int cpufreq_stats_create_table(st
count++;
}
@ -222,7 +220,7 @@ index c5072a9..95f6eb9 100644
kfree(stat);
per_cpu(cpufreq_stats_table, cpu) = NULL;
return ret;
@@ -276,10 +282,12 @@ static int cpufreq_stat_notifier_policy(struct notifier_block *nb,
@@ -276,10 +282,12 @@ static int cpufreq_stat_notifier_policy(
table = cpufreq_frequency_get_table(cpu);
if (!table)
return 0;
@ -239,7 +237,7 @@ index c5072a9..95f6eb9 100644
}
static int cpufreq_stat_notifier_trans(struct notifier_block *nb,
@@ -299,21 +307,23 @@ static int cpufreq_stat_notifier_trans(struct notifier_block *nb,
@@ -299,21 +307,23 @@ static int cpufreq_stat_notifier_trans(s
old_index = stat->last_index;
new_index = freq_table_get_index(stat, freq->new);
@ -270,7 +268,7 @@ index c5072a9..95f6eb9 100644
spin_unlock(&cpufreq_stats_lock);
return 0;
}
@@ -329,9 +339,6 @@ static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb,
@@ -329,9 +339,6 @@ static int __cpuinit cpufreq_stat_cpu_ca
case CPU_ONLINE_FROZEN:
cpufreq_update_policy(cpu);
break;
@ -280,7 +278,7 @@ index c5072a9..95f6eb9 100644
case CPU_DEAD:
case CPU_DEAD_FROZEN:
cpufreq_stats_free_table(cpu);
@@ -340,10 +347,9 @@ static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb,
@@ -340,10 +347,9 @@ static int __cpuinit cpufreq_stat_cpu_ca
return NOTIFY_OK;
}
@ -293,7 +291,7 @@ index c5072a9..95f6eb9 100644
};
static struct notifier_block notifier_policy_block = {
@@ -390,7 +396,6 @@ static void __exit cpufreq_stats_exit(void)
@@ -390,7 +396,6 @@ static void __exit cpufreq_stats_exit(vo
unregister_hotcpu_notifier(&cpufreq_stat_cpu_notifier);
for_each_online_cpu(cpu) {
cpufreq_stats_free_table(cpu);
@ -301,6 +299,3 @@ index c5072a9..95f6eb9 100644
}
}
--
1.7.5.4

View file

@ -11,8 +11,6 @@ Squashed version of the development done in the jz-2.6.39 branch.
arch/mips/jz4740/clock.h | 4 +
2 files changed, 224 insertions(+), 10 deletions(-)
diff --git a/arch/mips/jz4740/clock.c b/arch/mips/jz4740/clock.c
index 118a8a5..da423d1 100644
--- a/arch/mips/jz4740/clock.c
+++ b/arch/mips/jz4740/clock.c
@@ -1,5 +1,8 @@
@ -71,7 +69,7 @@ index 118a8a5..da423d1 100644
struct main_clk {
struct clk clk;
uint32_t div_offset;
@@ -204,25 +217,88 @@ static int jz_clk_ko_is_enabled(struct clk *clk)
@@ -204,25 +217,88 @@ static int jz_clk_ko_is_enabled(struct c
return !!(jz_clk_reg_read(JZ_REG_CLOCK_CTRL) & JZ_CLOCK_CTRL_KO_ENABLE);
}
@ -167,7 +165,7 @@ index 118a8a5..da423d1 100644
}
static unsigned long jz_clk_pll_half_get_rate(struct clk *clk)
@@ -235,7 +311,77 @@ static unsigned long jz_clk_pll_half_get_rate(struct clk *clk)
@@ -235,7 +311,77 @@ static unsigned long jz_clk_pll_half_get
return jz_clk_pll_get_rate(clk->parent) >> 1;
}
@ -246,7 +244,7 @@ index 118a8a5..da423d1 100644
static unsigned long jz_clk_main_round_rate(struct clk *clk, unsigned long rate)
{
@@ -290,6 +436,64 @@ static int jz_clk_main_set_rate(struct clk *clk, unsigned long rate)
@@ -290,6 +436,64 @@ static int jz_clk_main_set_rate(struct c
return 0;
}
@ -331,8 +329,6 @@ index 118a8a5..da423d1 100644
spin_lock_init(&jz_clock_lock);
jz_clk_ext.rate = jz4740_clock_bdata.ext_rate;
diff --git a/arch/mips/jz4740/clock.h b/arch/mips/jz4740/clock.h
index 5d07499..cc8d1db 100644
--- a/arch/mips/jz4740/clock.h
+++ b/arch/mips/jz4740/clock.h
@@ -17,6 +17,7 @@
@ -353,6 +349,3 @@ index 5d07499..cc8d1db 100644
#ifdef CONFIG_DEBUG_FS
void jz4740_clock_debugfs_init(void);
void jz4740_clock_debugfs_add_clk(struct clk *clk);
--
1.7.5.4

View file

@ -12,8 +12,6 @@ This is a squashed version of Uli's driver that was further developed in the ope
4 files changed, 240 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/jz4740/cpufreq.c
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index d46f1da..8128df7 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -209,6 +209,7 @@ config MACH_JZ4740
@ -24,20 +22,15 @@ index d46f1da..8128df7 100644
config LANTIQ
bool "Lantiq based platforms"
diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile
index a9dff33..15f828e 100644
--- a/arch/mips/jz4740/Makefile
+++ b/arch/mips/jz4740/Makefile
@@ -16,5 +16,6 @@ obj-$(CONFIG_JZ4740_QI_LB60) += board-qi_lb60.o
@@ -16,5 +16,6 @@ obj-$(CONFIG_JZ4740_QI_LB60) += board-qi
# PM support
obj-$(CONFIG_PM) += pm.o
+obj-$(CONFIG_CPU_FREQ_JZ) += cpufreq.o
ccflags-y := -Werror -Wall
diff --git a/arch/mips/jz4740/cpufreq.c b/arch/mips/jz4740/cpufreq.c
new file mode 100644
index 0000000..aa41e9f
--- /dev/null
+++ b/arch/mips/jz4740/cpufreq.c
@@ -0,0 +1,226 @@
@ -267,8 +260,6 @@ index 0000000..aa41e9f
+ "Maarten ter Huurne <maarten@treewalker.org>");
+MODULE_DESCRIPTION("cpufreq driver for Jz4740");
+MODULE_LICENSE("GPL");
diff --git a/arch/mips/kernel/cpufreq/Kconfig b/arch/mips/kernel/cpufreq/Kconfig
index 58c601e..11af8e8 100644
--- a/arch/mips/kernel/cpufreq/Kconfig
+++ b/arch/mips/kernel/cpufreq/Kconfig
@@ -8,7 +8,7 @@ config MIPS_EXTERNAL_TIMER
@ -305,6 +296,3 @@ index 58c601e..11af8e8 100644
endif # CPU_FREQ
endmenu
--
1.7.5.4

View file

@ -10,8 +10,6 @@ Also the frequency change is postponed if an I/O operation is in progress.
drivers/mmc/host/jz4740_mmc.c | 69 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
index 74218ad..6e40f1b 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
@@ -23,6 +23,7 @@
@ -22,7 +20,7 @@ index 74218ad..6e40f1b 100644
#include <linux/bitops.h>
#include <linux/gpio.h>
@@ -685,6 +686,60 @@ static void jz4740_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
@@ -685,6 +686,60 @@ static void jz4740_mmc_enable_sdio_irq(s
jz4740_mmc_set_irq_enabled(host, JZ_MMC_IRQ_SDIO, enable);
}
@ -83,7 +81,7 @@ index 74218ad..6e40f1b 100644
static const struct mmc_host_ops jz4740_mmc_ops = {
.request = jz4740_mmc_request,
.set_ios = jz4740_mmc_set_ios,
@@ -834,11 +889,18 @@ static int __devinit jz4740_mmc_probe(struct platform_device* pdev)
@@ -834,11 +889,18 @@ static int __devinit jz4740_mmc_probe(st
goto err_free_host;
}
@ -103,7 +101,7 @@ index 74218ad..6e40f1b 100644
}
host->mem = request_mem_region(host->mem->start,
@@ -846,7 +908,7 @@ static int __devinit jz4740_mmc_probe(struct platform_device* pdev)
@@ -846,7 +908,7 @@ static int __devinit jz4740_mmc_probe(st
if (!host->mem) {
ret = -EBUSY;
dev_err(&pdev->dev, "Failed to request base memory region\n");
@ -121,7 +119,7 @@ index 74218ad..6e40f1b 100644
err_clk_put:
clk_put(host->clk);
err_free_host:
@@ -958,6 +1022,7 @@ static int __devexit jz4740_mmc_remove(struct platform_device *pdev)
@@ -958,6 +1022,7 @@ static int __devexit jz4740_mmc_remove(s
iounmap(host->base);
release_mem_region(host->mem->start, resource_size(host->mem));
@ -129,6 +127,3 @@ index 74218ad..6e40f1b 100644
clk_put(host->clk);
platform_set_drvdata(pdev, NULL);
--
1.7.5.4

View file

@ -17,8 +17,6 @@ the Dingoo A320 kernel.
arch/mips/jz4740/reset.c | 46 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/arch/mips/jz4740/reset.c b/arch/mips/jz4740/reset.c
index 5f1fb95..e6d1d7b 100644
--- a/arch/mips/jz4740/reset.c
+++ b/arch/mips/jz4740/reset.c
@@ -21,6 +21,9 @@
@ -31,18 +29,19 @@ index 5f1fb95..e6d1d7b 100644
static void jz4740_halt(void)
{
while (1) {
@@ -53,21 +56,52 @@ static void jz4740_restart(char *command)
@@ -53,21 +56,52 @@ static void jz4740_restart(char *command
jz4740_halt();
}
-#define JZ_REG_RTC_CTRL 0x00
-#define JZ_REG_RTC_HIBERNATE 0x20
-
-#define JZ_RTC_CTRL_WRDY BIT(7)
+#define JZ_REG_RTC_CTRL 0x00
+#define JZ_REG_RTC_HIBERNATE 0x20
+#define JZ_REG_RTC_WAKEUP_FILTER 0x24
+#define JZ_REG_RTC_RESET_COUNTER 0x28
-#define JZ_RTC_CTRL_WRDY BIT(7)
+
+#define JZ_RTC_CTRL_WRDY BIT(7)
+#define JZ_RTC_WAKEUP_FILTER_MASK 0x0000FFE0
+#define JZ_RTC_RESET_COUNTER_MASK 0x00000FE0
@ -90,6 +89,3 @@ index 5f1fb95..e6d1d7b 100644
jz4740_halt();
}
--
1.7.5.4

View file

@ -9,11 +9,9 @@ They were harmless but also unnecessary, probably a leftover from earlier code.
sound/soc/jz4740/jz4740-i2s.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/jz4740/jz4740-i2s.c b/sound/soc/jz4740/jz4740-i2s.c
index cd22a54..d28b4cc 100644
--- a/sound/soc/jz4740/jz4740-i2s.c
+++ b/sound/soc/jz4740/jz4740-i2s.c
@@ -346,7 +346,7 @@ static void jz4740_i2c_init_pcm_config(struct jz4740_i2s *i2s)
@@ -346,7 +346,7 @@ static void jz4740_i2c_init_pcm_config(s
/* Playback */
dma_config = &i2s->pcm_config_playback.dma_config;
@ -22,7 +20,7 @@ index cd22a54..d28b4cc 100644
dma_config->transfer_size = JZ4740_DMA_TRANSFER_SIZE_16BYTE;
dma_config->request_type = JZ4740_DMA_TYPE_AIC_TRANSMIT;
dma_config->flags = JZ4740_DMA_SRC_AUTOINC;
@@ -355,7 +355,7 @@ static void jz4740_i2c_init_pcm_config(struct jz4740_i2s *i2s)
@@ -355,7 +355,7 @@ static void jz4740_i2c_init_pcm_config(s
/* Capture */
dma_config = &i2s->pcm_config_capture.dma_config;
@ -31,6 +29,3 @@ index cd22a54..d28b4cc 100644
dma_config->transfer_size = JZ4740_DMA_TRANSFER_SIZE_16BYTE;
dma_config->request_type = JZ4740_DMA_TYPE_AIC_RECEIVE;
dma_config->flags = JZ4740_DMA_DST_AUTOINC;
--
1.7.5.4

View file

@ -13,8 +13,6 @@ the glitches and to Lars Clausen for helping me write the fix.
sound/soc/jz4740/jz4740-pcm.c | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/sound/soc/jz4740/jz4740-pcm.c b/sound/soc/jz4740/jz4740-pcm.c
index d1989cd..1f9a005 100644
--- a/sound/soc/jz4740/jz4740-pcm.c
+++ b/sound/soc/jz4740/jz4740-pcm.c
@@ -31,6 +31,7 @@
@ -25,7 +23,7 @@ index d1989cd..1f9a005 100644
dma_addr_t dma_start;
dma_addr_t dma_pos;
dma_addr_t dma_end;
@@ -67,10 +68,13 @@ static void jz4740_pcm_start_transfer(struct jz4740_runtime_data *prtd,
@@ -67,10 +68,13 @@ static void jz4740_pcm_start_transfer(st
if (prtd->dma_pos == prtd->dma_end)
prtd->dma_pos = prtd->dma_start;
@ -41,7 +39,7 @@ index d1989cd..1f9a005 100644
jz4740_dma_disable(prtd->dma);
@@ -85,6 +89,7 @@ static void jz4740_pcm_start_transfer(struct jz4740_runtime_data *prtd,
@@ -85,6 +89,7 @@ static void jz4740_pcm_start_transfer(st
jz4740_dma_set_transfer_count(prtd->dma, count);
prtd->dma_pos += count;
@ -49,7 +47,7 @@ index d1989cd..1f9a005 100644
jz4740_dma_enable(prtd->dma);
}
@@ -96,7 +101,8 @@ static void jz4740_pcm_dma_transfer_done(struct jz4740_dma_chan *dma, int err,
@@ -96,7 +101,8 @@ static void jz4740_pcm_dma_transfer_done
struct snd_pcm_runtime *runtime = substream->runtime;
struct jz4740_runtime_data *prtd = runtime->private_data;
@ -59,7 +57,7 @@ index d1989cd..1f9a005 100644
jz4740_pcm_start_transfer(prtd, substream);
}
@@ -133,6 +139,7 @@ static int jz4740_pcm_hw_params(struct snd_pcm_substream *substream,
@@ -133,6 +139,7 @@ static int jz4740_pcm_hw_params(struct s
runtime->dma_bytes = params_buffer_bytes(params);
prtd->dma_period = params_period_bytes(params);
@ -67,7 +65,7 @@ index d1989cd..1f9a005 100644
prtd->dma_start = runtime->dma_addr;
prtd->dma_pos = prtd->dma_start;
prtd->dma_end = prtd->dma_start + runtime->dma_bytes;
@@ -160,6 +167,7 @@ static int jz4740_pcm_prepare(struct snd_pcm_substream *substream)
@@ -160,6 +167,7 @@ static int jz4740_pcm_prepare(struct snd
if (!prtd->dma)
return -EBUSY;
@ -75,7 +73,7 @@ index d1989cd..1f9a005 100644
prtd->dma_pos = prtd->dma_start;
return 0;
@@ -219,6 +227,13 @@ static int jz4740_pcm_open(struct snd_pcm_substream *substream)
@@ -219,6 +227,13 @@ static int jz4740_pcm_open(struct snd_pc
if (prtd == NULL)
return -ENOMEM;
@ -89,6 +87,3 @@ index d1989cd..1f9a005 100644
snd_soc_set_runtime_hwparams(substream, &jz4740_pcm_hardware);
runtime->private_data = prtd;
--
1.7.5.4

View file

@ -9,11 +9,9 @@ Specifying the bank is required since commit e7ca5a665877a030.
arch/mips/jz4740/board-qi_lb60.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
index b622941..f2d94c1 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
@@ -140,6 +140,7 @@ static void qi_lb60_nand_ident(struct platform_device *pdev,
@@ -140,6 +140,7 @@ static void qi_lb60_nand_ident(struct pl
static struct jz_nand_platform_data qi_lb60_nand_pdata = {
.ident_callback = qi_lb60_nand_ident,
.busy_gpio = 94,
@ -21,6 +19,3 @@ index b622941..f2d94c1 100644
};
/* Keyboard*/
--
1.7.5.4

View file

@ -12,11 +12,9 @@ Signed-off-by: Axel Lin <axel.lin@gmail.com>
sound/soc/jz4740/qi_lb60.c | 56 +++++++++++++++++--------------------
2 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
index f2d94c1..be14dfb 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
@@ -418,6 +418,11 @@ static struct platform_device qi_lb60_charger_device = {
@@ -418,6 +418,11 @@ static struct platform_device qi_lb60_ch
},
};
@ -28,7 +26,7 @@ index f2d94c1..be14dfb 100644
static struct platform_device *jz_platform_devices[] __initdata = {
&jz4740_udc_device,
@@ -434,6 +439,7 @@ static struct platform_device *jz_platform_devices[] __initdata = {
@@ -434,6 +439,7 @@ static struct platform_device *jz_platfo
&qi_lb60_gpio_keys,
&qi_lb60_pwm_beeper,
&qi_lb60_charger_device,
@ -36,8 +34,6 @@ index f2d94c1..be14dfb 100644
};
static void __init board_gpio_setup(void)
diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c
index c5fc339..67ddbdd 100644
--- a/sound/soc/jz4740/qi_lb60.c
+++ b/sound/soc/jz4740/qi_lb60.c
@@ -90,56 +90,52 @@ static struct snd_soc_card qi_lb60 = {
@ -123,6 +119,3 @@ index c5fc339..67ddbdd 100644
MODULE_DESCRIPTION("ALSA SoC QI LB60 Audio support");
MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:qi-lb60-audio");
--
1.7.5.4

View file

@ -8,11 +8,9 @@ Subject: [PATCH 19/21] Framebuffer notifier: Call notifier callbacks prior to
drivers/video/fbmem.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index ad93629..e13e6bf 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1032,12 +1032,12 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
@@ -1032,12 +1032,12 @@ fb_set_var(struct fb_info *info, struct
int
fb_blank(struct fb_info *info, int blank)
{
@ -27,7 +25,7 @@ index ad93629..e13e6bf 100644
ret = info->fbops->fb_blank(blank, info);
if (!ret) {
@@ -1048,6 +1048,10 @@ fb_blank(struct fb_info *info, int blank)
@@ -1048,6 +1048,10 @@ fb_blank(struct fb_info *info, int blank
fb_notifier_call_chain(FB_EVENT_BLANK, &event);
}
@ -38,6 +36,3 @@ index ad93629..e13e6bf 100644
return ret;
}
--
1.7.5.4

View file

@ -7,11 +7,9 @@ Subject: [PATCH 20/21] qi_lb60: NAND: add data partition
arch/mips/jz4740/board-qi_lb60.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
index be14dfb..4e24b95 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
@@ -118,8 +118,13 @@ static struct mtd_partition qi_lb60_partitions_2gb[] = {
@@ -118,8 +118,13 @@ static struct mtd_partition qi_lb60_part
{
.name = "NAND ROOTFS partition",
.offset = 8 * 0x100000,
@ -26,6 +24,3 @@ index be14dfb..4e24b95 100644
};
static void qi_lb60_nand_ident(struct platform_device *pdev,
--
1.7.5.4

View file

@ -7,11 +7,9 @@ Subject: [PATCH 21/21] rtc: jz4740 fix hwclock give time out
drivers/rtc/rtc-jz4740.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index b647363..50c5df0 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -280,6 +280,8 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
@@ -280,6 +280,8 @@ static int __devinit jz4740_rtc_probe(st
}
}
@ -20,6 +18,3 @@ index b647363..50c5df0 100644
return 0;
err_free_irq:
--
1.7.5.4