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 *);
-@@ -386,12 +387,19 @@ struct mtd_info *cfi_cmdset_0002(struct
+@@ -386,12 +387,19 @@ struct mtd_info *cfi_cmdset_0002(struct
if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
unsigned int vced_count, vcei_count;
-@@ -33,8 +34,12 @@ static int show_cpuinfo(struct seq_file
+@@ -33,8 +34,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
-@@ -88,6 +88,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
+@@ -88,6 +88,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
-@@ -986,6 +1026,14 @@ copy_entries_to_user(unsigned int total_
+@@ -985,6 +1025,14 @@ copy_entries_to_user(unsigned int total_
+ ret = -EFAULT;
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) {
--- 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
-@@ -115,8 +115,8 @@ int kmem_ptr_validate(struct kmem_cache
+@@ -115,8 +115,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) */
for (prio = 0; prio < PFIFO_FAST_BANDS; prio++)
skb_queue_head_init(list + prio);
-@@ -453,9 +490,36 @@ static int pfifo_fast_init(struct Qdisc
+@@ -453,9 +490,36 @@ static int pfifo_fast_init(struct Qdisc
return 0;
}
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -38,3 +38,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
+@@ -38,3 +38,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
-@@ -39,3 +39,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) +=
+@@ -39,3 +39,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
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -93,6 +93,9 @@ config ADM6996_PHY
- ---help---
- Currently supports the ADM6996F switch
+@@ -95,6 +95,9 @@ config ADM6996_PHY
+ Currently supports the ADM6996FC and ADM6996M switches.
+ Support for FC is very limited.
+config MVSWITCH_PHY
+ tristate "Driver for Marvell 88E6060 switches"
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -96,6 +96,10 @@ config ADM6996_PHY
+@@ -98,6 +98,10 @@ config ADM6996_PHY
config MVSWITCH_PHY
tristate "Driver for Marvell 88E6060 switches"
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -100,6 +100,10 @@ config IP17XX_PHY
+@@ -102,6 +102,10 @@ config IP17XX_PHY
tristate "Driver for IC+ IP17xx switches"
select SWCONFIG
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -104,6 +104,10 @@ config AR8216_PHY
+@@ -106,6 +106,10 @@ config AR8216_PHY
tristate "Driver for Atheros AR8216 switches"
select SWCONFIG
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -135,4 +135,29 @@ config MDIO_GPIO
+@@ -137,4 +137,29 @@ config MDIO_GPIO
To compile this driver as a module, choose M here: the module
will be called mdio-gpio.
--- 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)
--- a/drivers/net/wireless/hostap/hostap_main.c
+++ b/drivers/net/wireless/hostap/hostap_main.c
-@@ -875,15 +875,16 @@ void hostap_setup_dev(struct net_device
+@@ -875,15 +875,16 @@ void hostap_setup_dev(struct net_device
switch(type) {
case HOSTAP_INTERFACE_AP:
handle_signal(unsigned long sig, struct k_sigaction *ka,
siginfo_t *info, sigset_t *oldset,
struct pt_regs * regs, int syscall)
-@@ -592,7 +557,7 @@ handle_signal(unsigned long sig, struct
+@@ -592,7 +557,7 @@ handle_signal(unsigned long sig, struct
if (ret != 0) {
force_sigsegv(sig, tsk);
}
/*
-@@ -606,6 +571,7 @@ handle_signal(unsigned long sig, struct
+@@ -606,6 +571,7 @@ handle_signal(unsigned long sig, struct
recalc_sigpending();
spin_unlock_irq(&tsk->sighand->siglock);
}
/*
-@@ -617,11 +583,12 @@ handle_signal(unsigned long sig, struct
+@@ -617,11 +583,12 @@ handle_signal(unsigned long sig, struct
* the kernel can handle, and then we build all the user-level signal handling
* stack-frames in one go after that.
*/
check_for_exception:
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
-@@ -253,12 +253,14 @@ void VFP_bounce(u32 trigger, u32 fpexc,
+@@ -253,12 +253,14 @@ void VFP_bounce(u32 trigger, u32 fpexc,
}
if (fpexc & FPEXC_EX) {
depends on NETFILTER_ADVANCED
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -505,7 +504,6 @@ config NETFILTER_XT_TARGET_SECMARK
+@@ -493,7 +492,6 @@ config NETFILTER_XT_TARGET_SECMARK
config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -1387,11 +1387,18 @@ static inline int skb_network_offset(con
+@@ -1369,11 +1369,18 @@ static inline int skb_network_offset(con
*
* Various parts of the networking layer expect at least 32 bytes of
* headroom, you should not reduce this.
extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
-@@ -1481,9 +1488,9 @@ static inline void __skb_queue_purge(str
+@@ -1463,9 +1470,9 @@ static inline void __skb_queue_purge(str
static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
gfp_t gfp_mask)
{
return skb;
}
-@@ -1556,7 +1563,7 @@ static inline int __skb_cow(struct sk_bu
+@@ -1538,7 +1545,7 @@ static inline int __skb_cow(struct sk_bu
delta = headroom - skb_headroom(skb);
if (delta || cloned)
}
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
-@@ -336,9 +336,9 @@ struct sk_buff *__netdev_alloc_skb(struc
+@@ -259,9 +259,9 @@ struct sk_buff *__netdev_alloc_skb(struc
int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1;
struct sk_buff *skb;
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -393,9 +393,18 @@ struct phy_driver {
+@@ -379,9 +379,18 @@ struct phy_driver {
*/
int (*config_aneg)(struct phy_device *phydev);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -695,6 +695,9 @@ int genphy_update_link(struct phy_device
+@@ -681,6 +681,9 @@ int genphy_update_link(struct phy_device
{
int status;
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -93,6 +93,9 @@ config ADM6996_PHY
- ---help---
- Currently supports the ADM6996F switch
+@@ -95,6 +95,9 @@ config ADM6996_PHY
+ Currently supports the ADM6996FC and ADM6996M switches.
+ Support for FC is very limited.
+config MVSWITCH_PHY
+ tristate "Driver for Marvell 88E6060 switches"
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -96,6 +96,10 @@ config ADM6996_PHY
+@@ -98,6 +98,10 @@ config ADM6996_PHY
config MVSWITCH_PHY
tristate "Driver for Marvell 88E6060 switches"
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -100,6 +100,10 @@ config IP175C_PHY
- tristate "Driver for IC+ IP175C/IP178C switches"
+@@ -102,6 +102,10 @@ config IP17XX_PHY
+ tristate "Driver for IC+ IP17xx switches"
select SWCONFIG
+config AR8216_PHY
+++ b/drivers/net/phy/Makefile
@@ -17,6 +17,7 @@ obj-$(CONFIG_ADM6996_PHY) += adm6996.o
obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
- obj-$(CONFIG_IP175C_PHY) += ip175c.o
+ obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
+obj-$(CONFIG_AR8216_PHY) += ar8216.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -104,6 +104,10 @@ config AR8216_PHY
+@@ -106,6 +106,10 @@ config AR8216_PHY
tristate "Driver for Atheros AR8216 switches"
select SWCONFIG
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
- obj-$(CONFIG_IP175C_PHY) += ip175c.o
+ obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
obj-$(CONFIG_AR8216_PHY) += ar8216.o
+obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -135,4 +135,29 @@ config MDIO_GPIO
+@@ -137,4 +137,29 @@ config MDIO_GPIO
To compile this driver as a module, choose M here: the module
will be called mdio-gpio.
endif # PHYLIB
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -19,6 +19,9 @@ obj-$(CONFIG_IP175C_PHY) += ip175c.o
+@@ -19,6 +19,9 @@ obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
obj-$(CONFIG_AR8216_PHY) += ar8216.o
obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
# define LL_MAX_HEADER 96
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -389,7 +389,7 @@ struct sk_buff {
+@@ -380,7 +380,7 @@ struct sk_buff {
#ifdef CONFIG_IPV6_NDISC_NODETYPE
__u8 ndisc_nodetype:2;
#endif
--- a/arch/arm/include/asm/thread_info.h
+++ b/arch/arm/include/asm/thread_info.h
-@@ -141,6 +141,7 @@
+@@ -140,6 +140,7 @@ extern void vfp_sync_state(struct thread
#define TIF_USING_IWMMXT 17
#define TIF_MEMDIE 18
#define TIF_FREEZE 19
#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
-@@ -148,6 +149,7 @@
+@@ -147,6 +148,7 @@ extern void vfp_sync_state(struct thread
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
#define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT)
#define _TIF_FREEZE (1 << TIF_FREEZE)
CALL(sys_signalfd)
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
-@@ -373,16 +373,6 @@
+@@ -373,16 +373,6 @@ sys_clone_wrapper:
b sys_clone
ENDPROC(sys_clone_wrapper)
b sys_sigreturn
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
-@@ -47,57 +47,22 @@
+@@ -47,57 +47,22 @@ const unsigned long sigreturn_codes[7] =
MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN,
};
}
asmlinkage int
-@@ -545,7 +510,7 @@
+@@ -545,7 +510,7 @@ static inline void setup_syscall_restart
/*
* OK, we're invoking a handler
*/
handle_signal(unsigned long sig, struct k_sigaction *ka,
siginfo_t *info, sigset_t *oldset,
struct pt_regs * regs, int syscall)
-@@ -596,7 +561,7 @@
+@@ -596,7 +561,7 @@ handle_signal(unsigned long sig, struct
if (ret != 0) {
force_sigsegv(sig, tsk);
}
/*
-@@ -610,6 +575,7 @@
+@@ -610,6 +575,7 @@ handle_signal(unsigned long sig, struct
recalc_sigpending();
spin_unlock_irq(&tsk->sighand->siglock);
}
/*
-@@ -621,11 +587,12 @@
+@@ -621,11 +587,12 @@ handle_signal(unsigned long sig, struct
* the kernel can handle, and then we build all the user-level signal handling
* stack-frames in one go after that.
*/
/*
* We want the common case to go fast, which
-@@ -634,18 +601,32 @@
+@@ -634,18 +601,32 @@ static int do_signal(sigset_t *oldset, s
* if so.
*/
if (!user_mode(regs))
}
no_signal:
-@@ -697,14 +678,21 @@
+@@ -697,14 +678,21 @@ static int do_signal(sigset_t *oldset, s
regs->ARM_r0 == -ERESTARTNOINTR) {
setup_syscall_restart(regs);
}
* We enter with non-exclusive mmap_sem (to exclude vma changes,
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -1101,6 +1101,7 @@ void unmap_kernel_range(unsigned long ad
+@@ -1099,6 +1099,7 @@ void unmap_kernel_range(unsigned long ad
vunmap_page_range(addr, end);
flush_tlb_kernel_range(addr, end);
}
int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages)
{
-@@ -1214,6 +1215,7 @@ struct vm_struct *get_vm_area(unsigned l
+@@ -1212,6 +1213,7 @@ struct vm_struct *get_vm_area(unsigned l
return __get_vm_area_node(size, flags, VMALLOC_START, VMALLOC_END,
-1, GFP_KERNEL, __builtin_return_address(0));
}
void *caller)
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
-@@ -711,6 +711,7 @@ static inline int shmem_lock(struct file
+@@ -712,6 +712,7 @@ static inline int shmem_lock(struct file
#endif
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags);
ifeq ($(CONFIG_TUNE_CELL),y)
KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
-@@ -130,7 +130,8 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
+@@ -129,7 +129,8 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
KBUILD_CFLAGS += -mno-sched-epilog
endif
ifeq ($(CONFIG_TUNE_CELL),y)
KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-
---- linux-2.6.37.6.org/Makefile 2012-03-28 17:10:58.297558774 +0200
-+++ linux-2.6.37.6.mod/Makefile 2012-03-28 17:15:00.161564521 +0200
-@@ -354,7 +354,8 @@
+--- a/Makefile
++++ b/Makefile
+@@ -354,7 +354,8 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstric
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
-Wno-format-security \
ifeq ($(CONFIG_TUNE_CELL),y)
KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
-