aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch2
-rw-r--r--driver-core/class-change-internal-semaphore-to-a-mutex.patch8
-rw-r--r--driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch22
-rw-r--r--driver-core/class-rename-devices-to-class_devices-in-internal-class-structure.patch2
-rw-r--r--driver-core/class-rename-interfaces-to-class_interfaces-in-internal-class-structure.patch4
-rw-r--r--driver-core/class-rename-sem-to-class_sem-in-internal-class-structure.patch8
-rw-r--r--driver-core/class-rename-subsys-to-class_subsys-in-internal-class-structure.patch12
-rw-r--r--driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch2
-rw-r--r--driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch56
-rw-r--r--driver-core/driver-core-provide-a-dev_set_name-that-handles-names-longer-than-20-chars.patch (renamed from driver-core.current/driver-core-add-new-device-api-to-allow-names-longer-than-20-chars.patch)38
-rw-r--r--driver-core/driver-core-remove-device_create.patch4
-rw-r--r--driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch12
-rw-r--r--kill-bus_id.patch4
-rw-r--r--series20
-rw-r--r--version2
15 files changed, 97 insertions, 99 deletions
diff --git a/driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch b/driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
index b83f3f201fa3db..ed37ca3b705902 100644
--- a/driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
+++ b/driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
@@ -67,7 +67,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
incorrect and needs to be fixed.
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -1305,6 +1305,11 @@ EXPORT_SYMBOL_GPL(device_destroy);
+@@ -1259,6 +1259,11 @@ EXPORT_SYMBOL_GPL(device_destroy);
* device_rename - renames a device
* @dev: the pointer to the struct device to be renamed
* @new_name: the new name of the device
diff --git a/driver-core/class-change-internal-semaphore-to-a-mutex.patch b/driver-core/class-change-internal-semaphore-to-a-mutex.patch
index 5dfa46e64f64e8..7fc9e1b79a3df2 100644
--- a/driver-core/class-change-internal-semaphore-to-a-mutex.patch
+++ b/driver-core/class-change-internal-semaphore-to-a-mutex.patch
@@ -160,7 +160,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#include "base.h"
#include "power/power.h"
-@@ -948,7 +949,7 @@ int device_add(struct device *dev)
+@@ -906,7 +907,7 @@ int device_add(struct device *dev)
klist_add_tail(&dev->knode_parent, &parent->klist_children);
if (dev->class) {
@@ -169,7 +169,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* tie the class to the device */
list_add_tail(&dev->node, &dev->class->p->class_devices);
-@@ -957,7 +958,7 @@ int device_add(struct device *dev)
+@@ -915,7 +916,7 @@ int device_add(struct device *dev)
&dev->class->p->class_interfaces, node)
if (class_intf->add_dev)
class_intf->add_dev(dev, class_intf);
@@ -178,7 +178,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
Done:
put_device(dev);
-@@ -1059,7 +1060,7 @@ void device_del(struct device *dev)
+@@ -1016,7 +1017,7 @@ void device_del(struct device *dev)
if (dev->class) {
device_remove_class_symlinks(dev);
@@ -187,7 +187,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* notify any interfaces that the device is now gone */
list_for_each_entry(class_intf,
&dev->class->p->class_interfaces, node)
-@@ -1067,7 +1068,7 @@ void device_del(struct device *dev)
+@@ -1024,7 +1025,7 @@ void device_del(struct device *dev)
class_intf->remove_dev(dev, class_intf);
/* remove the device from the class list */
list_del_init(&dev->node);
diff --git a/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch b/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch
index 87a350f7161699..79ea9af6875299 100644
--- a/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch
+++ b/driver-core/class-move-driver-core-specific-parts-to-a-private-structure.patch
@@ -280,7 +280,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -554,7 +554,7 @@ static struct kobject *get_device_parent
+@@ -551,7 +551,7 @@ static struct kobject *get_device_parent
{
/* class devices without a parent live in /sys/class/<classname>/ */
if (dev->class && (!parent || parent->class != dev->class))
@@ -289,7 +289,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* all other devices keep their parent */
else if (parent)
return &parent->kobj;
-@@ -600,13 +600,13 @@ static struct kobject *get_device_parent
+@@ -597,13 +597,13 @@ static struct kobject *get_device_parent
parent_kobj = &parent->kobj;
/* find our class-directory at the parent and reference it */
@@ -306,7 +306,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (kobj)
return kobj;
-@@ -614,7 +614,7 @@ static struct kobject *get_device_parent
+@@ -611,7 +611,7 @@ static struct kobject *get_device_parent
k = kobject_create();
if (!k)
return NULL;
@@ -315,7 +315,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
retval = kobject_add(k, parent_kobj, "%s", dev->class->name);
if (retval < 0) {
kobject_put(k);
-@@ -633,7 +633,7 @@ static void cleanup_glue_dir(struct devi
+@@ -630,7 +630,7 @@ static void cleanup_glue_dir(struct devi
{
/* see if we live in a "glue" directory */
if (!glue_dir || !dev->class ||
@@ -324,7 +324,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return;
kobject_put(glue_dir);
-@@ -660,17 +660,17 @@ static int device_add_class_symlinks(str
+@@ -657,17 +657,17 @@ static int device_add_class_symlinks(str
if (!dev->class)
return 0;
@@ -346,7 +346,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (error)
goto out_subsys;
}
-@@ -707,12 +707,12 @@ out_device:
+@@ -704,12 +704,12 @@ out_device:
if (dev->parent && device_is_not_partition(dev))
sysfs_remove_link(&dev->kobj, "device");
out_busid:
@@ -362,7 +362,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev->bus_id);
if (error)
goto out_subsys;
-@@ -726,7 +726,7 @@ out_busid:
+@@ -723,7 +723,7 @@ out_busid:
return 0;
out_busid:
@@ -371,7 +371,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
out_subsys:
-@@ -752,14 +752,14 @@ static void device_remove_class_symlinks
+@@ -749,14 +749,14 @@ static void device_remove_class_symlinks
sysfs_remove_link(&dev->kobj, "device");
}
@@ -389,7 +389,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
sysfs_remove_link(&dev->kobj, "subsystem");
-@@ -945,15 +945,16 @@ int device_add(struct device *dev)
+@@ -903,15 +903,16 @@ int device_add(struct device *dev)
klist_add_tail(&dev->knode_parent, &parent->klist_children);
if (dev->class) {
@@ -410,7 +410,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
Done:
put_device(dev);
-@@ -1055,14 +1056,15 @@ void device_del(struct device *dev)
+@@ -1012,14 +1013,15 @@ void device_del(struct device *dev)
if (dev->class) {
device_remove_class_symlinks(dev);
@@ -429,7 +429,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
device_remove_file(dev, &uevent_attr);
device_remove_attrs(dev);
-@@ -1401,11 +1403,12 @@ int device_rename(struct device *dev, ch
+@@ -1355,11 +1357,12 @@ int device_rename(struct device *dev, ch
}
#else
if (dev->class) {
diff --git a/driver-core/class-rename-devices-to-class_devices-in-internal-class-structure.patch b/driver-core/class-rename-devices-to-class_devices-in-internal-class-structure.patch
index 7de4dd0fa60e5c..8cc09659207848 100644
--- a/driver-core/class-rename-devices-to-class_devices-in-internal-class-structure.patch
+++ b/driver-core/class-rename-devices-to-class_devices-in-internal-class-structure.patch
@@ -87,7 +87,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
up(&parent->p->sem);
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -947,7 +947,7 @@ int device_add(struct device *dev)
+@@ -905,7 +905,7 @@ int device_add(struct device *dev)
if (dev->class) {
down(&dev->class->p->sem);
/* tie the class to the device */
diff --git a/driver-core/class-rename-interfaces-to-class_interfaces-in-internal-class-structure.patch b/driver-core/class-rename-interfaces-to-class_interfaces-in-internal-class-structure.patch
index 29e166eeb6af7f..92492131b8d9f7 100644
--- a/driver-core/class-rename-interfaces-to-class_interfaces-in-internal-class-structure.patch
+++ b/driver-core/class-rename-interfaces-to-class_interfaces-in-internal-class-structure.patch
@@ -61,7 +61,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
class_intf->add_dev(dev, class_intf);
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -950,8 +950,8 @@ int device_add(struct device *dev)
+@@ -908,8 +908,8 @@ int device_add(struct device *dev)
list_add_tail(&dev->node, &dev->class->p->class_devices);
/* notify any interfaces that the device is here */
@@ -72,7 +72,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (class_intf->add_dev)
class_intf->add_dev(dev, class_intf);
up(&dev->class->p->sem);
-@@ -1058,8 +1058,8 @@ void device_del(struct device *dev)
+@@ -1015,8 +1015,8 @@ void device_del(struct device *dev)
down(&dev->class->p->sem);
/* notify any interfaces that the device is now gone */
diff --git a/driver-core/class-rename-sem-to-class_sem-in-internal-class-structure.patch b/driver-core/class-rename-sem-to-class_sem-in-internal-class-structure.patch
index 9b994798289a26..cf1fb7164c8b29 100644
--- a/driver-core/class-rename-sem-to-class_sem-in-internal-class-structure.patch
+++ b/driver-core/class-rename-sem-to-class_sem-in-internal-class-structure.patch
@@ -137,7 +137,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -948,7 +948,7 @@ int device_add(struct device *dev)
+@@ -906,7 +906,7 @@ int device_add(struct device *dev)
klist_add_tail(&dev->knode_parent, &parent->klist_children);
if (dev->class) {
@@ -146,7 +146,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* tie the class to the device */
list_add_tail(&dev->node, &dev->class->p->class_devices);
-@@ -957,7 +957,7 @@ int device_add(struct device *dev)
+@@ -915,7 +915,7 @@ int device_add(struct device *dev)
&dev->class->p->class_interfaces, node)
if (class_intf->add_dev)
class_intf->add_dev(dev, class_intf);
@@ -155,7 +155,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
Done:
put_device(dev);
-@@ -1059,7 +1059,7 @@ void device_del(struct device *dev)
+@@ -1016,7 +1016,7 @@ void device_del(struct device *dev)
if (dev->class) {
device_remove_class_symlinks(dev);
@@ -164,7 +164,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* notify any interfaces that the device is now gone */
list_for_each_entry(class_intf,
&dev->class->p->class_interfaces, node)
-@@ -1067,7 +1067,7 @@ void device_del(struct device *dev)
+@@ -1024,7 +1024,7 @@ void device_del(struct device *dev)
class_intf->remove_dev(dev, class_intf);
/* remove the device from the class list */
list_del_init(&dev->node);
diff --git a/driver-core/class-rename-subsys-to-class_subsys-in-internal-class-structure.patch b/driver-core/class-rename-subsys-to-class_subsys-in-internal-class-structure.patch
index 2902f7734c0374..b492ceca1b931e 100644
--- a/driver-core/class-rename-subsys-to-class_subsys-in-internal-class-structure.patch
+++ b/driver-core/class-rename-subsys-to-class_subsys-in-internal-class-structure.patch
@@ -132,7 +132,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static void class_create_release(struct class *cls)
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -554,7 +554,7 @@ static struct kobject *get_device_parent
+@@ -551,7 +551,7 @@ static struct kobject *get_device_parent
{
/* class devices without a parent live in /sys/class/<classname>/ */
if (dev->class && (!parent || parent->class != dev->class))
@@ -141,7 +141,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* all other devices keep their parent */
else if (parent)
return &parent->kobj;
-@@ -660,16 +660,17 @@ static int device_add_class_symlinks(str
+@@ -657,16 +657,17 @@ static int device_add_class_symlinks(str
if (!dev->class)
return 0;
@@ -162,7 +162,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
&dev->kobj, dev->bus_id);
if (error)
goto out_subsys;
-@@ -707,13 +708,14 @@ out_device:
+@@ -704,13 +705,14 @@ out_device:
if (dev->parent && device_is_not_partition(dev))
sysfs_remove_link(&dev->kobj, "device");
out_busid:
@@ -181,7 +181,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (error)
goto out_subsys;
-@@ -726,7 +728,7 @@ out_busid:
+@@ -723,7 +725,7 @@ out_busid:
return 0;
out_busid:
@@ -190,7 +190,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
out_subsys:
-@@ -752,14 +754,15 @@ static void device_remove_class_symlinks
+@@ -749,14 +751,15 @@ static void device_remove_class_symlinks
sysfs_remove_link(&dev->kobj, "device");
}
@@ -209,7 +209,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
sysfs_remove_link(&dev->kobj, "subsystem");
-@@ -1403,11 +1406,11 @@ int device_rename(struct device *dev, ch
+@@ -1357,11 +1360,11 @@ int device_rename(struct device *dev, ch
}
#else
if (dev->class) {
diff --git a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
index af2d2fbb5d5c01..0df91b0a195741 100644
--- a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
+++ b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
@@ -75,7 +75,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -1337,7 +1337,7 @@ void device_destroy(struct class *class,
+@@ -1291,7 +1291,7 @@ void device_destroy(struct class *class,
{
struct device *dev;
diff --git a/driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch b/driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch
index 3ad85718113473..8d9592f5242d6e 100644
--- a/driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch
+++ b/driver-core/driver-core-prepare-for-removal-of-20-char-limit-from-struct-device.patch
@@ -38,7 +38,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/libata-scsi.c | 2
drivers/base/attribute_container.c | 2
drivers/base/bus.c | 12 -
- drivers/base/core.c | 35 ++--
+ drivers/base/core.c | 39 ++--
drivers/base/dd.c | 12 -
drivers/base/firmware_class.c | 2
drivers/base/platform.c | 11 -
@@ -274,7 +274,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/isa/gus/gusclassic.c | 8
sound/isa/gus/gusextreme.c | 12 -
sound/isa/sb/sb8.c | 4
- 260 files changed, 761 insertions(+), 748 deletions(-)
+ 260 files changed, 763 insertions(+), 750 deletions(-)
--- a/arch/arm/common/scoop.c
+++ b/arch/arm/common/scoop.c
@@ -716,7 +716,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -122,7 +122,7 @@ static void device_release(struct kobjec
+@@ -119,7 +119,7 @@ static void device_release(struct kobjec
else {
printk(KERN_ERR "Device '%s' does not have a release() "
"function, it is broken and must be fixed.\n",
@@ -725,7 +725,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
WARN_ON(1);
}
}
-@@ -214,7 +214,7 @@ static int dev_uevent(struct kset *kset,
+@@ -211,7 +211,7 @@ static int dev_uevent(struct kset *kset,
retval = dev->bus->uevent(dev, env);
if (retval)
pr_debug("device: '%s': %s: bus uevent() returned %d\n",
@@ -734,7 +734,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
/* have the class specific function add its stuff */
-@@ -222,7 +222,7 @@ static int dev_uevent(struct kset *kset,
+@@ -219,7 +219,7 @@ static int dev_uevent(struct kset *kset,
retval = dev->class->dev_uevent(dev, env);
if (retval)
pr_debug("device: '%s': %s: class uevent() "
@@ -743,7 +743,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
__func__, retval);
}
-@@ -231,7 +231,7 @@ static int dev_uevent(struct kset *kset,
+@@ -228,7 +228,7 @@ static int dev_uevent(struct kset *kset,
retval = dev->type->uevent(dev, env);
if (retval)
pr_debug("device: '%s': %s: dev_type uevent() "
@@ -752,7 +752,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
__func__, retval);
}
-@@ -414,7 +414,6 @@ static void device_remove_attrs(struct d
+@@ -411,7 +411,6 @@ static void device_remove_attrs(struct d
device_remove_attributes(dev, class->dev_attrs);
}
@@ -760,7 +760,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static ssize_t show_dev(struct device *dev, struct device_attribute *attr,
char *buf)
{
-@@ -672,7 +671,7 @@ static int device_add_class_symlinks(str
+@@ -669,7 +668,7 @@ static int device_add_class_symlinks(str
if (dev->kobj.parent != &dev->class->p->class_subsys.kobj &&
device_is_not_partition(dev)) {
error = sysfs_create_link(&dev->class->p->class_subsys.kobj,
@@ -769,7 +769,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (error)
goto out_subsys;
}
-@@ -712,11 +711,11 @@ out_busid:
+@@ -709,11 +708,11 @@ out_busid:
if (dev->kobj.parent != &dev->class->p->class_subsys.kobj &&
device_is_not_partition(dev))
sysfs_remove_link(&dev->class->p->class_subsys.kobj,
@@ -783,7 +783,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (error)
goto out_subsys;
-@@ -729,7 +728,7 @@ out_busid:
+@@ -726,7 +725,7 @@ out_busid:
return 0;
out_busid:
@@ -792,7 +792,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
out_subsys:
-@@ -758,12 +757,12 @@ static void device_remove_class_symlinks
+@@ -755,12 +754,12 @@ static void device_remove_class_symlinks
if (dev->kobj.parent != &dev->class->p->class_subsys.kobj &&
device_is_not_partition(dev))
sysfs_remove_link(&dev->class->p->class_subsys.kobj,
@@ -807,7 +807,25 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
sysfs_remove_link(&dev->kobj, "subsystem");
-@@ -1108,7 +1107,7 @@ void device_del(struct device *dev)
+@@ -852,7 +851,7 @@ int device_add(struct device *dev)
+ goto Done;
+ }
+
+- pr_debug("device: '%s': %s\n", dev->bus_id, __func__);
++ pr_debug("device: '%s': %s\n", dev_name(dev), __func__);
+
+ parent = get_device(dev->parent);
+ setup_parent(dev, parent);
+@@ -862,7 +861,7 @@ int device_add(struct device *dev)
+ set_dev_node(dev, dev_to_node(parent));
+
+ /* first, register with generic layer. */
+- error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev->bus_id);
++ error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev_name(dev));
+ if (error)
+ goto Error;
+
+@@ -1065,7 +1064,7 @@ void device_del(struct device *dev)
*/
void device_unregister(struct device *dev)
{
@@ -816,7 +834,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
device_del(dev);
put_device(dev);
}
-@@ -1221,7 +1220,7 @@ EXPORT_SYMBOL_GPL(device_remove_file);
+@@ -1178,7 +1177,7 @@ EXPORT_SYMBOL_GPL(device_remove_file);
static void device_create_release(struct device *dev)
{
@@ -825,7 +843,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kfree(dev);
}
-@@ -1372,7 +1371,7 @@ int device_rename(struct device *dev, ch
+@@ -1326,7 +1325,7 @@ int device_rename(struct device *dev, ch
if (!dev)
return -EINVAL;
@@ -834,7 +852,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
__func__, new_name);
#ifdef CONFIG_SYSFS_DEPRECATED
-@@ -1385,7 +1384,7 @@ int device_rename(struct device *dev, ch
+@@ -1339,7 +1338,7 @@ int device_rename(struct device *dev, ch
error = -ENOMEM;
goto out;
}
@@ -843,7 +861,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
strlcpy(dev->bus_id, new_name, BUS_ID_SIZE);
error = kobject_rename(&dev->kobj, new_name);
-@@ -1408,7 +1407,7 @@ int device_rename(struct device *dev, ch
+@@ -1362,7 +1361,7 @@ int device_rename(struct device *dev, ch
#else
if (dev->class) {
error = sysfs_create_link(&dev->class->p->class_subsys.kobj,
@@ -852,7 +870,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (error)
goto out;
sysfs_remove_link(&dev->class->p->class_subsys.kobj,
-@@ -1486,8 +1485,8 @@ int device_move(struct device *dev, stru
+@@ -1440,8 +1439,8 @@ int device_move(struct device *dev, stru
new_parent = get_device(new_parent);
new_parent_kobj = get_device_parent(dev, new_parent);
@@ -6392,8 +6410,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- char bus_id[BUS_ID_SIZE]; /* position on parent bus */
+ char bus_id[20]; /* will be removed */
struct device_type *type;
- const char *init_name;
- unsigned int init_name_is_set:1;
+ unsigned uevent_suppress:1;
+
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -128,7 +128,7 @@ struct mmc_card {
diff --git a/driver-core.current/driver-core-add-new-device-api-to-allow-names-longer-than-20-chars.patch b/driver-core/driver-core-provide-a-dev_set_name-that-handles-names-longer-than-20-chars.patch
index 5f66834fe1d05e..c3f6e5c49aa73e 100644
--- a/driver-core.current/driver-core-add-new-device-api-to-allow-names-longer-than-20-chars.patch
+++ b/driver-core/driver-core-provide-a-dev_set_name-that-handles-names-longer-than-20-chars.patch
@@ -1,7 +1,7 @@
From kay.sievers@vrfy.org Fri May 2 09:28:44 2008
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Fri, 02 May 2008 06:02:41 +0200
-Subject: driver core: add new device API to allow names longer than 20 chars
+Subject: driver core: provide a dev_set_name() that handles names longer than 20 chars
Message-ID: <1209700961.3100.7.camel@linux.site>
After all drivers are converted, the 20 char bus_id array
@@ -13,12 +13,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 73 ++++++++++++++++++++++++++++++++++++++++++++-----
- include/linux/device.h | 14 ++++++++-
- 2 files changed, 79 insertions(+), 8 deletions(-)
+ include/linux/device.h | 11 ++++++-
+ 2 files changed, 76 insertions(+), 8 deletions(-)
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -106,6 +106,9 @@ static void device_release(struct kobjec
+@@ -110,6 +110,9 @@ static void device_release(struct kobjec
{
struct device *dev = to_dev(kobj);
@@ -28,8 +28,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (dev->release)
dev->release(dev);
else if (dev->type && dev->type->release)
-@@ -759,6 +762,47 @@ static void device_remove_class_symlinks
- sysfs_remove_link(&dev->kobj, "subsystem");
+@@ -828,6 +831,47 @@ static void device_remove_sys_dev_entry(
+ }
}
+static int dev_set_name_vargs(struct device *dev,
@@ -76,7 +76,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/**
* device_add - add device to device hierarchy.
* @dev: device.
-@@ -777,12 +821,22 @@ int device_add(struct device *dev)
+@@ -846,12 +890,22 @@ int device_add(struct device *dev)
int error;
dev = get_device(dev);
@@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
goto Done;
}
-- pr_debug("device: '%s': %s\n", dev->bus_id, __func__);
+- pr_debug("device: '%s': %s\n", dev_name(dev), __func__);
+ /* support bus_id until everything is converted, and it is removed */
+ if (!dev->init_name)
+ dev->init_name = dev->bus_id;
@@ -101,12 +101,12 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
parent = get_device(dev->parent);
setup_parent(dev, parent);
-@@ -791,12 +845,15 @@ int device_add(struct device *dev)
+@@ -860,12 +914,15 @@ int device_add(struct device *dev)
if (parent)
set_dev_node(dev, dev_to_node(parent));
- /* first, register with generic layer. */
-- error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev->bus_id);
+- error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev_name(dev));
+ error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev->init_name);
+
+ /* possibly free and clear any init_name, so nobody can misuse it */
@@ -120,7 +120,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (platform_notify)
platform_notify(dev);
-@@ -846,6 +903,7 @@ int device_add(struct device *dev)
+@@ -920,6 +977,7 @@ int device_add(struct device *dev)
Done:
put_device(dev);
return error;
@@ -128,7 +128,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
PMError:
bus_remove_device(dev);
BusError:
-@@ -1128,7 +1186,9 @@ struct device *device_create_vargs(struc
+@@ -1226,7 +1284,9 @@ struct device *device_create_vargs(struc
dev->release = device_create_release;
dev_set_drvdata(dev, drvdata);
@@ -139,7 +139,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
retval = device_register(dev);
if (retval)
goto error;
-@@ -1136,6 +1196,7 @@ struct device *device_create_vargs(struc
+@@ -1234,6 +1294,7 @@ struct device *device_create_vargs(struc
return dev;
error:
@@ -149,9 +149,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- a/include/linux/device.h
+++ b/include/linux/device.h
-@@ -332,7 +332,9 @@ struct device {
+@@ -351,7 +351,9 @@ struct device {
struct kobject kobj;
- char bus_id[BUS_ID_SIZE]; /* position on parent bus */
+ char bus_id[20]; /* will be removed */
struct device_type *type;
- unsigned uevent_suppress:1;
+ const char *init_name;
@@ -160,7 +160,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct semaphore sem; /* semaphore to synchronize calls to
* its driver.
-@@ -381,10 +383,18 @@ struct device {
+@@ -400,7 +402,12 @@ struct device {
static inline const char *dev_name(struct device *dev)
{
@@ -174,9 +174,3 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return dev->bus_id;
}
-+extern int dev_set_name(struct device *dev, const char *name, ...)
-+ __attribute__((format(printf, 2, 3)));
-+
- #ifdef CONFIG_NUMA
- static inline int dev_to_node(struct device *dev)
- {
diff --git a/driver-core/driver-core-remove-device_create.patch b/driver-core/driver-core-remove-device_create.patch
index fec118618f6cc0..222f1f96b5f862 100644
--- a/driver-core/driver-core-remove-device_create.patch
+++ b/driver-core/driver-core-remove-device_create.patch
@@ -16,7 +16,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -1318,40 +1318,6 @@ struct device *device_create_drvdata(str
+@@ -1272,40 +1272,6 @@ struct device *device_create_drvdata(str
}
EXPORT_SYMBOL_GPL(device_create_drvdata);
@@ -59,7 +59,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev_t *devt = data;
--- a/include/linux/device.h
+++ b/include/linux/device.h
-@@ -468,9 +468,6 @@ extern struct device *device_create_varg
+@@ -461,9 +461,6 @@ extern struct device *device_create_varg
void *drvdata,
const char *fmt,
va_list vargs);
diff --git a/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch b/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch
index 865e409f70e6cc..ed9a41a564f73d 100644
--- a/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch
+++ b/driver-core/sysfs-add-sys-dev-char-block-to-lookup-sysfs-path-by-major-minor.patch
@@ -134,7 +134,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#ifdef CONFIG_BLOCK
static inline int device_is_not_partition(struct device *dev)
-@@ -804,6 +807,54 @@ int dev_set_name(struct device *dev, con
+@@ -775,6 +778,54 @@ int dev_set_name(struct device *dev, con
EXPORT_SYMBOL_GPL(dev_set_name);
/**
@@ -189,7 +189,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* device_add - add device to device hierarchy.
* @dev: device.
*
-@@ -870,6 +921,10 @@ int device_add(struct device *dev)
+@@ -828,6 +879,10 @@ int device_add(struct device *dev)
error = device_create_file(dev, &devt_attr);
if (error)
goto ueventattrError;
@@ -200,7 +200,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
error = device_add_class_symlinks(dev);
-@@ -915,6 +970,9 @@ int device_add(struct device *dev)
+@@ -872,6 +927,9 @@ int device_add(struct device *dev)
device_remove_class_symlinks(dev);
SymlinkError:
if (MAJOR(dev->devt))
@@ -210,7 +210,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
device_remove_file(dev, &devt_attr);
ueventattrError:
device_remove_file(dev, &uevent_attr);
-@@ -990,8 +1048,10 @@ void device_del(struct device *dev)
+@@ -947,8 +1005,10 @@ void device_del(struct device *dev)
device_pm_remove(dev);
if (parent)
klist_del(&dev->knode_parent);
@@ -222,7 +222,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (dev->class) {
device_remove_class_symlinks(dev);
-@@ -1116,7 +1176,25 @@ int __init devices_init(void)
+@@ -1073,7 +1133,25 @@ int __init devices_init(void)
devices_kset = kset_create_and_add("devices", &device_uevent_ops, NULL);
if (!devices_kset)
return -ENOMEM;
@@ -248,7 +248,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
EXPORT_SYMBOL_GPL(device_for_each_child);
-@@ -1497,4 +1575,7 @@ void device_shutdown(void)
+@@ -1451,4 +1529,7 @@ void device_shutdown(void)
dev->driver->shutdown(dev);
}
}
diff --git a/kill-bus_id.patch b/kill-bus_id.patch
index b870055f1e94c7..8b8061f401e595 100644
--- a/kill-bus_id.patch
+++ b/kill-bus_id.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
-@@ -881,10 +881,6 @@ int device_add(struct device *dev)
+@@ -896,10 +896,6 @@ int device_add(struct device *dev)
goto Done;
}
@@ -29,7 +29,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (strlen(dev->init_name) == 0) {
printk(KERN_ERR "device (%p) does not have a name\n", dev);
error = -EINVAL;
-@@ -1380,19 +1376,15 @@ int device_rename(struct device *dev, ch
+@@ -1395,19 +1391,15 @@ int device_rename(struct device *dev, ch
old_class_name = make_class_name(dev->class->name, &dev->kobj);
#endif
diff --git a/series b/series
index 3cc7257091c2b7..5a35b567453330 100644
--- a/series
+++ b/series
@@ -11,7 +11,6 @@ gregkh/detect-atomic-counter-underflows.patch
#################################
# Driver core patches for 2.6.26
#################################
-driver-core.current/driver-core-add-new-device-api-to-allow-names-longer-than-20-chars.patch
# broken still :(
driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
@@ -19,22 +18,6 @@ driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
#################################
# USB patches for 2.6.26
#################################
-usb.current/usb-ftdi_sio-add-support-for-matrix-orbital-pid-range.patch
-usb.current/usb-firmware-loader-driver-for-usb-apple-isight-camera.patch
-usb.current/usb-fix-possible-deadlock-involving-sysfs-attributes.patch
-usb.current/usb-add-all-configs-to-the-descriptors-attribute.patch
-usb.current/usb-ehci-fix-up-root-hub-tt-mess.patch
-usb.current/usb-ehci-suppress-unwanted-error-messages.patch
-usb.current/usb-ehci-fix-remote-wakeup-regression.patch
-usb.current/usb-ehci-fix-bug-in-iso-scheduling.patch
-usb.current/usb-ehci-fix-performance-regression.patch
-usb.current/usb-usb-storage-unusual_devs-update-for-cypress-atacb.patch
-usb.current/usb-fix-m600i-unusual_devs-entry.patch
-usb.current/usb-add-support-for-rokr-w5-in-unusual_devs.h.patch
-usb.current/usb-add-another-scanner-quirk.patch
-usb.current/usb-pl2303-another-product-id.patch
-usb.current/usb-usb-serial-option-don-t-match-huawei-driver-cd-images.patch
-usb.current/usb-fsl_usb2_udc-fix-recursive-lock.patch
#####################################################################
# Stuff to be merged after 2.6.26 is out
@@ -114,6 +97,9 @@ driver-core/s390-bus_id-dev_set_name-changes.patch
driver-core/driver-core-convert-to-new-device-api-to-allow-names-longer-than-20-chars.patch
driver-core/driver-core-lguest-convert-to-new-device-api-to-allow-names-longer-than-20-chars.patch
+driver-core/driver-core-provide-a-dev_set_name-that-handles-names-longer-than-20-chars.patch
+
+
# firmware stuff
driver-core/libertas-treat-firmware-data-as-const.patch
driver-core/bluetooth-treat-firmware-data-as-const.patch
diff --git a/version b/version
index 64ce72e7c55cec..220c18312a3e02 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.26-rc4
+2.6.26-rc4-git3