kernel: update linux 3.2 to 3.2.14
SVN-Revision: 31222
This commit is contained in:
parent
1a57b05f47
commit
16b4cbcdd6
40 changed files with 88 additions and 264 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=jffs2 usb pci
|
|||
SUBTARGETS=au1500 au1550
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
DEFAULT_PACKAGES += wpad-mini yamonenv
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=squashfs jffs2 ext4 targz usb
|
|||
CFLAGS:=-Os -pipe -march=armv4t -fno-caller-saves
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ SUBTARGETS:=le be
|
|||
INITRAMFS_EXTRA_FILES:=
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ BOARD:=omap4
|
|||
BOARDNAME:=TI OMAP4
|
||||
FEATURES:=usb targz audio display
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
CFLAGS:=-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=squashfs
|
|||
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=squashfs
|
|||
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
|
|
@ -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+=\
|
||||
|
|
|
@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux
|
|||
FEATURES:=ext4 audio
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
LINUX_VERSION:=3.2.13
|
||||
LINUX_VERSION:=3.2.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
|
|
@ -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);
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -17,8 +17,6 @@ History:
|
|||
create mode 100644 drivers/usb/gadget/jz4740_udc.c
|
||||
create mode 100644 drivers/usb/gadget/jz4740_udc.h
|
||||
|
||||
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
|
||||
index 23a4473..89b7d28 100644
|
||||
--- a/drivers/usb/gadget/Kconfig
|
||||
+++ b/drivers/usb/gadget/Kconfig
|
||||
@@ -178,6 +178,14 @@ config USB_FUSB300
|
||||
|
@ -36,8 +34,6 @@ index 23a4473..89b7d28 100644
|
|||
config USB_OMAP
|
||||
tristate "OMAP USB Device Controller"
|
||||
depends on ARCH_OMAP
|
||||
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
|
||||
index b54ac61..2d65f6e 100644
|
||||
--- a/drivers/usb/gadget/Makefile
|
||||
+++ b/drivers/usb/gadget/Makefile
|
||||
@@ -31,6 +31,7 @@ obj-$(CONFIG_USB_PXA_U2O) += mv_udc.o
|
||||
|
@ -48,8 +44,6 @@ index b54ac61..2d65f6e 100644
|
|||
|
||||
#
|
||||
# USB gadget drivers
|
||||
diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
|
||||
index a8855d0..99f1580 100644
|
||||
--- a/drivers/usb/gadget/gadget_chips.h
|
||||
+++ b/drivers/usb/gadget/gadget_chips.h
|
||||
@@ -36,6 +36,7 @@
|
||||
|
@ -60,7 +54,7 @@ index a8855d0..99f1580 100644
|
|||
#define gadget_is_langwell(g) (!strcmp("langwell_udc", (g)->name))
|
||||
#define gadget_is_m66592(g) (!strcmp("m66592_udc", (g)->name))
|
||||
#define gadget_is_musbhdrc(g) (!strcmp("musb-hdrc", (g)->name))
|
||||
@@ -118,6 +119,8 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
|
||||
@@ -118,6 +119,8 @@ static inline int usb_gadget_controller_
|
||||
return 0x31;
|
||||
else if (gadget_is_dwc3(gadget))
|
||||
return 0x32;
|
||||
|
@ -69,9 +63,6 @@ index a8855d0..99f1580 100644
|
|||
|
||||
return -ENOENT;
|
||||
}
|
||||
diff --git a/drivers/usb/gadget/jz4740_udc.c b/drivers/usb/gadget/jz4740_udc.c
|
||||
new file mode 100644
|
||||
index 0000000..8d36434
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/gadget/jz4740_udc.c
|
||||
@@ -0,0 +1,2199 @@
|
||||
|
@ -2274,9 +2265,6 @@ index 0000000..8d36434
|
|||
+MODULE_DESCRIPTION("JZ4740 USB Device Controller");
|
||||
+MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/drivers/usb/gadget/jz4740_udc.h b/drivers/usb/gadget/jz4740_udc.h
|
||||
new file mode 100644
|
||||
index 0000000..53fd1da
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/gadget/jz4740_udc.h
|
||||
@@ -0,0 +1,101 @@
|
||||
|
@ -2381,6 +2369,3 @@ index 0000000..53fd1da
|
|||
+}
|
||||
+
|
||||
+#endif /* __USB_GADGET_JZ4740_H__ */
|
||||
--
|
||||
1.7.5.4
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@ This is a squashed version of Uli's driver that was further developed in the ope
|
|||
4 files changed, 240 insertions(+), 1 deletions(-)
|
||||
create mode 100644 arch/mips/jz4740/cpufreq.c
|
||||
|
||||
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
|
||||
index d46f1da..8128df7 100644
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -209,6 +209,7 @@ config MACH_JZ4740
|
||||
|
@ -24,20 +22,15 @@ index d46f1da..8128df7 100644
|
|||
|
||||
config LANTIQ
|
||||
bool "Lantiq based platforms"
|
||||
diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile
|
||||
index a9dff33..15f828e 100644
|
||||
--- a/arch/mips/jz4740/Makefile
|
||||
+++ b/arch/mips/jz4740/Makefile
|
||||
@@ -16,5 +16,6 @@ obj-$(CONFIG_JZ4740_QI_LB60) += board-qi_lb60.o
|
||||
@@ -16,5 +16,6 @@ obj-$(CONFIG_JZ4740_QI_LB60) += board-qi
|
||||
# PM support
|
||||
|
||||
obj-$(CONFIG_PM) += pm.o
|
||||
+obj-$(CONFIG_CPU_FREQ_JZ) += cpufreq.o
|
||||
|
||||
ccflags-y := -Werror -Wall
|
||||
diff --git a/arch/mips/jz4740/cpufreq.c b/arch/mips/jz4740/cpufreq.c
|
||||
new file mode 100644
|
||||
index 0000000..aa41e9f
|
||||
--- /dev/null
|
||||
+++ b/arch/mips/jz4740/cpufreq.c
|
||||
@@ -0,0 +1,226 @@
|
||||
|
@ -267,8 +260,6 @@ index 0000000..aa41e9f
|
|||
+ "Maarten ter Huurne <maarten@treewalker.org>");
|
||||
+MODULE_DESCRIPTION("cpufreq driver for Jz4740");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/arch/mips/kernel/cpufreq/Kconfig b/arch/mips/kernel/cpufreq/Kconfig
|
||||
index 58c601e..11af8e8 100644
|
||||
--- a/arch/mips/kernel/cpufreq/Kconfig
|
||||
+++ b/arch/mips/kernel/cpufreq/Kconfig
|
||||
@@ -8,7 +8,7 @@ config MIPS_EXTERNAL_TIMER
|
||||
|
@ -305,6 +296,3 @@ index 58c601e..11af8e8 100644
|
|||
endif # CPU_FREQ
|
||||
|
||||
endmenu
|
||||
--
|
||||
1.7.5.4
|
||||
|
||||
|
|
|
@ -10,8 +10,6 @@ Also the frequency change is postponed if an I/O operation is in progress.
|
|||
drivers/mmc/host/jz4740_mmc.c | 69 +++++++++++++++++++++++++++++++++++++++-
|
||||
1 files changed, 67 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
|
||||
index 74218ad..6e40f1b 100644
|
||||
--- a/drivers/mmc/host/jz4740_mmc.c
|
||||
+++ b/drivers/mmc/host/jz4740_mmc.c
|
||||
@@ -23,6 +23,7 @@
|
||||
|
@ -22,7 +20,7 @@ index 74218ad..6e40f1b 100644
|
|||
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/gpio.h>
|
||||
@@ -685,6 +686,60 @@ static void jz4740_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
|
||||
@@ -685,6 +686,60 @@ static void jz4740_mmc_enable_sdio_irq(s
|
||||
jz4740_mmc_set_irq_enabled(host, JZ_MMC_IRQ_SDIO, enable);
|
||||
}
|
||||
|
||||
|
@ -83,7 +81,7 @@ index 74218ad..6e40f1b 100644
|
|||
static const struct mmc_host_ops jz4740_mmc_ops = {
|
||||
.request = jz4740_mmc_request,
|
||||
.set_ios = jz4740_mmc_set_ios,
|
||||
@@ -834,11 +889,18 @@ static int __devinit jz4740_mmc_probe(struct platform_device* pdev)
|
||||
@@ -834,11 +889,18 @@ static int __devinit jz4740_mmc_probe(st
|
||||
goto err_free_host;
|
||||
}
|
||||
|
||||
|
@ -103,7 +101,7 @@ index 74218ad..6e40f1b 100644
|
|||
}
|
||||
|
||||
host->mem = request_mem_region(host->mem->start,
|
||||
@@ -846,7 +908,7 @@ static int __devinit jz4740_mmc_probe(struct platform_device* pdev)
|
||||
@@ -846,7 +908,7 @@ static int __devinit jz4740_mmc_probe(st
|
||||
if (!host->mem) {
|
||||
ret = -EBUSY;
|
||||
dev_err(&pdev->dev, "Failed to request base memory region\n");
|
||||
|
@ -121,7 +119,7 @@ index 74218ad..6e40f1b 100644
|
|||
err_clk_put:
|
||||
clk_put(host->clk);
|
||||
err_free_host:
|
||||
@@ -958,6 +1022,7 @@ static int __devexit jz4740_mmc_remove(struct platform_device *pdev)
|
||||
@@ -958,6 +1022,7 @@ static int __devexit jz4740_mmc_remove(s
|
||||
iounmap(host->base);
|
||||
release_mem_region(host->mem->start, resource_size(host->mem));
|
||||
|
||||
|
@ -129,6 +127,3 @@ index 74218ad..6e40f1b 100644
|
|||
clk_put(host->clk);
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
--
|
||||
1.7.5.4
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -12,11 +12,9 @@ Signed-off-by: Axel Lin <axel.lin@gmail.com>
|
|||
sound/soc/jz4740/qi_lb60.c | 56 +++++++++++++++++--------------------
|
||||
2 files changed, 32 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
|
||||
index f2d94c1..be14dfb 100644
|
||||
--- a/arch/mips/jz4740/board-qi_lb60.c
|
||||
+++ b/arch/mips/jz4740/board-qi_lb60.c
|
||||
@@ -418,6 +418,11 @@ static struct platform_device qi_lb60_charger_device = {
|
||||
@@ -418,6 +418,11 @@ static struct platform_device qi_lb60_ch
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -28,7 +26,7 @@ index f2d94c1..be14dfb 100644
|
|||
|
||||
static struct platform_device *jz_platform_devices[] __initdata = {
|
||||
&jz4740_udc_device,
|
||||
@@ -434,6 +439,7 @@ static struct platform_device *jz_platform_devices[] __initdata = {
|
||||
@@ -434,6 +439,7 @@ static struct platform_device *jz_platfo
|
||||
&qi_lb60_gpio_keys,
|
||||
&qi_lb60_pwm_beeper,
|
||||
&qi_lb60_charger_device,
|
||||
|
@ -36,8 +34,6 @@ index f2d94c1..be14dfb 100644
|
|||
};
|
||||
|
||||
static void __init board_gpio_setup(void)
|
||||
diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c
|
||||
index c5fc339..67ddbdd 100644
|
||||
--- a/sound/soc/jz4740/qi_lb60.c
|
||||
+++ b/sound/soc/jz4740/qi_lb60.c
|
||||
@@ -90,56 +90,52 @@ static struct snd_soc_card qi_lb60 = {
|
||||
|
@ -123,6 +119,3 @@ index c5fc339..67ddbdd 100644
|
|||
MODULE_DESCRIPTION("ALSA SoC QI LB60 Audio support");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
+MODULE_ALIAS("platform:qi-lb60-audio");
|
||||
--
|
||||
1.7.5.4
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue