ifeq ($(LINUX_VERSION),2.6.32.11)
LINUX_KERNEL_MD5SUM:=3709c691d909b4f8ca692edc6c726cb6
endif
-ifeq ($(LINUX_VERSION),2.6.33)
- LINUX_KERNEL_MD5SUM:=c3883760b18d50e8d78819c54d579b00
-endif
-ifeq ($(LINUX_VERSION),2.6.33.1)
- LINUX_KERNEL_MD5SUM:=73b514ec918b88a45656be191b1ee226
-endif
ifeq ($(LINUX_VERSION),2.6.33.2)
LINUX_KERNEL_MD5SUM:=80c5ff544b0ee4d9b5d8b8b89d4a0ef9
endif
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -166,6 +166,13 @@ ifeq (,$(findstring march=octeon, $(cfla
+@@ -168,6 +168,13 @@ ifeq (,$(findstring march=octeon, $(cfla
cflags-$(CONFIG_CPU_CAVIUM_OCTEON) += -Wa,-march=octeon
endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -784,6 +784,10 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -784,6 +784,10 @@ static struct ssb_sprom bcm63xx_sprom =
};
#endif
* SPI clock
*/
static void spi_set(struct clk *clk, int enable)
-@@ -208,6 +232,8 @@ struct clk *clk_get(struct device *dev,
+@@ -208,6 +232,8 @@ struct clk *clk_get(struct device *dev,
return &clk_ephy;
if (!strcmp(id, "usbh"))
return &clk_usbh;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -467,6 +467,49 @@
+@@ -467,6 +467,49 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -692,6 +735,7 @@
+@@ -692,6 +735,7 @@ static const struct board_info __initdat
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
---- linux-2.6.32.10.orig/drivers/net/bcm63xx_enet.c 2010-04-06 19:25:52.612158288 +0100
-+++ linux-2.6.32.10/drivers/net/bcm63xx_enet.c 2010-04-07 21:40:26.991801424 +0100
-@@ -965,7 +965,9 @@
+--- a/drivers/net/bcm63xx_enet.c
++++ b/drivers/net/bcm63xx_enet.c
+@@ -962,7 +962,9 @@ static int bcm_enet_open(struct net_devi
/* all set, enable mac and interrupts, start dma engine and
* kick rx dma channel */
wmb();
+ enet_writel(priv, val, ENET_CTL_REG);
enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);
enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK,
- ENETDMA_CHANCFG_REG(priv->rx_chan));
\ No newline at end of file
+ ENETDMA_CHANCFG_REG(priv->rx_chan));
---- a/fs/jffs2/Kconfig
-+++ b/fs/jffs2/Kconfig
-@@ -139,6 +139,15 @@
+--- a/fs/jffs2/Kconfig
++++ b/fs/jffs2/Kconfig
+@@ -139,6 +139,15 @@ config JFFS2_LZO
This feature was added in July, 2007. Say 'N' if you need
compatibility with older bootloaders or kernels.
config JFFS2_RTIME
bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
depends on JFFS2_FS
---- a/fs/jffs2/Makefile
-+++ b/fs/jffs2/Makefile
-@@ -18,4 +18,7 @@
+--- a/fs/jffs2/Makefile
++++ b/fs/jffs2/Makefile
+@@ -18,4 +18,7 @@ jffs2-$(CONFIG_JFFS2_RUBIN) += compr_rub
jffs2-$(CONFIG_JFFS2_RTIME) += compr_rtime.o
jffs2-$(CONFIG_JFFS2_ZLIB) += compr_zlib.o
jffs2-$(CONFIG_JFFS2_LZO) += compr_lzo.o
jffs2-$(CONFIG_JFFS2_SUMMARY) += summary.o
+
+CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma
---- a/fs/jffs2/compr.c
-+++ b/fs/jffs2/compr.c
-@@ -319,6 +319,9 @@
+--- a/fs/jffs2/compr.c
++++ b/fs/jffs2/compr.c
+@@ -319,6 +319,9 @@ int __init jffs2_compressors_init(void)
#ifdef CONFIG_JFFS2_LZO
jffs2_lzo_init();
#endif
/* Setting default compression mode */
#ifdef CONFIG_JFFS2_CMODE_NONE
jffs2_compression_mode = JFFS2_COMPR_MODE_NONE;
-@@ -342,6 +345,9 @@
+@@ -342,6 +345,9 @@ int __init jffs2_compressors_init(void)
int jffs2_compressors_exit(void)
{
/* Unregistering compressors */
#ifdef CONFIG_JFFS2_LZO
jffs2_lzo_exit();
#endif
---- a/fs/jffs2/compr.h
-+++ b/fs/jffs2/compr.h
+--- a/fs/jffs2/compr.h
++++ b/fs/jffs2/compr.h
@@ -28,9 +28,9 @@
#define JFFS2_DYNRUBIN_PRIORITY 20
#define JFFS2_LZARI_PRIORITY 30
#define JFFS2_RUBINMIPS_DISABLED /* RUBINs will be used only */
#define JFFS2_DYNRUBIN_DISABLED /* for decompression */
-@@ -98,5 +98,9 @@
+@@ -98,5 +98,9 @@ void jffs2_zlib_exit(void);
int jffs2_lzo_init(void);
void jffs2_lzo_exit(void);
#endif
+#endif
#endif /* __JFFS2_COMPR_H__ */
---- a/fs/jffs2/compr_lzma.c
-+++ b/fs/jffs2/compr_lzma.c
+--- /dev/null
++++ b/fs/jffs2/compr_lzma.c
@@ -0,0 +1,128 @@
+/*
+ * JFFS2 -- Journalling Flash File System, Version 2.
+ jffs2_unregister_compressor(&jffs2_lzma_comp);
+ lzma_free_workspace();
+}
---- a/fs/jffs2/super.c
-+++ b/fs/jffs2/super.c
-@@ -254,14 +254,41 @@
+--- a/fs/jffs2/super.c
++++ b/fs/jffs2/super.c
+@@ -254,14 +254,41 @@ static int __init init_jffs2_fs(void)
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
jffs2_inode_cachep = kmem_cache_create("jffs2_i",
sizeof(struct jffs2_inode_info),
---- a/include/linux/jffs2.h
-+++ b/include/linux/jffs2.h
+--- a/include/linux/jffs2.h
++++ b/include/linux/jffs2.h
@@ -45,6 +45,7 @@
#define JFFS2_COMPR_DYNRUBIN 0x05
#define JFFS2_COMPR_ZLIB 0x06
/* Compatibility flags. */
#define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */
#define JFFS2_NODE_ACCURATE 0x2000
---- a/include/linux/lzma.h
-+++ b/include/linux/lzma.h
+--- /dev/null
++++ b/include/linux/lzma.h
@@ -0,0 +1,62 @@
+#ifndef __LZMA_H__
+#define __LZMA_H__
+static ISzAlloc lzma_alloc = {p_lzma_malloc, p_lzma_free};
+
+#endif
---- a/include/linux/lzma/LzFind.h
-+++ b/include/linux/lzma/LzFind.h
+--- /dev/null
++++ b/include/linux/lzma/LzFind.h
@@ -0,0 +1,115 @@
+/* LzFind.h -- Match finder for LZ algorithms
+2009-04-22 : Igor Pavlov : Public domain */
+#endif
+
+#endif
---- a/include/linux/lzma/LzHash.h
-+++ b/include/linux/lzma/LzHash.h
+--- /dev/null
++++ b/include/linux/lzma/LzHash.h
@@ -0,0 +1,54 @@
+/* LzHash.h -- HASH functions for LZ algorithms
+2009-02-07 : Igor Pavlov : Public domain */
+ hash4Value = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); }
+
+#endif
---- a/include/linux/lzma/LzmaDec.h
-+++ b/include/linux/lzma/LzmaDec.h
+--- /dev/null
++++ b/include/linux/lzma/LzmaDec.h
@@ -0,0 +1,231 @@
+/* LzmaDec.h -- LZMA Decoder
+2009-02-07 : Igor Pavlov : Public domain */
+#endif
+
+#endif
---- a/include/linux/lzma/LzmaEnc.h
-+++ b/include/linux/lzma/LzmaEnc.h
+--- /dev/null
++++ b/include/linux/lzma/LzmaEnc.h
@@ -0,0 +1,80 @@
+/* LzmaEnc.h -- LZMA Encoder
+2009-02-07 : Igor Pavlov : Public domain */
+#endif
+
+#endif
---- a/include/linux/lzma/Types.h
-+++ b/include/linux/lzma/Types.h
+--- /dev/null
++++ b/include/linux/lzma/Types.h
@@ -0,0 +1,226 @@
+/* Types.h -- Basic types
+2009-11-23 : Igor Pavlov : Public domain */
+EXTERN_C_END
+
+#endif
---- a/lib/Kconfig
-+++ b/lib/Kconfig
-@@ -103,6 +103,12 @@
+--- a/lib/Kconfig
++++ b/lib/Kconfig
+@@ -103,6 +103,12 @@ config LZO_COMPRESS
config LZO_DECOMPRESS
tristate
#
# These all provide a common interface (hence the apparent duplication with
# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
---- a/lib/Makefile
-+++ b/lib/Makefile
+--- a/lib/Makefile
++++ b/lib/Makefile
@@ -2,6 +2,16 @@
# Makefile for some libs needed in the kernel.
#
ifdef CONFIG_FUNCTION_TRACER
ORIG_CFLAGS := $(KBUILD_CFLAGS)
KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS))
-@@ -65,6 +75,8 @@
+@@ -65,6 +75,8 @@ obj-$(CONFIG_ZLIB_DEFLATE) += zlib_defla
obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
obj-$(CONFIG_LZO_COMPRESS) += lzo/
obj-$(CONFIG_LZO_DECOMPRESS) += lzo/
lib-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o
lib-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o
---- a/lib/lzma/LzFind.c
-+++ b/lib/lzma/LzFind.c
+--- /dev/null
++++ b/lib/lzma/LzFind.c
@@ -0,0 +1,761 @@
+/* LzFind.c -- Match finder for LZ algorithms
+2009-04-22 : Igor Pavlov : Public domain */
+ vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip;
+ }
+}
---- a/lib/lzma/LzmaDec.c
-+++ b/lib/lzma/LzmaDec.c
+--- /dev/null
++++ b/lib/lzma/LzmaDec.c
@@ -0,0 +1,999 @@
+/* LzmaDec.c -- LZMA Decoder
+2009-09-20 : Igor Pavlov : Public domain */
+ LzmaDec_FreeProbs(&p, alloc);
+ return res;
+}
---- a/lib/lzma/LzmaEnc.c
-+++ b/lib/lzma/LzmaEnc.c
+--- /dev/null
++++ b/lib/lzma/LzmaEnc.c
@@ -0,0 +1,2271 @@
+/* LzmaEnc.c -- LZMA Encoder
+2009-11-24 : Igor Pavlov : Public domain */
+ LzmaEnc_Destroy(p, alloc, allocBig);
+ return res;
+}
---- a/lib/lzma/Makefile
-+++ b/lib/lzma/Makefile
+--- /dev/null
++++ b/lib/lzma/Makefile
@@ -0,0 +1,7 @@
+lzma_compress-objs := LzFind.o LzmaEnc.o
+lzma_decompress-objs := LzmaDec.o
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -375,12 +376,19 @@ struct mtd_info *cfi_cmdset_0002(struct
+@@ -375,12 +376,19 @@ struct mtd_info *cfi_cmdset_0002(struct
if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
unsigned int vced_count, vcei_count;
-@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file
+@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file
/*
* For the first processor also print the system type
*/
depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -89,6 +89,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
+@@ -89,6 +89,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
e = (struct ipt_entry *)(loc_cpu_entry + off);
if (copy_to_user(userptr + off
-@@ -1001,6 +1041,14 @@ copy_entries_to_user(unsigned int total_
- ret = -EFAULT;
+@@ -1002,6 +1042,14 @@ copy_entries_to_user(unsigned int total_
goto free_counters;
}
-+
+
+ flags = e->ip.flags & ~IPT_F_NO_DEF_MATCH;
+ if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags),
+ ret = -EFAULT;
+ goto free_counters;
+ }
-
++
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
+ i += m->u.match_size) {
/* return EBUSY when somebody else is registered, return EEXIST if the
* same handler is registered, return 0 in case of success. */
int nf_register_queue_handler(u_int8_t pf, const struct nf_queue_handler *qh)
-@@ -80,7 +100,7 @@ void nf_unregister_queue_handlers(const
+@@ -80,7 +100,7 @@ void nf_unregister_queue_handlers(const
}
EXPORT_SYMBOL_GPL(nf_unregister_queue_handlers);
--- a/arch/mips/include/asm/string.h
+++ b/arch/mips/include/asm/string.h
-@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
+@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
#define __HAVE_ARCH_MEMSET
extern void *memset(void *__s, int __c, size_t __count);
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
-@@ -124,8 +124,8 @@ int kmem_ptr_validate(struct kmem_cache
+@@ -124,8 +124,8 @@ int kmem_ptr_validate(struct kmem_cache
* to do various tricks to work around compiler limitations in order to
* ensure proper constant folding.
*/
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd);
-@@ -501,6 +505,29 @@ static inline void double_unlock(struct
+@@ -501,6 +505,29 @@ static inline void double_unlock(struct
#endif /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */
#endif /* __KERNEL__ */
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
--- a/fs/mini_fo/aux.c
+++ b/fs/mini_fo/aux.c
-@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb,
+@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb,
err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
/* validate */
--- a/fs/mini_fo/super.c
+++ b/fs/mini_fo/super.c
-@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int
+@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -44,3 +44,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
+@@ -44,3 +44,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o
obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -45,3 +45,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) +=
+@@ -45,3 +45,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) +=
obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
dev->checkpointBlockList[i] = -1;
}
-@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device
+@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device
static int yaffs_CheckpointFlushBuffer(yaffs_Device *dev)
{
{
unsigned char cDelta; /* column parity delta */
unsigned lDelta; /* line parity delta */
-@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char
return 0; /* no error */
if (lDelta == ~lDeltaPrime &&
/* Single bit (recoverable) error in data */
bit = 0;
-@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char
if (cDelta & 0x02)
bit |= 0x01;
return -1;
data[lDelta] ^= (1 << bit);
-@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char
}
if ((yaffs_CountBits32(lDelta) + yaffs_CountBits32(lDeltaPrime) +
/* Reccoverable error in ecc */
*read_ecc = *test_ecc;
-@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char
/* Unrecoverable error */
return -1;
{
unsigned char *alias;
int ret;
-@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry
+@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry
return ret;
}
static int yaffs_file_flush(struct file *file, fl_owner_t id)
#else
static int yaffs_file_flush(struct file *file)
-@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file
+@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file
yaffs_Device *dev = obj->myDev;
T(YAFFS_TRACE_OS,
yaffs_GrossLock(dev);
-@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct
+@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct
yaffs_Device *dev;
BUG_ON(!PageLocked(pg));
#else
if (!PageLocked(pg))
-@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct
+@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct
yaffs_GrossLock(dev);
yaffs_GrossUnlock(dev);
-@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct
+@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct
flush_dcache_page(pg);
kunmap(pg);
if (n < step) {
n++;
continue;
-@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file
+@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file
char *end;
char *mask_name;
const char *x;
int i;
int done = 0;
int add, len = 0;
-@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file
+@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file
while (!done && (pos < count)) {
done = 1;
switch (buf[pos]) {
case '+':
-@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file
+@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file
mask_name = NULL;
mask_bitfield = simple_strtoul(buf + pos, &end, 0);
mask_name = mask_flags[i].mask_name;
mask_bitfield = mask_flags[i].mask_bitfield;
done = 0;
-@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file
+@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file
if (mask_name != NULL) {
done = 0;
case '-':
rg &= ~mask_bitfield;
break;
-@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file
+@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file
yaffs_traceMask = rg | YAFFS_TRACE_ALWAYS;
{
/* Get the real object in case we were fed a hard link as an equivalent object */
equivalentObject = yaffs_GetEquivalentObject(equivalentObject);
-@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object *
+@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object *
}
int nToCopy;
int n = nBytes;
int nDone = 0;
-@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object
dev = in->myDev;
while (n > 0) {
if (dev->nShortOpCaches > 0) {
/* If we can't find the data in the cache, then load it up. */
-@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object
cache->locked = 1;
cache->locked = 0;
} else {
/* Read into the local buffer then copy..*/
-@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object
yaffs_GetTempBuffer(dev, __LINE__);
yaffs_ReadChunkDataFromObject(in, chunk,
localBuffer);
}
n -= nToCopy;
-@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object
return nDone;
}
int newFullChunks;
yaffs_Device *dev = in->myDev;
-@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in,
+@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in,
yaffs_CheckGarbageCollection(dev);
if (newSize < oldFileSize) {
-@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in,
+@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in,
}
{
obj = yaffs_GetEquivalentObject(obj);
-@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object *
+@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object *
{
int init_failed = 0;
unsigned x;
-@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device *
dev->chunkOffset = 0;
dev->nFreeChunks = 0;
if (dev->startBlock == 0) {
dev->internalStartBlock = dev->startBlock + 1;
dev->internalEndBlock = dev->endBlock + 1;
-@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device *
/* Check geometry parameters. */
return YAFFS_FAIL;
}
-@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device *
return YAFFS_FAIL;
}
/* Got the right mix of functions? */
if (!yaffs_CheckDevFunctions(dev)) {
/* Function missing */
-@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device *
dev->isMounted = 1;
/*
* Calculate chunkGroupBits.
-@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device *
bits = ShiftsGE(x);
/* Set up tnode width if wide tnodes are enabled. */
dev->tnodeWidth = 16;
dev->tnodeMask = (1<<dev->tnodeWidth)-1;
-@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device *
dev->hasPendingPrioritisedGCs = 1; /* Assume the worst for now, will get fixed on first GC */
/* Initialise temporary buffers and caches. */
init_failed = 1;
dev->srCache = NULL;
-@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device *
if (!init_failed &&
dev->nShortOpCaches > 0) {
int i;
init_failed = 1;
dev->srLastUse = 0;
-@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device *
dev->cacheHits = 0;
T(YAFFS_TRACE_ALWAYS,
(TSTR("yaffs: restored from checkpoint" TENDSTR)));
} else {
-@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device *
dev->nBackgroundDeletions = 0;
dev->oldestDirtySequence = 0;
/* Clean up the mess */
T(YAFFS_TRACE_TRACING,
(TSTR("yaffs: yaffs_GutsInitialise() aborted.\n" TENDSTR)));
-@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device *
}
{
if (etags) {
memset(etags, 0, sizeof(*etags));
-@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags *
+@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags *
* Returns YAFFS_OK or YAFFS_FAIL.
*/
int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev,
+ yaffs_UnpackTags2(tags, &pt);
+ }
+ }
-+
+
+- if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
+- tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
+ if (localData)
+ yaffs_ReleaseTempBuffer(dev, data, __LINE__);
-- if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
+ if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
- tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
--
++ tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
if (retval == 0)
return YAFFS_OK;
else
error:
if (cb.msg)
-@@ -728,7 +728,7 @@ swconfig_get_attr(struct sk_buff *skb, s
+@@ -732,7 +732,7 @@ swconfig_get_attr(struct sk_buff *skb, s
goto nla_put_failure;
swconfig_put_dev(dev);
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2335,13 +2335,13 @@ int prism2_ap_get_sta_qual(local_info_t
+@@ -2335,13 +2335,13 @@ int prism2_ap_get_sta_qual(local_info_t
addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0)
#include <linux/ioport.h>
#include <linux/pci.h>
-@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[]
+@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[]
MODULE_DEVICE_TABLE(pci, divil_pci);
static struct cdev cs5535_gpio_cdev;
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
-@@ -714,6 +724,61 @@ void add_disk_randomness(struct gendisk
+@@ -714,6 +724,61 @@ void add_disk_randomness(struct gendisk
}
#endif
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -152,16 +152,16 @@ config REED_SOLOMON_DEC16
+@@ -158,16 +158,16 @@ config REED_SOLOMON_DEC16
# Textsearch support is select'ed if needed
#
config TEXTSEARCH
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
-@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(filter-out FORCE,$^) | \
-Index: linux-2.6.33.2/arch/mips/kernel/traps.c
-===================================================================
---- linux-2.6.33.2.orig/arch/mips/kernel/traps.c 2010-04-02 01:02:33.000000000 +0200
-+++ linux-2.6.33.2/arch/mips/kernel/traps.c 2010-04-02 23:36:16.000000000 +0200
-@@ -1496,7 +1496,18 @@
+--- a/arch/mips/kernel/traps.c
++++ b/arch/mips/kernel/traps.c
+@@ -1496,7 +1496,18 @@ void __cpuinit per_cpu_trap_init(void)
if (cpu_has_mips_r2) {
cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP;
cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7;
if (cp0_perfcount_irq == cp0_compare_irq)
cp0_perfcount_irq = -1;
} else {
-Index: linux-2.6.33.2/arch/mips/include/asm/irq.h
-===================================================================
---- linux-2.6.33.2.orig/arch/mips/include/asm/irq.h 2010-04-02 01:02:33.000000000 +0200
-+++ linux-2.6.33.2/arch/mips/include/asm/irq.h 2010-04-02 23:37:14.000000000 +0200
-@@ -133,9 +133,11 @@
+--- a/arch/mips/include/asm/irq.h
++++ b/arch/mips/include/asm/irq.h
+@@ -133,9 +133,11 @@ extern void free_irqno(unsigned int irq)
* IE7. Since R2 their number has to be read from the c0_intctl register.
*/
#define CP0_LEGACY_COMPARE_IRQ 7
-Index: linux-2.6.32.10/arch/mips/kernel/cevt-r4k.c
-===================================================================
---- linux-2.6.32.10.orig/arch/mips/kernel/cevt-r4k.c 2010-04-02 21:11:39.000000000 +0200
-+++ linux-2.6.32.10/arch/mips/kernel/cevt-r4k.c 2010-04-02 21:11:52.000000000 +0200
+--- a/arch/mips/kernel/cevt-r4k.c
++++ b/arch/mips/kernel/cevt-r4k.c
@@ -22,6 +22,22 @@
#ifndef CONFIG_MIPS_MT_SMTC
static int mips_next_event(unsigned long delta,
struct clock_event_device *evt)
{
-@@ -31,6 +47,7 @@
+@@ -31,6 +47,7 @@ static int mips_next_event(unsigned long
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
-Index: linux-2.6.33.2/kernel/irq/chip.c
-===================================================================
---- linux-2.6.33.2.orig/kernel/irq/chip.c 2010-04-02 01:02:33.000000000 +0200
-+++ linux-2.6.33.2/kernel/irq/chip.c 2010-04-02 23:37:40.000000000 +0200
-@@ -650,6 +650,9 @@
+--- a/kernel/irq/chip.c
++++ b/kernel/irq/chip.c
+@@ -650,6 +650,9 @@ handle_percpu_irq(unsigned int irq, stru
kstat_incr_irqs_this_cpu(irq, desc);
-Index: linux-2.6.33.2/arch/mips/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/arch/mips/Kconfig 2010-04-02 23:31:00.000000000 +0200
-+++ linux-2.6.33.2/arch/mips/Kconfig 2010-04-02 23:38:38.000000000 +0200
-@@ -139,6 +139,9 @@
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -139,6 +139,9 @@ config MACH_DECSTATION
otherwise choose R3000.
config MACH_JAZZ
bool "Jazz family of machines"
select ARC
-@@ -693,6 +696,7 @@
+@@ -693,6 +696,7 @@ source "arch/mips/txx9/Kconfig"
source "arch/mips/vr41xx/Kconfig"
source "arch/mips/cavium-octeon/Kconfig"
source "arch/mips/loongson/Kconfig"
endmenu
-Index: linux-2.6.33.2/arch/mips/Makefile
-===================================================================
---- linux-2.6.33.2.orig/arch/mips/Makefile 2010-04-02 23:31:01.000000000 +0200
-+++ linux-2.6.33.2/arch/mips/Makefile 2010-04-02 23:38:38.000000000 +0200
-@@ -317,6 +317,18 @@
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -317,6 +317,18 @@ cflags-$(CONFIG_MIPS_COBALT) += -I$(srct
load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
#
# DECstation family
#
core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/
-Index: linux-2.6.33.2/arch/mips/pci/Makefile
-===================================================================
---- linux-2.6.33.2.orig/arch/mips/pci/Makefile 2010-04-02 01:02:33.000000000 +0200
-+++ linux-2.6.33.2/arch/mips/pci/Makefile 2010-04-02 23:38:38.000000000 +0200
-@@ -55,7 +55,7 @@
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
+@@ -55,7 +55,7 @@ obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capc
obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o
obj-$(CONFIG_CPU_CAVIUM_OCTEON) += pci-octeon.o pcie-octeon.o
-Index: linux-2.6.33.2/drivers/serial/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/drivers/serial/Kconfig 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/serial/Kconfig 2010-04-05 20:33:43.000000000 +0200
-@@ -1383,6 +1383,14 @@
+--- a/drivers/serial/Kconfig
++++ b/drivers/serial/Kconfig
+@@ -1383,6 +1383,14 @@ config SERIAL_OF_PLATFORM_NWPSERIAL_CONS
help
Support for Console on the NWP serial ports.
config SERIAL_QE
tristate "Freescale QUICC Engine serial port support"
depends on QUICC_ENGINE
-Index: linux-2.6.33.2/drivers/serial/Makefile
-===================================================================
---- linux-2.6.33.2.orig/drivers/serial/Makefile 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/serial/Makefile 2010-04-05 20:34:00.000000000 +0200
-@@ -82,3 +82,4 @@
+--- a/drivers/serial/Makefile
++++ b/drivers/serial/Makefile
+@@ -82,3 +82,4 @@ obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgd
obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
obj-$(CONFIG_SERIAL_TIMBERDALE) += timbuart.o
obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o
+obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips.o
-Index: linux-2.6.33.2/drivers/net/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/drivers/net/Kconfig 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/net/Kconfig 2010-04-05 20:33:43.000000000 +0200
-@@ -343,6 +343,12 @@
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -343,6 +343,12 @@ config MACB
source "drivers/net/arm/Kconfig"
config AX88796
tristate "ASIX AX88796 NE2000 clone support"
depends on ARM || MIPS || SUPERH
-Index: linux-2.6.33.2/drivers/net/Makefile
-===================================================================
---- linux-2.6.33.2.orig/drivers/net/Makefile 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/net/Makefile 2010-04-05 20:33:43.000000000 +0200
-@@ -247,6 +247,7 @@
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -247,6 +247,7 @@ pasemi_mac_driver-objs := pasemi_mac.o p
obj-$(CONFIG_MLX4_CORE) += mlx4/
obj-$(CONFIG_ENC28J60) += enc28j60.o
obj-$(CONFIG_ETHOC) += ethoc.o
obj-$(CONFIG_XTENSA_XT2000_SONIC) += xtsonic.o
-Index: linux-2.6.33.2/drivers/mtd/maps/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/drivers/mtd/maps/Kconfig 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/mtd/maps/Kconfig 2010-04-05 20:33:43.000000000 +0200
-@@ -257,6 +257,12 @@
+--- a/drivers/mtd/maps/Kconfig
++++ b/drivers/mtd/maps/Kconfig
+@@ -257,6 +257,12 @@ config MTD_ALCHEMY
help
Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards
config MTD_DILNETPC
tristate "CFI Flash device mapped on DIL/Net PC"
depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT && BROKEN
-Index: linux-2.6.33.2/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.6.33.2.orig/drivers/mtd/maps/Makefile 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/mtd/maps/Makefile 2010-04-05 20:33:43.000000000 +0200
-@@ -61,3 +61,4 @@
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
+@@ -61,3 +61,4 @@ obj-$(CONFIG_MTD_BFIN_ASYNC) += bfin-asy
obj-$(CONFIG_MTD_RBTX4939) += rbtx4939-flash.o
obj-$(CONFIG_MTD_VMU) += vmu-flash.o
obj-$(CONFIG_MTD_GPIO_ADDR) += gpio-addr-flash.o
+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
-Index: linux-2.6.33.2/drivers/watchdog/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/drivers/watchdog/Kconfig 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/watchdog/Kconfig 2010-04-05 20:33:43.000000000 +0200
-@@ -840,6 +840,12 @@
+--- a/drivers/watchdog/Kconfig
++++ b/drivers/watchdog/Kconfig
+@@ -840,6 +840,12 @@ config TXX9_WDT
help
Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
# PARISC Architecture
# POWERPC Architecture
-Index: linux-2.6.33.2/drivers/watchdog/Makefile
-===================================================================
---- linux-2.6.33.2.orig/drivers/watchdog/Makefile 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/watchdog/Makefile 2010-04-05 20:33:43.000000000 +0200
-@@ -112,6 +112,7 @@
+--- a/drivers/watchdog/Makefile
++++ b/drivers/watchdog/Makefile
+@@ -112,6 +112,7 @@ obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
# PARISC Architecture
-Index: linux-2.6.33.2/drivers/leds/Kconfig
-===================================================================
---- linux-2.6.33.2.orig/drivers/leds/Kconfig 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/leds/Kconfig 2010-04-05 20:33:43.000000000 +0200
-@@ -269,6 +269,12 @@
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
+@@ -269,6 +269,12 @@ config LEDS_ADP5520
To compile this driver as a module, choose M here: the module will
be called leds-adp5520.
comment "LED Triggers"
config LEDS_TRIGGERS
-Index: linux-2.6.33.2/drivers/leds/Makefile
-===================================================================
---- linux-2.6.33.2.orig/drivers/leds/Makefile 2010-04-05 20:33:41.000000000 +0200
-+++ linux-2.6.33.2/drivers/leds/Makefile 2010-04-05 20:33:43.000000000 +0200
-@@ -33,6 +33,7 @@
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
+@@ -33,6 +33,7 @@ obj-$(CONFIG_LEDS_REGULATOR) += leds-re
obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o
obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o
obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o
-Index: linux-2.6.33.2/drivers/mtd/chips/cfi_cmdset_0001.c
-===================================================================
---- linux-2.6.33.2.orig/drivers/mtd/chips/cfi_cmdset_0001.c 2010-04-02 01:02:33.000000000 +0200
-+++ linux-2.6.33.2/drivers/mtd/chips/cfi_cmdset_0001.c 2010-04-02 23:47:32.000000000 +0200
+--- a/drivers/mtd/chips/cfi_cmdset_0001.c
++++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -41,7 +41,11 @@
/* #define CMDSET0001_DISABLE_WRITE_SUSPEND */
/* Intel chips */
#define I82802AB 0x00ad
-@@ -1494,6 +1498,9 @@
+@@ -1494,6 +1498,9 @@ static int __xipram do_write_oneword(str
int ret=0;
adr += chip->start;
switch (mode) {
case FL_WRITING:
-Index: linux-2.6.33.2/drivers/mtd/chips/cfi_cmdset_0002.c
-===================================================================
---- linux-2.6.33.2.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2010-04-02 23:31:00.000000000 +0200
-+++ linux-2.6.33.2/drivers/mtd/chips/cfi_cmdset_0002.c 2010-04-02 23:47:32.000000000 +0200
-@@ -1068,7 +1068,9 @@
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -1068,7 +1068,9 @@ static int __xipram do_write_oneword(str
int retry_cnt = 0;
adr += chip->start;
-Index: linux-2.6.32.10/arch/mips/mm/cache.c
-===================================================================
---- linux-2.6.32.10.orig/arch/mips/mm/cache.c 2010-03-15 16:52:04.000000000 +0100
-+++ linux-2.6.32.10/arch/mips/mm/cache.c 2010-04-02 21:18:51.000000000 +0200
-@@ -52,6 +52,8 @@
+--- a/arch/mips/mm/cache.c
++++ b/arch/mips/mm/cache.c
+@@ -52,6 +52,8 @@ void (*_dma_cache_wback)(unsigned long s
void (*_dma_cache_inv)(unsigned long start, unsigned long size);
EXPORT_SYMBOL(_dma_cache_wback_inv);
#endif /* CONFIG_DMA_NONCOHERENT */
-Index: linux-2.6.32.10/net/atm/proc.c
-===================================================================
---- linux-2.6.32.10.orig/net/atm/proc.c 2010-03-15 16:52:04.000000000 +0100
-+++ linux-2.6.32.10/net/atm/proc.c 2010-04-02 21:19:46.000000000 +0200
-@@ -152,7 +152,7 @@
+--- a/net/atm/proc.c
++++ b/net/atm/proc.c
+@@ -152,7 +152,7 @@ static void *vcc_seq_next(struct seq_fil
static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)
{
static const char *const class_name[] =
static const char *const aal_name[] = {
"---", "1", "2", "3/4", /* 0- 3 */
"???", "5", "???", "???", /* 4- 7 */
-Index: linux-2.6.32.10/net/atm/common.c
-===================================================================
---- linux-2.6.32.10.orig/net/atm/common.c 2010-03-15 16:52:04.000000000 +0100
-+++ linux-2.6.32.10/net/atm/common.c 2010-04-02 21:21:46.000000000 +0200
-@@ -56,12 +56,17 @@
+--- a/net/atm/common.c
++++ b/net/atm/common.c
+@@ -56,12 +56,17 @@ static void vcc_remove_socket(struct soc
write_unlock_irq(&vcc_sklist_lock);
}
+MODULE_AUTHOR("Chris Lang");
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -196,6 +196,14 @@ config GPIO_LANGWELL
- help
- Say Y here to support Intel Moorestown platform GPIO.
+@@ -221,6 +221,14 @@ config GPIO_TIMBERDALE
+ ---help---
+ Add support for the GPIO IP in the timberdale FPGA.
+config GPIO_GW_I2C_PLD
+ tristate "Gateworks I2C PLD GPIO Expander"
config GPIO_MAX7301
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -19,3 +19,4 @@ obj-$(CONFIG_GPIO_XILINX) += xilinx_gpio
+@@ -22,3 +22,4 @@ obj-$(CONFIG_GPIO_CS5535) += cs5535-gpio
obj-$(CONFIG_GPIO_BT8XX) += bt8xxgpio.o
obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
obj-$(CONFIG_GPIO_WM831X) += wm831x-gpio.o
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -418,7 +418,6 @@ config ARCH_IXP4XX
+@@ -417,7 +417,6 @@ config ARCH_IXP4XX
select GENERIC_GPIO
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
void __init ixp4xx_pci_preinit(void)
{
-@@ -517,19 +529,35 @@ struct pci_bus * __devinit ixp4xx_scan_b
+@@ -513,19 +525,35 @@ struct pci_bus * __devinit ixp4xx_scan_b
int
pci_set_dma_mask(struct pci_dev *dev, u64 mask)
{
+MACHINE_END
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -66,7 +66,8 @@ struct hw_pci ixdp425_pci __initdata = {
+@@ -70,7 +70,8 @@ struct hw_pci ixdp425_pci __initdata = {
int __init ixdp425_pci_init(void)
{
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
+#endif
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -67,7 +67,7 @@ int __init ixdp425_pci_init(void)
+@@ -71,7 +71,7 @@ int __init ixdp425_pci_init(void)
{
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
machine_is_ixdp465() || machine_is_kixrp435() ||
--- a/arch/arm/mach-ixp4xx/coyote-setup.c
+++ b/arch/arm/mach-ixp4xx/coyote-setup.c
-@@ -73,9 +73,37 @@ static struct platform_device coyote_uar
+@@ -82,9 +82,37 @@ static struct platform_device coyote_uar
.resource = &coyote_uart_resource,
};
unsigned int type; /* If UPF_FIXED_TYPE */
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
-@@ -285,6 +285,7 @@ struct uart_port {
+@@ -288,6 +288,7 @@ struct uart_port {
#define UPIO_TSI (5) /* Tsi108/109 type IO */
#define UPIO_DWAPB (6) /* DesignWare APB UART */
#define UPIO_RM9000 (7) /* RM9000 type IO */
unsigned int read_status_mask; /* driver specific */
unsigned int ignore_status_mask; /* driver specific */
-@@ -327,6 +328,7 @@ struct uart_port {
+@@ -330,6 +331,7 @@ struct uart_port {
unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */
unsigned int custom_divisor;
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
-@@ -409,6 +409,20 @@
+@@ -409,6 +409,20 @@ static void mem_serial_out(struct uart_p
writeb(value, p->membase + offset);
}
static void mem32_serial_out(struct uart_port *p, int offset, int value)
{
offset = map_8250_out_reg(p, offset) << p->regshift;
-@@ -502,6 +516,11 @@
+@@ -502,6 +516,11 @@ static void set_io_from_upio(struct uart
p->serial_out = mem32_serial_out;
break;
#ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU:
p->serial_in = au_serial_in;
-@@ -534,6 +553,7 @@
+@@ -534,6 +553,7 @@ serial_out_sync(struct uart_8250_port *u
switch (p->iotype) {
case UPIO_MEM:
case UPIO_MEM32:
#ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU:
#endif
-@@ -2450,6 +2470,7 @@
+@@ -2450,6 +2470,7 @@ static int serial8250_request_std_resour
case UPIO_MEM32:
case UPIO_MEM:
case UPIO_DWAPB:
if (!up->port.mapbase)
break;
-@@ -2487,6 +2508,7 @@
+@@ -2487,6 +2508,7 @@ static void serial8250_release_std_resou
case UPIO_MEM32:
case UPIO_MEM:
case UPIO_DWAPB:
if (!up->port.mapbase)
break;
-@@ -2964,6 +2986,7 @@
+@@ -2964,6 +2986,7 @@ static int __devinit serial8250_probe(st
port.serial_in = p->serial_in;
port.serial_out = p->serial_out;
port.dev = &dev->dev;
port.irqflags |= irqflag;
ret = serial8250_register_port(&port);
if (ret < 0) {
-@@ -3113,6 +3136,7 @@
+@@ -3113,6 +3136,7 @@ int serial8250_register_port(struct uart
uart->port.iotype = port->iotype;
uart->port.flags = port->flags | UPF_BOOT_AUTOCONF;
uart->port.mapbase = port->mapbase;
uart->port.dev = port->dev;
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
-@@ -2161,6 +2161,7 @@ uart_report_port(struct uart_driver *drv
+@@ -2144,6 +2144,7 @@ uart_report_port(struct uart_driver *drv
snprintf(address, sizeof(address),
"I/O 0x%lx offset 0x%x", port->iobase, port->hub6);
break;
case UPIO_MEM:
case UPIO_MEM32:
case UPIO_AU:
-@@ -2573,6 +2574,7 @@ int uart_match_port(struct uart_port *po
+@@ -2557,6 +2558,7 @@ int uart_match_port(struct uart_port *po
case UPIO_HUB6:
return (port1->iobase == port2->iobase) &&
(port1->hub6 == port2->hub6);
+#include <linux/i2c/at24.h>
+
#include <linux/i2c-gpio.h>
-
#include <asm/types.h>
-@@ -29,6 +35,13 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/flash.h>
+ #include <asm/setup.h>
+@@ -31,6 +37,13 @@
+ #define AVILA_SDA_PIN 7
+ #define AVILA_SCL_PIN 6
+struct avila_board_info {
+ unsigned char *model;
static struct flash_platform_data avila_flash_data = {
.map_name = "cfi_probe",
.width = 2,
-@@ -132,16 +145,181 @@ static struct platform_device avila_pata
+@@ -134,16 +147,181 @@ static struct platform_device avila_pata
.resource = avila_pata_resources,
};
avila_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
avila_flash_resource.end =
IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
-@@ -159,7 +337,28 @@ static void __init avila_init(void)
+@@ -161,7 +339,28 @@ static void __init avila_init(void)
platform_device_register(&avila_pata);
+#include <linux/leds.h>
#include <linux/i2c-gpio.h>
-
#include <asm/types.h>
-@@ -170,6 +171,72 @@ static struct platform_device avila_npec
+ #include <asm/setup.h>
+@@ -172,6 +173,72 @@ static struct platform_device avila_npec
.dev.platform_data = &avila_npec_data,
};
static struct platform_device *avila_devices[] __initdata = {
&avila_i2c_gpio,
&avila_flash,
-@@ -180,12 +247,16 @@ static void __init avila_gw23xx_setup(vo
+@@ -182,12 +249,16 @@ static void __init avila_gw23xx_setup(vo
{
platform_device_register(&avila_npeb_device);
platform_device_register(&avila_npec_device);
}
static void __init avila_gw2345_setup(void)
-@@ -196,22 +267,30 @@ static void __init avila_gw2345_setup(vo
+@@ -198,22 +269,30 @@ static void __init avila_gw2345_setup(vo
avila_npec_data.phy = 5; /* port 5 of the KS8995 switch */
platform_device_register(&avila_npec_device);
}
static void __init avila_gw2355_setup(void)
-@@ -222,11 +301,29 @@ static void __init avila_gw2355_setup(vo
+@@ -224,11 +303,29 @@ static void __init avila_gw2355_setup(vo
avila_npec_data.phy = 16;
platform_device_register(&avila_npec_device);
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -237,10 +237,28 @@ static struct platform_device avila_latc
- .dev.platform_data = &avila_latch_leds_data,
- };
-
-+static struct resource avila_gpio_resources[] = {
-+ {
-+ .name = "gpio",
-+ /* FIXME: gpio mask should be model specific */
-+ .start = AVILA_GPIO_MASK,
-+ .end = AVILA_GPIO_MASK,
-+ .flags = 0,
-+ },
-+};
-+
-+static struct platform_device avila_gpio = {
-+ .name = "GPIODEV",
-+ .id = -1,
-+ .num_resources = ARRAY_SIZE(avila_gpio_resources),
-+ .resource = avila_gpio_resources,
-+};
-+
- static struct platform_device *avila_devices[] __initdata = {
- &avila_i2c_gpio,
- &avila_flash,
-- &avila_uart
-+ &avila_uart,
-+ &avila_gpio,
- };
-
- static void __init avila_gw23xx_setup(void)
---- a/arch/arm/mach-ixp4xx/avila-setup.c
-+++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -38,6 +38,13 @@
#define AVILA_SDA_PIN 7
#define AVILA_SCL_PIN 6
#include <asm/types.h>
#include <asm/setup.h>
#include <asm/memory.h>
-@@ -147,9 +148,41 @@
+@@ -147,9 +148,41 @@ static struct platform_device gtwx5715_f
.resource = >wx5715_flash_resource,
};
--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c
-@@ -154,10 +154,37 @@ static struct platform_device gtwx5715_s
+@@ -179,10 +179,37 @@ static struct platform_device gtwx5715_s
},
};
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -418,6 +418,7 @@ config ARCH_IXP4XX
+@@ -417,6 +417,7 @@ config ARCH_IXP4XX
select GENERIC_GPIO
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
+#define gpio_cansleep __gpio_cansleep
extern int gpio_to_irq(int gpio);
- extern int irq_to_gpio(int gpio);
+ extern int irq_to_gpio(unsigned int irq);
---- a/arch/arm/mach-ixp4xx/Kconfig
+--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -180,6 +180,15 @@
+@@ -180,6 +180,15 @@ config ARCH_PRPMC1100
PrPCM1100 Processor Mezanine Module. For more information on
this platform, see <file:Documentation/arm/IXP4xx>.
select PCI
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-pci-$(CONFIG_MACH_SIDEWINDER) += sid
obj-pci-$(CONFIG_MACH_COMPEX) += ixdp425-pci.o
obj-pci-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-pci.o
obj-pci-$(CONFIG_MACH_AP1000) += ixdp425-pci.o
obj-pci-$(CONFIG_MACH_TW5334) += tw5334-pci.o
obj-pci-$(CONFIG_MACH_MI424WR) += mi424wr-pci.o
obj-pci-$(CONFIG_MACH_USR8200) += usr8200-pci.o
-@@ -48,6 +49,7 @@
+@@ -48,6 +49,7 @@ obj-$(CONFIG_MACH_SIDEWINDER) += sidewin
obj-$(CONFIG_MACH_COMPEX) += compex-setup.o
obj-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-setup.o
obj-$(CONFIG_MACH_AP1000) += ap1000-setup.o
obj-$(CONFIG_MACH_USR8200) += usr8200-setup.o
--- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
+++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -43,7 +43,7 @@
+@@ -43,7 +43,7 @@ static __inline__ void __arch_decomp_set
if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
machine_is_gateway7001() || machine_is_wg302v2() ||
machine_is_pronghorn() || machine_is_pronghorn_metro() || machine_is_wrt300nv2() ||
uart_base = (volatile u32*) IXP4XX_UART2_BASE_PHYS;
else
uart_base = (volatile u32*) IXP4XX_UART1_BASE_PHYS;
---- a/arch/arm/mach-ixp4xx/tw2662-pci.c
+--- /dev/null
+++ b/arch/arm/mach-ixp4xx/tw2662-pci.c
@@ -0,0 +1,68 @@
+/*
+}
+
+subsys_initcall(tw2662_pci_init);
---- a/arch/arm/mach-ixp4xx/tw2662-setup.c
+--- /dev/null
+++ b/arch/arm/mach-ixp4xx/tw2662-setup.c
@@ -0,0 +1,208 @@
+/*
---- a/arch/powerpc/boot/Makefile
-+++ b/arch/powerpc/boot/Makefile
-@@ -72,7 +72,7 @@ src-plat := of.c cuboot-52xx.c cuboot-82
+--- a/arch/powerpc/boot/Makefile
++++ b/arch/powerpc/boot/Makefile
+@@ -73,7 +73,7 @@ src-plat := of.c cuboot-52xx.c cuboot-82
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \
+ cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c rb600.c \
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
- cuboot-acadia.c cuboot-amigaone.c
-@@ -229,6 +229,7 @@ image-$(CONFIG_MPC834x_ITX) += cuImage.
+ cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
+@@ -232,6 +232,7 @@ image-$(CONFIG_MPC834x_ITX) += cuImage.
image-$(CONFIG_MPC834x_MDS) += cuImage.mpc834x_mds
image-$(CONFIG_MPC836x_MDS) += cuImage.mpc836x_mds
image-$(CONFIG_ASP834x) += dtbImage.asp834x-redboot
---- a/arch/powerpc/boot/dts/rb600.dts
-+++ b/arch/powerpc/boot/dts/rb600.dts
+--- /dev/null
++++ b/arch/powerpc/boot/dts/rb600.dts
@@ -0,0 +1,242 @@
+/*
+ * RouterBOARD 600 series Device Tree Source
---- a/arch/powerpc/boot/rb600.c
-+++ b/arch/powerpc/boot/rb600.c
+--- /dev/null
++++ b/arch/powerpc/boot/rb600.c
@@ -0,0 +1,80 @@
+/*
+ * The RouterBOARD platform -- for booting RB600(A) RouterBOARDs.
---- a/arch/powerpc/boot/wrapper
-+++ b/arch/powerpc/boot/wrapper
-@@ -201,7 +201,7 @@ ps3)
+--- a/arch/powerpc/boot/wrapper
++++ b/arch/powerpc/boot/wrapper
+@@ -205,7 +205,7 @@ ps3)
isection=.kernel:initrd
link_address=''
;;
---- a/arch/powerpc/kernel/Makefile
-+++ b/arch/powerpc/kernel/Makefile
-@@ -97,9 +97,11 @@ obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += f
+--- a/arch/powerpc/kernel/Makefile
++++ b/arch/powerpc/kernel/Makefile
+@@ -105,9 +105,11 @@ obj32-$(CONFIG_PPC_PERF_CTRS) += mpc7450
obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o
+endif
obj-$(CONFIG_PPC64) += $(obj64-y)
-
+ obj-$(CONFIG_PPC32) += $(obj32-y)
---- a/arch/powerpc/platforms/83xx/Kconfig
-+++ b/arch/powerpc/platforms/83xx/Kconfig
+--- a/arch/powerpc/platforms/83xx/Kconfig
++++ b/arch/powerpc/platforms/83xx/Kconfig
@@ -30,6 +30,15 @@ config MPC832x_RDB
help
This option enables support for the MPC8323 RDB board.
---- a/arch/powerpc/platforms/83xx/Makefile
-+++ b/arch/powerpc/platforms/83xx/Makefile
+--- a/arch/powerpc/platforms/83xx/Makefile
++++ b/arch/powerpc/platforms/83xx/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_SUSPEND) += suspend.o susp
obj-$(CONFIG_MCU_MPC8349EMITX) += mcu_mpc8349emitx.o
obj-$(CONFIG_MPC831x_RDB) += mpc831x_rdb.o
---- a/arch/powerpc/platforms/Kconfig
-+++ b/arch/powerpc/platforms/Kconfig
-@@ -142,6 +142,10 @@ config GENERIC_IOMAP
+--- a/arch/powerpc/platforms/Kconfig
++++ b/arch/powerpc/platforms/Kconfig
+@@ -147,6 +147,10 @@ config GENERIC_IOMAP
bool
default n
---- a/arch/powerpc/sysdev/Makefile
-+++ b/arch/powerpc/sysdev/Makefile
-@@ -50,3 +50,5 @@ obj-$(CONFIG_UCODE_PATCH) += micropatch.
+--- a/arch/powerpc/sysdev/Makefile
++++ b/arch/powerpc/sysdev/Makefile
+@@ -57,3 +57,5 @@ obj-$(CONFIG_PPC_MPC52xx) += mpc5xxx_clo
ifeq ($(CONFIG_SUSPEND),y)
obj-$(CONFIG_6xx) += 6xx-suspend.o
endif
---- a/arch/powerpc/sysdev/rb_iomap.c
-+++ b/arch/powerpc/sysdev/rb_iomap.c
+--- /dev/null
++++ b/arch/powerpc/sysdev/rb_iomap.c
@@ -0,0 +1,223 @@
+#include <linux/init.h>
+#include <linux/pci.h>
---- a/drivers/ata/Kconfig
-+++ b/drivers/ata/Kconfig
-@@ -734,5 +734,12 @@ config PATA_BF54X
+--- a/drivers/ata/Kconfig
++++ b/drivers/ata/Kconfig
+@@ -799,5 +799,12 @@ config PATA_MACIO
+ different chipsets, though generally, MacIO is one of them.
- If unsure, say N.
+config PATA_RB_PPC
+ tristate "MikroTik RB600 PATA support"
---- a/drivers/ata/Makefile
-+++ b/drivers/ata/Makefile
-@@ -73,6 +73,7 @@ obj-$(CONFIG_PATA_OCTEON_CF) += pata_oct
- obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o
+--- a/drivers/ata/Makefile
++++ b/drivers/ata/Makefile
+@@ -79,6 +79,7 @@ obj-$(CONFIG_PATA_PLATFORM) += pata_plat
+ obj-$(CONFIG_PATA_AT91) += pata_at91.o
obj-$(CONFIG_PATA_OF_PLATFORM) += pata_of_platform.o
obj-$(CONFIG_PATA_ICSIDE) += pata_icside.o
+obj-$(CONFIG_PATA_RB_PPC) += pata_rbppc_cf.o
---- a/drivers/ata/pata_rbppc_cf.c
-+++ b/drivers/ata/pata_rbppc_cf.c
+--- /dev/null
++++ b/drivers/ata/pata_rbppc_cf.c
@@ -0,0 +1,701 @@
+/*
+ * Copyright (C) 2008-2009 Noah Fontes <nfontes@transtruct.org>
---- a/drivers/mtd/nand/Kconfig
-+++ b/drivers/mtd/nand/Kconfig
-@@ -380,6 +380,13 @@ config MTD_NAND_PLATFORM
+--- a/drivers/mtd/nand/Kconfig
++++ b/drivers/mtd/nand/Kconfig
+@@ -409,6 +409,13 @@ config MTD_NAND_PLATFORM
devices. You will need to provide platform-specific functions
via platform_data.
---- a/drivers/mtd/nand/Makefile
-+++ b/drivers/mtd/nand/Makefile
-@@ -30,6 +30,7 @@ obj-$(CONFIG_MTD_NAND_BASLER_EXCITE) +=
+--- a/drivers/mtd/nand/Makefile
++++ b/drivers/mtd/nand/Makefile
+@@ -30,6 +30,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27
obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
---- a/drivers/mtd/nand/rbppc_nand.c
-+++ b/drivers/mtd/nand/rbppc_nand.c
+--- /dev/null
++++ b/drivers/mtd/nand/rbppc_nand.c
@@ -0,0 +1,252 @@
+/*
+ * Copyright (C) 2008-2009 Noah Fontes <nfontes@transtruct.org>
---- a/arch/powerpc/platforms/83xx/rbppc.c
-+++ b/arch/powerpc/platforms/83xx/rbppc.c
+--- /dev/null
++++ b/arch/powerpc/platforms/83xx/rbppc.c
@@ -0,0 +1,316 @@
+/*
+ * Copyright (C) 2008-2009 Noah Fontes <nfontes@transtruct.org>
treeImage.*
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
-@@ -308,6 +308,9 @@ $(obj)/zImage.iseries: vmlinux
+@@ -311,6 +311,9 @@ $(obj)/zImage.iseries: vmlinux
$(obj)/uImage: vmlinux $(wrapperbits)
$(call if_changed,wrap,uboot)
$(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
-@@ -347,7 +350,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
+@@ -350,7 +353,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
# anything not in $(targets)
clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
# miboot and U-boot want just the bare bits, not an ELF binary
ext=bin
objflags="-O binary"
-@@ -273,6 +276,21 @@ uboot)
+@@ -277,6 +280,21 @@ uboot)
fi
exit 0
;;
* Copyright (C) 2008-2009 Noah Fontes <nfontes@transtruct.org>
* Copyright (C) 2009 Michael Guntsche <mike@it-loops.com>
* Copyright (C) Mikrotik 2007
-@@ -167,6 +168,9 @@
+@@ -167,6 +168,9 @@ static int __init rbppc_probe(void)
if (!model)
return 0;
if (strcmp(model, "RB600") == 0)
return 1;
-@@ -227,6 +231,9 @@
+@@ -227,6 +231,9 @@ static void __init rbppc_beeper_init(str
#define SBIT(x) (0x80000000 >> (x))
#define DBIT(x, y) ((y) << (32 - (((x % 16) + 1) * 2)))
#define SICRL_RB600(x) ((x) + (0x114 >> 2))
#define GPIO_DIR_RB600(x) ((x) + (0xc00 >> 2))
#define GPIO_DATA_RB600(x) ((x) + (0xc08 >> 2))
-@@ -234,14 +241,38 @@
+@@ -234,14 +241,38 @@ static void __init rbppc_beeper_init(str
static void rbppc_restart(char *cmd)
{
__be32 __iomem *reg;
}
static void rbppc_halt(void)
-@@ -301,10 +332,10 @@
+@@ -301,10 +332,10 @@ static int __init rbppc_declare_of_platf
return 0;
}
.probe = rbppc_probe,
.setup_arch = rbppc_setup_arch,
.init_IRQ = rbppc_init_IRQ,
-@@ -314,3 +345,31 @@
+@@ -314,3 +345,31 @@ define_machine(rb600) {
.time_init = mpc83xx_time_init,
.calibrate_decr = generic_calibrate_decr,
};
+DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, fixup_pcibridge)
+DECLARE_PCI_FIXUP_HEADER(0x3388, 0x0021, fixup_rb604)
+
---- a/drivers/mtd/nand/Kconfig 2010-03-19 12:30:12.000000000 +0200
-+++ b/drivers/mtd/nand/Kconfig 2010-03-19 12:30:28.000000000 +0200
-@@ -387,11 +387,11 @@
+--- a/drivers/mtd/nand/Kconfig
++++ b/drivers/mtd/nand/Kconfig
+@@ -410,11 +410,11 @@ config MTD_NAND_PLATFORM
via platform_data.
config MTD_NAND_RB_PPC
config MTD_ALAUDA
tristate "MTD driver for Olympus MAUSB-10 and Fujifilm DPC-R1"
---- a/drivers/mtd/nand/rbppc_nand.c 2010-03-19 12:43:48.000000000 +0200
-+++ b/drivers/mtd/nand/rbppc_nand.c 2010-03-19 12:44:17.000000000 +0200
-@@ -126,7 +126,7 @@
+--- a/drivers/mtd/nand/rbppc_nand.c
++++ b/drivers/mtd/nand/rbppc_nand.c
+@@ -126,7 +126,7 @@ static int rbppc_nand_probe(struct of_de
void *baddr;
const unsigned *rdy, *nce, *cle, *ale;
info = kmalloc(sizeof(*info), GFP_KERNEL);
-@@ -244,7 +244,7 @@
+@@ -244,7 +244,7 @@ static void __exit rbppc_nand_exit(void)
MODULE_AUTHOR("Mikrotikls SIA");
MODULE_AUTHOR("Noah Fontes");
MODULE_AUTHOR("Michael Guntsche");
MODULE_LICENSE("GPL");
MODULE_VERSION(DRV_VERSION);
---- a/arch/powerpc/platforms/83xx/Kconfig 2010-03-19 12:47:36.000000000 +0200
-+++ b/arch/powerpc/platforms/83xx/Kconfig 2010-03-19 12:50:07.000000000 +0200
-@@ -31,9 +31,10 @@
+--- a/arch/powerpc/platforms/83xx/Kconfig
++++ b/arch/powerpc/platforms/83xx/Kconfig
+@@ -31,13 +31,14 @@ config MPC832x_RDB
This option enables support for the MPC8323 RDB board.
config RB_PPC
select PPC_MPC834x
select RB_IOMAP
help
-@@ -38,7 +38,7 @@
- select PPC_MPC834x
- select RB_IOMAP
- help
- This option enables support for MikroTik RouterBOARD 600 series boards.
+ This option enables support for MikroTik RouterBOARD 333/600 series boards.
config MPC834x_MDS
bool "Freescale MPC834x MDS"
---- a/arch/powerpc/boot/Makefile 2010-03-18 21:32:32.000000000 +0200
-+++ b/arch/powerpc/boot/Makefile 2010-03-18 21:32:53.000000000 +0200
-@@ -72,7 +72,7 @@
+--- a/arch/powerpc/boot/Makefile
++++ b/arch/powerpc/boot/Makefile
+@@ -73,7 +73,7 @@ src-plat := of.c cuboot-52xx.c cuboot-82
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
fixed-head.S ep88xc.c ep405.c cuboot-c2k.c \
+ cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c rb600.c rb333.c \
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
- cuboot-acadia.c cuboot-amigaone.c
-@@ -229,7 +229,8 @@
+ cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
+@@ -232,7 +232,8 @@ image-$(CONFIG_MPC834x_ITX) += cuImage.
image-$(CONFIG_MPC834x_MDS) += cuImage.mpc834x_mds
image-$(CONFIG_MPC836x_MDS) += cuImage.mpc836x_mds
image-$(CONFIG_ASP834x) += dtbImage.asp834x-redboot
# Board ports in arch/powerpc/platform/85xx/Kconfig
image-$(CONFIG_MPC8540_ADS) += cuImage.mpc8540ads
---- a/arch/powerpc/boot/wrapper 2010-03-18 21:34:24.000000000 +0200
-+++ b/arch/powerpc/boot/wrapper 2010-03-18 21:34:45.000000000 +0200
-@@ -201,7 +201,7 @@
+--- a/arch/powerpc/boot/wrapper
++++ b/arch/powerpc/boot/wrapper
+@@ -208,7 +208,7 @@ ps3)
isection=.kernel:initrd
link_address=''
;;
---- a/arch/powerpc/boot/dts/rb333.dts
-+++ b/arch/powerpc/boot/dts/rb333.dts
+--- /dev/null
++++ b/arch/powerpc/boot/dts/rb333.dts
@@ -0,0 +1,432 @@
+
+/*
---- a/arch/powerpc/boot/rb333.c
-+++ b/arch/powerpc/boot/rb333.c
+--- /dev/null
++++ b/arch/powerpc/boot/rb333.c
@@ -0,0 +1,73 @@
+/*
+ * The RouterBOARD platform -- for booting RB333 RouterBOARDs.
---- a/arch/powerpc/boot/wrapper
-+++ b/arch/powerpc/boot/wrapper
-@@ -138,7 +138,7 @@
+--- a/arch/powerpc/boot/wrapper
++++ b/arch/powerpc/boot/wrapper
+@@ -145,7 +145,7 @@ objflags=-S
tmp=$tmpdir/zImage.$$.o
ksection=.kernel:vmlinux.strip
isection=.kernel:initrd
---- a/arch/powerpc/platforms/83xx/rbppc.c
-+++ b/arch/powerpc/platforms/83xx/rbppc.c
-@@ -121,21 +121,16 @@
+--- a/arch/powerpc/platforms/83xx/rbppc.c
++++ b/arch/powerpc/platforms/83xx/rbppc.c
+@@ -121,21 +121,16 @@ static void __init rbppc_setup_arch(void
#endif
#ifdef CONFIG_QUICC_ENGINE
}
-@@ -151,12 +146,16 @@
+@@ -151,12 +146,16 @@ void __init rbppc_init_IRQ(void)
}
#ifdef CONFIG_QUICC_ENGINE
}
static int __init rbppc_probe(void)
-@@ -284,6 +283,8 @@
+@@ -284,6 +283,8 @@ static struct of_device_id rbppc_ids[] =
{ .type = "soc", },
{ .compatible = "soc", },
{ .compatible = "simple-bus", },
{ .compatible = "gianfar", },
{ },
};
-@@ -372,4 +373,3 @@
+@@ -372,4 +373,3 @@ static void fixup_rb604(struct pci_dev *
DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, fixup_pcibridge)
DECLARE_PCI_FIXUP_HEADER(0x3388, 0x0021, fixup_rb604)
---- a/arch/powerpc/boot/dts/rb600.dts
-+++ b/arch/powerpc/boot/dts/rb600.dts
+--- a/arch/powerpc/boot/dts/rb600.dts
++++ b/arch/powerpc/boot/dts/rb600.dts
@@ -20,9 +20,11 @@
aliases {
ethernet0 = &enet0;
enet0: ethernet@25000 {
#address-cells = <1>;
#size-cells = <1>;
---- a/arch/powerpc/boot/rb600.c 2010-04-01 07:46:37.000000000 +0300
-+++ b/arch/powerpc/boot/rb600.c 2010-04-01 08:04:03.000000000 +0300
-@@ -45,14 +45,6 @@
+--- a/arch/powerpc/boot/rb600.c
++++ b/arch/powerpc/boot/rb600.c
+@@ -45,14 +45,6 @@ static void rb600_fixups(void)
clock = fdt_getprop(fw_dtb, node, "clock-frequency", &size);
dt_fixup_cpu_clocks(*clock, *timebase, 0);
}
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
---- a/arch/powerpc/platforms/83xx/rbppc.c 2010-04-01 09:04:09.000000000 +0300
-+++ b/arch/powerpc/platforms/83xx/rbppc.c 2010-04-01 09:02:00.000000000 +0300
-@@ -56,6 +56,8 @@
+--- a/arch/powerpc/platforms/83xx/rbppc.c
++++ b/arch/powerpc/platforms/83xx/rbppc.c
+@@ -56,6 +56,8 @@ static void *gtm;
static int beeper_irq;
static unsigned beeper_gpio_pin[2];
irqreturn_t rbppc_timer_irq(int irq, void *ptr)
{
static int toggle = 0;
-@@ -120,6 +122,8 @@
+@@ -120,6 +122,8 @@ static void __init rbppc_setup_arch(void
}
#endif
#ifdef CONFIG_QUICC_ENGINE
qe_reset();
-@@ -132,6 +136,8 @@
+@@ -132,6 +136,8 @@ static void __init rbppc_setup_arch(void
}
#endif
}
void __init rbppc_init_IRQ(void)
-@@ -145,6 +151,8 @@
+@@ -145,6 +151,8 @@ void __init rbppc_init_IRQ(void)
of_node_put(np);
}
#ifdef CONFIG_QUICC_ENGINE
np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
if (!np) {
-@@ -156,6 +164,8 @@
+@@ -156,6 +164,8 @@ void __init rbppc_init_IRQ(void)
of_node_put(np);
#endif /* CONFIG_QUICC_ENGINE */
}
static int __init rbppc_probe(void)
-@@ -167,8 +177,10 @@
+@@ -167,8 +177,10 @@ static int __init rbppc_probe(void)
if (!model)
return 0;
---- a/drivers/misc/ucc_tdm.h
+--- /dev/null
+++ b/drivers/misc/ucc_tdm.h
@@ -0,0 +1,221 @@
+/*
+MODULE_AUTHOR("Freescale Semiconductor, Inc");
+MODULE_DESCRIPTION(DRV_DESC);
+MODULE_LICENSE("GPL");
---- a/drivers/misc/Makefile 2010-03-15 18:09:39.000000000 +0200
-+++ b/drivers/misc/Makefile 2010-03-30 18:37:12.000000000 +0300
-@@ -8,6 +8,7 @@
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -8,6 +8,7 @@ obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot
obj-$(CONFIG_ATMEL_PWM) += atmel_pwm.o
obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o
obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o
obj-$(CONFIG_ICS932S401) += ics932s401.o
obj-$(CONFIG_LKDTM) += lkdtm.o
obj-$(CONFIG_TIFM_CORE) += tifm_core.o
---- a/drivers/misc/Kconfig 2010-03-15 18:09:39.000000000 +0200
-+++ b/drivers/misc/Kconfig 2010-03-30 18:40:46.000000000 +0300
-@@ -164,6 +164,20 @@
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -164,6 +164,20 @@ config ATMEL_SSC
If unsure, say N.
config ENCLOSURE_SERVICES
tristate "Enclosure Services"
default n
---- a/arch/powerpc/include/asm/ucc_fast.h 2010-03-15 18:09:39.000000000 +0200
-+++ b/arch/powerpc/include/asm/ucc_fast.h 2010-03-30 19:13:29.000000000 +0300
-@@ -150,6 +150,10 @@
+--- a/arch/powerpc/include/asm/ucc_fast.h
++++ b/arch/powerpc/include/asm/ucc_fast.h
+@@ -150,6 +150,10 @@ struct ucc_fast_info {
enum ucc_fast_rx_decoding_method renc;
enum ucc_fast_transparent_tcrc tcrc;
enum ucc_fast_sync_len synl;
};
struct ucc_fast_private {
---- a/arch/powerpc/include/asm/qe.h 2010-03-15 18:09:39.000000000 +0200
-+++ b/arch/powerpc/include/asm/qe.h 2010-03-30 19:17:33.000000000 +0300
-@@ -669,6 +669,14 @@
+--- a/arch/powerpc/include/asm/qe.h
++++ b/arch/powerpc/include/asm/qe.h
+@@ -669,6 +669,14 @@ struct ucc_slow_pram {
#define UCC_GETH_UCCE_RXF1 0x00000002
#define UCC_GETH_UCCE_RXF0 0x00000001
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
-@@ -908,6 +908,14 @@
+@@ -908,6 +908,14 @@ static int gfar_probe(struct of_device *
udelay(2);
tempval = (MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);
+extern char __image_cmdline[];
void __init prom_setup_cmdline(void)
{
- static char cmd_line[CL_SIZE] __initdata;
+ static char cmd_line[COMMAND_LINE_SIZE] __initdata;
@@ -109,6 +110,9 @@ void __init prom_setup_cmdline(void)
}
*(cp++) = ' ';
arch/um/kernel/uml.lds.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
-diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S
-index e7a6cca..664f942 100644
--- a/arch/um/kernel/uml.lds.S
+++ b/arch/um/kernel/uml.lds.S
@@ -22,7 +22,7 @@ SECTIONS
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -92,7 +92,7 @@ config ZLIB_INFLATE
+@@ -95,7 +95,7 @@ config ZLIB_INFLATE
tristate
config ZLIB_DEFLATE