aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-09-23 06:23:28 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-23 06:23:28 -0700
commitc8caa38a824215b4850e26af6ef808aea35b67fd (patch)
tree2bed23ee0e7e1063b1c675c941559b0aef0b4d20
parent2294c7ccc0b7e70f8be4124072aecc8502c357ed (diff)
downloadpatches-c8caa38a824215b4850e26af6ef808aea35b67fd.tar.gz
2.6.31-git12 resync
-rw-r--r--driver-core.current/driver-core-extend-devnode-callbacks-to-provide-permissions.patch781
-rw-r--r--series165
-rw-r--r--staging/staging-remove-agnx-driver.patch130
-rw-r--r--usb.current/usb-option-telit-uc864g-support.patch4
-rw-r--r--usb.current/usb-option.c-add-support-for-zte-ac2726-evdo-modem.patch4
-rw-r--r--usb/usb-dbgp-ehci-debug-controller-initialization-delays.patch2
-rw-r--r--usb/usb-ehci-dbgp-early_printk-split-ehci-debug-driver-from-early_printk.c.patch4
-rw-r--r--usb/usb-gadget-update-freescale-udc-entry-in-maintainers.patch2
-rw-r--r--version2
9 files changed, 156 insertions, 938 deletions
diff --git a/driver-core.current/driver-core-extend-devnode-callbacks-to-provide-permissions.patch b/driver-core.current/driver-core-extend-devnode-callbacks-to-provide-permissions.patch
deleted file mode 100644
index 34b52e07c30eec..00000000000000
--- a/driver-core.current/driver-core-extend-devnode-callbacks-to-provide-permissions.patch
+++ /dev/null
@@ -1,781 +0,0 @@
-From kay.sievers@vrfy.org Fri Sep 18 14:01:29 2009
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 18 Sep 2009 23:01:12 +0200
-Subject: Driver-Core: extend devnode callbacks to provide permissions
-To: Greg KH <greg@kroah.com>
-Message-ID: <1253307672.1864.0.camel@yio.site>
-
-
-From: Kay Sievers <kay.sievers@vrfy.org>
-
-This allows subsytems to provide devtmpfs with non-default permissions
-for the device node. Instead of the default mode of 0600, null, zero,
-random, urandom, full, tty, ptmx now have a mode of 0666, which allows
-non-privileged processes to access standard device nodes in case no
-other userspace process applies the expected permissions.
-
-This also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.
-
-Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- arch/x86/kernel/cpuid.c | 4 ++--
- arch/x86/kernel/microcode_core.c | 2 +-
- arch/x86/kernel/msr.c | 4 ++--
- block/bsg.c | 4 ++--
- block/genhd.c | 8 ++++----
- drivers/base/core.c | 19 ++++++++++++-------
- drivers/base/devtmpfs.c | 24 ++++++++++++++++--------
- drivers/block/aoe/aoechr.c | 4 ++--
- drivers/block/pktcdvd.c | 6 +++---
- drivers/char/hw_random/core.c | 2 +-
- drivers/char/mem.c | 29 +++++++++++++++++++----------
- drivers/char/misc.c | 10 ++++++----
- drivers/char/raw.c | 4 ++--
- drivers/char/tty_io.c | 11 +++++++++++
- drivers/gpu/drm/drm_sysfs.c | 4 ++--
- drivers/hid/usbhid/hiddev.c | 4 ++--
- drivers/input/input.c | 4 ++--
- drivers/md/dm-ioctl.c | 2 +-
- drivers/media/dvb/dvb-core/dvbdev.c | 4 ++--
- drivers/net/tun.c | 2 +-
- drivers/usb/class/usblp.c | 4 ++--
- drivers/usb/core/file.c | 8 ++++----
- drivers/usb/core/usb.c | 4 ++--
- drivers/usb/misc/iowarrior.c | 4 ++--
- drivers/usb/misc/legousbtower.c | 4 ++--
- include/linux/device.h | 7 ++++---
- include/linux/genhd.h | 2 +-
- include/linux/miscdevice.h | 3 ++-
- include/linux/usb.h | 4 ++--
- sound/sound_core.c | 4 ++--
- 30 files changed, 116 insertions(+), 79 deletions(-)
-
---- a/arch/x86/kernel/cpuid.c
-+++ b/arch/x86/kernel/cpuid.c
-@@ -182,7 +182,7 @@ static struct notifier_block __refdata c
- .notifier_call = cpuid_class_cpu_callback,
- };
-
--static char *cpuid_nodename(struct device *dev)
-+static char *cpuid_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "cpu/%u/cpuid", MINOR(dev->devt));
- }
-@@ -203,7 +203,7 @@ static int __init cpuid_init(void)
- err = PTR_ERR(cpuid_class);
- goto out_chrdev;
- }
-- cpuid_class->nodename = cpuid_nodename;
-+ cpuid_class->devnode = cpuid_devnode;
- for_each_online_cpu(i) {
- err = cpuid_device_create(i);
- if (err != 0)
---- a/arch/x86/kernel/microcode_core.c
-+++ b/arch/x86/kernel/microcode_core.c
-@@ -236,7 +236,7 @@ static const struct file_operations micr
- static struct miscdevice microcode_dev = {
- .minor = MICROCODE_MINOR,
- .name = "microcode",
-- .devnode = "cpu/microcode",
-+ .nodename = "cpu/microcode",
- .fops = &microcode_fops,
- };
-
---- a/arch/x86/kernel/msr.c
-+++ b/arch/x86/kernel/msr.c
-@@ -241,7 +241,7 @@ static struct notifier_block __refdata m
- .notifier_call = msr_class_cpu_callback,
- };
-
--static char *msr_nodename(struct device *dev)
-+static char *msr_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "cpu/%u/msr", MINOR(dev->devt));
- }
-@@ -262,7 +262,7 @@ static int __init msr_init(void)
- err = PTR_ERR(msr_class);
- goto out_chrdev;
- }
-- msr_class->nodename = msr_nodename;
-+ msr_class->devnode = msr_devnode;
- for_each_online_cpu(i) {
- err = msr_device_create(i);
- if (err != 0)
---- a/block/bsg.c
-+++ b/block/bsg.c
-@@ -1062,7 +1062,7 @@ EXPORT_SYMBOL_GPL(bsg_register_queue);
-
- static struct cdev bsg_cdev;
-
--static char *bsg_nodename(struct device *dev)
-+static char *bsg_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "bsg/%s", dev_name(dev));
- }
-@@ -1087,7 +1087,7 @@ static int __init bsg_init(void)
- ret = PTR_ERR(bsg_class);
- goto destroy_kmemcache;
- }
-- bsg_class->nodename = bsg_nodename;
-+ bsg_class->devnode = bsg_devnode;
-
- ret = alloc_chrdev_region(&devid, 0, BSG_MAX_DEVS, "bsg");
- if (ret)
---- a/block/genhd.c
-+++ b/block/genhd.c
-@@ -998,12 +998,12 @@ struct class block_class = {
- .name = "block",
- };
-
--static char *block_nodename(struct device *dev)
-+static char *block_devnode(struct device *dev, mode_t *mode)
- {
- struct gendisk *disk = dev_to_disk(dev);
-
-- if (disk->nodename)
-- return disk->nodename(disk);
-+ if (disk->devnode)
-+ return disk->devnode(disk, mode);
- return NULL;
- }
-
-@@ -1011,7 +1011,7 @@ static struct device_type disk_type = {
- .name = "disk",
- .groups = disk_attr_groups,
- .release = disk_release,
-- .nodename = block_nodename,
-+ .devnode = block_devnode,
- };
-
- #ifdef CONFIG_PROC_FS
---- a/drivers/base/core.c
-+++ b/drivers/base/core.c
-@@ -166,13 +166,16 @@ static int dev_uevent(struct kset *kset,
- if (MAJOR(dev->devt)) {
- const char *tmp;
- const char *name;
-+ mode_t mode = 0;
-
- add_uevent_var(env, "MAJOR=%u", MAJOR(dev->devt));
- add_uevent_var(env, "MINOR=%u", MINOR(dev->devt));
-- name = device_get_nodename(dev, &tmp);
-+ name = device_get_devnode(dev, &mode, &tmp);
- if (name) {
- add_uevent_var(env, "DEVNAME=%s", name);
- kfree(tmp);
-+ if (mode)
-+ add_uevent_var(env, "DEVMODE=%#o", mode & 0777);
- }
- }
-
-@@ -1148,8 +1151,9 @@ static struct device *next_device(struct
- }
-
- /**
-- * device_get_nodename - path of device node file
-+ * device_get_devnode - path of device node file
- * @dev: device
-+ * @mode: returned file access mode
- * @tmp: possibly allocated string
- *
- * Return the relative path of a possible device node.
-@@ -1157,21 +1161,22 @@ static struct device *next_device(struct
- * a name. This memory is returned in tmp and needs to be
- * freed by the caller.
- */
--const char *device_get_nodename(struct device *dev, const char **tmp)
-+const char *device_get_devnode(struct device *dev,
-+ mode_t *mode, const char **tmp)
- {
- char *s;
-
- *tmp = NULL;
-
- /* the device type may provide a specific name */
-- if (dev->type && dev->type->nodename)
-- *tmp = dev->type->nodename(dev);
-+ if (dev->type && dev->type->devnode)
-+ *tmp = dev->type->devnode(dev, mode);
- if (*tmp)
- return *tmp;
-
- /* the class may provide a specific name */
-- if (dev->class && dev->class->nodename)
-- *tmp = dev->class->nodename(dev);
-+ if (dev->class && dev->class->devnode)
-+ *tmp = dev->class->devnode(dev, mode);
- if (*tmp)
- return *tmp;
-
---- a/drivers/base/devtmpfs.c
-+++ b/drivers/base/devtmpfs.c
-@@ -6,9 +6,10 @@
- * During bootup, before any driver core device is registered,
- * devtmpfs, a tmpfs-based filesystem is created. Every driver-core
- * device which requests a device node, will add a node in this
-- * filesystem. The node is named after the the name of the device,
-- * or the susbsytem can provide a custom name. All devices are
-- * owned by root and have a mode of 0600.
-+ * filesystem.
-+ * By default, all devices are named after the the name of the
-+ * device, owned by root and have a default mode of 0600. Subsystems
-+ * can overwrite the default setting if needed.
- */
-
- #include <linux/kernel.h>
-@@ -20,6 +21,7 @@
- #include <linux/fs.h>
- #include <linux/shmem_fs.h>
- #include <linux/cred.h>
-+#include <linux/sched.h>
- #include <linux/init_task.h>
-
- static struct vfsmount *dev_mnt;
-@@ -134,7 +136,7 @@ int devtmpfs_create_node(struct device *
- const char *tmp = NULL;
- const char *nodename;
- const struct cred *curr_cred;
-- mode_t mode;
-+ mode_t mode = 0;
- struct nameidata nd;
- struct dentry *dentry;
- int err;
-@@ -142,14 +144,16 @@ int devtmpfs_create_node(struct device *
- if (!dev_mnt)
- return 0;
-
-- nodename = device_get_nodename(dev, &tmp);
-+ nodename = device_get_devnode(dev, &mode, &tmp);
- if (!nodename)
- return -ENOMEM;
-
-+ if (mode == 0)
-+ mode = 0600;
- if (is_blockdev(dev))
-- mode = S_IFBLK|0600;
-+ mode |= S_IFBLK;
- else
-- mode = S_IFCHR|0600;
-+ mode |= S_IFCHR;
-
- curr_cred = override_creds(&init_cred);
- err = vfs_path_lookup(dev_mnt->mnt_root, dev_mnt,
-@@ -165,8 +169,12 @@ int devtmpfs_create_node(struct device *
-
- dentry = lookup_create(&nd, 0);
- if (!IS_ERR(dentry)) {
-+ int umask;
-+
-+ umask = sys_umask(0000);
- err = vfs_mknod(nd.path.dentry->d_inode,
- dentry, mode, dev->devt);
-+ sys_umask(umask);
- /* mark as kernel created inode */
- if (!err)
- dentry->d_inode->i_private = &dev_mnt;
-@@ -271,7 +279,7 @@ int devtmpfs_delete_node(struct device *
- if (!dev_mnt)
- return 0;
-
-- nodename = device_get_nodename(dev, &tmp);
-+ nodename = device_get_devnode(dev, NULL, &tmp);
- if (!nodename)
- return -ENOMEM;
-
---- a/drivers/block/aoe/aoechr.c
-+++ b/drivers/block/aoe/aoechr.c
-@@ -266,7 +266,7 @@ static const struct file_operations aoe_
- .owner = THIS_MODULE,
- };
-
--static char *aoe_nodename(struct device *dev)
-+static char *aoe_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "etherd/%s", dev_name(dev));
- }
-@@ -288,7 +288,7 @@ aoechr_init(void)
- unregister_chrdev(AOE_MAJOR, "aoechr");
- return PTR_ERR(aoe_class);
- }
-- aoe_class->nodename = aoe_nodename;
-+ aoe_class->devnode = aoe_devnode;
-
- for (i = 0; i < ARRAY_SIZE(chardevs); ++i)
- device_create(aoe_class, NULL,
---- a/drivers/block/pktcdvd.c
-+++ b/drivers/block/pktcdvd.c
-@@ -2857,7 +2857,7 @@ static struct block_device_operations pk
- .media_changed = pkt_media_changed,
- };
-
--static char *pktcdvd_nodename(struct gendisk *gd)
-+static char *pktcdvd_devnode(struct gendisk *gd, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "pktcdvd/%s", gd->disk_name);
- }
-@@ -2914,7 +2914,7 @@ static int pkt_setup_dev(dev_t dev, dev_
- disk->fops = &pktcdvd_ops;
- disk->flags = GENHD_FL_REMOVABLE;
- strcpy(disk->disk_name, pd->name);
-- disk->nodename = pktcdvd_nodename;
-+ disk->devnode = pktcdvd_devnode;
- disk->private_data = pd;
- disk->queue = blk_alloc_queue(GFP_KERNEL);
- if (!disk->queue)
-@@ -3070,7 +3070,7 @@ static const struct file_operations pkt_
- static struct miscdevice pkt_misc = {
- .minor = MISC_DYNAMIC_MINOR,
- .name = DRIVER_NAME,
-- .name = "pktcdvd/control",
-+ .nodename = "pktcdvd/control",
- .fops = &pkt_ctl_fops
- };
-
---- a/drivers/char/hw_random/core.c
-+++ b/drivers/char/hw_random/core.c
-@@ -153,7 +153,7 @@ static const struct file_operations rng_
- static struct miscdevice rng_miscdev = {
- .minor = RNG_MISCDEV_MINOR,
- .name = RNG_MODULE_NAME,
-- .devnode = "hwrng",
-+ .nodename = "hwrng",
- .fops = &rng_chrdev_ops,
- };
-
---- a/drivers/char/mem.c
-+++ b/drivers/char/mem.c
-@@ -866,24 +866,25 @@ static const struct file_operations kmsg
-
- static const struct memdev {
- const char *name;
-+ mode_t mode;
- const struct file_operations *fops;
- struct backing_dev_info *dev_info;
- } devlist[] = {
-- [ 1] = { "mem", &mem_fops, &directly_mappable_cdev_bdi },
-+ [1] = { "mem", 0, &mem_fops, &directly_mappable_cdev_bdi },
- #ifdef CONFIG_DEVKMEM
-- [ 2] = { "kmem", &kmem_fops, &directly_mappable_cdev_bdi },
-+ [2] = { "kmem", 0, &kmem_fops, &directly_mappable_cdev_bdi },
- #endif
-- [ 3] = {"null", &null_fops, NULL },
-+ [3] = { "null", 0666, &null_fops, NULL },
- #ifdef CONFIG_DEVPORT
-- [ 4] = { "port", &port_fops, NULL },
-+ [4] = { "port", 0, &port_fops, NULL },
- #endif
-- [ 5] = { "zero", &zero_fops, &zero_bdi },
-- [ 7] = { "full", &full_fops, NULL },
-- [ 8] = { "random", &random_fops, NULL },
-- [ 9] = { "urandom", &urandom_fops, NULL },
-- [11] = { "kmsg", &kmsg_fops, NULL },
-+ [5] = { "zero", 0666, &zero_fops, &zero_bdi },
-+ [7] = { "full", 0666, &full_fops, NULL },
-+ [8] = { "random", 0666, &random_fops, NULL },
-+ [9] = { "urandom", 0666, &urandom_fops, NULL },
-+ [11] = { "kmsg", 0, &kmsg_fops, NULL },
- #ifdef CONFIG_CRASH_DUMP
-- [12] = { "oldmem", &oldmem_fops, NULL },
-+ [12] = { "oldmem", 0, &oldmem_fops, NULL },
- #endif
- };
-
-@@ -920,6 +921,13 @@ static const struct file_operations memo
- .open = memory_open,
- };
-
-+static char *mem_devnode(struct device *dev, mode_t *mode)
-+{
-+ if (mode && devlist[MINOR(dev->devt)].mode)
-+ *mode = devlist[MINOR(dev->devt)].mode;
-+ return NULL;
-+}
-+
- static struct class *mem_class;
-
- static int __init chr_dev_init(void)
-@@ -935,6 +943,7 @@ static int __init chr_dev_init(void)
- printk("unable to get major %d for memory devs\n", MEM_MAJOR);
-
- mem_class = class_create(THIS_MODULE, "mem");
-+ mem_class->devnode = mem_devnode;
- for (minor = 1; minor < ARRAY_SIZE(devlist); minor++) {
- if (!devlist[minor].name)
- continue;
---- a/drivers/char/misc.c
-+++ b/drivers/char/misc.c
-@@ -263,12 +263,14 @@ int misc_deregister(struct miscdevice *m
- EXPORT_SYMBOL(misc_register);
- EXPORT_SYMBOL(misc_deregister);
-
--static char *misc_nodename(struct device *dev)
-+static char *misc_devnode(struct device *dev, mode_t *mode)
- {
- struct miscdevice *c = dev_get_drvdata(dev);
-
-- if (c->devnode)
-- return kstrdup(c->devnode, GFP_KERNEL);
-+ if (mode && c->mode)
-+ *mode = c->mode;
-+ if (c->nodename)
-+ return kstrdup(c->nodename, GFP_KERNEL);
- return NULL;
- }
-
-@@ -287,7 +289,7 @@ static int __init misc_init(void)
- err = -EIO;
- if (register_chrdev(MISC_MAJOR,"misc",&misc_fops))
- goto fail_printk;
-- misc_class->nodename = misc_nodename;
-+ misc_class->devnode = misc_devnode;
- return 0;
-
- fail_printk:
---- a/drivers/char/raw.c
-+++ b/drivers/char/raw.c
-@@ -261,7 +261,7 @@ static const struct file_operations raw_
-
- static struct cdev raw_cdev;
-
--static char *raw_nodename(struct device *dev)
-+static char *raw_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "raw/%s", dev_name(dev));
- }
-@@ -289,7 +289,7 @@ static int __init raw_init(void)
- ret = PTR_ERR(raw_class);
- goto error_region;
- }
-- raw_class->nodename = raw_nodename;
-+ raw_class->devnode = raw_devnode;
- device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");
-
- return 0;
---- a/drivers/char/tty_io.c
-+++ b/drivers/char/tty_io.c
-@@ -3056,11 +3056,22 @@ void __init console_init(void)
- }
- }
-
-+static char *tty_devnode(struct device *dev, mode_t *mode)
-+{
-+ if (!mode)
-+ return NULL;
-+ if (dev->devt == MKDEV(TTYAUX_MAJOR, 0) ||
-+ dev->devt == MKDEV(TTYAUX_MAJOR, 2))
-+ *mode = 0666;
-+ return NULL;
-+}
-+
- static int __init tty_class_init(void)
- {
- tty_class = class_create(THIS_MODULE, "tty");
- if (IS_ERR(tty_class))
- return PTR_ERR(tty_class);
-+ tty_class->devnode = tty_devnode;
- return 0;
- }
-
---- a/drivers/gpu/drm/drm_sysfs.c
-+++ b/drivers/gpu/drm/drm_sysfs.c
-@@ -76,7 +76,7 @@ static ssize_t version_show(struct class
- CORE_MINOR, CORE_PATCHLEVEL, CORE_DATE);
- }
-
--static char *drm_nodename(struct device *dev)
-+static char *drm_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "dri/%s", dev_name(dev));
- }
-@@ -112,7 +112,7 @@ struct class *drm_sysfs_create(struct mo
- if (err)
- goto err_out_class;
-
-- class->nodename = drm_nodename;
-+ class->devnode = drm_devnode;
-
- return class;
-
---- a/drivers/hid/usbhid/hiddev.c
-+++ b/drivers/hid/usbhid/hiddev.c
-@@ -852,14 +852,14 @@ static const struct file_operations hidd
- #endif
- };
-
--static char *hiddev_nodename(struct device *dev)
-+static char *hiddev_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
- }
-
- static struct usb_class_driver hiddev_class = {
- .name = "hiddev%d",
-- .nodename = hiddev_nodename,
-+ .devnode = hiddev_devnode,
- .fops = &hiddev_fops,
- .minor_base = HIDDEV_MINOR_BASE,
- };
---- a/drivers/input/input.c
-+++ b/drivers/input/input.c
-@@ -1265,14 +1265,14 @@ static struct device_type input_dev_type
- .uevent = input_dev_uevent,
- };
-
--static char *input_nodename(struct device *dev)
-+static char *input_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "input/%s", dev_name(dev));
- }
-
- struct class input_class = {
- .name = "input",
-- .nodename = input_nodename,
-+ .devnode = input_devnode,
- };
- EXPORT_SYMBOL_GPL(input_class);
-
---- a/drivers/md/dm-ioctl.c
-+++ b/drivers/md/dm-ioctl.c
-@@ -1532,7 +1532,7 @@ static const struct file_operations _ctl
- static struct miscdevice _dm_misc = {
- .minor = MISC_DYNAMIC_MINOR,
- .name = DM_NAME,
-- .devnode = "mapper/control",
-+ .nodename = "mapper/control",
- .fops = &_ctl_fops
- };
-
---- a/drivers/media/dvb/dvb-core/dvbdev.c
-+++ b/drivers/media/dvb/dvb-core/dvbdev.c
-@@ -447,7 +447,7 @@ static int dvb_uevent(struct device *dev
- return 0;
- }
-
--static char *dvb_nodename(struct device *dev)
-+static char *dvb_devnode(struct device *dev, mode_t *mode)
- {
- struct dvb_device *dvbdev = dev_get_drvdata(dev);
-
-@@ -478,7 +478,7 @@ static int __init init_dvbdev(void)
- goto error;
- }
- dvb_class->dev_uevent = dvb_uevent;
-- dvb_class->nodename = dvb_nodename;
-+ dvb_class->devnode = dvb_devnode;
- return 0;
-
- error:
---- a/drivers/net/tun.c
-+++ b/drivers/net/tun.c
-@@ -1370,7 +1370,7 @@ static const struct file_operations tun_
- static struct miscdevice tun_miscdev = {
- .minor = TUN_MINOR,
- .name = "tun",
-- .devnode = "net/tun",
-+ .nodename = "net/tun",
- .fops = &tun_fops,
- };
-
---- a/drivers/usb/class/usblp.c
-+++ b/drivers/usb/class/usblp.c
-@@ -1057,14 +1057,14 @@ static const struct file_operations usbl
- .release = usblp_release,
- };
-
--static char *usblp_nodename(struct device *dev)
-+static char *usblp_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
- }
-
- static struct usb_class_driver usblp_class = {
- .name = "lp%d",
-- .nodename = usblp_nodename,
-+ .devnode = usblp_devnode,
- .fops = &usblp_fops,
- .minor_base = USBLP_MINOR_BASE,
- };
---- a/drivers/usb/core/file.c
-+++ b/drivers/usb/core/file.c
-@@ -67,14 +67,14 @@ static struct usb_class {
- struct class *class;
- } *usb_class;
-
--static char *usb_nodename(struct device *dev)
-+static char *usb_devnode(struct device *dev, mode_t *mode)
- {
- struct usb_class_driver *drv;
-
- drv = dev_get_drvdata(dev);
-- if (!drv || !drv->nodename)
-+ if (!drv || !drv->devnode)
- return NULL;
-- return drv->nodename(dev);
-+ return drv->devnode(dev, mode);
- }
-
- static int init_usb_class(void)
-@@ -100,7 +100,7 @@ static int init_usb_class(void)
- kfree(usb_class);
- usb_class = NULL;
- }
-- usb_class->class->nodename = usb_nodename;
-+ usb_class->class->devnode = usb_devnode;
-
- exit:
- return result;
---- a/drivers/usb/core/usb.c
-+++ b/drivers/usb/core/usb.c
-@@ -311,7 +311,7 @@ static struct dev_pm_ops usb_device_pm_o
- #endif /* CONFIG_PM */
-
-
--static char *usb_nodename(struct device *dev)
-+static char *usb_devnode(struct device *dev, mode_t *mode)
- {
- struct usb_device *usb_dev;
-
-@@ -324,7 +324,7 @@ struct device_type usb_device_type = {
- .name = "usb_device",
- .release = usb_release_dev,
- .uevent = usb_dev_uevent,
-- .nodename = usb_nodename,
-+ .devnode = usb_devnode,
- .pm = &usb_device_pm_ops,
- };
-
---- a/drivers/usb/misc/iowarrior.c
-+++ b/drivers/usb/misc/iowarrior.c
-@@ -727,7 +727,7 @@ static const struct file_operations iowa
- .poll = iowarrior_poll,
- };
-
--static char *iowarrior_nodename(struct device *dev)
-+static char *iowarrior_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
- }
-@@ -738,7 +738,7 @@ static char *iowarrior_nodename(struct d
- */
- static struct usb_class_driver iowarrior_class = {
- .name = "iowarrior%d",
-- .nodename = iowarrior_nodename,
-+ .devnode = iowarrior_devnode,
- .fops = &iowarrior_fops,
- .minor_base = IOWARRIOR_MINOR_BASE,
- };
---- a/drivers/usb/misc/legousbtower.c
-+++ b/drivers/usb/misc/legousbtower.c
-@@ -266,7 +266,7 @@ static const struct file_operations towe
- .llseek = tower_llseek,
- };
-
--static char *legousbtower_nodename(struct device *dev)
-+static char *legousbtower_devnode(struct device *dev, mode_t *mode)
- {
- return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));
- }
-@@ -277,7 +277,7 @@ static char *legousbtower_nodename(struc
- */
- static struct usb_class_driver tower_class = {
- .name = "legousbtower%d",
-- .nodename = legousbtower_nodename,
-+ .devnode = legousbtower_devnode,
- .fops = &tower_fops,
- .minor_base = LEGO_USB_TOWER_MINOR_BASE,
- };
---- a/include/linux/device.h
-+++ b/include/linux/device.h
-@@ -193,7 +193,7 @@ struct class {
- struct kobject *dev_kobj;
-
- int (*dev_uevent)(struct device *dev, struct kobj_uevent_env *env);
-- char *(*nodename)(struct device *dev);
-+ char *(*devnode)(struct device *dev, mode_t *mode);
-
- void (*class_release)(struct class *class);
- void (*dev_release)(struct device *dev);
-@@ -298,7 +298,7 @@ struct device_type {
- const char *name;
- const struct attribute_group **groups;
- int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
-- char *(*nodename)(struct device *dev);
-+ char *(*devnode)(struct device *dev, mode_t *mode);
- void (*release)(struct device *dev);
-
- const struct dev_pm_ops *pm;
-@@ -487,7 +487,8 @@ extern struct device *device_find_child(
- extern int device_rename(struct device *dev, char *new_name);
- extern int device_move(struct device *dev, struct device *new_parent,
- enum dpm_order dpm_order);
--extern const char *device_get_nodename(struct device *dev, const char **tmp);
-+extern const char *device_get_devnode(struct device *dev,
-+ mode_t *mode, const char **tmp);
- extern void *dev_get_drvdata(const struct device *dev);
- extern void dev_set_drvdata(struct device *dev, void *data);
-
---- a/include/linux/genhd.h
-+++ b/include/linux/genhd.h
-@@ -142,7 +142,7 @@ struct gendisk {
- * disks that can't be partitioned. */
-
- char disk_name[DISK_NAME_LEN]; /* name of major driver */
-- char *(*nodename)(struct gendisk *gd);
-+ char *(*devnode)(struct gendisk *gd, mode_t *mode);
- /* Array of pointers to partitions indexed by partno.
- * Protected with matching bdev lock but stat and other
- * non-critical accesses use RCU. Always access through
---- a/include/linux/miscdevice.h
-+++ b/include/linux/miscdevice.h
-@@ -41,7 +41,8 @@ struct miscdevice {
- struct list_head list;
- struct device *parent;
- struct device *this_device;
-- const char *devnode;
-+ const char *nodename;
-+ mode_t mode;
- };
-
- extern int misc_register(struct miscdevice * misc);
---- a/include/linux/usb.h
-+++ b/include/linux/usb.h
-@@ -922,7 +922,7 @@ extern struct bus_type usb_bus_type;
- /**
- * struct usb_class_driver - identifies a USB driver that wants to use the USB major number
- * @name: the usb class device name for this driver. Will show up in sysfs.
-- * @nodename: Callback to provide a naming hint for a possible
-+ * @devnode: Callback to provide a naming hint for a possible
- * device node to create.
- * @fops: pointer to the struct file_operations of this driver.
- * @minor_base: the start of the minor range for this driver.
-@@ -933,7 +933,7 @@ extern struct bus_type usb_bus_type;
- */
- struct usb_class_driver {
- char *name;
-- char *(*nodename)(struct device *dev);
-+ char *(*devnode)(struct device *dev, mode_t *mode);
- const struct file_operations *fops;
- int minor_base;
- };
---- a/sound/sound_core.c
-+++ b/sound/sound_core.c
-@@ -29,7 +29,7 @@ MODULE_DESCRIPTION("Core sound module");
- MODULE_AUTHOR("Alan Cox");
- MODULE_LICENSE("GPL");
-
--static char *sound_nodename(struct device *dev)
-+static char *sound_devnode(struct device *dev, mode_t *mode)
- {
- if (MAJOR(dev->devt) == SOUND_MAJOR)
- return NULL;
-@@ -50,7 +50,7 @@ static int __init init_soundcore(void)
- return PTR_ERR(sound_class);
- }
-
-- sound_class->nodename = sound_nodename;
-+ sound_class->devnode = sound_devnode;
-
- return 0;
- }
diff --git a/series b/series
index 9abd75c30f547b..c8f50f2c05f183 100644
--- a/series
+++ b/series
@@ -9,14 +9,13 @@ gregkh/gkh-version.patch
#################################
# Driver core patches for 2.6.31
#################################
-driver-core.current/driver-core-extend-devnode-callbacks-to-provide-permissions.patch
#################################
# TTY patches for 2.6.31
#################################
-tty.current/tty-gigaset-really-fix-chars_in_buffer.patch
-tty.current/serial-bfin_5xx-fix-building-as-module-when-early-printk-is-enabled.patch
-tty.current/tty-serial-pcmcia-add-id-for-advantech-card.patch
+#tty.current/tty-gigaset-really-fix-chars_in_buffer.patch
+#tty.current/serial-bfin_5xx-fix-building-as-module-when-early-printk-is-enabled.patch
+#tty.current/tty-serial-pcmcia-add-id-for-advantech-card.patch
#################################
@@ -60,86 +59,86 @@ usb.current/usb-fix-ss-endpoint-companion-descriptor-parsing.patch
#################################
# TTY patches for after 2.6.31 is out
#################################
-tty/tty-ldisc-make-proc-tty-ldiscs-use-ldisc_ops-instead-of-ldiscs.patch
-tty/tty-ldisc-get-rid-of-tty_ldisc_try_get-helper-function.patch
-tty/tty-includecheck-fix-drivers-char-vt.c.patch
-tty/tty-icom-bit-and-or-confusion.patch
+#tty/tty-ldisc-make-proc-tty-ldiscs-use-ldisc_ops-instead-of-ldiscs.patch
+#tty/tty-ldisc-get-rid-of-tty_ldisc_try_get-helper-function.patch
+#tty/tty-includecheck-fix-drivers-char-vt.c.patch
+#tty/tty-icom-bit-and-or-confusion.patch
+#
+#tty/tty-cyclades-refcount
+#tty/tty-cyclades-use-port-block-helper
+#tty/tty-cyclades-precompute
+#tty/tty-cyclades-use-port-hangup
+#tty/tty-cyclades-use-port-close
+#tty/tty-cyclades-cleanup
+#tty/tty-cyclades-sleep-not-busy
+#tty/tty-cyclades-use-dtr-helpers
+#tty/tty-cyclades-merge-startup-common
+#tty/tty-cyclades-ioctl-cleanup
+#tty/tty-cyclades-modem-cleanup
+#tty/tty-cyclades-add-io-helpers
+#tty/tty-cyclades-remove-set-line-dups
+#tty/net-slip-ttyfix
+#tty/kfifo-const
+#tty/tty-usb-mos7720-modem
+#tty/tty-usb-mos7720-lsr
+#tty/tty-io-typo
+#tty/tty-usb-mos7840-modem
+#tty/serial-add-irqflags-support
+#tty/serial-8250-minbaud
+#tty/tty-port-close-fn
+#tty/tty-riscom8-split-close
+#tty/tty-mxser-split-close
+#tty/tty-isicom-split-close
+#tty/tty-riscom8-close-kref
+#tty/tty-cyclades-port-close
+#tty/tty-kref-put-async
+#tty/tty-usb-cdc-fix-speed
+#tty/tty-usb-vhangup
+#tty/tty-usb-clean-dtr-rts
+#tty/tty-usb-shutdown
+#tty/vt-events
+#tty/vt-pm-extract
+#tty/vt-incfix
+#tty/vt-lockactive
+#tty/tty-usb-drop-filp-argp
+#tty/tty-isicom-split-open
+#tty/serial-kill-info
+#tty/serial-fold-closing-port
+#tty/serial-port-portptr
+#tty/serial-move-counts
+#tty/serial-move-flags
+#tty/serial-kill-uif
+#tty/serial-move-mutex
+#tty/serial-msr-move
+#tty/serial-move-users
+#tty/serial-kill-USF_CLOSING
+#tty/serial-port-kref
+#tty/serial-console-set-resume
+#tty/tty-usb-serial-termiosbits
-tty/tty-cyclades-refcount
-tty/tty-cyclades-use-port-block-helper
-tty/tty-cyclades-precompute
-tty/tty-cyclades-use-port-hangup
-tty/tty-cyclades-use-port-close
-tty/tty-cyclades-cleanup
-tty/tty-cyclades-sleep-not-busy
-tty/tty-cyclades-use-dtr-helpers
-tty/tty-cyclades-merge-startup-common
-tty/tty-cyclades-ioctl-cleanup
-tty/tty-cyclades-modem-cleanup
-tty/tty-cyclades-add-io-helpers
-tty/tty-cyclades-remove-set-line-dups
-tty/net-slip-ttyfix
-tty/kfifo-const
-tty/tty-usb-mos7720-modem
-tty/tty-usb-mos7720-lsr
-tty/tty-io-typo
-tty/tty-usb-mos7840-modem
-tty/serial-add-irqflags-support
-tty/serial-8250-minbaud
-tty/tty-port-close-fn
-tty/tty-riscom8-split-close
-tty/tty-mxser-split-close
-tty/tty-isicom-split-close
-tty/tty-riscom8-close-kref
-tty/tty-cyclades-port-close
-tty/tty-kref-put-async
-tty/tty-usb-cdc-fix-speed
-tty/tty-usb-vhangup
-tty/tty-usb-clean-dtr-rts
-tty/tty-usb-shutdown
-tty/vt-events
-tty/vt-pm-extract
-tty/vt-incfix
-tty/vt-lockactive
-tty/tty-usb-drop-filp-argp
-tty/tty-isicom-split-open
-tty/serial-kill-info
-tty/serial-fold-closing-port
-tty/serial-port-portptr
-tty/serial-move-counts
-tty/serial-move-flags
-tty/serial-kill-uif
-tty/serial-move-mutex
-tty/serial-msr-move
-tty/serial-move-users
-tty/serial-kill-USF_CLOSING
-tty/serial-port-kref
-tty/serial-console-set-resume
-tty/tty-usb-serial-termiosbits
-
-tty/n_tty-honor-opost-flag-for-echoes.patch
-tty/n_tty-move-echoctl-check-and-clean-up-logic.patch
-
-tty/tty-handle-vt-specific-compat-ioctls-in-vt-driver.patch
-tty/tty-vt-use-printk_once.patch
-tty/tty-power-fix-suspend-vt-regression.patch
-tty/tty-fix-typos.patch
-tty/tty-riscom8-fix-shutdown-declaration.patch
-tty/tty-riscom8-fix-tty-refcnt.patch
-tty/tty-usb-serial-mct_u232-fix-tty-refcnt.patch
-tty/uartlite-support-shared-interrupt-lines.patch
-tty/tty-char-mxser-add-support-for-cp112ul.patch
-tty/tty-char-mxser-use-thre-for-aspp_oqueue-ioctl.patch
-
-tty/usb-serial-change-referencing-of-port-and-serial-structures.patch
-tty/usb-serial-put-subroutines-in-logical-order.patch
-tty/usb-serial-change-logic-of-serial-lookups.patch
-tty/usb-serial-acquire-references-when-a-new-tty-is-installed.patch
-tty/usb-serial-fix-termios-initialization-logic.patch
-tty/usb-serial-rename-subroutines.patch
-tty/usb-serial-add-missing-tests-and-debug-lines.patch
-tty/usb-serial-straighten-out-serial_open.patch
-tty/usb-serial-update-the-console-driver.patch
+#tty/n_tty-honor-opost-flag-for-echoes.patch
+#tty/n_tty-move-echoctl-check-and-clean-up-logic.patch
+#
+#tty/tty-handle-vt-specific-compat-ioctls-in-vt-driver.patch
+#tty/tty-vt-use-printk_once.patch
+#tty/tty-power-fix-suspend-vt-regression.patch
+#tty/tty-fix-typos.patch
+#tty/tty-riscom8-fix-shutdown-declaration.patch
+#tty/tty-riscom8-fix-tty-refcnt.patch
+#tty/tty-usb-serial-mct_u232-fix-tty-refcnt.patch
+#tty/uartlite-support-shared-interrupt-lines.patch
+#tty/tty-char-mxser-add-support-for-cp112ul.patch
+#tty/tty-char-mxser-use-thre-for-aspp_oqueue-ioctl.patch
+#
+#tty/usb-serial-change-referencing-of-port-and-serial-structures.patch
+#tty/usb-serial-put-subroutines-in-logical-order.patch
+#tty/usb-serial-change-logic-of-serial-lookups.patch
+#tty/usb-serial-acquire-references-when-a-new-tty-is-installed.patch
+#tty/usb-serial-fix-termios-initialization-logic.patch
+#tty/usb-serial-rename-subroutines.patch
+#tty/usb-serial-add-missing-tests-and-debug-lines.patch
+#tty/usb-serial-straighten-out-serial_open.patch
+#tty/usb-serial-update-the-console-driver.patch
#################################
# USB stuff (after 2.6.30 is out)
diff --git a/staging/staging-remove-agnx-driver.patch b/staging/staging-remove-agnx-driver.patch
index a6e54d4d186fba..d1a9125eca1a39 100644
--- a/staging/staging-remove-agnx-driver.patch
+++ b/staging/staging-remove-agnx-driver.patch
@@ -30,71 +30,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/agnx/xmit.h | 250 ----------
17 files changed, 5211 deletions(-)
---- a/drivers/staging/Kconfig
-+++ b/drivers/staging/Kconfig
-@@ -57,8 +57,6 @@ source "drivers/staging/echo/Kconfig"
-
- source "drivers/staging/poch/Kconfig"
-
--source "drivers/staging/agnx/Kconfig"
--
- source "drivers/staging/otus/Kconfig"
-
- source "drivers/staging/rt2860/Kconfig"
---- a/drivers/staging/Makefile
-+++ b/drivers/staging/Makefile
-@@ -11,7 +11,6 @@ obj-$(CONFIG_W35UND) += winbond/
- obj-$(CONFIG_PRISM2_USB) += wlan-ng/
- obj-$(CONFIG_ECHO) += echo/
- obj-$(CONFIG_POCH) += poch/
--obj-$(CONFIG_AGNX) += agnx/
- obj-$(CONFIG_OTUS) += otus/
- obj-$(CONFIG_RT2860) += rt2860/
- obj-$(CONFIG_RT2870) += rt2870/
---- a/drivers/staging/agnx/Kconfig
-+++ /dev/null
-@@ -1,5 +0,0 @@
--config AGNX
-- tristate "Wireless Airgo AGNX support"
-- depends on WLAN_80211 && MAC80211
-- ---help---
-- This is an experimental driver for Airgo AGNX00 wireless chip.
---- a/drivers/staging/agnx/Makefile
-+++ /dev/null
-@@ -1,8 +0,0 @@
--obj-$(CONFIG_AGNX) += agnx.o
--
--agnx-objs := rf.o \
-- pci.o \
-- xmit.o \
-- table.o \
-- sta.o \
-- phy.o
---- a/drivers/staging/agnx/TODO
-+++ /dev/null
-@@ -1,22 +0,0 @@
--2008 7/18
--
--The RX has can't receive OFDM packet correctly,
--Guess it need be do RX calibrate.
--
--
--before 2008 3/1
--
--1: The RX get too much "CRC failed" pakets, it make the card work very unstable,
--2: After running a while, the card will get infinity "RX Frame" and "Error"
--interrupt, not know the root reason so far, try to fix it
--3: Using two tx queue txd and txm but not only txm.
--4: Set the hdr correctly.
--5: Try to do recalibrate correvtly
--6: To support G mode in future
--7: Fix the mac address can't be readed and set correctly in BE machine.
--8: Fix include and exclude FCS in promisous mode and manage mode
--9: Using sta_notify to notice sta change
--10: Turn on frame reception at the end of start
--11: Guess the card support HW_MULTICAST_FILTER
--12: The tx process should be implment atomic?
--13: Using mac80211 function to control the TX&RX LED.
--- a/drivers/staging/agnx/agnx.h
+++ /dev/null
@@ -1,156 +0,0 @@
@@ -673,6 +608,25 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-}
-
-#endif /* AGNX_DEBUG_H_ */
+--- a/drivers/staging/agnx/Kconfig
++++ /dev/null
+@@ -1,5 +0,0 @@
+-config AGNX
+- tristate "Wireless Airgo AGNX support"
+- depends on WLAN_80211 && MAC80211
+- ---help---
+- This is an experimental driver for Airgo AGNX00 wireless chip.
+--- a/drivers/staging/agnx/Makefile
++++ /dev/null
+@@ -1,8 +0,0 @@
+-obj-$(CONFIG_AGNX) += agnx.o
+-
+-agnx-objs := rf.o \
+- pci.o \
+- xmit.o \
+- table.o \
+- sta.o \
+- phy.o
--- a/drivers/staging/agnx/pci.c
+++ /dev/null
@@ -1,635 +0,0 @@
@@ -4212,6 +4166,31 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-void tx_engine_lookup_tbl_init(struct agnx_priv *priv);
-
-#endif /* AGNX_TABLE_H_ */
+--- a/drivers/staging/agnx/TODO
++++ /dev/null
+@@ -1,22 +0,0 @@
+-2008 7/18
+-
+-The RX has can't receive OFDM packet correctly,
+-Guess it need be do RX calibrate.
+-
+-
+-before 2008 3/1
+-
+-1: The RX get too much "CRC failed" pakets, it make the card work very unstable,
+-2: After running a while, the card will get infinity "RX Frame" and "Error"
+-interrupt, not know the root reason so far, try to fix it
+-3: Using two tx queue txd and txm but not only txm.
+-4: Set the hdr correctly.
+-5: Try to do recalibrate correvtly
+-6: To support G mode in future
+-7: Fix the mac address can't be readed and set correctly in BE machine.
+-8: Fix include and exclude FCS in promisous mode and manage mode
+-9: Using sta_notify to notice sta change
+-10: Turn on frame reception at the end of start
+-11: Guess the card support HW_MULTICAST_FILTER
+-12: The tx process should be implment atomic?
+-13: Using mac80211 function to control the TX&RX LED.
--- a/drivers/staging/agnx/xmit.c
+++ /dev/null
@@ -1,836 +0,0 @@
@@ -5304,3 +5283,24 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-void handle_other_irq(struct agnx_priv *priv);
-int _agnx_tx(struct agnx_priv *priv, struct sk_buff *skb);
-#endif /* AGNX_XMIT_H_ */
+--- a/drivers/staging/Kconfig
++++ b/drivers/staging/Kconfig
+@@ -59,8 +59,6 @@ source "drivers/staging/echo/Kconfig"
+
+ source "drivers/staging/poch/Kconfig"
+
+-source "drivers/staging/agnx/Kconfig"
+-
+ source "drivers/staging/otus/Kconfig"
+
+ source "drivers/staging/rt2860/Kconfig"
+--- a/drivers/staging/Makefile
++++ b/drivers/staging/Makefile
+@@ -12,7 +12,6 @@ obj-$(CONFIG_W35UND) += winbond/
+ obj-$(CONFIG_PRISM2_USB) += wlan-ng/
+ obj-$(CONFIG_ECHO) += echo/
+ obj-$(CONFIG_POCH) += poch/
+-obj-$(CONFIG_AGNX) += agnx/
+ obj-$(CONFIG_OTUS) += otus/
+ obj-$(CONFIG_RT2860) += rt2860/
+ obj-$(CONFIG_RT2870) += rt2870/
diff --git a/usb.current/usb-option-telit-uc864g-support.patch b/usb.current/usb-option-telit-uc864g-support.patch
index f6900869a43b66..b9925f2edae8b4 100644
--- a/usb.current/usb-option-telit-uc864g-support.patch
+++ b/usb.current/usb-option-telit-uc864g-support.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -292,6 +292,7 @@ static int option_resume(struct usb_ser
+@@ -291,6 +291,7 @@ static int option_resume(struct usb_ser
#define TELIT_VENDOR_ID 0x1bc7
#define TELIT_PRODUCT_UC864E 0x1003
@@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* ZTE PRODUCTS */
#define ZTE_VENDOR_ID 0x19d2
-@@ -504,6 +505,7 @@ static struct usb_device_id option_ids[]
+@@ -503,6 +504,7 @@ static struct usb_device_id option_ids[]
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
{ USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
diff --git a/usb.current/usb-option.c-add-support-for-zte-ac2726-evdo-modem.patch b/usb.current/usb-option.c-add-support-for-zte-ac2726-evdo-modem.patch
index 8fa43d810d2163..5106143ef065c1 100644
--- a/usb.current/usb-option.c-add-support-for-zte-ac2726-evdo-modem.patch
+++ b/usb.current/usb-option.c-add-support-for-zte-ac2726-evdo-modem.patch
@@ -23,7 +23,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -300,6 +300,7 @@ static int option_resume(struct usb_ser
+@@ -299,6 +299,7 @@ static int option_resume(struct usb_ser
#define ZTE_PRODUCT_MF626 0x0031
#define ZTE_PRODUCT_CDMA_TECH 0xfffe
#define ZTE_PRODUCT_AC8710 0xfff1
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#define BENQ_VENDOR_ID 0x04a5
#define BENQ_PRODUCT_H10 0x4068
-@@ -572,6 +573,7 @@ static struct usb_device_id option_ids[]
+@@ -571,6 +572,7 @@ static struct usb_device_id option_ids[]
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0073, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC8710, 0xff, 0xff, 0xff) },
diff --git a/usb/usb-dbgp-ehci-debug-controller-initialization-delays.patch b/usb/usb-dbgp-ehci-debug-controller-initialization-delays.patch
index 96293b57ed3aa7..03eca181cc69a9 100644
--- a/usb/usb-dbgp-ehci-debug-controller-initialization-delays.patch
+++ b/usb/usb-dbgp-ehci-debug-controller-initialization-delays.patch
@@ -121,7 +121,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return -1;
}
-- loop = 10;
+- loop = 100000;
+ loop = 250 * 1000;
/* Reset the EHCI controller */
cmd = readl(&ehci_regs->command);
diff --git a/usb/usb-ehci-dbgp-early_printk-split-ehci-debug-driver-from-early_printk.c.patch b/usb/usb-ehci-dbgp-early_printk-split-ehci-debug-driver-from-early_printk.c.patch
index 192e2296669e87..14025c6c8b0b94 100644
--- a/usb/usb-ehci-dbgp-early_printk-split-ehci-debug-driver-from-early_printk.c.patch
+++ b/usb/usb-ehci-dbgp-early_printk-split-ehci-debug-driver-from-early_printk.c.patch
@@ -500,7 +500,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- return -1;
- }
-
-- loop = 10;
+- loop = 100000;
- /* Reset the EHCI controller */
- cmd = readl(&ehci_regs->command);
- cmd |= CMD_RESET;
@@ -1230,7 +1230,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ return -1;
+ }
+
-+ loop = 10;
++ loop = 100000;
+ /* Reset the EHCI controller */
+ cmd = readl(&ehci_regs->command);
+ cmd |= CMD_RESET;
diff --git a/usb/usb-gadget-update-freescale-udc-entry-in-maintainers.patch b/usb/usb-gadget-update-freescale-udc-entry-in-maintainers.patch
index 69e2cbba6b6750..ba902cc8b45cbc 100644
--- a/usb/usb-gadget-update-freescale-udc-entry-in-maintainers.patch
+++ b/usb/usb-gadget-update-freescale-udc-entry-in-maintainers.patch
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -2106,12 +2106,12 @@ S: Supported
+@@ -2107,12 +2107,12 @@ S: Supported
F: arch/powerpc/sysdev/qe_lib/
F: arch/powerpc/include/asm/*qe.h
diff --git a/version b/version
index 6f5ce786465786..39e93b66ced0b1 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.31-git8
+2.6.31-git12