1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 17:13:11 +02:00

kernel: update linux 3.2 to 3.2.14

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31222 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jogo 2012-04-09 14:48:51 +00:00
parent 21fcfbb1a2
commit bbb153176f
40 changed files with 88 additions and 264 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -12,7 +12,7 @@ BOARDNAME:=Cavium Networks Econa CNS21xx
FEATURES:=squashfs broken FEATURES:=squashfs broken
CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves 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 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 CFLAGS:=-Os -pipe -march=armv4t -fno-caller-saves
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13 LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View File

@ -1,6 +1,6 @@
--- a/lib/kobject_uevent.c --- a/lib/kobject_uevent.c
+++ b/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", [KOBJ_OFFLINE] = "offline",
}; };
@ -8,9 +8,9 @@
+{ +{
+ u64 seq; + u64 seq;
+ +
+ spin_lock(&sequence_lock); + mutex_lock(&uevent_sock_mutex);
+ seq = ++uevent_seqnum; + seq = ++uevent_seqnum;
+ spin_unlock(&sequence_lock); + mutex_unlock(&uevent_sock_mutex);
+ +
+ return seq; + return seq;
+} +}
@ -19,14 +19,3 @@
/** /**
* kobject_action_type - translate action string to numeric type * 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_ */ #endif /* _KOBJECT_H_ */
--- a/lib/kobject_uevent.c --- a/lib/kobject_uevent.c
+++ b/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); EXPORT_SYMBOL_GPL(add_uevent_var);
#if defined(CONFIG_NET) #if defined(CONFIG_NET)

View File

@ -71,7 +71,7 @@
--- a/mm/memory.c --- a/mm/memory.c
+++ b/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); tlb_finish_mmu(&tlb, address, end);
return end; return end;
} }
@ -79,7 +79,7 @@
/** /**
* zap_vma_ptes - remove ptes mapping the vma * 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; return 0;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux
FEATURES:=ext4 audio FEATURES:=ext4 audio
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.2.13 LINUX_VERSION:=3.2.14
include $(INCLUDE_DIR)/target.mk 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 FEATURES:=jffs2 targz ubifs audio
SUBTARGETS:=qi_lb60 n516 n526 id800wt SUBTARGETS:=qi_lb60 n516 n526 id800wt
LINUX_VERSION:=3.2.1 LINUX_VERSION:=3.2.14
DEVICE_TYPE=other 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 +- drivers/mtd/ubi/io.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-) 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 --- a/drivers/mtd/ubi/io.c
+++ b/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; p = (char *)vid_hdr - ubi->vid_hdr_shift;
read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset, 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)) if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
return 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.c
create mode 100644 drivers/usb/gadget/jz4740_udc.h 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 --- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig
@@ -178,6 +178,14 @@ config USB_FUSB300 @@ -178,6 +178,14 @@ config USB_FUSB300
@ -36,8 +34,6 @@ index 23a4473..89b7d28 100644
config USB_OMAP config USB_OMAP
tristate "OMAP USB Device Controller" tristate "OMAP USB Device Controller"
depends on ARCH_OMAP 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 --- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile +++ b/drivers/usb/gadget/Makefile
@@ -31,6 +31,7 @@ obj-$(CONFIG_USB_PXA_U2O) += mv_udc.o @@ -31,6 +31,7 @@ obj-$(CONFIG_USB_PXA_U2O) += mv_udc.o
@ -48,8 +44,6 @@ index b54ac61..2d65f6e 100644
# #
# USB gadget drivers # 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 --- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h
@@ -36,6 +36,7 @@ @@ -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_langwell(g) (!strcmp("langwell_udc", (g)->name))
#define gadget_is_m66592(g) (!strcmp("m66592_udc", (g)->name)) #define gadget_is_m66592(g) (!strcmp("m66592_udc", (g)->name))
#define gadget_is_musbhdrc(g) (!strcmp("musb-hdrc", (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; return 0x31;
else if (gadget_is_dwc3(gadget)) else if (gadget_is_dwc3(gadget))
return 0x32; return 0x32;
@ -69,9 +63,6 @@ index a8855d0..99f1580 100644
return -ENOENT; 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 --- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.c +++ b/drivers/usb/gadget/jz4740_udc.c
@@ -0,0 +1,2199 @@ @@ -0,0 +1,2199 @@
@ -2274,9 +2265,6 @@ index 0000000..8d36434
+MODULE_DESCRIPTION("JZ4740 USB Device Controller"); +MODULE_DESCRIPTION("JZ4740 USB Device Controller");
+MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>"); +MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>");
+MODULE_LICENSE("GPL"); +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 --- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.h +++ b/drivers/usb/gadget/jz4740_udc.h
@@ -0,0 +1,101 @@ @@ -0,0 +1,101 @@
@ -2381,6 +2369,3 @@ index 0000000..53fd1da
+} +}
+ +
+#endif /* __USB_GADGET_JZ4740_H__ */ +#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 ++++++++++---- drivers/mtd/nand/nand_base.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-) 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 --- a/drivers/mtd/nand/nand_base.c
+++ b/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; uint8_t *ecc_calc = chip->buffers->ecccalc;
/* Read the OOB area first */ /* Read the OOB area first */
@ -31,7 +29,7 @@ index 3ed9c5e..184aa93 100644
for (i = 0; i < chip->ecc.total; i++) for (i = 0; i < chip->ecc.total; i++)
ecc_code[i] = chip->oob_poi[eccpos[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) { if (realpage != chip->pagebuf || oob) {
bufpoi = aligned ? buf : chip->buffers->databuf; bufpoi = aligned ? buf : chip->buffers->databuf;
@ -40,6 +38,3 @@ index 3ed9c5e..184aa93 100644
chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page); chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
sndcmd = 0; 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 ++-- include/linux/mtd/nand.h | 8 ++--
2 files changed, 79 insertions(+), 7 deletions(-) 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 --- a/drivers/mtd/nand/nand_base.c
+++ b/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 * @bufpoi: buffer to store read data
*/ */
static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip, 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; int start_step, end_step, num_steps;
uint32_t *eccpos = chip->ecc.layout->eccpos; 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 * nand_read_page_syndrome - [REPLACEABLE] hardware ECC syndrome based page read
* @mtd: mtd info structure * @mtd: mtd info structure
* @chip: nand chip 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); bufpoi, page);
else if (!aligned && NAND_SUBPAGE_READ(chip) && !oob) else if (!aligned && NAND_SUBPAGE_READ(chip) && !oob)
ret = chip->ecc.read_subpage(mtd, chip, ret = chip->ecc.read_subpage(mtd, chip,
@ -120,8 +118,6 @@ index 184aa93..0131e84 100644
case NAND_ECC_HW: case NAND_ECC_HW:
/* Use standard hwecc read page function? */ /* 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 --- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h
@@ -211,9 +211,9 @@ typedef enum { @@ -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, void (*write_page)(struct mtd_info *mtd, struct nand_chip *chip,
const uint8_t *buf); const uint8_t *buf);
int (*write_oob_raw)(struct mtd_info *mtd, struct nand_chip *chip, 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 ++++---------- drivers/mtd/nand/nand_base.c | 14 ++++----------
1 files changed, 4 insertions(+), 10 deletions(-) 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 --- a/drivers/mtd/nand/nand_base.c
+++ b/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 */ /* Read the OOB area first */
if (mtd->writesize > 512) { if (mtd->writesize > 512) {
@ -22,7 +20,7 @@ index 0131e84..74b8cce 100644
chip->cmdfunc(mtd, NAND_CMD_RNDOUT, 0, -1); chip->cmdfunc(mtd, NAND_CMD_RNDOUT, 0, -1);
} else { } else {
chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page); 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); 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) { for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) {
int stat; 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 */ /* Read the OOB area first */
if (mtd->writesize > 512) { if (mtd->writesize > 512) {
@ -43,7 +41,7 @@ index 0131e84..74b8cce 100644
chip->cmdfunc(mtd, NAND_CMD_RNDOUT, data_col_addr, -1); chip->cmdfunc(mtd, NAND_CMD_RNDOUT, data_col_addr, -1);
} else { } else {
chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page); 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); chip->cmdfunc(mtd, NAND_CMD_READ0, data_col_addr, page);
} }
@ -53,6 +51,3 @@ index 0131e84..74b8cce 100644
p = bufpoi + data_col_addr; p = bufpoi + data_col_addr;
for (i = eccbytes * start_step; num_steps; num_steps--, i += eccbytes, p += eccsize) { 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 +++++++++++++++++++---- drivers/mtd/nand/jz4740_nand.c | 228 +++++++++++++++++++----
3 files changed, 215 insertions(+), 37 deletions(-) 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 --- a/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
+++ b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h +++ b/arch/mips/include/asm/mach-jz4740/jz4740_nand.h
@@ -19,6 +19,8 @@ @@ -19,6 +19,8 @@
@ -39,11 +37,9 @@ index bb5b9a4..986982d 100644
void (*ident_callback)(struct platform_device *, struct nand_chip *, void (*ident_callback)(struct platform_device *, struct nand_chip *,
struct mtd_partition **, int *num_partitions); 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 --- a/arch/mips/jz4740/platform.c
+++ b/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, .flags = IORESOURCE_MEM,
}, },
{ {
@ -74,8 +70,6 @@ index 10929e2..e342ed4 100644
}; };
struct platform_device jz4740_nand_device = { 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 --- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c +++ b/drivers/mtd/nand/jz4740_nand.c
@@ -52,9 +52,10 @@ @@ -52,9 +52,10 @@
@ -104,7 +98,7 @@ index e266407..b254b99 100644
struct jz_nand_platform_data *pdata; struct jz_nand_platform_data *pdata;
bool is_reading; 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); return container_of(mtd, struct jz_nand, mtd);
} }
@ -161,7 +155,7 @@ index e266407..b254b99 100644
writel(reg, nand->base + JZ_REG_NAND_CTRL); writel(reg, nand->base + JZ_REG_NAND_CTRL);
} }
if (dat != NAND_CMD_NONE) 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, 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) static int __devinit jz_nand_probe(struct platform_device *pdev)
{ {
int ret; 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 nand_chip *chip;
struct mtd_info *mtd; struct mtd_info *mtd;
struct jz_nand_platform_data *pdata = pdev->dev.platform_data; struct jz_nand_platform_data *pdata = pdev->dev.platform_data;
@ -270,7 +264,7 @@ index e266407..b254b99 100644
nand = kzalloc(sizeof(*nand), GFP_KERNEL); nand = kzalloc(sizeof(*nand), GFP_KERNEL);
if (!nand) { 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); ret = jz_nand_ioremap_resource(pdev, "mmio", &nand->mem, &nand->base);
if (ret) if (ret)
goto err_free; goto err_free;
@ -281,7 +275,7 @@ index e266407..b254b99 100644
if (pdata && gpio_is_valid(pdata->busy_gpio)) { if (pdata && gpio_is_valid(pdata->busy_gpio)) {
ret = gpio_request(pdata->busy_gpio, "NAND busy pin"); 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, dev_err(&pdev->dev,
"Failed to request busy gpio %d: %d\n", "Failed to request busy gpio %d: %d\n",
pdata->busy_gpio, ret); 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->chip_delay = 50;
chip->cmd_ctrl = jz_nand_cmd_ctrl; chip->cmd_ctrl = jz_nand_cmd_ctrl;
@ -351,7 +345,7 @@ index e266407..b254b99 100644
} }
if (pdata && pdata->ident_callback) { 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); ret = nand_scan_tail(mtd);
if (ret) { if (ret) {
@ -362,7 +356,7 @@ index e266407..b254b99 100644
} }
ret = mtd_device_parse_register(mtd, NULL, 0, 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; return 0;
err_nand_release: err_nand_release:
@ -421,6 +415,3 @@ index e266407..b254b99 100644
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
kfree(nand); 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(-) 3 files changed, 271 insertions(+), 0 deletions(-)
create mode 100644 drivers/video/backlight/ili8960.c 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 --- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig
@@ -59,6 +59,13 @@ config LCD_LTV350QV @@ -59,6 +59,13 @@ config LCD_LTV350QV
@ -28,11 +26,9 @@ index 278aeaa..f617883 100644
config LCD_ILI9320 config LCD_ILI9320
tristate tristate
help help
diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
index fdd1fc4..01ec378 100644
--- a/drivers/video/backlight/Makefile --- a/drivers/video/backlight/Makefile
+++ b/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_L4F00242T03) += l4f00242t03.o
obj-$(CONFIG_LCD_LMS283GF05) += lms283gf05.o obj-$(CONFIG_LCD_LMS283GF05) += lms283gf05.o
obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o
@ -40,9 +36,6 @@ index fdd1fc4..01ec378 100644
obj-$(CONFIG_LCD_ILI9320) += ili9320.o obj-$(CONFIG_LCD_ILI9320) += ili9320.o
obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o
obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.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 --- /dev/null
+++ b/drivers/video/backlight/ili8960.c +++ b/drivers/video/backlight/ili8960.c
@@ -0,0 +1,263 @@ @@ -0,0 +1,263 @@
@ -309,6 +302,3 @@ index 0000000..1438e92
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("LCD driver for Ilitek ili8960"); +MODULE_DESCRIPTION("LCD driver for Ilitek ili8960");
+MODULE_ALIAS("spi: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 - arch/mips/jz4740/board-qi_lb60.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-) 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 --- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/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, .chip_select = 0,
.bus_num = 1, .bus_num = 1,
.max_speed_hz = 30 * 1000, .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 +++++++++++++++++ drivers/char/mem.c | 17 +++++++++++++++++
3 files changed, 28 insertions(+), 0 deletions(-) 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 --- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug
@@ -7,6 +7,7 @@ source "lib/Kconfig.debug" @@ -7,6 +7,7 @@ source "lib/Kconfig.debug"
@ -24,8 +22,6 @@ index bf56e17..0c97d51 100644
---help--- ---help---
If this option is disabled, you allow userspace (root) access to all If this option is disabled, you allow userspace (root) access to all
of memory, including kernel and userspace memory. Accidental 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 --- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig +++ b/drivers/char/Kconfig
@@ -6,6 +6,16 @@ menu "Character devices" @@ -6,6 +6,16 @@ menu "Character devices"
@ -45,11 +41,9 @@ index 4364303..a2e462e 100644
config DEVKMEM config DEVKMEM
bool "/dev/kmem virtual device support" bool "/dev/kmem virtual device support"
default y default y
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 1451790..a6020ca 100644
--- a/drivers/char/mem.c --- a/drivers/char/mem.c
+++ b/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 * This funcion reads the *physical* memory. The f_pos points directly to the
* memory location. * 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; return written;
} }
@ -69,7 +63,7 @@ index 1451790..a6020ca 100644
int __weak phys_mem_access_prot_allowed(struct file *file, int __weak phys_mem_access_prot_allowed(struct file *file,
unsigned long pfn, unsigned long size, pgprot_t *vma_prot) 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; return 0;
} }
@ -78,7 +72,7 @@ index 1451790..a6020ca 100644
#ifdef CONFIG_DEVKMEM #ifdef CONFIG_DEVKMEM
static int mmap_kmem(struct file *file, struct vm_area_struct *vma) 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; 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 * 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, * 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); mutex_unlock(&file->f_path.dentry->d_inode->i_mutex);
return ret; return ret;
} }
@ -102,7 +96,7 @@ index 1451790..a6020ca 100644
#define zero_lseek null_lseek #define zero_lseek null_lseek
#define full_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_kmem open_mem
#define open_oldmem open_mem #define open_oldmem open_mem
@ -110,7 +104,7 @@ index 1451790..a6020ca 100644
static const struct file_operations mem_fops = { static const struct file_operations mem_fops = {
.llseek = memory_lseek, .llseek = memory_lseek,
.read = read_mem, .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, .open = open_mem,
.get_unmapped_area = get_unmapped_area_mem, .get_unmapped_area = get_unmapped_area_mem,
}; };
@ -128,6 +122,3 @@ index 1451790..a6020ca 100644
#ifdef CONFIG_DEVKMEM #ifdef CONFIG_DEVKMEM
[2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi }, [2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi },
#endif #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 ++++++++++++++++++++------------------- drivers/cpufreq/cpufreq_stats.c | 161 ++++++++++++++++++++-------------------
1 files changed, 83 insertions(+), 78 deletions(-) 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 --- a/drivers/cpufreq/cpufreq_stats.c
+++ b/drivers/cpufreq/cpufreq_stats.c +++ b/drivers/cpufreq/cpufreq_stats.c
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
@ -29,7 +27,7 @@ index c5072a9..95f6eb9 100644
cputime64_t *time_in_state; cputime64_t *time_in_state;
unsigned int *freq_table; unsigned int *freq_table;
#ifdef CONFIG_CPU_FREQ_STAT_DETAILS #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(); cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock); spin_lock(&cpufreq_stats_lock);
stat = per_cpu(cpufreq_stats_table, cpu); stat = per_cpu(cpufreq_stats_table, cpu);
@ -38,7 +36,7 @@ index c5072a9..95f6eb9 100644
stat->time_in_state[stat->last_index] = stat->time_in_state[stat->last_index] =
cputime64_add(stat->time_in_state[stat->last_index], cputime64_add(stat->time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time)); 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; ssize_t len = 0;
int i; int i;
struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu); struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu);
@ -47,7 +45,7 @@ index c5072a9..95f6eb9 100644
return 0; return 0;
cpufreq_stats_update(stat->cpu); cpufreq_stats_update(stat->cpu);
for (i = 0; i < stat->state_num; i++) { 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; int i, j;
struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu); struct cpufreq_stats *stat = per_cpu(cpufreq_stats_table, policy->cpu);
@ -56,7 +54,7 @@ index c5072a9..95f6eb9 100644
return 0; return 0;
cpufreq_stats_update(stat->cpu); cpufreq_stats_update(stat->cpu);
len += snprintf(buf + len, PAGE_SIZE - len, " From : To\n"); 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) static int freq_table_get_index(struct cpufreq_stats *stat, unsigned int freq)
{ {
int index; int index;
@ -130,7 +128,7 @@ index c5072a9..95f6eb9 100644
for (i = 0; table[i].frequency != CPUFREQ_TABLE_END; i++) { for (i = 0; table[i].frequency != CPUFREQ_TABLE_END; i++) {
unsigned int freq = table[i].frequency; 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++; count++;
} }
@ -222,7 +220,7 @@ index c5072a9..95f6eb9 100644
kfree(stat); kfree(stat);
per_cpu(cpufreq_stats_table, cpu) = NULL; per_cpu(cpufreq_stats_table, cpu) = NULL;
return ret; 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); table = cpufreq_frequency_get_table(cpu);
if (!table) if (!table)
return 0; return 0;
@ -239,7 +237,7 @@ index c5072a9..95f6eb9 100644
} }
static int cpufreq_stat_notifier_trans(struct notifier_block *nb, 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; old_index = stat->last_index;
new_index = freq_table_get_index(stat, freq->new); new_index = freq_table_get_index(stat, freq->new);
@ -270,7 +268,7 @@ index c5072a9..95f6eb9 100644
spin_unlock(&cpufreq_stats_lock); spin_unlock(&cpufreq_stats_lock);
return 0; 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: case CPU_ONLINE_FROZEN:
cpufreq_update_policy(cpu); cpufreq_update_policy(cpu);
break; break;
@ -280,7 +278,7 @@ index c5072a9..95f6eb9 100644
case CPU_DEAD: case CPU_DEAD:
case CPU_DEAD_FROZEN: case CPU_DEAD_FROZEN:
cpufreq_stats_free_table(cpu); 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; return NOTIFY_OK;
} }
@ -293,7 +291,7 @@ index c5072a9..95f6eb9 100644
}; };
static struct notifier_block notifier_policy_block = { 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); unregister_hotcpu_notifier(&cpufreq_stat_cpu_notifier);
for_each_online_cpu(cpu) { for_each_online_cpu(cpu) {
cpufreq_stats_free_table(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 + arch/mips/jz4740/clock.h | 4 +
2 files changed, 224 insertions(+), 10 deletions(-) 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 --- a/arch/mips/jz4740/clock.c
+++ b/arch/mips/jz4740/clock.c +++ b/arch/mips/jz4740/clock.c
@@ -1,5 +1,8 @@ @@ -1,5 +1,8 @@
@ -71,7 +69,7 @@ index 118a8a5..da423d1 100644
struct main_clk { struct main_clk {
struct clk clk; struct clk clk;
uint32_t div_offset; 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); 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) 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; 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) 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; return 0;
} }
@ -331,8 +329,6 @@ index 118a8a5..da423d1 100644
spin_lock_init(&jz_clock_lock); spin_lock_init(&jz_clock_lock);
jz_clk_ext.rate = jz4740_clock_bdata.ext_rate; 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 --- a/arch/mips/jz4740/clock.h
+++ b/arch/mips/jz4740/clock.h +++ b/arch/mips/jz4740/clock.h
@@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
@ -353,6 +349,3 @@ index 5d07499..cc8d1db 100644
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
void jz4740_clock_debugfs_init(void); void jz4740_clock_debugfs_init(void);
void jz4740_clock_debugfs_add_clk(struct clk *clk); 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(-) 4 files changed, 240 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/jz4740/cpufreq.c 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 --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -209,6 +209,7 @@ config MACH_JZ4740 @@ -209,6 +209,7 @@ config MACH_JZ4740
@ -24,20 +22,15 @@ index d46f1da..8128df7 100644
config LANTIQ config LANTIQ
bool "Lantiq based platforms" 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 --- a/arch/mips/jz4740/Makefile
+++ b/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 # PM support
obj-$(CONFIG_PM) += pm.o obj-$(CONFIG_PM) += pm.o
+obj-$(CONFIG_CPU_FREQ_JZ) += cpufreq.o +obj-$(CONFIG_CPU_FREQ_JZ) += cpufreq.o
ccflags-y := -Werror -Wall 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 --- /dev/null
+++ b/arch/mips/jz4740/cpufreq.c +++ b/arch/mips/jz4740/cpufreq.c
@@ -0,0 +1,226 @@ @@ -0,0 +1,226 @@
@ -267,8 +260,6 @@ index 0000000..aa41e9f
+ "Maarten ter Huurne <maarten@treewalker.org>"); + "Maarten ter Huurne <maarten@treewalker.org>");
+MODULE_DESCRIPTION("cpufreq driver for Jz4740"); +MODULE_DESCRIPTION("cpufreq driver for Jz4740");
+MODULE_LICENSE("GPL"); +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 --- a/arch/mips/kernel/cpufreq/Kconfig
+++ b/arch/mips/kernel/cpufreq/Kconfig +++ b/arch/mips/kernel/cpufreq/Kconfig
@@ -8,7 +8,7 @@ config MIPS_EXTERNAL_TIMER @@ -8,7 +8,7 @@ config MIPS_EXTERNAL_TIMER
@ -305,6 +296,3 @@ index 58c601e..11af8e8 100644
endif # CPU_FREQ endif # CPU_FREQ
endmenu 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 +++++++++++++++++++++++++++++++++++++++- drivers/mmc/host/jz4740_mmc.c | 69 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 2 deletions(-) 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 --- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c +++ b/drivers/mmc/host/jz4740_mmc.c
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
@ -22,7 +20,7 @@ index 74218ad..6e40f1b 100644
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/gpio.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); 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 = { static const struct mmc_host_ops jz4740_mmc_ops = {
.request = jz4740_mmc_request, .request = jz4740_mmc_request,
.set_ios = jz4740_mmc_set_ios, .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; goto err_free_host;
} }
@ -103,7 +101,7 @@ index 74218ad..6e40f1b 100644
} }
host->mem = request_mem_region(host->mem->start, 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) { if (!host->mem) {
ret = -EBUSY; ret = -EBUSY;
dev_err(&pdev->dev, "Failed to request base memory region\n"); dev_err(&pdev->dev, "Failed to request base memory region\n");
@ -121,7 +119,7 @@ index 74218ad..6e40f1b 100644
err_clk_put: err_clk_put:
clk_put(host->clk); clk_put(host->clk);
err_free_host: 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); iounmap(host->base);
release_mem_region(host->mem->start, resource_size(host->mem)); release_mem_region(host->mem->start, resource_size(host->mem));
@ -129,6 +127,3 @@ index 74218ad..6e40f1b 100644
clk_put(host->clk); clk_put(host->clk);
platform_set_drvdata(pdev, NULL); 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 ++++++++++++++++++++++++++++++++++++++++------ arch/mips/jz4740/reset.c | 46 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 40 insertions(+), 6 deletions(-) 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 --- a/arch/mips/jz4740/reset.c
+++ b/arch/mips/jz4740/reset.c +++ b/arch/mips/jz4740/reset.c
@@ -21,6 +21,9 @@ @@ -21,6 +21,9 @@
@ -31,18 +29,19 @@ index 5f1fb95..e6d1d7b 100644
static void jz4740_halt(void) static void jz4740_halt(void)
{ {
while (1) { while (1) {
@@ -53,21 +56,52 @@ static void jz4740_restart(char *command) @@ -53,21 +56,52 @@ static void jz4740_restart(char *command
jz4740_halt(); jz4740_halt();
} }
-#define JZ_REG_RTC_CTRL 0x00 -#define JZ_REG_RTC_CTRL 0x00
-#define JZ_REG_RTC_HIBERNATE 0x20 -#define JZ_REG_RTC_HIBERNATE 0x20
-
-#define JZ_RTC_CTRL_WRDY BIT(7)
+#define JZ_REG_RTC_CTRL 0x00 +#define JZ_REG_RTC_CTRL 0x00
+#define JZ_REG_RTC_HIBERNATE 0x20 +#define JZ_REG_RTC_HIBERNATE 0x20
+#define JZ_REG_RTC_WAKEUP_FILTER 0x24 +#define JZ_REG_RTC_WAKEUP_FILTER 0x24
+#define JZ_REG_RTC_RESET_COUNTER 0x28 +#define JZ_REG_RTC_RESET_COUNTER 0x28
+
-#define JZ_RTC_CTRL_WRDY BIT(7)
+#define JZ_RTC_CTRL_WRDY BIT(7) +#define JZ_RTC_CTRL_WRDY BIT(7)
+#define JZ_RTC_WAKEUP_FILTER_MASK 0x0000FFE0 +#define JZ_RTC_WAKEUP_FILTER_MASK 0x0000FFE0
+#define JZ_RTC_RESET_COUNTER_MASK 0x00000FE0 +#define JZ_RTC_RESET_COUNTER_MASK 0x00000FE0
@ -90,6 +89,3 @@ index 5f1fb95..e6d1d7b 100644
jz4740_halt(); 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 ++-- sound/soc/jz4740/jz4740-i2s.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-) 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 --- a/sound/soc/jz4740/jz4740-i2s.c
+++ b/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 */ /* Playback */
dma_config = &i2s->pcm_config_playback.dma_config; 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->transfer_size = JZ4740_DMA_TRANSFER_SIZE_16BYTE;
dma_config->request_type = JZ4740_DMA_TYPE_AIC_TRANSMIT; dma_config->request_type = JZ4740_DMA_TYPE_AIC_TRANSMIT;
dma_config->flags = JZ4740_DMA_SRC_AUTOINC; 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 */ /* Capture */
dma_config = &i2s->pcm_config_capture.dma_config; 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->transfer_size = JZ4740_DMA_TRANSFER_SIZE_16BYTE;
dma_config->request_type = JZ4740_DMA_TYPE_AIC_RECEIVE; dma_config->request_type = JZ4740_DMA_TYPE_AIC_RECEIVE;
dma_config->flags = JZ4740_DMA_DST_AUTOINC; 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 ++++++++++++++++++--- sound/soc/jz4740/jz4740-pcm.c | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-) 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 --- a/sound/soc/jz4740/jz4740-pcm.c
+++ b/sound/soc/jz4740/jz4740-pcm.c +++ b/sound/soc/jz4740/jz4740-pcm.c
@@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
@ -25,7 +23,7 @@ index d1989cd..1f9a005 100644
dma_addr_t dma_start; dma_addr_t dma_start;
dma_addr_t dma_pos; dma_addr_t dma_pos;
dma_addr_t dma_end; 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) if (prtd->dma_pos == prtd->dma_end)
prtd->dma_pos = prtd->dma_start; prtd->dma_pos = prtd->dma_start;
@ -41,7 +39,7 @@ index d1989cd..1f9a005 100644
jz4740_dma_disable(prtd->dma); 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); jz4740_dma_set_transfer_count(prtd->dma, count);
prtd->dma_pos += count; prtd->dma_pos += count;
@ -49,7 +47,7 @@ index d1989cd..1f9a005 100644
jz4740_dma_enable(prtd->dma); 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 snd_pcm_runtime *runtime = substream->runtime;
struct jz4740_runtime_data *prtd = runtime->private_data; struct jz4740_runtime_data *prtd = runtime->private_data;
@ -59,7 +57,7 @@ index d1989cd..1f9a005 100644
jz4740_pcm_start_transfer(prtd, substream); 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); runtime->dma_bytes = params_buffer_bytes(params);
prtd->dma_period = params_period_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_start = runtime->dma_addr;
prtd->dma_pos = prtd->dma_start; prtd->dma_pos = prtd->dma_start;
prtd->dma_end = prtd->dma_start + runtime->dma_bytes; 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) if (!prtd->dma)
return -EBUSY; return -EBUSY;
@ -75,7 +73,7 @@ index d1989cd..1f9a005 100644
prtd->dma_pos = prtd->dma_start; prtd->dma_pos = prtd->dma_start;
return 0; 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) if (prtd == NULL)
return -ENOMEM; return -ENOMEM;
@ -89,6 +87,3 @@ index d1989cd..1f9a005 100644
snd_soc_set_runtime_hwparams(substream, &jz4740_pcm_hardware); snd_soc_set_runtime_hwparams(substream, &jz4740_pcm_hardware);
runtime->private_data = prtd; 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 + arch/mips/jz4740/board-qi_lb60.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-) 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 --- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/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 = { static struct jz_nand_platform_data qi_lb60_nand_pdata = {
.ident_callback = qi_lb60_nand_ident, .ident_callback = qi_lb60_nand_ident,
.busy_gpio = 94, .busy_gpio = 94,
@ -21,6 +19,3 @@ index b622941..f2d94c1 100644
}; };
/* Keyboard*/ /* 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 +++++++++++++++++-------------------- sound/soc/jz4740/qi_lb60.c | 56 +++++++++++++++++--------------------
2 files changed, 32 insertions(+), 30 deletions(-) 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 --- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/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 = { static struct platform_device *jz_platform_devices[] __initdata = {
&jz4740_udc_device, &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_gpio_keys,
&qi_lb60_pwm_beeper, &qi_lb60_pwm_beeper,
&qi_lb60_charger_device, &qi_lb60_charger_device,
@ -36,8 +34,6 @@ index f2d94c1..be14dfb 100644
}; };
static void __init board_gpio_setup(void) 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 --- a/sound/soc/jz4740/qi_lb60.c
+++ b/sound/soc/jz4740/qi_lb60.c +++ b/sound/soc/jz4740/qi_lb60.c
@@ -90,56 +90,52 @@ static struct snd_soc_card qi_lb60 = { @@ -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_DESCRIPTION("ALSA SoC QI LB60 Audio support");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:qi-lb60-audio"); +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 ++++++-- drivers/video/fbmem.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-) 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 --- a/drivers/video/fbmem.c
+++ b/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 int
fb_blank(struct fb_info *info, int blank) fb_blank(struct fb_info *info, int blank)
{ {
@ -27,7 +25,7 @@ index ad93629..e13e6bf 100644
ret = info->fbops->fb_blank(blank, info); ret = info->fbops->fb_blank(blank, info);
if (!ret) { 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); fb_notifier_call_chain(FB_EVENT_BLANK, &event);
} }
@ -38,6 +36,3 @@ index ad93629..e13e6bf 100644
return ret; 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 ++++++- arch/mips/jz4740/board-qi_lb60.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-) 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 --- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/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", .name = "NAND ROOTFS partition",
.offset = 8 * 0x100000, .offset = 8 * 0x100000,
@ -26,6 +24,3 @@ index be14dfb..4e24b95 100644
}; };
static void qi_lb60_nand_ident(struct platform_device *pdev, 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 ++ drivers/rtc/rtc-jz4740.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-) 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 --- a/drivers/rtc/rtc-jz4740.c
+++ b/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; return 0;
err_free_irq: err_free_irq:
--
1.7.5.4