From: Jonas Gorski Date: Mon, 9 Apr 2012 14:48:51 +0000 (+0000) Subject: kernel: update linux 3.2 to 3.2.14 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=16b4cbcdd64d92f6e79d41e11eda25a178ef3b53;p=openwrt%2Fstaging%2Fyousong.git kernel: update linux 3.2 to 3.2.14 SVN-Revision: 31222 --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index da8534fd97..7565beeea4 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -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 diff --git a/target/linux/ar71xx/Makefile b/target/linux/ar71xx/Makefile index 83014212cd..d7fb02e8a2 100644 --- a/target/linux/ar71xx/Makefile +++ b/target/linux/ar71xx/Makefile @@ -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 diff --git a/target/linux/au1000/Makefile b/target/linux/au1000/Makefile index bc27a30769..87dd43e618 100644 --- a/target/linux/au1000/Makefile +++ b/target/linux/au1000/Makefile @@ -13,7 +13,7 @@ FEATURES:=jffs2 usb pci SUBTARGETS=au1500 au1550 MAINTAINER:=Florian Fainelli -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += wpad-mini yamonenv diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile index 22b130ad8d..0d4e5b6f98 100644 --- a/target/linux/brcm47xx/Makefile +++ b/target/linux/brcm47xx/Makefile @@ -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 diff --git a/target/linux/cns21xx/Makefile b/target/linux/cns21xx/Makefile index 8dfec8a75a..27d12ee31e 100644 --- a/target/linux/cns21xx/Makefile +++ b/target/linux/cns21xx/Makefile @@ -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 diff --git a/target/linux/ep93xx/Makefile b/target/linux/ep93xx/Makefile index 3f702a33e5..3f8189f5e0 100644 --- a/target/linux/ep93xx/Makefile +++ b/target/linux/ep93xx/Makefile @@ -13,7 +13,7 @@ FEATURES:=squashfs jffs2 ext4 targz usb CFLAGS:=-Os -pipe -march=armv4t -fno-caller-saves MAINTAINER:=Florian Fainelli -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/generic/patches-3.2/910-kobject_uevent.patch b/target/linux/generic/patches-3.2/910-kobject_uevent.patch index f15749fa17..aa9a40f099 100644 --- a/target/linux/generic/patches-3.2/910-kobject_uevent.patch +++ b/target/linux/generic/patches-3.2/910-kobject_uevent.patch @@ -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; diff --git a/target/linux/generic/patches-3.2/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/patches-3.2/911-kobject_add_broadcast_uevent.patch index 0d1d0125ba..084db9a488 100644 --- a/target/linux/generic/patches-3.2/911-kobject_add_broadcast_uevent.patch +++ b/target/linux/generic/patches-3.2/911-kobject_add_broadcast_uevent.patch @@ -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) diff --git a/target/linux/generic/patches-3.2/950-vm_exports.patch b/target/linux/generic/patches-3.2/950-vm_exports.patch index 355ecba8ec..0f69c5fc83 100644 --- a/target/linux/generic/patches-3.2/950-vm_exports.patch +++ b/target/linux/generic/patches-3.2/950-vm_exports.patch @@ -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; } diff --git a/target/linux/lantiq/Makefile b/target/linux/lantiq/Makefile index f7acee387d..9623a0b4e5 100644 --- a/target/linux/lantiq/Makefile +++ b/target/linux/lantiq/Makefile @@ -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 diff --git a/target/linux/malta/Makefile b/target/linux/malta/Makefile index 0f31617450..7f6a5a47e1 100644 --- a/target/linux/malta/Makefile +++ b/target/linux/malta/Makefile @@ -13,7 +13,7 @@ SUBTARGETS:=le be INITRAMFS_EXTRA_FILES:= MAINTAINER:=Florian Fainelli -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/mpc52xx/Makefile b/target/linux/mpc52xx/Makefile index c28d5f9785..bd3afe4a97 100644 --- a/target/linux/mpc52xx/Makefile +++ b/target/linux/mpc52xx/Makefile @@ -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 diff --git a/target/linux/omap4/Makefile b/target/linux/omap4/Makefile index 37ed32c76d..e7dbe4a65e 100644 --- a/target/linux/omap4/Makefile +++ b/target/linux/omap4/Makefile @@ -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 diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile index c6e8e2b860..c12b647acf 100644 --- a/target/linux/ppc40x/Makefile +++ b/target/linux/ppc40x/Makefile @@ -13,7 +13,7 @@ FEATURES:=squashfs CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405 MAINTAINER:=Imre Kaloz -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/ppc44x/Makefile b/target/linux/ppc44x/Makefile index 01d2f63f2e..7e7d00c4ef 100644 --- a/target/linux/ppc44x/Makefile +++ b/target/linux/ppc44x/Makefile @@ -13,7 +13,7 @@ FEATURES:=squashfs CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440 MAINTAINER:=Imre Kaloz -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile index 1265684fce..7d146c74d1 100644 --- a/target/linux/ramips/Makefile +++ b/target/linux/ramips/Makefile @@ -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+=\ diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile index ea01ff6675..7ae1f62998 100644 --- a/target/linux/uml/Makefile +++ b/target/linux/uml/Makefile @@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux FEATURES:=ext4 audio MAINTAINER:=Florian Fainelli -LINUX_VERSION:=3.2.13 +LINUX_VERSION:=3.2.14 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/x86/patches-3.2/900-8139cp_napi_gro_flush.patch b/target/linux/x86/patches-3.2/900-8139cp_napi_gro_flush.patch deleted file mode 100644 index 532cb2ca0d..0000000000 --- a/target/linux/x86/patches-3.2/900-8139cp_napi_gro_flush.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b189e810619a676e6b931a942a3e8387f3d39c21 Mon Sep 17 00:00:00 2001 -From: =?utf8?q?fran=C3=A7ois=20romieu?= -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 -Tested-by: Marin Glibic -Signed-off-by: David S. Miller ---- - 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); diff --git a/target/linux/xburst/Makefile b/target/linux/xburst/Makefile index 8cec4398f1..20722d866f 100644 --- a/target/linux/xburst/Makefile +++ b/target/linux/xburst/Makefile @@ -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 diff --git a/target/linux/xburst/patches-3.2/0001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch b/target/linux/xburst/patches-3.2/0001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch index 40a1eaa609..c340c6c7e3 100644 --- a/target/linux/xburst/patches-3.2/0001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch +++ b/target/linux/xburst/patches-3.2/0001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0002-Add-jz4740-udc-driver.patch b/target/linux/xburst/patches-3.2/0002-Add-jz4740-udc-driver.patch index f6d0015c76..507e99117a 100644 --- a/target/linux/xburst/patches-3.2/0002-Add-jz4740-udc-driver.patch +++ b/target/linux/xburst/patches-3.2/0002-Add-jz4740-udc-driver.patch @@ -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 "); +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 - diff --git a/target/linux/xburst/patches-3.2/0003-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch b/target/linux/xburst/patches-3.2/0003-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch index b92c967e13..9583ab76c5 100644 --- a/target/linux/xburst/patches-3.2/0003-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch +++ b/target/linux/xburst/patches-3.2/0003-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0004-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch b/target/linux/xburst/patches-3.2/0004-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch index aab8f04328..290a662206 100644 --- a/target/linux/xburst/patches-3.2/0004-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch +++ b/target/linux/xburst/patches-3.2/0004-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0005-NAND-Optimize-reading-the-eec-data-for-the-JZ4740.patch b/target/linux/xburst/patches-3.2/0005-NAND-Optimize-reading-the-eec-data-for-the-JZ4740.patch index 89247cafc9..38a1395075 100644 --- a/target/linux/xburst/patches-3.2/0005-NAND-Optimize-reading-the-eec-data-for-the-JZ4740.patch +++ b/target/linux/xburst/patches-3.2/0005-NAND-Optimize-reading-the-eec-data-for-the-JZ4740.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0006-MTD-NAND-JZ4740-Multi-bank-support-with-autodetectio.patch b/target/linux/xburst/patches-3.2/0006-MTD-NAND-JZ4740-Multi-bank-support-with-autodetectio.patch index e5edbc0c89..4110147974 100644 --- a/target/linux/xburst/patches-3.2/0006-MTD-NAND-JZ4740-Multi-bank-support-with-autodetectio.patch +++ b/target/linux/xburst/patches-3.2/0006-MTD-NAND-JZ4740-Multi-bank-support-with-autodetectio.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0007-Add-ili8960-lcd-driver.patch b/target/linux/xburst/patches-3.2/0007-Add-ili8960-lcd-driver.patch index d31f5176a5..d7eaa0793f 100644 --- a/target/linux/xburst/patches-3.2/0007-Add-ili8960-lcd-driver.patch +++ b/target/linux/xburst/patches-3.2/0007-Add-ili8960-lcd-driver.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0008-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch b/target/linux/xburst/patches-3.2/0008-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch index f6a26fdd64..223459cab4 100644 --- a/target/linux/xburst/patches-3.2/0008-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch +++ b/target/linux/xburst/patches-3.2/0008-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0009-dev-mem-Add-kernel-config-option-to-omit-this-device.patch b/target/linux/xburst/patches-3.2/0009-dev-mem-Add-kernel-config-option-to-omit-this-device.patch index 99251adbe3..28388fba76 100644 --- a/target/linux/xburst/patches-3.2/0009-dev-mem-Add-kernel-config-option-to-omit-this-device.patch +++ b/target/linux/xburst/patches-3.2/0009-dev-mem-Add-kernel-config-option-to-omit-this-device.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0010-cpufreq_stats-Support-runtime-changes-to-frequency-t.patch b/target/linux/xburst/patches-3.2/0010-cpufreq_stats-Support-runtime-changes-to-frequency-t.patch index d65a362dc5..677e3c5e26 100644 --- a/target/linux/xburst/patches-3.2/0010-cpufreq_stats-Support-runtime-changes-to-frequency-t.patch +++ b/target/linux/xburst/patches-3.2/0010-cpufreq_stats-Support-runtime-changes-to-frequency-t.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0011-MIPS-JZ4740-Added-setting-of-PLL-rate-and-main-divid.patch b/target/linux/xburst/patches-3.2/0011-MIPS-JZ4740-Added-setting-of-PLL-rate-and-main-divid.patch index b667ebb6cd..01c211ba77 100644 --- a/target/linux/xburst/patches-3.2/0011-MIPS-JZ4740-Added-setting-of-PLL-rate-and-main-divid.patch +++ b/target/linux/xburst/patches-3.2/0011-MIPS-JZ4740-Added-setting-of-PLL-rate-and-main-divid.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0012-MIPS-JZ4740-Add-cpufreq-support.patch b/target/linux/xburst/patches-3.2/0012-MIPS-JZ4740-Add-cpufreq-support.patch index 3461d1d61c..48ec0ca741 100644 --- a/target/linux/xburst/patches-3.2/0012-MIPS-JZ4740-Add-cpufreq-support.patch +++ b/target/linux/xburst/patches-3.2/0012-MIPS-JZ4740-Add-cpufreq-support.patch @@ -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 "); +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 - diff --git a/target/linux/xburst/patches-3.2/0013-MMC-JZ4740-Added-support-for-CPU-frequency-changing.patch b/target/linux/xburst/patches-3.2/0013-MMC-JZ4740-Added-support-for-CPU-frequency-changing.patch index da1c4f1e9b..f42d67a6fa 100644 --- a/target/linux/xburst/patches-3.2/0013-MMC-JZ4740-Added-support-for-CPU-frequency-changing.patch +++ b/target/linux/xburst/patches-3.2/0013-MMC-JZ4740-Added-support-for-CPU-frequency-changing.patch @@ -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 #include -@@ -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 - diff --git a/target/linux/xburst/patches-3.2/0014-MIPS-JZ4740-reset-Initialize-hibernate-wakeup-counte.patch b/target/linux/xburst/patches-3.2/0014-MIPS-JZ4740-reset-Initialize-hibernate-wakeup-counte.patch index 6a49e35825..b4e484321f 100644 --- a/target/linux/xburst/patches-3.2/0014-MIPS-JZ4740-reset-Initialize-hibernate-wakeup-counte.patch +++ b/target/linux/xburst/patches-3.2/0014-MIPS-JZ4740-reset-Initialize-hibernate-wakeup-counte.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0015-ASoC-JZ4740-Replaced-comma-operators-with-semicolons.patch b/target/linux/xburst/patches-3.2/0015-ASoC-JZ4740-Replaced-comma-operators-with-semicolons.patch index 2bf28ce769..9e812e1ca6 100644 --- a/target/linux/xburst/patches-3.2/0015-ASoC-JZ4740-Replaced-comma-operators-with-semicolons.patch +++ b/target/linux/xburst/patches-3.2/0015-ASoC-JZ4740-Replaced-comma-operators-with-semicolons.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0016-ASoC-JZ4740-Support-buffer-size-that-is-not-a-multip.patch b/target/linux/xburst/patches-3.2/0016-ASoC-JZ4740-Support-buffer-size-that-is-not-a-multip.patch index 5c300a24bf..552f811d6b 100644 --- a/target/linux/xburst/patches-3.2/0016-ASoC-JZ4740-Support-buffer-size-that-is-not-a-multip.patch +++ b/target/linux/xburst/patches-3.2/0016-ASoC-JZ4740-Support-buffer-size-that-is-not-a-multip.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0017-MIPS-JZ4740-qi_lb60-Look-for-NAND-chip-in-bank-1.patch b/target/linux/xburst/patches-3.2/0017-MIPS-JZ4740-qi_lb60-Look-for-NAND-chip-in-bank-1.patch index 3fd3f95c4c..f6b11540af 100644 --- a/target/linux/xburst/patches-3.2/0017-MIPS-JZ4740-qi_lb60-Look-for-NAND-chip-in-bank-1.patch +++ b/target/linux/xburst/patches-3.2/0017-MIPS-JZ4740-qi_lb60-Look-for-NAND-chip-in-bank-1.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0018-ASoC-jz4740-Convert-qi_lb60-to-use-snd_soc_register_.patch b/target/linux/xburst/patches-3.2/0018-ASoC-jz4740-Convert-qi_lb60-to-use-snd_soc_register_.patch index bb2317f113..52962ad836 100644 --- a/target/linux/xburst/patches-3.2/0018-ASoC-jz4740-Convert-qi_lb60-to-use-snd_soc_register_.patch +++ b/target/linux/xburst/patches-3.2/0018-ASoC-jz4740-Convert-qi_lb60-to-use-snd_soc_register_.patch @@ -12,11 +12,9 @@ Signed-off-by: Axel Lin 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 - diff --git a/target/linux/xburst/patches-3.2/0019-Framebuffer-notifier-Call-notifier-callbacks-prior-t.patch b/target/linux/xburst/patches-3.2/0019-Framebuffer-notifier-Call-notifier-callbacks-prior-t.patch index 199b1e63a2..2709883ff1 100644 --- a/target/linux/xburst/patches-3.2/0019-Framebuffer-notifier-Call-notifier-callbacks-prior-t.patch +++ b/target/linux/xburst/patches-3.2/0019-Framebuffer-notifier-Call-notifier-callbacks-prior-t.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0020-qi_lb60-NAND-add-data-partition.patch b/target/linux/xburst/patches-3.2/0020-qi_lb60-NAND-add-data-partition.patch index 5121ddcd85..9d45dd8698 100644 --- a/target/linux/xburst/patches-3.2/0020-qi_lb60-NAND-add-data-partition.patch +++ b/target/linux/xburst/patches-3.2/0020-qi_lb60-NAND-add-data-partition.patch @@ -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 - diff --git a/target/linux/xburst/patches-3.2/0021-rtc-jz4740-fix-hwclock-give-time-out.patch b/target/linux/xburst/patches-3.2/0021-rtc-jz4740-fix-hwclock-give-time-out.patch index b661f6dc3b..b68033d3bc 100644 --- a/target/linux/xburst/patches-3.2/0021-rtc-jz4740-fix-hwclock-give-time-out.patch +++ b/target/linux/xburst/patches-3.2/0021-rtc-jz4740-fix-hwclock-give-time-out.patch @@ -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 -