[kernel] generic-2.6/2.6.23: refresh patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14448 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2009-02-08 19:11:53 +00:00
parent acc0f6cee7
commit 4c29640983
59 changed files with 377 additions and 377 deletions

View File

@ -1,6 +1,6 @@
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -1364,6 +1364,71 @@ @@ -1364,6 +1364,71 @@ config CRAMFS
If unsure, say N. If unsure, say N.
@ -74,7 +74,7 @@
depends on BLOCK depends on BLOCK
--- a/fs/Makefile --- a/fs/Makefile
+++ b/fs/Makefile +++ b/fs/Makefile
@@ -72,6 +72,7 @@ @@ -72,6 +72,7 @@ obj-$(CONFIG_JBD) += jbd/
obj-$(CONFIG_JBD2) += jbd2/ obj-$(CONFIG_JBD2) += jbd2/
obj-$(CONFIG_EXT2_FS) += ext2/ obj-$(CONFIG_EXT2_FS) += ext2/
obj-$(CONFIG_CRAMFS) += cramfs/ obj-$(CONFIG_CRAMFS) += cramfs/
@ -4128,7 +4128,7 @@
#include <linux/initrd.h> #include <linux/initrd.h>
#include <linux/string.h> #include <linux/string.h>
@@ -39,6 +40,7 @@ @@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
* numbers could not be found. * numbers could not be found.
* *
* We currently check for the following magic numbers: * We currently check for the following magic numbers:
@ -4136,7 +4136,7 @@
* minix * minix
* ext2 * ext2
* romfs * romfs
@@ -53,6 +55,7 @@ @@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
struct ext2_super_block *ext2sb; struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb; struct romfs_super_block *romfsb;
struct cramfs_super *cramfsb; struct cramfs_super *cramfsb;
@ -4144,7 +4144,7 @@
int nblocks = -1; int nblocks = -1;
unsigned char *buf; unsigned char *buf;
@@ -64,6 +67,7 @@ @@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
ext2sb = (struct ext2_super_block *) buf; ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf; romfsb = (struct romfs_super_block *) buf;
cramfsb = (struct cramfs_super *) buf; cramfsb = (struct cramfs_super *) buf;
@ -4152,7 +4152,7 @@
memset(buf, 0xe5, size); memset(buf, 0xe5, size);
/* /*
@@ -101,6 +105,15 @@ @@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
goto done; goto done;
} }

View File

@ -769,7 +769,7 @@
+} +}
--- a/lib/Makefile --- a/lib/Makefile
+++ b/lib/Makefile +++ b/lib/Makefile
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
lib-y += kobject.o kref.o kobject_uevent.o klist.o lib-y += kobject.o kref.o kobject_uevent.o klist.o
obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \ obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
@ -778,7 +778,7 @@
ifeq ($(CONFIG_DEBUG_KOBJECT),y) ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG CFLAGS_kobject.o += -DDEBUG
@@ -62,6 +62,7 @@ @@ -62,6 +62,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC) += audit.o obj-$(CONFIG_AUDIT_GENERIC) += audit.o
obj-$(CONFIG_SWIOTLB) += swiotlb.o obj-$(CONFIG_SWIOTLB) += swiotlb.o

View File

@ -38,7 +38,7 @@
static void squashfs_put_super(struct super_block *); static void squashfs_put_super(struct super_block *);
static int squashfs_statfs(struct dentry *, struct kstatfs *); static int squashfs_statfs(struct dentry *, struct kstatfs *);
static int squashfs_symlink_readpage(struct file *file, struct page *page); static int squashfs_symlink_readpage(struct file *file, struct page *page);
@@ -64,7 +81,11 @@ @@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
const char *, void *, struct vfsmount *); const char *, void *, struct vfsmount *);
@ -50,7 +50,7 @@
static struct file_system_type squashfs_fs_type = { static struct file_system_type squashfs_fs_type = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
@@ -249,6 +270,15 @@ @@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
if (compressed) { if (compressed) {
int zlib_err; int zlib_err;
@ -66,7 +66,7 @@
stream.next_in = c_buffer; stream.next_in = c_buffer;
stream.avail_in = c_byte; stream.avail_in = c_byte;
stream.next_out = buffer; stream.next_out = buffer;
@@ -263,7 +293,7 @@ @@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
bytes = 0; bytes = 0;
} else } else
bytes = stream.total_out; bytes = stream.total_out;
@ -75,7 +75,7 @@
up(&msblk->read_data_mutex); up(&msblk->read_data_mutex);
} }
@@ -2045,15 +2075,19 @@ @@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) " printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
"Phillip Lougher\n"); "Phillip Lougher\n");
@ -95,7 +95,7 @@
destroy_inodecache(); destroy_inodecache();
} }
@@ -2064,7 +2098,9 @@ @@ -2064,7 +2098,9 @@ out:
static void __exit exit_squashfs_fs(void) static void __exit exit_squashfs_fs(void)
{ {

View File

@ -1,6 +1,6 @@
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -508,6 +508,9 @@ @@ -508,6 +508,9 @@ CFLAGS += $(call cc-option, -fn
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS) CHECKFLAGS += $(NOSTDINC_FLAGS)

View File

@ -1,6 +1,6 @@
--- a/include/asm-mips/system.h --- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h +++ b/include/asm-mips/system.h
@@ -181,7 +181,7 @@ @@ -181,7 +181,7 @@ extern __u64 __xchg_u64_unsupported_on_3
if something tries to do an invalid xchg(). */ if something tries to do an invalid xchg(). */
extern void __xchg_called_with_bad_pointer(void); extern void __xchg_called_with_bad_pointer(void);

View File

@ -8,7 +8,7 @@
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); 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 *); static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
@@ -294,12 +295,19 @@ @@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct
if (extp->MajorVersion != '1' || if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) { (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/chips/cfi_cmdset_0001.c --- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -933,7 +933,7 @@ @@ -933,7 +933,7 @@ static void __xipram xip_enable(struct m
static int __xipram xip_wait_for_operation( static int __xipram xip_wait_for_operation(
struct map_info *map, struct flchip *chip, struct map_info *map, struct flchip *chip,
@ -9,7 +9,7 @@
{ {
struct cfi_private *cfi = map->fldrv_priv; struct cfi_private *cfi = map->fldrv_priv;
struct cfi_pri_intelext *cfip = cfi->cmdset_priv; struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
@@ -942,7 +942,7 @@ @@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati
flstate_t oldstate, newstate; flstate_t oldstate, newstate;
start = xip_currtime(); start = xip_currtime();
@ -18,7 +18,7 @@
if (usec == 0) if (usec == 0)
usec = 500000; usec = 500000;
done = 0; done = 0;
@@ -1052,8 +1052,8 @@ @@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati
#define XIP_INVAL_CACHED_RANGE(map, from, size) \ #define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size) INVALIDATE_CACHED_RANGE(map, from, size)
@ -29,7 +29,7 @@
#else #else
@@ -1065,65 +1065,65 @@ @@ -1065,65 +1065,65 @@ static int __xipram xip_wait_for_operati
static int inval_cache_and_wait_for_operation( static int inval_cache_and_wait_for_operation(
struct map_info *map, struct flchip *chip, struct map_info *map, struct flchip *chip,
unsigned long cmd_adr, unsigned long inval_adr, int inval_len, unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
@ -130,7 +130,7 @@
/* Done and happy. */ /* Done and happy. */
chip->state = FL_STATUS; chip->state = FL_STATUS;
return 0; return 0;
@@ -1132,7 +1132,8 @@ @@ -1132,7 +1132,8 @@ static int inval_cache_and_wait_for_oper
#endif #endif
#define WAIT_TIMEOUT(map, chip, adr, udelay) \ #define WAIT_TIMEOUT(map, chip, adr, udelay) \
@ -140,7 +140,7 @@
static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len) static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
@@ -1356,7 +1357,7 @@ @@ -1356,7 +1357,7 @@ static int __xipram do_write_oneword(str
ret = INVAL_CACHE_AND_WAIT(map, chip, adr, ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, map_bankwidth(map), adr, map_bankwidth(map),
@ -149,7 +149,7 @@
if (ret) { if (ret) {
xip_enable(map, chip, adr); xip_enable(map, chip, adr);
printk(KERN_ERR "%s: word write error (status timeout)\n", map->name); printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
@@ -1593,7 +1594,7 @@ @@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru
ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr, ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
adr, len, adr, len,
@ -158,7 +158,7 @@
if (ret) { if (ret) {
map_write(map, CMD(0x70), cmd_adr); map_write(map, CMD(0x70), cmd_adr);
chip->state = FL_STATUS; chip->state = FL_STATUS;
@@ -1728,7 +1729,7 @@ @@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st
ret = INVAL_CACHE_AND_WAIT(map, chip, adr, ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, len, adr, len,

View File

@ -1,6 +1,6 @@
--- a/arch/mips/mm/tlbex.c --- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c
@@ -902,7 +902,6 @@ @@ -902,7 +902,6 @@ static __init void build_tlb_write_entry
case CPU_R10000: case CPU_R10000:
case CPU_R12000: case CPU_R12000:
case CPU_R14000: case CPU_R14000:
@ -8,7 +8,7 @@
case CPU_SB1: case CPU_SB1:
case CPU_SB1A: case CPU_SB1A:
case CPU_4KSC: case CPU_4KSC:
@@ -933,6 +932,7 @@ @@ -933,6 +932,7 @@ static __init void build_tlb_write_entry
tlbw(p); tlbw(p);
break; break;

View File

@ -1,6 +1,6 @@
--- a/arch/mips/kernel/gdb-stub.c --- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c +++ b/arch/mips/kernel/gdb-stub.c
@@ -656,6 +656,7 @@ @@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long
*epc = (unsigned long)async_breakpoint; *epc = (unsigned long)async_breakpoint;
} }
@ -8,7 +8,7 @@
static void kgdb_wait(void *arg) static void kgdb_wait(void *arg)
{ {
unsigned flags; unsigned flags;
@@ -668,6 +669,7 @@ @@ -668,6 +669,7 @@ static void kgdb_wait(void *arg)
local_irq_restore(flags); local_irq_restore(flags);
} }

View File

@ -8,7 +8,7 @@
#include <linux/buffer_head.h> #include <linux/buffer_head.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/mount.h> #include <linux/mount.h>
@@ -237,10 +238,11 @@ @@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
/* FIXME: ensure that mtd->size % erase_size == 0 */ /* FIXME: ensure that mtd->size % erase_size == 0 */
@ -21,7 +21,7 @@
if (!devname) if (!devname)
return NULL; return NULL;
@@ -279,14 +281,18 @@ @@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
/* Setup the MTD structure */ /* Setup the MTD structure */
/* make the name contain the block device in */ /* make the name contain the block device in */
@ -45,7 +45,7 @@
dev->mtd.erasesize = erase_size; dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1; dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM; dev->mtd.type = MTD_RAM;
@@ -298,15 +304,18 @@ @@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read; dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev; dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE; dev->mtd.owner = THIS_MODULE;
@ -68,7 +68,7 @@
return dev; return dev;
devinit_err: devinit_err:
@@ -379,9 +388,9 @@ @@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
static int block2mtd_setup2(const char *val) static int block2mtd_setup2(const char *val)
{ {
@ -80,7 +80,7 @@
char *name; char *name;
size_t erase_size = PAGE_SIZE; size_t erase_size = PAGE_SIZE;
int i, ret; int i, ret;
@@ -392,7 +401,7 @@ @@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
strcpy(str, val); strcpy(str, val);
kill_final_newline(str); kill_final_newline(str);
@ -89,7 +89,7 @@
token[i] = strsep(&str, ","); token[i] = strsep(&str, ",");
if (str) if (str)
@@ -412,8 +421,10 @@ @@ -412,8 +421,10 @@ static int block2mtd_setup2(const char *
parse_err("illegal erase size"); parse_err("illegal erase size");
} }
} }
@ -101,7 +101,7 @@
return 0; return 0;
} }
@@ -447,7 +458,7 @@ @@ -447,7 +458,7 @@ static int block2mtd_setup(const char *v
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200); module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -47,6 +47,16 @@ @@ -47,6 +47,16 @@ config MTD_PARTITIONS
devices. Partitioning on NFTL 'devices' is a different - that's the devices. Partitioning on NFTL 'devices' is a different - that's the
'normal' form of partitioning used on a block device. 'normal' form of partitioning used on a block device.
@ -28,7 +28,7 @@
/* Our partition linked list */ /* Our partition linked list */
static LIST_HEAD(mtd_partitions); static LIST_HEAD(mtd_partitions);
@@ -39,7 +41,7 @@ @@ -39,7 +41,7 @@ struct mtd_part {
* the pointer to that structure with this macro. * the pointer to that structure with this macro.
*/ */
#define PART(x) ((struct mtd_part *)(x)) #define PART(x) ((struct mtd_part *)(x))
@ -37,7 +37,7 @@
/* /*
* MTD methods which simply translate the effective address and pass through * MTD methods which simply translate the effective address and pass through
@@ -308,6 +310,312 @@ @@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info *
return 0; return 0;
} }
@ -350,7 +350,7 @@
/* /*
* This function, given a master MTD object and a partition table, creates * This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to * and registers slave MTD objects which are bound to the master according to
@@ -320,168 +628,31 @@ @@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
int nbparts) int nbparts)
{ {
struct mtd_part *slave; struct mtd_part *slave;
@ -540,7 +540,7 @@
} }
} }
@@ -557,6 +728,32 @@ @@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info
return ret; return ret;
} }
@ -575,7 +575,7 @@
EXPORT_SYMBOL_GPL(deregister_mtd_parser); EXPORT_SYMBOL_GPL(deregister_mtd_parser);
--- a/drivers/mtd/devices/block2mtd.c --- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c
@@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@ struct block2mtd_dev {
struct block_device *blkdev; struct block_device *blkdev;
struct mtd_info mtd; struct mtd_info mtd;
struct mutex write_mutex; struct mutex write_mutex;
@ -584,7 +584,7 @@
}; };
@@ -86,6 +88,12 @@ @@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
size_t len = instr->len; size_t len = instr->len;
int err; int err;
@ -597,7 +597,7 @@
instr->state = MTD_ERASING; instr->state = MTD_ERASING;
mutex_lock(&dev->write_mutex); mutex_lock(&dev->write_mutex);
err = _block2mtd_erase(dev, from, len); err = _block2mtd_erase(dev, from, len);
@@ -98,6 +106,10 @@ @@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
instr->state = MTD_ERASE_DONE; instr->state = MTD_ERASE_DONE;
mtd_erase_callback(instr); mtd_erase_callback(instr);
@ -608,7 +608,7 @@
return err; return err;
} }
@@ -109,10 +121,14 @@ @@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
struct page *page; struct page *page;
int index = from >> PAGE_SHIFT; int index = from >> PAGE_SHIFT;
int offset = from & (PAGE_SIZE-1); int offset = from & (PAGE_SIZE-1);
@ -626,7 +626,7 @@
if (from + len > mtd->size) if (from + len > mtd->size)
len = mtd->size - from; len = mtd->size - from;
@@ -127,10 +143,14 @@ @@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
len = len - cpylen; len = len - cpylen;
page = page_read(dev->blkdev->bd_inode->i_mapping, index); page = page_read(dev->blkdev->bd_inode->i_mapping, index);
@ -645,7 +645,7 @@
memcpy(buf, page_address(page) + offset, cpylen); memcpy(buf, page_address(page) + offset, cpylen);
page_cache_release(page); page_cache_release(page);
@@ -141,7 +161,10 @@ @@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
offset = 0; offset = 0;
index++; index++;
} }
@ -657,7 +657,7 @@
} }
@@ -193,12 +216,22 @@ @@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
size_t *retlen, const u_char *buf) size_t *retlen, const u_char *buf)
{ {
struct block2mtd_dev *dev = mtd->priv; struct block2mtd_dev *dev = mtd->priv;
@ -684,7 +684,7 @@
if (to + len > mtd->size) if (to + len > mtd->size)
len = mtd->size - to; len = mtd->size - to;
@@ -207,6 +240,9 @@ @@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
mutex_unlock(&dev->write_mutex); mutex_unlock(&dev->write_mutex);
if (err > 0) if (err > 0)
err = 0; err = 0;
@ -694,7 +694,7 @@
return err; return err;
} }
@@ -215,51 +251,29 @@ @@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
static void block2mtd_sync(struct mtd_info *mtd) static void block2mtd_sync(struct mtd_info *mtd)
{ {
struct block2mtd_dev *dev = mtd->priv; struct block2mtd_dev *dev = mtd->priv;
@ -754,7 +754,7 @@
if (devt) { if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ); bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
} }
@@ -267,17 +281,96 @@ @@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
#endif #endif
if (IS_ERR(bdev)) { if (IS_ERR(bdev)) {
@ -854,7 +854,7 @@
/* Setup the MTD structure */ /* Setup the MTD structure */
/* make the name contain the block device in */ /* make the name contain the block device in */
@@ -304,6 +397,7 @@ @@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read; dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev; dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE; dev->mtd.owner = THIS_MODULE;
@ -872,7 +872,7 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
@@ -753,6 +754,13 @@ @@ -753,6 +754,13 @@ static int mtd_ioctl(struct inode *inode
file->f_pos = 0; file->f_pos = 0;
break; break;
} }
@ -888,7 +888,7 @@
ret = -ENOTTY; ret = -ENOTTY;
--- a/include/linux/mtd/mtd.h --- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h
@@ -98,6 +98,7 @@ @@ -98,6 +98,7 @@ struct mtd_oob_ops {
uint8_t *oobbuf; uint8_t *oobbuf;
}; };
@ -896,7 +896,7 @@
struct mtd_info { struct mtd_info {
u_char type; u_char type;
u_int32_t flags; u_int32_t flags;
@@ -195,6 +196,9 @@ @@ -195,6 +196,9 @@ struct mtd_info {
struct module *owner; struct module *owner;
int usecount; int usecount;
@ -916,7 +916,7 @@
struct mtd_partition { struct mtd_partition {
char *name; /* identifier string */ char *name; /* identifier string */
u_int32_t size; /* partition size */ u_int32_t size; /* partition size */
@@ -43,6 +44,7 @@ @@ -43,6 +44,7 @@ struct mtd_partition {
u_int32_t mask_flags; /* master MTD flags to mask out for this partition */ u_int32_t mask_flags; /* master MTD flags to mask out for this partition */
struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/
struct mtd_info **mtdp; /* pointer to store the MTD object */ struct mtd_info **mtdp; /* pointer to store the MTD object */
@ -924,7 +924,7 @@
}; };
#define MTDPART_OFS_NXTBLK (-2) #define MTDPART_OFS_NXTBLK (-2)
@@ -52,6 +54,7 @@ @@ -52,6 +54,7 @@ struct mtd_partition {
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
int del_mtd_partitions(struct mtd_info *); int del_mtd_partitions(struct mtd_info *);
@ -934,7 +934,7 @@
* Functions dealing with the various ways of partitioning the space * Functions dealing with the various ways of partitioning the space
--- a/include/mtd/mtd-abi.h --- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h +++ b/include/mtd/mtd-abi.h
@@ -95,6 +95,7 @@ @@ -95,6 +95,7 @@ struct otp_info {
#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout) #define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout)
#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats) #define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats)
#define MTDFILEMODE _IO('M', 19) #define MTDFILEMODE _IO('M', 19)

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/redboot.c --- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c
@@ -236,14 +236,21 @@ @@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru
#endif #endif
names += strlen(names)+1; names += strlen(names)+1;

View File

@ -1,6 +1,6 @@
--- a/include/linux/mtd/nand.h --- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h
@@ -572,6 +572,7 @@ @@ -572,6 +572,7 @@ struct platform_nand_chip {
int chip_delay; int chip_delay;
unsigned int options; unsigned int options;
const char **part_probe_types; const char **part_probe_types;
@ -10,7 +10,7 @@
--- a/drivers/mtd/nand/plat_nand.c --- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c +++ b/drivers/mtd/nand/plat_nand.c
@@ -70,7 +70,18 @@ @@ -70,7 +70,18 @@ static int __init plat_nand_probe(struct
platform_set_drvdata(pdev, data); platform_set_drvdata(pdev, data);
/* Scan to find existance of the device */ /* Scan to find existance of the device */

View File

@ -1,6 +1,6 @@
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -633,6 +633,27 @@ @@ -633,6 +633,27 @@ config NETFILTER_XT_MATCH_STATE
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -30,7 +30,7 @@
depends on NETFILTER_XTABLES depends on NETFILTER_XTABLES
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile +++ b/net/netfilter/Makefile
@@ -71,6 +71,7 @@ @@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
@ -2027,7 +2027,7 @@
+} +}
--- a/net/netfilter/nf_conntrack_core.c --- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c
@@ -207,6 +207,14 @@ @@ -207,6 +207,14 @@ destroy_conntrack(struct nf_conntrack *n
* too. */ * too. */
nf_ct_remove_expectations(ct); nf_ct_remove_expectations(ct);
@ -2044,7 +2044,7 @@
BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode)); BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
--- a/net/netfilter/nf_conntrack_standalone.c --- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c
@@ -179,7 +179,12 @@ @@ -179,7 +179,12 @@ static int ct_seq_show(struct seq_file *
return -ENOSPC; return -ENOSPC;
#endif #endif
@ -2060,7 +2060,7 @@
return 0; return 0;
--- a/include/net/netfilter/nf_conntrack.h --- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h
@@ -127,6 +127,22 @@ @@ -127,6 +127,22 @@ struct nf_conn
u_int32_t secmark; u_int32_t secmark;
#endif #endif

View File

@ -1,6 +1,6 @@
--- a/include/linux/netfilter/xt_layer7.h --- a/include/linux/netfilter/xt_layer7.h
+++ b/include/linux/netfilter/xt_layer7.h +++ b/include/linux/netfilter/xt_layer7.h
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@ struct xt_layer7_info {
char protocol[MAX_PROTOCOL_LEN]; char protocol[MAX_PROTOCOL_LEN];
char pattern[MAX_PATTERN_LEN]; char pattern[MAX_PATTERN_LEN];
u_int8_t invert; u_int8_t invert;
@ -10,7 +10,7 @@
#endif /* _XT_LAYER7_H */ #endif /* _XT_LAYER7_H */
--- a/net/netfilter/xt_layer7.c --- a/net/netfilter/xt_layer7.c
+++ b/net/netfilter/xt_layer7.c +++ b/net/netfilter/xt_layer7.c
@@ -297,34 +297,36 @@ @@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
} }
/* add the new app data to the conntrack. Return number of bytes added. */ /* add the new app data to the conntrack. Return number of bytes added. */
@ -61,7 +61,7 @@
return length; return length;
} }
@@ -411,7 +413,7 @@ @@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
const struct xt_layer7_info * info = matchinfo; const struct xt_layer7_info * info = matchinfo;
enum ip_conntrack_info master_ctinfo, ctinfo; enum ip_conntrack_info master_ctinfo, ctinfo;
struct nf_conn *master_conntrack, *conntrack; struct nf_conn *master_conntrack, *conntrack;
@ -70,7 +70,7 @@
unsigned int pattern_result, appdatalen; unsigned int pattern_result, appdatalen;
regexp * comppattern; regexp * comppattern;
@@ -439,8 +441,8 @@ @@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
master_conntrack = master_ct(master_conntrack); master_conntrack = master_ct(master_conntrack);
/* if we've classified it or seen too many packets */ /* if we've classified it or seen too many packets */
@ -81,7 +81,7 @@
pattern_result = match_no_append(conntrack, master_conntrack, pattern_result = match_no_append(conntrack, master_conntrack,
ctinfo, master_ctinfo, info); ctinfo, master_ctinfo, info);
@@ -473,6 +475,25 @@ @@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
/* the return value gets checked later, when we're ready to use it */ /* the return value gets checked later, when we're ready to use it */
comppattern = compile_and_cache(info->pattern, info->protocol); comppattern = compile_and_cache(info->pattern, info->protocol);

View File

@ -893,7 +893,7 @@
+ +
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -63,6 +63,12 @@ @@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -908,7 +908,7 @@
depends on IP_NF_IPTABLES depends on IP_NF_IPTABLES
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -50,6 +50,8 @@ @@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o

View File

@ -13,7 +13,7 @@
+extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func); +extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func);
--- a/net/ipv4/Kconfig --- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig
@@ -224,6 +224,12 @@ @@ -224,6 +224,12 @@ config NET_IPGRE_BROADCAST
Network), but can be distributed all over the Internet. If you want Network), but can be distributed all over the Internet. If you want
to do that, say Y here and to "IP multicast routing" below. to do that, say Y here and to "IP multicast routing" below.
@ -36,7 +36,7 @@
static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq) static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
{ {
@@ -161,6 +162,29 @@ @@ -161,6 +162,29 @@ drop:
return 0; return 0;
} }
@ -66,7 +66,7 @@
/* If it's a keepalive packet, then just eat it. /* If it's a keepalive packet, then just eat it.
* If it's an encapsulated packet, then pass it to the * If it's an encapsulated packet, then pass it to the
* IPsec xfrm input. * IPsec xfrm input.
@@ -251,7 +275,13 @@ @@ -251,7 +275,13 @@ int xfrm4_udp_encap_rcv(struct sock *sk,
iph->protocol = IPPROTO_ESP; iph->protocol = IPPROTO_ESP;
/* process ESP */ /* process ESP */
@ -80,7 +80,7 @@
return ret; return ret;
drop: drop:
@@ -265,3 +295,8 @@ @@ -265,3 +295,8 @@ int xfrm4_rcv(struct sk_buff *skb)
} }
EXPORT_SYMBOL(xfrm4_rcv); EXPORT_SYMBOL(xfrm4_rcv);

View File

@ -1,6 +1,6 @@
--- a/include/linux/netfilter_ipv4/Kbuild --- a/include/linux/netfilter_ipv4/Kbuild
+++ b/include/linux/netfilter_ipv4/Kbuild +++ b/include/linux/netfilter_ipv4/Kbuild
@@ -45,3 +45,14 @@ @@ -45,3 +45,14 @@ header-y += ipt_ULOG.h
unifdef-y += ip_queue.h unifdef-y += ip_queue.h
unifdef-y += ip_tables.h unifdef-y += ip_tables.h
@ -7527,7 +7527,7 @@
+module_exit(ipt_SET_fini); +module_exit(ipt_SET_fini);
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -408,5 +408,122 @@ @@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE
Allows altering the ARP packet payload: source and destination Allows altering the ARP packet payload: source and destination
hardware and network addresses. hardware and network addresses.
@ -7652,7 +7652,7 @@
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -48,6 +48,7 @@ @@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
@ -7660,7 +7660,7 @@
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
@@ -64,6 +65,18 @@ @@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o

View File

@ -204,7 +204,7 @@
+} +}
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -78,6 +78,22 @@ @@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -229,7 +229,7 @@
depends on IP_NF_IPTABLES depends on IP_NF_IPTABLES
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -44,6 +44,7 @@ @@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o

View File

@ -403,7 +403,7 @@
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/drivers/net/Kconfig --- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig +++ b/drivers/net/Kconfig
@@ -112,6 +112,129 @@ @@ -112,6 +112,129 @@ config EQUALIZER
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called eql. If unsure, say N. will be called eql. If unsure, say N.
@ -535,7 +535,7 @@
select CRC32 select CRC32
--- a/drivers/net/Makefile --- a/drivers/net/Makefile
+++ b/drivers/net/Makefile +++ b/drivers/net/Makefile
@@ -131,6 +131,7 @@ @@ -131,6 +131,7 @@ obj-$(CONFIG_SLHC) += slhc.o
obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
obj-$(CONFIG_DUMMY) += dummy.o obj-$(CONFIG_DUMMY) += dummy.o
@ -579,7 +579,7 @@
+#endif /* _IP6T_IMQ_H */ +#endif /* _IP6T_IMQ_H */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -295,6 +295,10 @@ @@ -295,6 +295,10 @@ struct sk_buff {
struct nf_conntrack *nfct; struct nf_conntrack *nfct;
struct sk_buff *nfct_reasm; struct sk_buff *nfct_reasm;
#endif #endif
@ -590,7 +590,7 @@
#ifdef CONFIG_BRIDGE_NETFILTER #ifdef CONFIG_BRIDGE_NETFILTER
struct nf_bridge_info *nf_bridge; struct nf_bridge_info *nf_bridge;
#endif #endif
@@ -1725,6 +1729,10 @@ @@ -1725,6 +1729,10 @@ static inline void __nf_copy(struct sk_b
dst->nfct_reasm = src->nfct_reasm; dst->nfct_reasm = src->nfct_reasm;
nf_conntrack_get_reasm(src->nfct_reasm); nf_conntrack_get_reasm(src->nfct_reasm);
#endif #endif
@ -613,7 +613,7 @@
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/stat.h> #include <linux/stat.h>
@@ -1462,7 +1465,11 @@ @@ -1462,7 +1465,11 @@ static int dev_gso_segment(struct sk_buf
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
if (likely(!skb->next)) { if (likely(!skb->next)) {
@ -700,7 +700,7 @@
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -333,6 +333,17 @@ @@ -333,6 +333,17 @@ config IP_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -720,7 +720,7 @@
depends on IP_NF_MANGLE depends on IP_NF_MANGLE
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -58,6 +58,7 @@ @@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
@ -802,7 +802,7 @@
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/net/ipv6/netfilter/Kconfig --- a/net/ipv6/netfilter/Kconfig
+++ b/net/ipv6/netfilter/Kconfig +++ b/net/ipv6/netfilter/Kconfig
@@ -173,6 +173,15 @@ @@ -173,6 +173,15 @@ config IP6_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -820,7 +820,7 @@
depends on IP6_NF_MANGLE depends on IP6_NF_MANGLE
--- a/net/ipv6/netfilter/Makefile --- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile +++ b/net/ipv6/netfilter/Makefile
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t
obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o
@ -830,7 +830,7 @@
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
--- a/net/sched/sch_generic.c --- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c
@@ -191,6 +191,11 @@ @@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n
return ret; return ret;
} }
@ -842,7 +842,7 @@
void __qdisc_run(struct net_device *dev) void __qdisc_run(struct net_device *dev)
{ {
do { do {
@@ -620,3 +625,4 @@ @@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_destroy);
EXPORT_SYMBOL(qdisc_reset); EXPORT_SYMBOL(qdisc_reset);
EXPORT_SYMBOL(qdisc_lock_tree); EXPORT_SYMBOL(qdisc_lock_tree);
EXPORT_SYMBOL(qdisc_unlock_tree); EXPORT_SYMBOL(qdisc_unlock_tree);

View File

@ -518,7 +518,7 @@
+module_exit(fini); +module_exit(fini);
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -552,5 +552,22 @@ @@ -552,5 +552,22 @@ config IP_NF_TARGET_SET
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -543,7 +543,7 @@
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC
obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
@ -553,7 +553,7 @@
obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
--- a/net/ipv6/ndisc.c --- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c
@@ -154,6 +154,8 @@ @@ -154,6 +154,8 @@ struct neigh_table nd_tbl = {
.gc_thresh3 = 1024, .gc_thresh3 = 1024,
}; };
@ -897,7 +897,7 @@
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/net/ipv6/netfilter/Kconfig --- a/net/ipv6/netfilter/Kconfig
+++ b/net/ipv6/netfilter/Kconfig +++ b/net/ipv6/netfilter/Kconfig
@@ -209,5 +209,18 @@ @@ -209,5 +209,18 @@ config IP6_NF_RAW
If you want to compile it as a module, say M here and read If you want to compile it as a module, say M here and read
<file:Documentation/kbuild/modules.txt>. If unsure, say `N'. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
@ -918,7 +918,7 @@
--- a/net/ipv6/netfilter/Makefile --- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile +++ b/net/ipv6/netfilter/Makefile
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_
obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o
obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o

View File

@ -1,6 +1,6 @@
--- a/include/linux/netfilter/Kbuild --- a/include/linux/netfilter/Kbuild
+++ b/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@ header-y += nf_conntrack_tuple_common.h
header-y += nfnetlink_conntrack.h header-y += nfnetlink_conntrack.h
header-y += nfnetlink_log.h header-y += nfnetlink_log.h
header-y += nfnetlink_queue.h header-y += nfnetlink_queue.h
@ -105,7 +105,7 @@
+#define xt_request_find_match xt_request_find_match_lo +#define xt_request_find_match xt_request_find_match_lo
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -265,6 +265,14 @@ @@ -265,6 +265,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets # alphabetically ordered list of targets
@ -120,7 +120,7 @@
config NETFILTER_XT_TARGET_CLASSIFY config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support' tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES depends on NETFILTER_XTABLES
@@ -292,6 +300,14 @@ @@ -292,6 +300,14 @@ config NETFILTER_XT_TARGET_CONNMARK
<file:Documentation/kbuild/modules.txt>. The module will be called <file:Documentation/kbuild/modules.txt>. The module will be called
ipt_CONNMARK.ko. If unsure, say `N'. ipt_CONNMARK.ko. If unsure, say `N'.
@ -135,7 +135,7 @@
config NETFILTER_XT_TARGET_DSCP config NETFILTER_XT_TARGET_DSCP
tristate '"DSCP" target support' tristate '"DSCP" target support'
depends on NETFILTER_XTABLES depends on NETFILTER_XTABLES
@@ -556,6 +572,14 @@ @@ -556,6 +572,14 @@ config NETFILTER_XT_MATCH_POLICY
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -152,7 +152,7 @@
depends on NETFILTER_XTABLES depends on NETFILTER_XTABLES
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile +++ b/net/netfilter/Makefile
@@ -49,6 +49,8 @@ @@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE)
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
@ -161,7 +161,7 @@
# matches # matches
obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
@@ -78,3 +80,4 @@ @@ -78,3 +80,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS)
obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o
obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
@ -843,7 +843,7 @@
+MODULE_ALIAS("ipt_portscan"); +MODULE_ALIAS("ipt_portscan");
--- a/drivers/char/random.c --- a/drivers/char/random.c
+++ b/drivers/char/random.c +++ b/drivers/char/random.c
@@ -1564,6 +1564,8 @@ @@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq; return seq;
} }

View File

@ -1,6 +1,6 @@
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -401,6 +401,23 @@ @@ -401,6 +401,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -26,7 +26,7 @@
depends on NETFILTER_XTABLES && (IPV6 || IPV6=n) depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile +++ b/net/netfilter/Makefile
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG)
obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o

View File

@ -1,6 +1,6 @@
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -143,7 +143,7 @@ @@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP
config NF_CONNTRACK_H323 config NF_CONNTRACK_H323
tristate "H.323 protocol support (EXPERIMENTAL)" tristate "H.323 protocol support (EXPERIMENTAL)"
@ -9,7 +9,7 @@
help help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most H.323 is a VoIP signalling protocol from ITU-T. As one of the most
important VoIP protocols, it is widely used by voice hardware and important VoIP protocols, it is widely used by voice hardware and
@@ -420,7 +420,7 @@ @@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TARPIT
config NETFILTER_XT_TARGET_TCPMSS config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support' tristate '"TCPMSS" target support'

View File

@ -294,7 +294,7 @@
+#endif /* _NETFILTER_MIME_H */ +#endif /* _NETFILTER_MIME_H */
--- a/net/ipv4/netfilter/Makefile --- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
@ -304,7 +304,7 @@
obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -249,6 +249,16 @@ @@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP
To compile it as a module, choose M here. If unsure, say N. To compile it as a module, choose M here. If unsure, say N.
@ -323,7 +323,7 @@
depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile +++ b/net/netfilter/Makefile
@@ -33,6 +33,7 @@ @@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
@ -333,7 +333,7 @@
obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
--- a/net/ipv4/netfilter/Kconfig --- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig
@@ -296,6 +296,11 @@ @@ -296,6 +296,11 @@ config NF_NAT_IRC
depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
default NF_NAT && NF_CONNTRACK_IRC default NF_NAT && NF_CONNTRACK_IRC

View File

@ -1,6 +1,6 @@
--- a/include/linux/pkt_sched.h --- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h
@@ -155,8 +155,37 @@ @@ -155,8 +155,37 @@ struct tc_sfq_qopt
* *
* The only reason for this is efficiency, it is possible * The only reason for this is efficiency, it is possible
* to change these parameters in compile time. * to change these parameters in compile time.
@ -40,7 +40,7 @@
enum enum
--- a/net/sched/Kconfig --- a/net/sched/Kconfig
+++ b/net/sched/Kconfig +++ b/net/sched/Kconfig
@@ -144,6 +144,37 @@ @@ -144,6 +144,37 @@ config NET_SCH_SFQ
To compile this code as a module, choose M here: the To compile this code as a module, choose M here: the
module will be called sch_sfq. module will be called sch_sfq.
@ -80,7 +80,7 @@
---help--- ---help---
--- a/net/sched/Makefile --- a/net/sched/Makefile
+++ b/net/sched/Makefile +++ b/net/sched/Makefile
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@ obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o

View File

@ -1,6 +1,6 @@
--- a/include/linux/rtnetlink.h --- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h
@@ -293,6 +293,8 @@ @@ -293,6 +293,8 @@ struct rtnexthop
#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */ #define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */ #define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
#define RTNH_F_ONLINK 4 /* Gateway is forced on link */ #define RTNH_F_ONLINK 4 /* Gateway is forced on link */
@ -11,7 +11,7 @@
--- a/include/net/flow.h --- a/include/net/flow.h
+++ b/include/net/flow.h +++ b/include/net/flow.h
@@ -19,6 +19,8 @@ @@ -19,6 +19,8 @@ struct flowi {
struct { struct {
__be32 daddr; __be32 daddr;
__be32 saddr; __be32 saddr;
@ -20,7 +20,7 @@
__u8 tos; __u8 tos;
__u8 scope; __u8 scope;
} ip4_u; } ip4_u;
@@ -43,6 +45,8 @@ @@ -43,6 +45,8 @@ struct flowi {
#define fl6_flowlabel nl_u.ip6_u.flowlabel #define fl6_flowlabel nl_u.ip6_u.flowlabel
#define fl4_dst nl_u.ip4_u.daddr #define fl4_dst nl_u.ip4_u.daddr
#define fl4_src nl_u.ip4_u.saddr #define fl4_src nl_u.ip4_u.saddr
@ -31,7 +31,7 @@
--- a/net/ipv4/route.c --- a/net/ipv4/route.c
+++ b/net/ipv4/route.c +++ b/net/ipv4/route.c
@@ -1116,6 +1116,7 @@ @@ -1116,6 +1116,7 @@ void ip_rt_redirect(__be32 old_gw, __be3
/* Gateway is different ... */ /* Gateway is different ... */
rt->rt_gateway = new_gw; rt->rt_gateway = new_gw;
@ -39,7 +39,7 @@
/* Redirect received -> path was valid */ /* Redirect received -> path was valid */
dst_confirm(&rth->u.dst); dst_confirm(&rth->u.dst);
@@ -1551,6 +1552,7 @@ @@ -1551,6 +1552,7 @@ static int ip_route_input_mc(struct sk_b
rth->fl.fl4_tos = tos; rth->fl.fl4_tos = tos;
rth->fl.mark = skb->mark; rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr; rth->fl.fl4_src = saddr;
@ -47,7 +47,7 @@
rth->rt_src = saddr; rth->rt_src = saddr;
#ifdef CONFIG_NET_CLS_ROUTE #ifdef CONFIG_NET_CLS_ROUTE
rth->u.dst.tclassid = itag; rth->u.dst.tclassid = itag;
@@ -1561,6 +1563,7 @@ @@ -1561,6 +1563,7 @@ static int ip_route_input_mc(struct sk_b
dev_hold(rth->u.dst.dev); dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0; rth->fl.oif = 0;
@ -55,7 +55,7 @@
rth->rt_gateway = daddr; rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst; rth->rt_spec_dst= spec_dst;
rth->rt_type = RTN_MULTICAST; rth->rt_type = RTN_MULTICAST;
@@ -1624,7 +1627,7 @@ @@ -1624,7 +1627,7 @@ static void ip_handle_martian_source(str
static inline int __mkroute_input(struct sk_buff *skb, static inline int __mkroute_input(struct sk_buff *skb,
struct fib_result* res, struct fib_result* res,
struct in_device *in_dev, struct in_device *in_dev,
@ -64,7 +64,7 @@
struct rtable **result) struct rtable **result)
{ {
@@ -1659,6 +1662,7 @@ @@ -1659,6 +1662,7 @@ static inline int __mkroute_input(struct
flags |= RTCF_DIRECTSRC; flags |= RTCF_DIRECTSRC;
if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) && if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) &&
@ -72,7 +72,7 @@
(IN_DEV_SHARED_MEDIA(out_dev) || (IN_DEV_SHARED_MEDIA(out_dev) ||
inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res)))) inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
flags |= RTCF_DOREDIRECT; flags |= RTCF_DOREDIRECT;
@@ -1692,6 +1696,7 @@ @@ -1692,6 +1696,7 @@ static inline int __mkroute_input(struct
rth->fl.mark = skb->mark; rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr; rth->fl.fl4_src = saddr;
rth->rt_src = saddr; rth->rt_src = saddr;
@ -80,7 +80,7 @@
rth->rt_gateway = daddr; rth->rt_gateway = daddr;
rth->rt_iif = rth->rt_iif =
rth->fl.iif = in_dev->dev->ifindex; rth->fl.iif = in_dev->dev->ifindex;
@@ -1699,6 +1704,7 @@ @@ -1699,6 +1704,7 @@ static inline int __mkroute_input(struct
dev_hold(rth->u.dst.dev); dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0; rth->fl.oif = 0;
@ -88,7 +88,7 @@
rth->rt_spec_dst= spec_dst; rth->rt_spec_dst= spec_dst;
rth->u.dst.input = ip_forward; rth->u.dst.input = ip_forward;
@@ -1720,19 +1726,21 @@ @@ -1720,19 +1726,21 @@ static inline int ip_mkroute_input(struc
struct fib_result* res, struct fib_result* res,
const struct flowi *fl, const struct flowi *fl,
struct in_device *in_dev, struct in_device *in_dev,
@ -113,7 +113,7 @@
if (err) if (err)
return err; return err;
@@ -1752,18 +1760,18 @@ @@ -1752,18 +1760,18 @@ static inline int ip_mkroute_input(struc
*/ */
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr, static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
@ -135,7 +135,7 @@
unsigned flags = 0; unsigned flags = 0;
u32 itag = 0; u32 itag = 0;
struct rtable * rth; struct rtable * rth;
@@ -1796,6 +1804,12 @@ @@ -1796,6 +1804,12 @@ static int ip_route_input_slow(struct sk
if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr)) if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr))
goto martian_destination; goto martian_destination;
@ -148,7 +148,7 @@
/* /*
* Now we are ready to route packet. * Now we are ready to route packet.
*/ */
@@ -1805,6 +1819,10 @@ @@ -1805,6 +1819,10 @@ static int ip_route_input_slow(struct sk
goto no_route; goto no_route;
} }
free_res = 1; free_res = 1;
@ -159,7 +159,7 @@
RT_CACHE_STAT_INC(in_slow_tot); RT_CACHE_STAT_INC(in_slow_tot);
@@ -1829,7 +1847,7 @@ @@ -1829,7 +1847,7 @@ static int ip_route_input_slow(struct sk
if (res.type != RTN_UNICAST) if (res.type != RTN_UNICAST)
goto martian_destination; goto martian_destination;
@ -168,7 +168,7 @@
if (err == -ENOBUFS) if (err == -ENOBUFS)
goto e_nobufs; goto e_nobufs;
if (err == -EINVAL) if (err == -EINVAL)
@@ -1844,6 +1862,8 @@ @@ -1844,6 +1862,8 @@ out: return err;
brd_input: brd_input:
if (skb->protocol != htons(ETH_P_IP)) if (skb->protocol != htons(ETH_P_IP))
goto e_inval; goto e_inval;
@ -177,7 +177,7 @@
if (ZERONET(saddr)) if (ZERONET(saddr))
spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK); spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
@@ -1884,6 +1904,7 @@ @@ -1884,6 +1904,7 @@ local_input:
rth->u.dst.dev = &loopback_dev; rth->u.dst.dev = &loopback_dev;
dev_hold(rth->u.dst.dev); dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev); rth->idev = in_dev_get(rth->u.dst.dev);
@ -185,7 +185,7 @@
rth->rt_gateway = daddr; rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst; rth->rt_spec_dst= spec_dst;
rth->u.dst.input= ip_local_deliver; rth->u.dst.input= ip_local_deliver;
@@ -1933,8 +1954,9 @@ @@ -1933,8 +1954,9 @@ martian_source:
goto e_inval; goto e_inval;
} }
@ -197,7 +197,7 @@
{ {
struct rtable * rth; struct rtable * rth;
unsigned hash; unsigned hash;
@@ -1949,6 +1971,7 @@ @@ -1949,6 +1971,7 @@ int ip_route_input(struct sk_buff *skb,
if (rth->fl.fl4_dst == daddr && if (rth->fl.fl4_dst == daddr &&
rth->fl.fl4_src == saddr && rth->fl.fl4_src == saddr &&
rth->fl.iif == iif && rth->fl.iif == iif &&
@ -205,7 +205,7 @@
rth->fl.oif == 0 && rth->fl.oif == 0 &&
rth->fl.mark == skb->mark && rth->fl.mark == skb->mark &&
rth->fl.fl4_tos == tos) { rth->fl.fl4_tos == tos) {
@@ -1995,7 +2018,19 @@ @@ -1995,7 +2018,19 @@ int ip_route_input(struct sk_buff *skb,
rcu_read_unlock(); rcu_read_unlock();
return -EINVAL; return -EINVAL;
} }
@ -226,7 +226,7 @@
} }
static inline int __mkroute_output(struct rtable **result, static inline int __mkroute_output(struct rtable **result,
@@ -2067,6 +2102,7 @@ @@ -2067,6 +2102,7 @@ static inline int __mkroute_output(struc
rth->fl.fl4_tos = tos; rth->fl.fl4_tos = tos;
rth->fl.fl4_src = oldflp->fl4_src; rth->fl.fl4_src = oldflp->fl4_src;
rth->fl.oif = oldflp->oif; rth->fl.oif = oldflp->oif;
@ -234,7 +234,7 @@
rth->fl.mark = oldflp->mark; rth->fl.mark = oldflp->mark;
rth->rt_dst = fl->fl4_dst; rth->rt_dst = fl->fl4_dst;
rth->rt_src = fl->fl4_src; rth->rt_src = fl->fl4_src;
@@ -2145,6 +2181,7 @@ @@ -2145,6 +2181,7 @@ static int ip_route_output_slow(struct r
struct flowi fl = { .nl_u = { .ip4_u = struct flowi fl = { .nl_u = { .ip4_u =
{ .daddr = oldflp->fl4_dst, { .daddr = oldflp->fl4_dst,
.saddr = oldflp->fl4_src, .saddr = oldflp->fl4_src,
@ -242,7 +242,7 @@
.tos = tos & IPTOS_RT_MASK, .tos = tos & IPTOS_RT_MASK,
.scope = ((tos & RTO_ONLINK) ? .scope = ((tos & RTO_ONLINK) ?
RT_SCOPE_LINK : RT_SCOPE_LINK :
@@ -2248,6 +2285,7 @@ @@ -2248,6 +2285,7 @@ static int ip_route_output_slow(struct r
dev_out = &loopback_dev; dev_out = &loopback_dev;
dev_hold(dev_out); dev_hold(dev_out);
fl.oif = loopback_dev.ifindex; fl.oif = loopback_dev.ifindex;
@ -250,7 +250,7 @@
res.type = RTN_LOCAL; res.type = RTN_LOCAL;
flags |= RTCF_LOCAL; flags |= RTCF_LOCAL;
goto make_route; goto make_route;
@@ -2255,7 +2293,7 @@ @@ -2255,7 +2293,7 @@ static int ip_route_output_slow(struct r
if (fib_lookup(&fl, &res)) { if (fib_lookup(&fl, &res)) {
res.fi = NULL; res.fi = NULL;
@ -259,7 +259,7 @@
/* Apparently, routing tables are wrong. Assume, /* Apparently, routing tables are wrong. Assume,
that the destination is on link. that the destination is on link.
@@ -2295,6 +2333,7 @@ @@ -2295,6 +2333,7 @@ static int ip_route_output_slow(struct r
dev_out = &loopback_dev; dev_out = &loopback_dev;
dev_hold(dev_out); dev_hold(dev_out);
fl.oif = dev_out->ifindex; fl.oif = dev_out->ifindex;
@ -267,7 +267,7 @@
if (res.fi) if (res.fi)
fib_info_put(res.fi); fib_info_put(res.fi);
res.fi = NULL; res.fi = NULL;
@@ -2302,13 +2341,12 @@ @@ -2302,13 +2341,12 @@ static int ip_route_output_slow(struct r
goto make_route; goto make_route;
} }
@ -284,7 +284,7 @@
if (!fl.fl4_src) if (!fl.fl4_src)
fl.fl4_src = FIB_RES_PREFSRC(res); fl.fl4_src = FIB_RES_PREFSRC(res);
@@ -2345,6 +2383,7 @@ @@ -2345,6 +2383,7 @@ int __ip_route_output_key(struct rtable
rth->fl.fl4_src == flp->fl4_src && rth->fl.fl4_src == flp->fl4_src &&
rth->fl.iif == 0 && rth->fl.iif == 0 &&
rth->fl.oif == flp->oif && rth->fl.oif == flp->oif &&
@ -292,7 +292,7 @@
rth->fl.mark == flp->mark && rth->fl.mark == flp->mark &&
!((rth->fl.fl4_tos ^ flp->fl4_tos) & !((rth->fl.fl4_tos ^ flp->fl4_tos) &
(IPTOS_RT_MASK | RTO_ONLINK))) { (IPTOS_RT_MASK | RTO_ONLINK))) {
@@ -3030,3 +3069,4 @@ @@ -3030,3 +3069,4 @@ int __init ip_rt_init(void)
EXPORT_SYMBOL(__ip_select_ident); EXPORT_SYMBOL(__ip_select_ident);
EXPORT_SYMBOL(ip_route_input); EXPORT_SYMBOL(ip_route_input);
EXPORT_SYMBOL(ip_route_output_key); EXPORT_SYMBOL(ip_route_output_key);

View File

@ -1,6 +1,6 @@
--- a/arch/mips/Makefile --- a/arch/mips/Makefile
+++ b/arch/mips/Makefile +++ b/arch/mips/Makefile
@@ -565,6 +565,9 @@ @@ -565,6 +565,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000 load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000

View File

@ -1,6 +1,6 @@
--- a/fs/jffs2/build.c --- a/fs/jffs2/build.c
+++ b/fs/jffs2/build.c +++ b/fs/jffs2/build.c
@@ -105,6 +105,17 @@ @@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
dbg_fsbuild("scanned flash completely\n"); dbg_fsbuild("scanned flash completely\n");
jffs2_dbg_dump_block_lists_nolock(c); jffs2_dbg_dump_block_lists_nolock(c);
@ -20,7 +20,7 @@
/* Now scan the directory tree, increasing nlink according to every dirent found. */ /* Now scan the directory tree, increasing nlink according to every dirent found. */
--- a/fs/jffs2/scan.c --- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c
@@ -142,9 +142,12 @@ @@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
/* reset summary info for next eraseblock scan */ /* reset summary info for next eraseblock scan */
jffs2_sum_reset_collected(s); jffs2_sum_reset_collected(s);
@ -36,7 +36,7 @@
if (ret < 0) if (ret < 0)
goto out; goto out;
@@ -545,6 +548,17 @@ @@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
return err; return err;
} }

View File

@ -1,6 +1,6 @@
--- a/drivers/net/r8169.c --- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c +++ b/drivers/net/r8169.c
@@ -1459,7 +1459,7 @@ @@ -1459,7 +1459,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8169, .hw_start = rtl_hw_start_8169,
.region = 1, .region = 1,
.align = 0, .align = 0,
@ -9,7 +9,7 @@
RxFIFOOver | TxErr | TxOK | RxOK | RxErr, RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
.napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow
}, },
@@ -1467,7 +1467,7 @@ @@ -1467,7 +1467,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8168, .hw_start = rtl_hw_start_8168,
.region = 2, .region = 2,
.align = 8, .align = 8,
@ -18,7 +18,7 @@
TxErr | TxOK | RxOK | RxErr, TxErr | TxOK | RxOK | RxErr,
.napi_event = TxErr | TxOK | RxOK | RxOverflow .napi_event = TxErr | TxOK | RxOK | RxOverflow
}, },
@@ -1475,7 +1475,7 @@ @@ -1475,7 +1475,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8101, .hw_start = rtl_hw_start_8101,
.region = 2, .region = 2,
.align = 8, .align = 8,
@ -27,7 +27,7 @@
RxFIFOOver | TxErr | TxOK | RxOK | RxErr, RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
.napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow .napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow
} }
@@ -2779,10 +2779,12 @@ @@ -2779,10 +2779,12 @@ static irqreturn_t rtl8169_interrupt(int
break; break;
} }

View File

@ -1,6 +1,6 @@
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -458,6 +458,9 @@ @@ -458,6 +458,9 @@ config OCFS2_DEBUG_MASKLOG
This option will enlarge your kernel, but it allows debugging of This option will enlarge your kernel, but it allows debugging of
ocfs2 filesystem issues. ocfs2 filesystem issues.
@ -12,7 +12,7 @@
help help
--- a/fs/Makefile --- a/fs/Makefile
+++ b/fs/Makefile +++ b/fs/Makefile
@@ -76,6 +76,7 @@ @@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/
obj-$(CONFIG_RAMFS) += ramfs/ obj-$(CONFIG_RAMFS) += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/ obj-$(CONFIG_CODA_FS) += coda/

View File

@ -1,6 +1,6 @@
--- a/include/linux/ieee80211.h --- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h
@@ -106,6 +106,75 @@ @@ -106,6 +106,75 @@ struct ieee80211_hdr {
} __attribute__ ((packed)); } __attribute__ ((packed));
@ -76,7 +76,7 @@
struct ieee80211_mgmt { struct ieee80211_mgmt {
__le16 frame_control; __le16 frame_control;
__le16 duration; __le16 duration;
@@ -173,9 +242,51 @@ @@ -173,9 +242,51 @@ struct ieee80211_mgmt {
struct { struct {
u8 action_code; u8 action_code;
u8 dialog_token; u8 dialog_token;
@ -128,7 +128,7 @@
struct{ struct{
u8 action_code; u8 action_code;
u8 element_id; u8 element_id;
@@ -184,6 +295,25 @@ @@ -184,6 +295,25 @@ struct ieee80211_mgmt {
u8 new_chan; u8 new_chan;
u8 switch_count; u8 switch_count;
} __attribute__((packed)) chan_switch; } __attribute__((packed)) chan_switch;
@ -154,7 +154,7 @@
} u; } u;
} __attribute__ ((packed)) action; } __attribute__ ((packed)) action;
} u; } u;
@@ -270,6 +400,18 @@ @@ -270,6 +400,18 @@ enum ieee80211_statuscode {
WLAN_STATUS_UNSUPP_RSN_VERSION = 44, WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
WLAN_STATUS_INVALID_RSN_IE_CAP = 45, WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
WLAN_STATUS_CIPHER_SUITE_REJECTED = 46, WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
@ -173,7 +173,7 @@
}; };
@@ -300,9 +442,50 @@ @@ -300,9 +442,50 @@ enum ieee80211_reasoncode {
WLAN_REASON_INVALID_RSN_IE_CAP = 22, WLAN_REASON_INVALID_RSN_IE_CAP = 22,
WLAN_REASON_IEEE8021X_FAILED = 23, WLAN_REASON_IEEE8021X_FAILED = 23,
WLAN_REASON_CIPHER_SUITE_REJECTED = 24, WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
@ -224,7 +224,7 @@
/* Information Element IDs */ /* Information Element IDs */
enum ieee80211_eid { enum ieee80211_eid {
WLAN_EID_SSID = 0, WLAN_EID_SSID = 0,
@@ -318,6 +501,15 @@ @@ -318,6 +501,15 @@ enum ieee80211_eid {
WLAN_EID_HP_PARAMS = 8, WLAN_EID_HP_PARAMS = 8,
WLAN_EID_HP_TABLE = 9, WLAN_EID_HP_TABLE = 9,
WLAN_EID_REQUEST = 10, WLAN_EID_REQUEST = 10,
@ -240,7 +240,7 @@
/* 802.11h */ /* 802.11h */
WLAN_EID_PWR_CONSTRAINT = 32, WLAN_EID_PWR_CONSTRAINT = 32,
WLAN_EID_PWR_CAPABILITY = 33, WLAN_EID_PWR_CAPABILITY = 33,
@@ -332,6 +524,9 @@ @@ -332,6 +524,9 @@ enum ieee80211_eid {
/* 802.11g */ /* 802.11g */
WLAN_EID_ERP_INFO = 42, WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50, WLAN_EID_EXT_SUPP_RATES = 50,
@ -250,7 +250,7 @@
/* 802.11i */ /* 802.11i */
WLAN_EID_RSN = 48, WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221, WLAN_EID_WPA = 221,
@@ -340,6 +535,9 @@ @@ -340,6 +535,9 @@ enum ieee80211_eid {
WLAN_EID_QOS_PARAMETER = 222 WLAN_EID_QOS_PARAMETER = 222
}; };
@ -260,7 +260,7 @@
/* cipher suite selectors */ /* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00 #define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01 #define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
@@ -350,4 +548,37 @@ @@ -350,4 +548,37 @@ enum ieee80211_eid {
#define WLAN_MAX_KEY_LEN 32 #define WLAN_MAX_KEY_LEN 32
@ -518,7 +518,7 @@
* enum nl80211_iftype - (virtual) interface types * enum nl80211_iftype - (virtual) interface types
* @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
* @NL80211_IFTYPE_ADHOC: independent BSS member * @NL80211_IFTYPE_ADHOC: independent BSS member
@@ -35,4 +246,56 @@ @@ -35,4 +246,56 @@ enum nl80211_iftype {
}; };
#define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1) #define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)
@ -585,7 +585,7 @@
#include <net/genetlink.h> #include <net/genetlink.h>
/* /*
@@ -49,6 +50,69 @@ @@ -49,6 +50,69 @@ extern int ieee80211_radiotap_iterator_n
struct ieee80211_radiotap_iterator *iterator); struct ieee80211_radiotap_iterator *iterator);
@ -655,7 +655,7 @@
/* from net/wireless.h */ /* from net/wireless.h */
struct wiphy; struct wiphy;
@@ -68,11 +132,62 @@ @@ -68,11 +132,62 @@ struct wiphy;
* @add_virtual_intf: create a new virtual interface with the given name * @add_virtual_intf: create a new virtual interface with the given name
* *
* @del_virtual_intf: remove the virtual interface determined by ifindex. * @del_virtual_intf: remove the virtual interface determined by ifindex.
@ -721,7 +721,7 @@
#endif /* __NET_CFG80211_H */ #endif /* __NET_CFG80211_H */
--- a/include/net/iw_handler.h --- a/include/net/iw_handler.h
+++ b/include/net/iw_handler.h +++ b/include/net/iw_handler.h
@@ -431,7 +431,13 @@ @@ -431,7 +431,13 @@ struct iw_public_data {
* Those may be called only within the kernel. * Those may be called only within the kernel.
*/ */
@ -738,7 +738,7 @@
extern void wireless_send_event(struct net_device * dev, extern void wireless_send_event(struct net_device * dev,
--- a/include/net/mac80211.h --- a/include/net/mac80211.h
+++ b/include/net/mac80211.h +++ b/include/net/mac80211.h
@@ -300,7 +300,6 @@ @@ -300,7 +300,6 @@ struct ieee80211_conf {
/* Following five fields are used for IEEE 802.11H */ /* Following five fields are used for IEEE 802.11H */
unsigned int radar_detect; unsigned int radar_detect;
unsigned int spect_mgmt; unsigned int spect_mgmt;
@ -746,7 +746,7 @@
unsigned int quiet_duration; /* duration of quiet period */ unsigned int quiet_duration; /* duration of quiet period */
unsigned int quiet_offset; /* how far into the beacon is the quiet unsigned int quiet_offset; /* how far into the beacon is the quiet
* period */ * period */
@@ -521,6 +520,9 @@ @@ -521,6 +520,9 @@ struct ieee80211_hw {
* per-packet RC4 key with each TX frame when doing hwcrypto */ * per-packet RC4 key with each TX frame when doing hwcrypto */
#define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14) #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
@ -756,7 +756,7 @@
u32 flags; /* hardware flags defined above */ u32 flags; /* hardware flags defined above */
/* Set to the size of a needed device specific skb headroom for TX skbs. */ /* Set to the size of a needed device specific skb headroom for TX skbs. */
@@ -649,8 +651,7 @@ @@ -649,8 +651,7 @@ struct ieee80211_ops {
* used if the wlan hardware or low-level driver implements PAE. * used if the wlan hardware or low-level driver implements PAE.
* 80211.o module will anyway filter frames based on authorization * 80211.o module will anyway filter frames based on authorization
* state, so this function pointer can be NULL if low-level driver does * state, so this function pointer can be NULL if low-level driver does
@ -766,7 +766,7 @@
int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr, int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
int authorized); int authorized);
@@ -702,8 +703,9 @@ @@ -702,8 +703,9 @@ struct ieee80211_ops {
/* Get statistics of the current TX queue status. This is used to get /* Get statistics of the current TX queue status. This is used to get
* number of currently queued packets (queue length), maximum queue * number of currently queued packets (queue length), maximum queue
* size (limit), and total number of packets sent using each TX queue * size (limit), and total number of packets sent using each TX queue
@ -778,7 +778,7 @@
int (*get_tx_stats)(struct ieee80211_hw *hw, int (*get_tx_stats)(struct ieee80211_hw *hw,
struct ieee80211_tx_queue_stats *stats); struct ieee80211_tx_queue_stats *stats);
@@ -713,12 +715,25 @@ @@ -713,12 +715,25 @@ struct ieee80211_ops {
* Must be atomic. */ * Must be atomic. */
u64 (*get_tsf)(struct ieee80211_hw *hw); u64 (*get_tsf)(struct ieee80211_hw *hw);

View File

@ -1,6 +1,6 @@
--- a/lib/kobject_uevent.c --- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c
@@ -40,9 +40,22 @@ @@ -40,9 +40,22 @@ u64 uevent_seqnum;
char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
static DEFINE_SPINLOCK(sequence_lock); static DEFINE_SPINLOCK(sequence_lock);
#if defined(CONFIG_NET) #if defined(CONFIG_NET)
@ -24,7 +24,7 @@
/** /**
* kobject_uevent_env - send an uevent with environmental data * kobject_uevent_env - send an uevent with environmental data
* *
@@ -159,9 +172,7 @@ @@ -159,9 +172,7 @@ int kobject_uevent_env(struct kobject *k
} }
/* we will send an event, request a new sequence number */ /* we will send an event, request a new sequence number */

View File

@ -1,6 +1,6 @@
--- a/sound/core/Kconfig --- a/sound/core/Kconfig
+++ b/sound/core/Kconfig +++ b/sound/core/Kconfig
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@ config SND_PCM
depends on SND depends on SND
config SND_HWDEP config SND_HWDEP

View File

@ -638,7 +638,7 @@
+#endif /* _SYS_TIMEPPS_H_ */ +#endif /* _SYS_TIMEPPS_H_ */
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -3011,6 +3011,13 @@ @@ -3011,6 +3011,13 @@ P: James Chapman
M: jchapman@katalix.com M: jchapman@katalix.com
S: Maintained S: Maintained
@ -654,7 +654,7 @@
M: rml@tech9.net M: rml@tech9.net
--- a/drivers/Kconfig --- a/drivers/Kconfig
+++ b/drivers/Kconfig +++ b/drivers/Kconfig
@@ -52,6 +52,8 @@ @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
source "drivers/spi/Kconfig" source "drivers/spi/Kconfig"
@ -665,7 +665,7 @@
source "drivers/power/Kconfig" source "drivers/power/Kconfig"
--- a/drivers/Makefile --- a/drivers/Makefile
+++ b/drivers/Makefile +++ b/drivers/Makefile
@@ -63,6 +63,7 @@ @@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_I2O) += message/ obj-$(CONFIG_I2O) += message/
obj-$(CONFIG_RTC_LIB) += rtc/ obj-$(CONFIG_RTC_LIB) += rtc/
obj-y += i2c/ obj-y += i2c/
@ -675,7 +675,7 @@
obj-$(CONFIG_HWMON) += hwmon/ obj-$(CONFIG_HWMON) += hwmon/
--- a/drivers/char/lp.c --- a/drivers/char/lp.c
+++ b/drivers/char/lp.c +++ b/drivers/char/lp.c
@@ -746,6 +746,27 @@ @@ -746,6 +746,27 @@ static struct console lpcons = {
#endif /* console on line printer */ #endif /* console on line printer */
@ -703,7 +703,7 @@
/* --- initialisation code ------------------------------------- */ /* --- initialisation code ------------------------------------- */
static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC }; static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
@@ -817,6 +838,38 @@ @@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa
} }
#endif #endif
@ -742,7 +742,7 @@
return 0; return 0;
} }
@@ -860,6 +913,14 @@ @@ -860,6 +913,14 @@ static void lp_detach (struct parport *p
console_registered = NULL; console_registered = NULL;
} }
#endif /* CONFIG_LP_CONSOLE */ #endif /* CONFIG_LP_CONSOLE */
@ -1716,7 +1716,7 @@
+} +}
--- a/drivers/serial/8250.c --- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c +++ b/drivers/serial/8250.c
@@ -2118,6 +2118,8 @@ @@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port
up->ier |= UART_IER_MSI; up->ier |= UART_IER_MSI;
if (up->capabilities & UART_CAP_UUE) if (up->capabilities & UART_CAP_UUE)
up->ier |= UART_IER_UUE | UART_IER_RTOIE; up->ier |= UART_IER_UUE | UART_IER_RTOIE;
@ -1735,7 +1735,7 @@
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
@@ -633,6 +634,54 @@ @@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta
return 0; return 0;
} }
@ -1790,7 +1790,7 @@
static int uart_set_info(struct uart_state *state, static int uart_set_info(struct uart_state *state,
struct serial_struct __user *newinfo) struct serial_struct __user *newinfo)
{ {
@@ -807,11 +856,19 @@ @@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta
(port->flags & UPF_LOW_LATENCY) ? 1 : 0; (port->flags & UPF_LOW_LATENCY) ? 1 : 0;
check_and_exit: check_and_exit:
@ -1811,7 +1811,7 @@
old_custom_divisor != port->custom_divisor) { old_custom_divisor != port->custom_divisor) {
/* /*
* If they're setting up a custom divisor or speed, * If they're setting up a custom divisor or speed,
@@ -2110,6 +2167,12 @@ @@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *
port->ops->config_port(port, flags); port->ops->config_port(port, flags);
} }
@ -1824,7 +1824,7 @@
if (port->type != PORT_UNKNOWN) { if (port->type != PORT_UNKNOWN) {
unsigned long flags; unsigned long flags;
@@ -2359,6 +2422,12 @@ @@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri
mutex_unlock(&state->mutex); mutex_unlock(&state->mutex);
/* /*
@ -1839,7 +1839,7 @@
tty_unregister_device(drv->tty_driver, port->line); tty_unregister_device(drv->tty_driver, port->line);
--- a/include/linux/Kbuild --- a/include/linux/Kbuild
+++ b/include/linux/Kbuild +++ b/include/linux/Kbuild
@@ -295,6 +295,7 @@ @@ -295,6 +295,7 @@ unifdef-y += pmu.h
unifdef-y += poll.h unifdef-y += poll.h
unifdef-y += ppp_defs.h unifdef-y += ppp_defs.h
unifdef-y += ppp-comp.h unifdef-y += ppp-comp.h
@ -1849,7 +1849,7 @@
unifdef-y += quota.h unifdef-y += quota.h
--- a/include/linux/parport.h --- a/include/linux/parport.h
+++ b/include/linux/parport.h +++ b/include/linux/parport.h
@@ -100,6 +100,7 @@ @@ -100,6 +100,7 @@ typedef enum {
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/wait.h> #include <linux/wait.h>
@ -1857,7 +1857,7 @@
#include <asm/system.h> #include <asm/system.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/semaphore.h> #include <asm/semaphore.h>
@@ -327,6 +328,11 @@ @@ -327,6 +328,11 @@ struct parport {
struct list_head full_list; struct list_head full_list;
struct parport *slaves[3]; struct parport *slaves[3];
@ -1869,7 +1869,7 @@
}; };
#define DEFAULT_SPIN_TIME 500 /* us */ #define DEFAULT_SPIN_TIME 500 /* us */
@@ -517,6 +523,12 @@ @@ -517,6 +523,12 @@ extern int parport_daisy_select (struct
/* Lowlevel drivers _can_ call this support function to handle irqs. */ /* Lowlevel drivers _can_ call this support function to handle irqs. */
static __inline__ void parport_generic_irq(int irq, struct parport *port) static __inline__ void parport_generic_irq(int irq, struct parport *port)
{ {
@ -2091,7 +2091,7 @@
struct uart_port; struct uart_port;
struct uart_info; struct uart_info;
@@ -236,6 +237,9 @@ @@ -236,6 +237,9 @@ struct uart_port {
unsigned char regshift; /* reg offset shift */ unsigned char regshift; /* reg offset shift */
unsigned char iotype; /* io access style */ unsigned char iotype; /* io access style */
unsigned char unused1; unsigned char unused1;
@ -2101,7 +2101,7 @@
#define UPIO_PORT (0) #define UPIO_PORT (0)
#define UPIO_HUB6 (1) #define UPIO_HUB6 (1)
@@ -280,7 +284,8 @@ @@ -280,7 +284,8 @@ struct uart_port {
#define UPF_IOREMAP ((__force upf_t) (1 << 31)) #define UPF_IOREMAP ((__force upf_t) (1 << 31))
#define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff))
@ -2111,7 +2111,7 @@
unsigned int mctrl; /* current modem ctrl settings */ unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */ unsigned int timeout; /* character-based timeout */
@@ -312,6 +317,10 @@ @@ -312,6 +317,10 @@ struct uart_state {
struct uart_info *info; struct uart_info *info;
struct uart_port *port; struct uart_port *port;
@ -2122,7 +2122,7 @@
struct mutex mutex; struct mutex mutex;
}; };
@@ -476,13 +485,22 @@ @@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port
{ {
struct uart_info *info = port->info; struct uart_info *info = port->info;

View File

@ -4,7 +4,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
--- a/drivers/mmc/host/Kconfig --- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig
@@ -100,3 +100,16 @@ @@ -100,3 +100,16 @@ config MMC_TIFM_SD
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called tifm_sd. module will be called tifm_sd.
@ -23,7 +23,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
+ +
--- a/drivers/mmc/host/Makefile --- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile
@@ -15,4 +15,5 @@ @@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
@ -1497,7 +1497,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#include "bus.h" #include "bus.h"
#define dev_to_mmc_card(d) container_of(d, struct mmc_card, dev) #define dev_to_mmc_card(d) container_of(d, struct mmc_card, dev)
@@ -34,6 +35,8 @@ @@ -34,6 +35,8 @@ static ssize_t mmc_type_show(struct devi
return sprintf(buf, "MMC\n"); return sprintf(buf, "MMC\n");
case MMC_TYPE_SD: case MMC_TYPE_SD:
return sprintf(buf, "SD\n"); return sprintf(buf, "SD\n");
@ -1506,7 +1506,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
default: default:
return -EFAULT; return -EFAULT;
} }
@@ -55,36 +58,37 @@ @@ -55,36 +58,37 @@ static int mmc_bus_match(struct device *
} }
static int static int
@ -1562,7 +1562,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
static int mmc_bus_probe(struct device *dev) static int mmc_bus_probe(struct device *dev)
@@ -176,6 +180,11 @@ @@ -176,6 +180,11 @@ static void mmc_release_card(struct devi
{ {
struct mmc_card *card = dev_to_mmc_card(dev); struct mmc_card *card = dev_to_mmc_card(dev);
@ -1574,7 +1574,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
kfree(card); kfree(card);
} }
@@ -221,15 +230,25 @@ @@ -221,15 +230,25 @@ int mmc_add_card(struct mmc_card *card)
if (mmc_card_blockaddr(card)) if (mmc_card_blockaddr(card))
type = "SDHC"; type = "SDHC";
break; break;
@ -1604,7 +1604,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
card->dev.uevent_suppress = 1; card->dev.uevent_suppress = 1;
@@ -261,8 +280,13 @@ @@ -261,8 +280,13 @@ int mmc_add_card(struct mmc_card *card)
void mmc_remove_card(struct mmc_card *card) void mmc_remove_card(struct mmc_card *card)
{ {
if (mmc_card_present(card)) { if (mmc_card_present(card)) {
@ -1659,7 +1659,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* Internal function. Schedule delayed work in the MMC work queue. * Internal function. Schedule delayed work in the MMC work queue.
*/ */
static int mmc_schedule_delayed_work(struct delayed_work *work, static int mmc_schedule_delayed_work(struct delayed_work *work,
@@ -68,6 +79,11 @@ @@ -68,6 +79,11 @@ void mmc_request_done(struct mmc_host *h
struct mmc_command *cmd = mrq->cmd; struct mmc_command *cmd = mrq->cmd;
int err = cmd->error; int err = cmd->error;
@ -1671,7 +1671,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
if (err && cmd->retries) { if (err && cmd->retries) {
pr_debug("%s: req failed (CMD%u): %d, retrying...\n", pr_debug("%s: req failed (CMD%u): %d, retrying...\n",
mmc_hostname(host), cmd->opcode, err); mmc_hostname(host), cmd->opcode, err);
@@ -76,6 +92,8 @@ @@ -76,6 +92,8 @@ void mmc_request_done(struct mmc_host *h
cmd->error = 0; cmd->error = 0;
host->ops->request(host, mrq); host->ops->request(host, mrq);
} else { } else {
@ -1680,7 +1680,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n", pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n",
mmc_hostname(host), cmd->opcode, err, mmc_hostname(host), cmd->opcode, err,
cmd->resp[0], cmd->resp[1], cmd->resp[0], cmd->resp[1],
@@ -118,7 +136,7 @@ @@ -118,7 +136,7 @@ mmc_start_request(struct mmc_host *host,
"tsac %d ms nsac %d\n", "tsac %d ms nsac %d\n",
mmc_hostname(host), mrq->data->blksz, mmc_hostname(host), mrq->data->blksz,
mrq->data->blocks, mrq->data->flags, mrq->data->blocks, mrq->data->flags,
@ -1689,7 +1689,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mrq->data->timeout_clks); mrq->data->timeout_clks);
} }
@@ -130,6 +148,8 @@ @@ -130,6 +148,8 @@ mmc_start_request(struct mmc_host *host,
WARN_ON(!host->claimed); WARN_ON(!host->claimed);
@ -1698,7 +1698,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mrq->cmd->error = 0; mrq->cmd->error = 0;
mrq->cmd->mrq = mrq; mrq->cmd->mrq = mrq;
if (mrq->data) { if (mrq->data) {
@@ -199,7 +219,7 @@ @@ -199,7 +219,7 @@ int mmc_wait_for_cmd(struct mmc_host *ho
{ {
struct mmc_request mrq; struct mmc_request mrq;
@ -1707,7 +1707,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
memset(&mrq, 0, sizeof(struct mmc_request)); memset(&mrq, 0, sizeof(struct mmc_request));
@@ -220,17 +240,24 @@ @@ -220,17 +240,24 @@ EXPORT_SYMBOL(mmc_wait_for_cmd);
* mmc_set_data_timeout - set the timeout for a data command * mmc_set_data_timeout - set the timeout for a data command
* @data: data phase for command * @data: data phase for command
* @card: the MMC card associated with the data transfer * @card: the MMC card associated with the data transfer
@ -1735,7 +1735,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* SD cards use a 100 multiplier rather than 10 * SD cards use a 100 multiplier rather than 10
*/ */
mult = mmc_card_sd(card) ? 100 : 10; mult = mmc_card_sd(card) ? 100 : 10;
@@ -239,7 +266,7 @@ @@ -239,7 +266,7 @@ void mmc_set_data_timeout(struct mmc_dat
* Scale up the multiplier (and therefore the timeout) by * Scale up the multiplier (and therefore the timeout) by
* the r2w factor for writes. * the r2w factor for writes.
*/ */
@ -1744,7 +1744,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mult <<= card->csd.r2w_factor; mult <<= card->csd.r2w_factor;
data->timeout_ns = card->csd.tacc_ns * mult; data->timeout_ns = card->csd.tacc_ns * mult;
@@ -255,7 +282,7 @@ @@ -255,7 +282,7 @@ void mmc_set_data_timeout(struct mmc_dat
timeout_us += data->timeout_clks * 1000 / timeout_us += data->timeout_clks * 1000 /
(card->host->ios.clock / 1000); (card->host->ios.clock / 1000);
@ -1753,7 +1753,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
limit_us = 250000; limit_us = 250000;
else else
limit_us = 100000; limit_us = 100000;
@@ -272,15 +299,20 @@ @@ -272,15 +299,20 @@ void mmc_set_data_timeout(struct mmc_dat
EXPORT_SYMBOL(mmc_set_data_timeout); EXPORT_SYMBOL(mmc_set_data_timeout);
/** /**
@ -1777,7 +1777,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
might_sleep(); might_sleep();
@@ -288,19 +320,24 @@ @@ -288,19 +320,24 @@ void mmc_claim_host(struct mmc_host *hos
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
while (1) { while (1) {
set_current_state(TASK_UNINTERRUPTIBLE); set_current_state(TASK_UNINTERRUPTIBLE);
@ -1805,7 +1805,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/** /**
* mmc_release_host - release a host * mmc_release_host - release a host
@@ -313,7 +350,7 @@ @@ -313,7 +350,7 @@ void mmc_release_host(struct mmc_host *h
{ {
unsigned long flags; unsigned long flags;
@ -1814,7 +1814,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
host->claimed = 0; host->claimed = 0;
@@ -433,19 +470,32 @@ @@ -433,19 +470,32 @@ static void mmc_power_up(struct mmc_host
int bit = fls(host->ocr_avail) - 1; int bit = fls(host->ocr_avail) - 1;
host->ios.vdd = bit; host->ios.vdd = bit;
@ -1850,7 +1850,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mmc_delay(2); mmc_delay(2);
} }
@@ -453,8 +503,10 @@ @@ -453,8 +503,10 @@ static void mmc_power_off(struct mmc_hos
{ {
host->ios.clock = 0; host->ios.clock = 0;
host->ios.vdd = 0; host->ios.vdd = 0;
@ -1863,7 +1863,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
host->ios.power_mode = MMC_POWER_OFF; host->ios.power_mode = MMC_POWER_OFF;
host->ios.bus_width = MMC_BUS_WIDTH_1; host->ios.bus_width = MMC_BUS_WIDTH_1;
host->ios.timing = MMC_TIMING_LEGACY; host->ios.timing = MMC_TIMING_LEGACY;
@@ -511,7 +563,7 @@ @@ -511,7 +563,7 @@ void mmc_attach_bus(struct mmc_host *hos
BUG_ON(!host); BUG_ON(!host);
BUG_ON(!ops); BUG_ON(!ops);
@ -1872,7 +1872,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
@@ -535,8 +587,8 @@ @@ -535,8 +587,8 @@ void mmc_detach_bus(struct mmc_host *hos
BUG_ON(!host); BUG_ON(!host);
@ -1883,7 +1883,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
@@ -564,7 +616,7 @@ @@ -564,7 +616,7 @@ void mmc_detect_change(struct mmc_host *
#ifdef CONFIG_MMC_DEBUG #ifdef CONFIG_MMC_DEBUG
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
@ -1892,7 +1892,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
spin_unlock_irqrestore(&host->lock, flags); spin_unlock_irqrestore(&host->lock, flags);
#endif #endif
@@ -597,24 +649,38 @@ @@ -597,24 +649,38 @@ void mmc_rescan(struct work_struct *work
mmc_send_if_cond(host, host->ocr_avail); mmc_send_if_cond(host, host->ocr_avail);
@ -1944,7 +1944,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} else { } else {
if (host->bus_ops->detect && !host->bus_dead) if (host->bus_ops->detect && !host->bus_dead)
host->bus_ops->detect(host); host->bus_ops->detect(host);
@@ -725,22 +791,38 @@ @@ -725,22 +791,38 @@ static int __init mmc_init(void)
return -ENOMEM; return -ENOMEM;
ret = mmc_register_bus(); ret = mmc_register_bus();
@ -1991,7 +1991,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
--- a/drivers/mmc/core/core.h --- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h +++ b/drivers/mmc/core/core.h
@@ -48,5 +48,7 @@ @@ -48,5 +48,7 @@ void mmc_rescan(struct work_struct *work
void mmc_start_host(struct mmc_host *host); void mmc_start_host(struct mmc_host *host);
void mmc_stop_host(struct mmc_host *host); void mmc_stop_host(struct mmc_host *host);
@ -2009,7 +2009,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
@@ -100,6 +101,9 @@ @@ -100,6 +101,9 @@ int mmc_add_host(struct mmc_host *host)
{ {
int err; int err;
@ -2019,7 +2019,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
if (!idr_pre_get(&mmc_host_idr, GFP_KERNEL)) if (!idr_pre_get(&mmc_host_idr, GFP_KERNEL))
return -ENOMEM; return -ENOMEM;
@@ -112,6 +116,8 @@ @@ -112,6 +116,8 @@ int mmc_add_host(struct mmc_host *host)
snprintf(host->class_dev.bus_id, BUS_ID_SIZE, snprintf(host->class_dev.bus_id, BUS_ID_SIZE,
"mmc%d", host->index); "mmc%d", host->index);
@ -2028,7 +2028,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
err = device_add(&host->class_dev); err = device_add(&host->class_dev);
if (err) if (err)
return err; return err;
@@ -137,6 +143,8 @@ @@ -137,6 +143,8 @@ void mmc_remove_host(struct mmc_host *ho
device_del(&host->class_dev); device_del(&host->class_dev);
@ -2039,7 +2039,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
spin_unlock(&mmc_host_lock); spin_unlock(&mmc_host_lock);
--- a/drivers/mmc/core/mmc.c --- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c
@@ -161,13 +161,12 @@ @@ -161,13 +161,12 @@ static int mmc_read_ext_csd(struct mmc_c
{ {
int err; int err;
u8 *ext_csd; u8 *ext_csd;
@ -2055,7 +2055,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* As the ext_csd is so large and mostly unused, we don't store the * As the ext_csd is so large and mostly unused, we don't store the
@@ -176,13 +175,19 @@ @@ -176,13 +175,19 @@ static int mmc_read_ext_csd(struct mmc_c
ext_csd = kmalloc(512, GFP_KERNEL); ext_csd = kmalloc(512, GFP_KERNEL);
if (!ext_csd) { if (!ext_csd) {
printk(KERN_ERR "%s: could not allocate a buffer to " printk(KERN_ERR "%s: could not allocate a buffer to "
@ -2079,7 +2079,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* High capacity cards should have this "magic" size * High capacity cards should have this "magic" size
* stored in their CSD. * stored in their CSD.
@@ -197,18 +202,30 @@ @@ -197,18 +202,30 @@ static int mmc_read_ext_csd(struct mmc_c
"EXT_CSD, performance might " "EXT_CSD, performance might "
"suffer.\n", "suffer.\n",
mmc_hostname(card->host)); mmc_hostname(card->host));
@ -2118,7 +2118,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
switch (ext_csd[EXT_CSD_CARD_TYPE]) { switch (ext_csd[EXT_CSD_CARD_TYPE]) {
case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26: case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26:
@@ -246,7 +263,7 @@ @@ -246,7 +263,7 @@ static int mmc_init_card(struct mmc_host
unsigned int max_dtr; unsigned int max_dtr;
BUG_ON(!host); BUG_ON(!host);
@ -2127,7 +2127,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* Since we're changing the OCR value, we seem to * Since we're changing the OCR value, we seem to
@@ -258,19 +275,33 @@ @@ -258,19 +275,33 @@ static int mmc_init_card(struct mmc_host
/* The extra bit indicates that we support high capacity */ /* The extra bit indicates that we support high capacity */
err = mmc_send_op_cond(host, ocr | (1 << 30), NULL); err = mmc_send_op_cond(host, ocr | (1 << 30), NULL);
@ -2165,7 +2165,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
card = oldcard; card = oldcard;
} else { } else {
@@ -278,8 +309,10 @@ @@ -278,8 +309,10 @@ static int mmc_init_card(struct mmc_host
* Allocate card structure. * Allocate card structure.
*/ */
card = mmc_alloc_card(host); card = mmc_alloc_card(host);
@ -2177,7 +2177,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
card->type = MMC_TYPE_MMC; card->type = MMC_TYPE_MMC;
card->rca = 1; card->rca = 1;
@@ -287,43 +320,47 @@ @@ -287,43 +320,47 @@ static int mmc_init_card(struct mmc_host
} }
/* /*
@ -2238,7 +2238,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
} }
@@ -334,7 +371,7 @@ @@ -334,7 +371,7 @@ static int mmc_init_card(struct mmc_host
(host->caps & MMC_CAP_MMC_HIGHSPEED)) { (host->caps & MMC_CAP_MMC_HIGHSPEED)) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_HS_TIMING, 1); EXT_CSD_HS_TIMING, 1);
@ -2247,7 +2247,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
mmc_card_set_highspeed(card); mmc_card_set_highspeed(card);
@@ -363,7 +400,7 @@ @@ -363,7 +400,7 @@ static int mmc_init_card(struct mmc_host
(host->caps & MMC_CAP_4_BIT_DATA)) { (host->caps & MMC_CAP_4_BIT_DATA)) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_BUS_WIDTH, EXT_CSD_BUS_WIDTH_4); EXT_CSD_BUS_WIDTH, EXT_CSD_BUS_WIDTH_4);
@ -2256,7 +2256,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
mmc_set_bus_width(card->host, MMC_BUS_WIDTH_4); mmc_set_bus_width(card->host, MMC_BUS_WIDTH_4);
@@ -372,14 +409,14 @@ @@ -372,14 +409,14 @@ static int mmc_init_card(struct mmc_host
if (!oldcard) if (!oldcard)
host->card = card; host->card = card;
@ -2273,7 +2273,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
/* /*
@@ -413,7 +450,7 @@ @@ -413,7 +450,7 @@ static void mmc_detect(struct mmc_host *
mmc_release_host(host); mmc_release_host(host);
@ -2282,7 +2282,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mmc_remove(host); mmc_remove(host);
mmc_claim_host(host); mmc_claim_host(host);
@@ -480,7 +517,8 @@ @@ -480,7 +517,8 @@ static void mmc_suspend(struct mmc_host
BUG_ON(!host->card); BUG_ON(!host->card);
mmc_claim_host(host); mmc_claim_host(host);
@ -2292,7 +2292,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
host->card->state &= ~MMC_STATE_HIGHSPEED; host->card->state &= ~MMC_STATE_HIGHSPEED;
mmc_release_host(host); mmc_release_host(host);
} }
@@ -502,7 +540,7 @@ @@ -502,7 +540,7 @@ static void mmc_resume(struct mmc_host *
err = mmc_init_card(host, host->ocr, host->card); err = mmc_init_card(host, host->ocr, host->card);
mmc_release_host(host); mmc_release_host(host);
@ -2301,7 +2301,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mmc_remove(host); mmc_remove(host);
mmc_claim_host(host); mmc_claim_host(host);
@@ -536,11 +574,20 @@ @@ -536,11 +574,20 @@ int mmc_attach_mmc(struct mmc_host *host
int err; int err;
BUG_ON(!host); BUG_ON(!host);
@ -2323,7 +2323,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* Sanity check the voltages that the card claims to * Sanity check the voltages that the card claims to
* support. * support.
*/ */
@@ -565,7 +612,7 @@ @@ -565,7 +612,7 @@ int mmc_attach_mmc(struct mmc_host *host
* Detect and init the card. * Detect and init the card.
*/ */
err = mmc_init_card(host, host->ocr, NULL); err = mmc_init_card(host, host->ocr, NULL);
@ -2332,7 +2332,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto err; goto err;
mmc_release_host(host); mmc_release_host(host);
@@ -587,6 +634,6 @@ @@ -587,6 +634,6 @@ err:
printk(KERN_ERR "%s: error %d whilst initialising MMC card\n", printk(KERN_ERR "%s: error %d whilst initialising MMC card\n",
mmc_hostname(host), err); mmc_hostname(host), err);
@ -2350,7 +2350,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
@@ -40,10 +39,10 @@ @@ -40,10 +39,10 @@ static int _mmc_select_card(struct mmc_h
} }
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
@ -2363,7 +2363,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_select_card(struct mmc_card *card) int mmc_select_card(struct mmc_card *card)
@@ -63,23 +62,36 @@ @@ -63,23 +62,36 @@ int mmc_go_idle(struct mmc_host *host)
int err; int err;
struct mmc_command cmd; struct mmc_command cmd;
@ -2406,7 +2406,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
return err; return err;
} }
@@ -94,23 +106,33 @@ @@ -94,23 +106,33 @@ int mmc_send_op_cond(struct mmc_host *ho
memset(&cmd, 0, sizeof(struct mmc_command)); memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = MMC_SEND_OP_COND; cmd.opcode = MMC_SEND_OP_COND;
@ -2446,7 +2446,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
*rocr = cmd.resp[0]; *rocr = cmd.resp[0];
return err; return err;
@@ -131,12 +153,12 @@ @@ -131,12 +153,12 @@ int mmc_all_send_cid(struct mmc_host *ho
cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR; cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR;
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
@ -2461,7 +2461,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_set_relative_addr(struct mmc_card *card) int mmc_set_relative_addr(struct mmc_card *card)
@@ -154,46 +176,52 @@ @@ -154,46 +176,52 @@ int mmc_set_relative_addr(struct mmc_car
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES); err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES);
@ -2530,7 +2530,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
memset(&mrq, 0, sizeof(struct mmc_request)); memset(&mrq, 0, sizeof(struct mmc_request));
memset(&cmd, 0, sizeof(struct mmc_command)); memset(&cmd, 0, sizeof(struct mmc_command));
@@ -202,28 +230,117 @@ @@ -202,28 +230,117 @@ int mmc_send_ext_csd(struct mmc_card *ca
mrq.cmd = &cmd; mrq.cmd = &cmd;
mrq.data = &data; mrq.data = &data;
@ -2657,7 +2657,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value) int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value)
@@ -241,13 +358,13 @@ @@ -241,13 +358,13 @@ int mmc_switch(struct mmc_card *card, u8
(index << 16) | (index << 16) |
(value << 8) | (value << 8) |
set; set;
@ -2674,7 +2674,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_send_status(struct mmc_card *card, u32 *status) int mmc_send_status(struct mmc_card *card, u32 *status)
@@ -261,16 +378,20 @@ @@ -261,16 +378,20 @@ int mmc_send_status(struct mmc_card *car
memset(&cmd, 0, sizeof(struct mmc_command)); memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = MMC_SEND_STATUS; cmd.opcode = MMC_SEND_STATUS;
@ -2701,7 +2701,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
--- a/drivers/mmc/core/mmc_ops.h --- a/drivers/mmc/core/mmc_ops.h
+++ b/drivers/mmc/core/mmc_ops.h +++ b/drivers/mmc/core/mmc_ops.h
@@ -22,6 +22,9 @@ @@ -22,6 +22,9 @@ int mmc_send_csd(struct mmc_card *card,
int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd); int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd);
int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value); int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value);
int mmc_send_status(struct mmc_card *card, u32 *status); int mmc_send_status(struct mmc_card *card, u32 *status);
@ -2713,7 +2713,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
--- a/drivers/mmc/core/sd.c --- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c
@@ -166,8 +166,6 @@ @@ -166,8 +166,6 @@ static int mmc_decode_scr(struct mmc_car
unsigned int scr_struct; unsigned int scr_struct;
u32 resp[4]; u32 resp[4];
@ -2722,7 +2722,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
resp[3] = card->raw_scr[1]; resp[3] = card->raw_scr[1];
resp[2] = card->raw_scr[0]; resp[2] = card->raw_scr[0];
@@ -193,30 +191,38 @@ @@ -193,30 +191,38 @@ static int mmc_read_switch(struct mmc_ca
u8 *status; u8 *status;
if (card->scr.sda_vsn < SCR_SPEC_VER_1) if (card->scr.sda_vsn < SCR_SPEC_VER_1)
@ -2767,7 +2767,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto out; goto out;
} }
@@ -238,28 +244,28 @@ @@ -238,28 +244,28 @@ static int mmc_switch_hs(struct mmc_card
u8 *status; u8 *status;
if (card->scr.sda_vsn < SCR_SPEC_VER_1) if (card->scr.sda_vsn < SCR_SPEC_VER_1)
@ -2803,7 +2803,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto out; goto out;
if ((status[16] & 0xF) != 1) { if ((status[16] & 0xF) != 1) {
@@ -292,7 +298,7 @@ @@ -292,7 +298,7 @@ static int mmc_sd_init_card(struct mmc_h
unsigned int max_dtr; unsigned int max_dtr;
BUG_ON(!host); BUG_ON(!host);
@ -2812,7 +2812,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* Since we're changing the OCR value, we seem to * Since we're changing the OCR value, we seem to
@@ -309,23 +315,37 @@ @@ -309,23 +315,37 @@ static int mmc_sd_init_card(struct mmc_h
* block-addressed SDHC cards. * block-addressed SDHC cards.
*/ */
err = mmc_send_if_cond(host, ocr); err = mmc_send_if_cond(host, ocr);
@ -2855,7 +2855,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
card = oldcard; card = oldcard;
} else { } else {
@@ -333,32 +353,36 @@ @@ -333,32 +353,36 @@ static int mmc_sd_init_card(struct mmc_h
* Allocate card structure. * Allocate card structure.
*/ */
card = mmc_alloc_card(host); card = mmc_alloc_card(host);
@ -2900,7 +2900,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
mmc_decode_cid(card); mmc_decode_cid(card);
@@ -367,16 +391,18 @@ @@ -367,16 +391,18 @@ static int mmc_sd_init_card(struct mmc_h
/* /*
* Select card, as all following commands rely on that. * Select card, as all following commands rely on that.
*/ */
@ -2923,7 +2923,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
err = mmc_decode_scr(card); err = mmc_decode_scr(card);
@@ -387,7 +413,7 @@ @@ -387,7 +413,7 @@ static int mmc_sd_init_card(struct mmc_h
* Fetch switch information from card. * Fetch switch information from card.
*/ */
err = mmc_read_switch(card); err = mmc_read_switch(card);
@ -2932,7 +2932,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
} }
@@ -395,7 +421,7 @@ @@ -395,7 +421,7 @@ static int mmc_sd_init_card(struct mmc_h
* Attempt to change to high-speed (if supported) * Attempt to change to high-speed (if supported)
*/ */
err = mmc_switch_hs(card); err = mmc_switch_hs(card);
@ -2941,7 +2941,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
/* /*
@@ -418,7 +444,7 @@ @@ -418,7 +444,7 @@ static int mmc_sd_init_card(struct mmc_h
if ((host->caps & MMC_CAP_4_BIT_DATA) && if ((host->caps & MMC_CAP_4_BIT_DATA) &&
(card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) { (card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) {
err = mmc_app_set_bus_width(card, MMC_BUS_WIDTH_4); err = mmc_app_set_bus_width(card, MMC_BUS_WIDTH_4);
@ -2950,7 +2950,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto free_card; goto free_card;
mmc_set_bus_width(host, MMC_BUS_WIDTH_4); mmc_set_bus_width(host, MMC_BUS_WIDTH_4);
@@ -442,14 +468,14 @@ @@ -442,14 +468,14 @@ static int mmc_sd_init_card(struct mmc_h
if (!oldcard) if (!oldcard)
host->card = card; host->card = card;
@ -2967,7 +2967,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
/* /*
@@ -483,7 +509,7 @@ @@ -483,7 +509,7 @@ static void mmc_sd_detect(struct mmc_hos
mmc_release_host(host); mmc_release_host(host);
@ -2976,7 +2976,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mmc_sd_remove(host); mmc_sd_remove(host);
mmc_claim_host(host); mmc_claim_host(host);
@@ -552,7 +578,8 @@ @@ -552,7 +578,8 @@ static void mmc_sd_suspend(struct mmc_ho
BUG_ON(!host->card); BUG_ON(!host->card);
mmc_claim_host(host); mmc_claim_host(host);
@ -2986,7 +2986,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
host->card->state &= ~MMC_STATE_HIGHSPEED; host->card->state &= ~MMC_STATE_HIGHSPEED;
mmc_release_host(host); mmc_release_host(host);
} }
@@ -574,7 +601,7 @@ @@ -574,7 +601,7 @@ static void mmc_sd_resume(struct mmc_hos
err = mmc_sd_init_card(host, host->ocr, host->card); err = mmc_sd_init_card(host, host->ocr, host->card);
mmc_release_host(host); mmc_release_host(host);
@ -2995,7 +2995,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mmc_sd_remove(host); mmc_sd_remove(host);
mmc_claim_host(host); mmc_claim_host(host);
@@ -608,11 +635,22 @@ @@ -608,11 +635,22 @@ int mmc_attach_sd(struct mmc_host *host,
int err; int err;
BUG_ON(!host); BUG_ON(!host);
@ -3019,7 +3019,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* Sanity check the voltages that the card claims to * Sanity check the voltages that the card claims to
* support. * support.
*/ */
@@ -644,7 +682,7 @@ @@ -644,7 +682,7 @@ int mmc_attach_sd(struct mmc_host *host,
* Detect and init the card. * Detect and init the card.
*/ */
err = mmc_sd_init_card(host, host->ocr, NULL); err = mmc_sd_init_card(host, host->ocr, NULL);
@ -3028,7 +3028,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
goto err; goto err;
mmc_release_host(host); mmc_release_host(host);
@@ -666,6 +704,6 @@ @@ -666,6 +704,6 @@ err:
printk(KERN_ERR "%s: error %d whilst initialising SD card\n", printk(KERN_ERR "%s: error %d whilst initialising SD card\n",
mmc_hostname(host), err); mmc_hostname(host), err);
@ -3046,7 +3046,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
@@ -33,21 +32,21 @@ @@ -33,21 +32,21 @@ static int mmc_app_cmd(struct mmc_host *
if (card) { if (card) {
cmd.arg = card->rca << 16; cmd.arg = card->rca << 16;
@ -3074,7 +3074,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
/** /**
@@ -73,7 +72,7 @@ @@ -73,7 +72,7 @@ int mmc_wait_for_app_cmd(struct mmc_host
BUG_ON(!cmd); BUG_ON(!cmd);
BUG_ON(retries < 0); BUG_ON(retries < 0);
@ -3083,7 +3083,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* We have to resend MMC_APP_CMD for each attempt so * We have to resend MMC_APP_CMD for each attempt so
@@ -83,8 +82,14 @@ @@ -83,8 +82,14 @@ int mmc_wait_for_app_cmd(struct mmc_host
memset(&mrq, 0, sizeof(struct mmc_request)); memset(&mrq, 0, sizeof(struct mmc_request));
err = mmc_app_cmd(host, card); err = mmc_app_cmd(host, card);
@ -3099,7 +3099,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
memset(&mrq, 0, sizeof(struct mmc_request)); memset(&mrq, 0, sizeof(struct mmc_request));
@@ -97,8 +102,14 @@ @@ -97,8 +102,14 @@ int mmc_wait_for_app_cmd(struct mmc_host
mmc_wait_for_req(host, &mrq); mmc_wait_for_req(host, &mrq);
err = cmd->error; err = cmd->error;
@ -3115,7 +3115,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
return err; return err;
@@ -127,14 +138,14 @@ @@ -127,14 +138,14 @@ int mmc_app_set_bus_width(struct mmc_car
cmd.arg = SD_BUS_WIDTH_4; cmd.arg = SD_BUS_WIDTH_4;
break; break;
default: default:
@ -3133,7 +3133,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_send_app_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr) int mmc_send_app_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr)
@@ -147,23 +158,36 @@ @@ -147,23 +158,36 @@ int mmc_send_app_op_cond(struct mmc_host
memset(&cmd, 0, sizeof(struct mmc_command)); memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = SD_APP_OP_COND; cmd.opcode = SD_APP_OP_COND;
@ -3176,7 +3176,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
*rocr = cmd.resp[0]; *rocr = cmd.resp[0];
return err; return err;
@@ -174,6 +198,7 @@ @@ -174,6 +198,7 @@ int mmc_send_if_cond(struct mmc_host *ho
struct mmc_command cmd; struct mmc_command cmd;
int err; int err;
static const u8 test_pattern = 0xAA; static const u8 test_pattern = 0xAA;
@ -3184,7 +3184,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* To support SD 2.0 cards, we must always invoke SD_SEND_IF_COND * To support SD 2.0 cards, we must always invoke SD_SEND_IF_COND
@@ -182,16 +207,21 @@ @@ -182,16 +207,21 @@ int mmc_send_if_cond(struct mmc_host *ho
*/ */
cmd.opcode = SD_SEND_IF_COND; cmd.opcode = SD_SEND_IF_COND;
cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern; cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern;
@ -3211,7 +3211,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_send_relative_addr(struct mmc_host *host, unsigned int *rca) int mmc_send_relative_addr(struct mmc_host *host, unsigned int *rca)
@@ -209,12 +239,12 @@ @@ -209,12 +239,12 @@ int mmc_send_relative_addr(struct mmc_ho
cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR;
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
@ -3226,7 +3226,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_app_send_scr(struct mmc_card *card, u32 *scr) int mmc_app_send_scr(struct mmc_card *card, u32 *scr)
@@ -229,8 +259,10 @@ @@ -229,8 +259,10 @@ int mmc_app_send_scr(struct mmc_card *ca
BUG_ON(!card->host); BUG_ON(!card->host);
BUG_ON(!scr); BUG_ON(!scr);
@ -3238,7 +3238,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
return err; return err;
memset(&mrq, 0, sizeof(struct mmc_request)); memset(&mrq, 0, sizeof(struct mmc_request));
@@ -242,7 +274,7 @@ @@ -242,7 +274,7 @@ int mmc_app_send_scr(struct mmc_card *ca
cmd.opcode = SD_APP_SEND_SCR; cmd.opcode = SD_APP_SEND_SCR;
cmd.arg = 0; cmd.arg = 0;
@ -3247,7 +3247,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
data.blksz = 8; data.blksz = 8;
data.blocks = 1; data.blocks = 1;
@@ -252,19 +284,19 @@ @@ -252,19 +284,19 @@ int mmc_app_send_scr(struct mmc_card *ca
sg_init_one(&sg, scr, 8); sg_init_one(&sg, scr, 8);
@ -3273,7 +3273,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
int mmc_sd_switch(struct mmc_card *card, int mode, int group, int mmc_sd_switch(struct mmc_card *card, int mode, int group,
@@ -278,6 +310,8 @@ @@ -278,6 +310,8 @@ int mmc_sd_switch(struct mmc_card *card,
BUG_ON(!card); BUG_ON(!card);
BUG_ON(!card->host); BUG_ON(!card->host);
@ -3282,7 +3282,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mode = !!mode; mode = !!mode;
value &= 0xF; value &= 0xF;
@@ -292,7 +326,7 @@ @@ -292,7 +326,7 @@ int mmc_sd_switch(struct mmc_card *card,
cmd.arg = mode << 31 | 0x00FFFFFF; cmd.arg = mode << 31 | 0x00FFFFFF;
cmd.arg &= ~(0xF << (group * 4)); cmd.arg &= ~(0xF << (group * 4));
cmd.arg |= value << (group * 4); cmd.arg |= value << (group * 4);
@ -3291,7 +3291,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
data.blksz = 64; data.blksz = 64;
data.blocks = 1; data.blocks = 1;
@@ -302,15 +336,15 @@ @@ -302,15 +336,15 @@ int mmc_sd_switch(struct mmc_card *card,
sg_init_one(&sg, resp, 64); sg_init_one(&sg, resp, 64);
@ -5403,7 +5403,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
+ +
--- a/include/linux/mmc/card.h --- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h
@@ -55,7 +55,28 @@ @@ -55,7 +55,28 @@ struct sd_switch_caps {
unsigned int hs_max_dtr; unsigned int hs_max_dtr;
}; };
@ -5432,7 +5432,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* MMC device * MMC device
@@ -67,11 +88,13 @@ @@ -67,11 +88,13 @@ struct mmc_card {
unsigned int type; /* card type */ unsigned int type; /* card type */
#define MMC_TYPE_MMC 0 /* MMC card */ #define MMC_TYPE_MMC 0 /* MMC card */
#define MMC_TYPE_SD 1 /* SD card */ #define MMC_TYPE_SD 1 /* SD card */
@ -5446,7 +5446,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
u32 raw_cid[4]; /* raw card CID */ u32 raw_cid[4]; /* raw card CID */
u32 raw_csd[4]; /* raw card CSD */ u32 raw_csd[4]; /* raw card CSD */
u32 raw_scr[2]; /* raw card SCR */ u32 raw_scr[2]; /* raw card SCR */
@@ -80,10 +103,19 @@ @@ -80,10 +103,19 @@ struct mmc_card {
struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */ struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */
struct sd_scr scr; /* extra SD information */ struct sd_scr scr; /* extra SD information */
struct sd_switch_caps sw_caps; /* switch (CMD6) caps */ struct sd_switch_caps sw_caps; /* switch (CMD6) caps */
@ -5468,7 +5468,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
--- a/include/linux/mmc/core.h --- a/include/linux/mmc/core.h
+++ b/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h
@@ -25,14 +25,20 @@ @@ -25,14 +25,20 @@ struct mmc_command {
#define MMC_RSP_CRC (1 << 2) /* expect valid crc */ #define MMC_RSP_CRC (1 << 2) /* expect valid crc */
#define MMC_RSP_BUSY (1 << 3) /* card may send busy */ #define MMC_RSP_BUSY (1 << 3) /* card may send busy */
#define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ #define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */
@ -5491,7 +5491,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* patterns of the above flags. One additional valid pattern * patterns of the above flags. One additional valid pattern
* is all zeros, which means we don't expect a response. * is all zeros, which means we don't expect a response.
*/ */
@@ -41,12 +47,30 @@ @@ -41,12 +47,30 @@ struct mmc_command {
#define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) #define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
#define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) #define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
#define MMC_RSP_R3 (MMC_RSP_PRESENT) #define MMC_RSP_R3 (MMC_RSP_PRESENT)
@ -5522,7 +5522,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
* These are the command types. * These are the command types.
*/ */
#define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK)
@@ -54,12 +78,19 @@ @@ -54,12 +78,19 @@ struct mmc_command {
unsigned int retries; /* max number of retries */ unsigned int retries; /* max number of retries */
unsigned int error; /* command error */ unsigned int error; /* command error */
@ -5548,7 +5548,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
struct mmc_data *data; /* data segment associated with cmd */ struct mmc_data *data; /* data segment associated with cmd */
struct mmc_request *mrq; /* associated request */ struct mmc_request *mrq; /* associated request */
@@ -76,7 +107,6 @@ @@ -76,7 +107,6 @@ struct mmc_data {
#define MMC_DATA_WRITE (1 << 8) #define MMC_DATA_WRITE (1 << 8)
#define MMC_DATA_READ (1 << 9) #define MMC_DATA_READ (1 << 9)
#define MMC_DATA_STREAM (1 << 10) #define MMC_DATA_STREAM (1 << 10)
@ -5556,7 +5556,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
unsigned int bytes_xfered; unsigned int bytes_xfered;
@@ -104,9 +134,20 @@ @@ -104,9 +134,20 @@ extern int mmc_wait_for_cmd(struct mmc_h
extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *, extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
struct mmc_command *, int); struct mmc_command *, int);
@ -5590,7 +5590,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#include <linux/mmc/core.h> #include <linux/mmc/core.h>
struct mmc_ios { struct mmc_ios {
@@ -51,6 +53,7 @@ @@ -51,6 +53,7 @@ struct mmc_host_ops {
void (*request)(struct mmc_host *host, struct mmc_request *req); void (*request)(struct mmc_host *host, struct mmc_request *req);
void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios);
int (*get_ro)(struct mmc_host *host); int (*get_ro)(struct mmc_host *host);
@ -5598,7 +5598,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
}; };
struct mmc_card; struct mmc_card;
@@ -87,9 +90,10 @@ @@ -87,9 +90,10 @@ struct mmc_host {
#define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */ #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */
#define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */ #define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */
@ -5612,7 +5612,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* host specific block data */ /* host specific block data */
unsigned int max_seg_size; /* see blk_queue_max_segment_size */ unsigned int max_seg_size; /* see blk_queue_max_segment_size */
@@ -106,23 +110,30 @@ @@ -106,23 +110,30 @@ struct mmc_host {
struct mmc_ios ios; /* current io bus settings */ struct mmc_ios ios; /* current io bus settings */
u32 ocr; /* the current OCR setting */ u32 ocr; /* the current OCR setting */
@ -5651,7 +5651,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
unsigned long private[0] ____cacheline_aligned; unsigned long private[0] ____cacheline_aligned;
}; };
@@ -137,6 +148,8 @@ @@ -137,6 +148,8 @@ static inline void *mmc_priv(struct mmc_
return (void *)host->private; return (void *)host->private;
} }
@ -5660,7 +5660,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#define mmc_dev(x) ((x)->parent) #define mmc_dev(x) ((x)->parent)
#define mmc_classdev(x) (&(x)->class_dev) #define mmc_classdev(x) (&(x)->class_dev)
#define mmc_hostname(x) ((x)->class_dev.bus_id) #define mmc_hostname(x) ((x)->class_dev.bus_id)
@@ -147,5 +160,11 @@ @@ -147,5 +160,11 @@ extern int mmc_resume_host(struct mmc_ho
extern void mmc_detect_change(struct mmc_host *, unsigned long delay); extern void mmc_detect_change(struct mmc_host *, unsigned long delay);
extern void mmc_request_done(struct mmc_host *, struct mmc_request *); extern void mmc_request_done(struct mmc_host *, struct mmc_request *);
@ -5749,7 +5749,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* These are unpacked versions of the actual responses */ /* These are unpacked versions of the actual responses */
struct _mmc_csd { struct _mmc_csd {
@@ -182,6 +207,7 @@ @@ -182,6 +207,7 @@ struct _mmc_csd {
*/ */
#define CCC_BASIC (1<<0) /* (0) Basic protocol functions */ #define CCC_BASIC (1<<0) /* (0) Basic protocol functions */
/* (CMD0,1,2,3,4,7,9,10,12,13,15) */ /* (CMD0,1,2,3,4,7,9,10,12,13,15) */
@ -5757,7 +5757,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */ #define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */
/* (CMD11) */ /* (CMD11) */
#define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */ #define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */
@@ -227,6 +253,7 @@ @@ -227,6 +253,7 @@ struct _mmc_csd {
#define EXT_CSD_BUS_WIDTH 183 /* R/W */ #define EXT_CSD_BUS_WIDTH 183 /* R/W */
#define EXT_CSD_HS_TIMING 185 /* R/W */ #define EXT_CSD_HS_TIMING 185 /* R/W */
#define EXT_CSD_CARD_TYPE 196 /* RO */ #define EXT_CSD_CARD_TYPE 196 /* RO */
@ -6117,7 +6117,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
+#endif +#endif
--- a/include/linux/mod_devicetable.h --- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h
@@ -22,6 +22,18 @@ @@ -22,6 +22,18 @@ struct pci_device_id {
}; };
@ -6138,7 +6138,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#define IEEE1394_MATCH_SPECIFIER_ID 0x0004 #define IEEE1394_MATCH_SPECIFIER_ID 0x0004
--- a/drivers/mmc/card/Kconfig --- a/drivers/mmc/card/Kconfig
+++ b/drivers/mmc/card/Kconfig +++ b/drivers/mmc/card/Kconfig
@@ -32,3 +32,10 @@ @@ -32,3 +32,10 @@ config MMC_BLOCK_BOUNCE
If unsure, say Y here. If unsure, say Y here.
@ -6151,7 +6151,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
+ +
--- a/drivers/mmc/card/Makefile --- a/drivers/mmc/card/Makefile
+++ b/drivers/mmc/card/Makefile +++ b/drivers/mmc/card/Makefile
@@ -9,3 +9,5 @@ @@ -9,3 +9,5 @@ endif
obj-$(CONFIG_MMC_BLOCK) += mmc_block.o obj-$(CONFIG_MMC_BLOCK) += mmc_block.o
mmc_block-objs := block.o queue.o mmc_block-objs := block.o queue.o
@ -6169,7 +6169,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* There is one mmc_blk_data per slot. * There is one mmc_blk_data per slot.
@@ -80,6 +83,9 @@ @@ -80,6 +83,9 @@ static void mmc_blk_put(struct mmc_blk_d
mutex_lock(&open_lock); mutex_lock(&open_lock);
md->usage--; md->usage--;
if (md->usage == 0) { if (md->usage == 0) {
@ -6179,7 +6179,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
put_disk(md->disk); put_disk(md->disk);
kfree(md); kfree(md);
} }
@@ -151,17 +157,19 @@ @@ -151,17 +157,19 @@ static u32 mmc_sd_num_wr_blocks(struct m
cmd.opcode = MMC_APP_CMD; cmd.opcode = MMC_APP_CMD;
cmd.arg = card->rca << 16; cmd.arg = card->rca << 16;
@ -6202,7 +6202,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
memset(&data, 0, sizeof(struct mmc_data)); memset(&data, 0, sizeof(struct mmc_data));
@@ -192,7 +200,7 @@ @@ -192,7 +200,7 @@ static u32 mmc_sd_num_wr_blocks(struct m
mmc_wait_for_req(card->host, &mrq); mmc_wait_for_req(card->host, &mrq);
@ -6211,7 +6211,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
return (u32)-1; return (u32)-1;
blocks = ntohl(blocks); blocks = ntohl(blocks);
@@ -220,17 +228,15 @@ @@ -220,17 +228,15 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.cmd.arg = req->sector; brq.cmd.arg = req->sector;
if (!mmc_card_blockaddr(card)) if (!mmc_card_blockaddr(card))
brq.cmd.arg <<= 9; brq.cmd.arg <<= 9;
@ -6231,7 +6231,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* If the host doesn't support multiple block writes, force * If the host doesn't support multiple block writes, force
* block writes to single block. SD cards are excepted from * block writes to single block. SD cards are excepted from
@@ -243,8 +249,12 @@ @@ -243,8 +249,12 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.data.blocks = 1; brq.data.blocks = 1;
if (brq.data.blocks > 1) { if (brq.data.blocks > 1) {
@ -6246,7 +6246,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
readcmd = MMC_READ_MULTIPLE_BLOCK; readcmd = MMC_READ_MULTIPLE_BLOCK;
writecmd = MMC_WRITE_MULTIPLE_BLOCK; writecmd = MMC_WRITE_MULTIPLE_BLOCK;
} else { } else {
@@ -261,6 +271,8 @@ @@ -261,6 +271,8 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.data.flags |= MMC_DATA_WRITE; brq.data.flags |= MMC_DATA_WRITE;
} }
@ -6255,7 +6255,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
brq.data.sg = mq->sg; brq.data.sg = mq->sg;
brq.data.sg_len = mmc_queue_map_sg(mq); brq.data.sg_len = mmc_queue_map_sg(mq);
@@ -302,7 +314,7 @@ @@ -302,7 +314,7 @@ static int mmc_blk_issue_rq(struct mmc_q
goto cmd_err; goto cmd_err;
} }
@ -6264,7 +6264,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
do { do {
int err; int err;
@@ -315,7 +327,13 @@ @@ -315,7 +327,13 @@ static int mmc_blk_issue_rq(struct mmc_q
req->rq_disk->disk_name, err); req->rq_disk->disk_name, err);
goto cmd_err; goto cmd_err;
} }
@ -6279,7 +6279,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
#if 0 #if 0
if (cmd.resp[0] & ~0x00000900) if (cmd.resp[0] & ~0x00000900)
@@ -394,9 +412,6 @@ @@ -394,9 +412,6 @@ static int mmc_blk_issue_rq(struct mmc_q
return 0; return 0;
} }
@ -6289,7 +6289,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
static inline int mmc_blk_readonly(struct mmc_card *card) static inline int mmc_blk_readonly(struct mmc_card *card)
{ {
@@ -510,7 +525,7 @@ @@ -510,7 +525,7 @@ mmc_blk_set_blksize(struct mmc_blk_data
mmc_claim_host(card->host); mmc_claim_host(card->host);
cmd.opcode = MMC_SET_BLOCKLEN; cmd.opcode = MMC_SET_BLOCKLEN;
cmd.arg = 1 << md->block_bits; cmd.arg = 1 << md->block_bits;
@ -6298,7 +6298,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
err = mmc_wait_for_cmd(card->host, &cmd, 5); err = mmc_wait_for_cmd(card->host, &cmd, 5);
mmc_release_host(card->host); mmc_release_host(card->host);
@@ -562,17 +577,12 @@ @@ -562,17 +577,12 @@ static void mmc_blk_remove(struct mmc_ca
struct mmc_blk_data *md = mmc_get_drvdata(card); struct mmc_blk_data *md = mmc_get_drvdata(card);
if (md) { if (md) {
@ -6339,7 +6339,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
/* /*
* Prepare a MMC request. This just filters out odd stuff. * Prepare a MMC request. This just filters out odd stuff.
*/ */
@@ -159,6 +166,7 @@ @@ -159,6 +166,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM; ret = -ENOMEM;
goto cleanup_queue; goto cleanup_queue;
} }
@ -6347,7 +6347,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
mq->bounce_sg = kmalloc(sizeof(struct scatterlist) * mq->bounce_sg = kmalloc(sizeof(struct scatterlist) *
bouncesz / 512, GFP_KERNEL); bouncesz / 512, GFP_KERNEL);
@@ -166,6 +174,7 @@ @@ -166,6 +174,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM; ret = -ENOMEM;
goto cleanup_queue; goto cleanup_queue;
} }
@ -6355,7 +6355,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
} }
#endif #endif
@@ -183,6 +192,7 @@ @@ -183,6 +192,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM; ret = -ENOMEM;
goto cleanup_queue; goto cleanup_queue;
} }
@ -6363,7 +6363,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
} }
init_MUTEX(&mq->thread_sem); init_MUTEX(&mq->thread_sem);
@@ -302,12 +312,12 @@ @@ -302,12 +312,12 @@ static void copy_sg(struct scatterlist *
BUG_ON(dst_len == 0); BUG_ON(dst_len == 0);
if (dst_size == 0) { if (dst_size == 0) {
@ -6378,7 +6378,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
src_size = src->length; src_size = src->length;
} }
@@ -353,9 +363,7 @@ @@ -353,9 +363,7 @@ unsigned int mmc_queue_map_sg(struct mmc
return 1; return 1;
} }
@ -7552,7 +7552,7 @@ This is a port of the MMC-SPI driver from 2.6.24.3
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/drivers/mmc/core/Makefile --- a/drivers/mmc/core/Makefile
+++ b/drivers/mmc/core/Makefile +++ b/drivers/mmc/core/Makefile
@@ -8,5 +8,7 @@ @@ -8,5 +8,7 @@ endif
obj-$(CONFIG_MMC) += mmc_core.o obj-$(CONFIG_MMC) += mmc_core.o
mmc_core-y := core.o sysfs.o bus.o host.o \ mmc_core-y := core.o sysfs.o bus.o host.o \

View File

@ -1,6 +1,6 @@
--- a/drivers/mmc/host/sdhci.c --- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c
@@ -481,16 +481,16 @@ @@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh
* Controller doesn't count down when in single block mode. * Controller doesn't count down when in single block mode.
*/ */
if (data->blocks == 1) if (data->blocks == 1)
@ -20,7 +20,7 @@
} }
if (data->stop) { if (data->stop) {
@@ -498,7 +498,7 @@ @@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh
* The controller needs a reset of internal state machines * The controller needs a reset of internal state machines
* upon error conditions. * upon error conditions.
*/ */
@ -29,7 +29,7 @@
sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_CMD);
sdhci_reset(host, SDHCI_RESET_DATA); sdhci_reset(host, SDHCI_RESET_DATA);
} }
@@ -533,7 +533,7 @@ @@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd
printk(KERN_ERR "%s: Controller never released " printk(KERN_ERR "%s: Controller never released "
"inhibit bit(s).\n", mmc_hostname(host->mmc)); "inhibit bit(s).\n", mmc_hostname(host->mmc));
sdhci_dumpregs(host); sdhci_dumpregs(host);
@ -38,7 +38,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
return; return;
} }
@@ -554,7 +554,7 @@ @@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd
if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
printk(KERN_ERR "%s: Unsupported response type!\n", printk(KERN_ERR "%s: Unsupported response type!\n",
mmc_hostname(host->mmc)); mmc_hostname(host->mmc));
@ -47,7 +47,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
return; return;
} }
@@ -601,7 +601,7 @@ @@ -601,7 +601,7 @@ static void sdhci_finish_command(struct
} }
} }
@ -56,7 +56,7 @@
if (host->data && host->data_early) if (host->data && host->data_early)
sdhci_finish_data(host); sdhci_finish_data(host);
@@ -722,7 +722,7 @@ @@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos
host->mrq = mrq; host->mrq = mrq;
if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) { if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) {
@ -65,7 +65,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
} else } else
sdhci_send_command(host, mrq->cmd); sdhci_send_command(host, mrq->cmd);
@@ -831,7 +831,7 @@ @@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned
sdhci_reset(host, SDHCI_RESET_CMD); sdhci_reset(host, SDHCI_RESET_CMD);
sdhci_reset(host, SDHCI_RESET_DATA); sdhci_reset(host, SDHCI_RESET_DATA);
@ -74,7 +74,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
} }
} }
@@ -859,9 +859,9 @@ @@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne
* The controller needs a reset of internal state machines * The controller needs a reset of internal state machines
* upon error conditions. * upon error conditions.
*/ */
@ -87,7 +87,7 @@
/* Some controllers need this kick or reset won't work here */ /* Some controllers need this kick or reset won't work here */
if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) {
@@ -906,13 +906,13 @@ @@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned
sdhci_dumpregs(host); sdhci_dumpregs(host);
if (host->data) { if (host->data) {
@ -104,7 +104,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
} }
@@ -941,13 +941,12 @@ @@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h
} }
if (intmask & SDHCI_INT_TIMEOUT) if (intmask & SDHCI_INT_TIMEOUT)
@ -123,7 +123,7 @@
tasklet_schedule(&host->finish_tasklet); tasklet_schedule(&host->finish_tasklet);
else if (intmask & SDHCI_INT_RESPONSE) else if (intmask & SDHCI_INT_RESPONSE)
sdhci_finish_command(host); sdhci_finish_command(host);
@@ -974,13 +973,11 @@ @@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_
} }
if (intmask & SDHCI_INT_DATA_TIMEOUT) if (intmask & SDHCI_INT_DATA_TIMEOUT)
@ -141,7 +141,7 @@
sdhci_finish_data(host); sdhci_finish_data(host);
else { else {
if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL))
@@ -1312,7 +1309,7 @@ @@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st
mmc->ops = &sdhci_ops; mmc->ops = &sdhci_ops;
mmc->f_min = host->max_clk / 256; mmc->f_min = host->max_clk / 256;
mmc->f_max = host->max_clk; mmc->f_max = host->max_clk;

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -133,4 +133,8 @@ @@ -133,4 +133,8 @@ config LEDS_TRIGGER_HEARTBEAT
load average. load average.
If unsure, say Y. If unsure, say Y.
@ -11,7 +11,7 @@
endif # NEW_LEDS endif # NEW_LEDS
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -22,3 +22,4 @@ @@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -81,6 +81,12 @@ @@ -81,6 +81,12 @@ config LEDS_WRAP
help help
This option enables support for the PCEngines WRAP programmable LEDs. This option enables support for the PCEngines WRAP programmable LEDs.
@ -15,7 +15,7 @@
depends LEDS_CLASS && ARCH_H1940 depends LEDS_CLASS && ARCH_H1940
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c2
obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o
obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -143,4 +143,11 @@ @@ -143,4 +143,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger" tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS depends on LEDS_TRIGGERS
@ -14,7 +14,7 @@
endif # NEW_LEDS endif # NEW_LEDS
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -24,3 +24,4 @@ @@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledt
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -150,4 +150,11 @@ @@ -150,4 +150,11 @@ config LEDS_TRIGGER_DEFAULT_ON
This allows LEDs to be initialised in the ON state. This allows LEDs to be initialised in the ON state.
If unsure, say Y. If unsure, say Y.
@ -14,7 +14,7 @@
endif # NEW_LEDS endif # NEW_LEDS
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -25,3 +25,4 @@ @@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o

View File

@ -1,6 +1,6 @@
--- a/drivers/input/misc/Kconfig --- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig
@@ -183,4 +183,20 @@ @@ -183,4 +183,20 @@ config HP_SDC_RTC
Say Y here if you want to support the built-in real time clock Say Y here if you want to support the built-in real time clock
of the HP SDC controller. of the HP SDC controller.
@ -23,7 +23,7 @@
endif endif
--- a/drivers/input/misc/Makefile --- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile
@@ -18,3 +18,4 @@ @@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm
obj-$(CONFIG_INPUT_YEALINK) += yealink.o obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
obj-$(CONFIG_INPUT_UINPUT) += uinput.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o

View File

@ -1,6 +1,6 @@
--- a/drivers/char/Kconfig --- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig +++ b/drivers/char/Kconfig
@@ -970,6 +970,13 @@ @@ -970,6 +970,13 @@ config CS5535_GPIO
If compiled as a module, it will be called cs5535_gpio. If compiled as a module, it will be called cs5535_gpio.
@ -16,7 +16,7 @@
depends on CPU_VR41XX depends on CPU_VR41XX
--- a/drivers/char/Makefile --- a/drivers/char/Makefile
+++ b/drivers/char/Makefile +++ b/drivers/char/Makefile
@@ -93,6 +93,7 @@ @@ -93,6 +93,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio
obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o

View File

@ -1,6 +1,6 @@
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -419,6 +419,7 @@ @@ -419,6 +419,7 @@ config FS_POSIX_ACL
source "fs/xfs/Kconfig" source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig" source "fs/gfs2/Kconfig"
@ -10,7 +10,7 @@
tristate "OCFS2 file system support" tristate "OCFS2 file system support"
--- a/fs/Makefile --- a/fs/Makefile
+++ b/fs/Makefile +++ b/fs/Makefile
@@ -120,3 +120,4 @@ @@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
obj-$(CONFIG_DEBUG_FS) += debugfs/ obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/ obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_GFS2_FS) += gfs2/ obj-$(CONFIG_GFS2_FS) += gfs2/

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/phy.c --- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c
@@ -344,6 +344,50 @@ @@ -344,6 +344,50 @@ int phy_ethtool_gset(struct phy_device *
} }
EXPORT_SYMBOL(phy_ethtool_gset); EXPORT_SYMBOL(phy_ethtool_gset);
@ -53,7 +53,7 @@
* @phydev: the phy_device struct * @phydev: the phy_device struct
--- a/include/linux/phy.h --- a/include/linux/phy.h
+++ b/include/linux/phy.h +++ b/include/linux/phy.h
@@ -393,6 +393,7 @@ @@ -393,6 +393,7 @@ void phy_start_machine(struct phy_device
void phy_stop_machine(struct phy_device *phydev); void phy_stop_machine(struct phy_device *phydev);
int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd); int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd); int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/mdio_bus.c --- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c
@@ -131,6 +131,9 @@ @@ -131,6 +131,9 @@ static int mdio_bus_match(struct device
struct phy_device *phydev = to_phy_device(dev); struct phy_device *phydev = to_phy_device(dev);
struct phy_driver *phydrv = to_phy_driver(drv); struct phy_driver *phydrv = to_phy_driver(drv);
@ -12,7 +12,7 @@
} }
--- a/include/linux/phy.h --- a/include/linux/phy.h
+++ b/include/linux/phy.h +++ b/include/linux/phy.h
@@ -319,6 +319,11 @@ @@ -319,6 +319,11 @@ struct phy_driver {
u32 features; u32 features;
u32 flags; u32 flags;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/Kconfig --- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig
@@ -60,6 +60,11 @@ @@ -60,6 +60,11 @@ config ICPLUS_PHY
---help--- ---help---
Currently supports the IP175C PHY. Currently supports the IP175C PHY.
@ -14,7 +14,7 @@
---help--- ---help---
--- a/drivers/net/phy/Makefile --- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile
@@ -12,4 +12,5 @@ @@ -12,4 +12,5 @@ obj-$(CONFIG_SMSC_PHY) += smsc.o
obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/phy_device.c --- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c
@@ -44,6 +44,18 @@ @@ -44,6 +44,18 @@ static struct phy_driver genphy_driver;
extern int mdio_bus_init(void); extern int mdio_bus_init(void);
extern void mdio_bus_exit(void); extern void mdio_bus_exit(void);
@ -19,7 +19,7 @@
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id) struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
{ {
struct phy_device *dev; struct phy_device *dev;
@@ -67,6 +79,8 @@ @@ -67,6 +79,8 @@ struct phy_device* phy_device_create(str
dev->bus = bus; dev->bus = bus;
dev->state = PHY_DOWN; dev->state = PHY_DOWN;
@ -30,7 +30,7 @@
--- a/include/linux/phy.h --- a/include/linux/phy.h
+++ b/include/linux/phy.h +++ b/include/linux/phy.h
@@ -289,6 +289,17 @@ @@ -289,6 +289,17 @@ struct phy_device {
void (*adjust_link)(struct net_device *dev); void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev); void (*adjust_state)(struct net_device *dev);
@ -50,7 +50,7 @@
--- a/include/linux/netdevice.h --- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h +++ b/include/linux/netdevice.h
@@ -426,6 +426,7 @@ @@ -426,6 +426,7 @@ struct net_device
void *ax25_ptr; /* AX.25 specific data */ void *ax25_ptr; /* AX.25 specific data */
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
assign before registering */ assign before registering */

View File

@ -1,6 +1,6 @@
--- a/drivers/net/phy/Kconfig --- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig
@@ -65,6 +65,12 @@ @@ -65,6 +65,12 @@ config ADM6996_PHY
---help--- ---help---
Currently supports the ADM6996F switch Currently supports the ADM6996F switch
@ -15,7 +15,7 @@
---help--- ---help---
--- a/drivers/net/phy/Makefile --- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile
@@ -13,4 +13,5 @@ @@ -13,4 +13,5 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_ADM6996_PHY) += adm6996.o obj-$(CONFIG_ADM6996_PHY) += adm6996.o
@ -36,7 +36,7 @@
/** /**
* mdiobus_register - bring up all the PHYs on a given bus and attach them to bus * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
* @bus: target mii_bus * @bus: target mii_bus
@@ -85,6 +91,7 @@ @@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
phydev->dev.parent = bus->dev; phydev->dev.parent = bus->dev;
phydev->dev.bus = &mdio_bus_type; phydev->dev.bus = &mdio_bus_type;

View File

@ -1,6 +1,6 @@
--- a/init/main.c --- a/init/main.c
+++ b/init/main.c +++ b/init/main.c
@@ -780,7 +780,7 @@ @@ -780,7 +780,7 @@ static int noinline init_post(void)
numa_default_policy(); numa_default_policy();
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)

View File

@ -1,6 +1,6 @@
--- a/drivers/usb/serial/usb-serial.c --- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c
@@ -58,6 +58,7 @@ @@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv
drivers depend on it. drivers depend on it.
*/ */
@ -8,7 +8,7 @@
static int debug; static int debug;
static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */ static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */
static DEFINE_MUTEX(table_lock); static DEFINE_MUTEX(table_lock);
@@ -866,7 +867,7 @@ @@ -866,7 +867,7 @@ int usb_serial_probe(struct usb_interfac
dev_err(&interface->dev, "No free urbs available\n"); dev_err(&interface->dev, "No free urbs available\n");
goto probe_error; goto probe_error;
} }
@ -17,7 +17,7 @@
port->bulk_in_size = buffer_size; port->bulk_in_size = buffer_size;
port->bulk_in_endpointAddress = endpoint->bEndpointAddress; port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL); port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
@@ -1276,3 +1277,5 @@ @@ -1276,3 +1277,5 @@ MODULE_LICENSE("GPL");
module_param(debug, bool, S_IRUGO | S_IWUSR); module_param(debug, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "Debug enabled or not"); MODULE_PARM_DESC(debug, "Debug enabled or not");

View File

@ -11,7 +11,7 @@
#include <linux/types.h> #include <linux/types.h>
#ifdef __KERNEL__ #ifdef __KERNEL__
@@ -227,4 +231,6 @@ @@ -227,4 +231,6 @@ struct itimerval {
*/ */
#define TIMER_ABSTIME 0x01 #define TIMER_ABSTIME 0x01
@ -35,7 +35,7 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#define BITS_TO_LONGS(bits) \ #define BITS_TO_LONGS(bits) \
@@ -162,6 +170,8 @@ @@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t;
#endif /* __KERNEL_STRICT_NAMES */ #endif /* __KERNEL_STRICT_NAMES */

View File

@ -62,7 +62,7 @@
--- a/scripts/kconfig/Makefile --- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile
@@ -88,6 +88,9 @@ @@ -88,6 +88,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
# we really need to do so. (Do not call gcc as part of make mrproper) # we really need to do so. (Do not call gcc as part of make mrproper)
HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))

View File

@ -1,6 +1,6 @@
--- a/include/linux/stddef.h --- a/include/linux/stddef.h
+++ b/include/linux/stddef.h +++ b/include/linux/stddef.h
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@ enum {
false = 0, false = 0,
true = 1 true = 1
}; };
@ -8,7 +8,7 @@
#undef offsetof #undef offsetof
#ifdef __compiler_offsetof #ifdef __compiler_offsetof
@@ -23,6 +24,5 @@ @@ -23,6 +24,5 @@ enum {
#else #else
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif #endif

View File

@ -1,6 +1,6 @@
--- a/scripts/gen_initramfs_list.sh --- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh
@@ -125,7 +125,7 @@ @@ -125,7 +125,7 @@ parse() {
str="${ftype} ${name} ${location} ${str}" str="${ftype} ${name} ${location} ${str}"
;; ;;
"nod") "nod")
@ -9,7 +9,7 @@
local maj=`field 5 ${dev}` local maj=`field 5 ${dev}`
local min=`field 6 ${dev}` local min=`field 6 ${dev}`
maj=${maj%,} maj=${maj%,}
@@ -135,7 +135,7 @@ @@ -135,7 +135,7 @@ parse() {
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}" str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
;; ;;
"slink") "slink")

View File

@ -32,7 +32,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
--- ---
--- a/include/asm-ppc/io.h --- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h
@@ -453,11 +453,21 @@ @@ -453,11 +453,21 @@ static inline unsigned int ioread16(void
return readw(addr); return readw(addr);
} }
@ -54,7 +54,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
static inline void iowrite8(u8 val, void __iomem *addr) static inline void iowrite8(u8 val, void __iomem *addr)
{ {
writeb(val, addr); writeb(val, addr);
@@ -468,11 +478,21 @@ @@ -468,11 +478,21 @@ static inline void iowrite16(u16 val, vo
writew(val, addr); writew(val, addr);
} }

View File

@ -1,6 +1,6 @@
--- a/drivers/spi/Kconfig --- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig
@@ -100,6 +100,11 @@ @@ -100,6 +100,11 @@ config SPI_BUTTERFLY
inexpensive battery powered microcontroller evaluation board. inexpensive battery powered microcontroller evaluation board.
This same cable can be used to flash new firmware. This same cable can be used to flash new firmware.
@ -14,7 +14,7 @@
depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
--- a/drivers/spi/Makefile --- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile +++ b/drivers/spi/Makefile
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.
obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o
obj-$(CONFIG_SPI_AU1550) += au1550_spi.o obj-$(CONFIG_SPI_AU1550) += au1550_spi.o
obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o

View File

@ -1,6 +1,6 @@
--- a/drivers/w1/masters/Kconfig --- a/drivers/w1/masters/Kconfig
+++ b/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig
@@ -42,5 +42,15 @@ @@ -42,5 +42,15 @@ config W1_MASTER_DS1WM
in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like
hx4700. hx4700.
@ -18,7 +18,7 @@
--- a/drivers/w1/masters/Makefile --- a/drivers/w1/masters/Makefile
+++ b/drivers/w1/masters/Makefile +++ b/drivers/w1/masters/Makefile
@@ -6,3 +6,4 @@ @@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro
obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o
obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o
obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o

View File

@ -2,7 +2,7 @@ This patch ports ssb to the 2.6.23 kernel.
--- a/drivers/ssb/driver_mipscore.c --- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c +++ b/drivers/ssb/driver_mipscore.c
@@ -223,3 +223,5 @@ @@ -223,3 +223,5 @@ void ssb_mipscore_init(struct ssb_mipsco
ssb_mips_serial_init(mcore); ssb_mips_serial_init(mcore);
ssb_mips_flash_detect(mcore); ssb_mips_flash_detect(mcore);
} }
@ -10,7 +10,7 @@ This patch ports ssb to the 2.6.23 kernel.
+EXPORT_SYMBOL(ssb_mips_irq); +EXPORT_SYMBOL(ssb_mips_irq);
--- a/include/linux/mod_devicetable.h --- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h
@@ -352,4 +352,19 @@ @@ -352,4 +352,19 @@ struct parisc_device_id {
#define PA_HVERSION_ANY_ID 0xffff #define PA_HVERSION_ANY_ID 0xffff
#define PA_SVERSION_ANY_ID 0xffffffff #define PA_SVERSION_ANY_ID 0xffffffff
@ -32,7 +32,7 @@ This patch ports ssb to the 2.6.23 kernel.
#endif /* LINUX_MOD_DEVICETABLE_H */ #endif /* LINUX_MOD_DEVICETABLE_H */
--- a/drivers/ssb/main.c --- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c +++ b/drivers/ssb/main.c
@@ -321,14 +321,16 @@ @@ -321,14 +321,16 @@ static int ssb_bus_match(struct device *
return 0; return 0;
} }
@ -53,7 +53,7 @@ This patch ports ssb to the 2.6.23 kernel.
ssb_dev->id.revision); ssb_dev->id.revision);
--- a/drivers/ssb/scan.c --- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c +++ b/drivers/ssb/scan.c
@@ -391,12 +391,14 @@ @@ -391,12 +391,14 @@ int ssb_bus_scan(struct ssb_bus *bus,
if (bus->bustype == SSB_BUSTYPE_PCI) { if (bus->bustype == SSB_BUSTYPE_PCI) {
/* Ignore PCI cores on PCI-E cards. /* Ignore PCI cores on PCI-E cards.
* Ignore PCI-E cores on PCI cards. */ * Ignore PCI-E cores on PCI cards. */
@ -74,7 +74,7 @@ This patch ports ssb to the 2.6.23 kernel.
if (bus->pcicore.dev) { if (bus->pcicore.dev) {
--- a/drivers/ssb/driver_pcicore.c --- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c +++ b/drivers/ssb/driver_pcicore.c
@@ -362,7 +362,7 @@ @@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct
chipid_top != 0x5300) chipid_top != 0x5300)
return 0; return 0;