aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-06-15 11:40:58 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2006-06-15 11:40:58 -0700
commit57be4f6350e7b3b994cc39b175c4090b965c90d3 (patch)
tree6e9328162e30bf0dd49b08174f468e7d9b103068 /driver
parent783d8048ef599ba3cb8b24f0d960fbde56788169 (diff)
downloadpatches-57be4f6350e7b3b994cc39b175c4090b965c90d3.tar.gz
make dev_t export MAJOR/MINOR even if a class isn't present for devices
Diffstat (limited to 'driver')
-rw-r--r--driver/device-class.patch37
-rw-r--r--driver/put_device-might_sleep.patch2
2 files changed, 17 insertions, 22 deletions
diff --git a/driver/device-class.patch b/driver/device-class.patch
index 40dc880393df3..04fca86c2cd8d 100644
--- a/driver/device-class.patch
+++ b/driver/device-class.patch
@@ -14,9 +14,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/class.c | 1
- drivers/base/core.c | 167 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ drivers/base/core.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++-
include/linux/device.h | 14 ++++
- 3 files changed, 181 insertions(+), 1 deletion(-)
+ 3 files changed, 176 insertions(+), 1 deletion(-)
--- gregkh-2.6.orig/drivers/base/class.c
+++ gregkh-2.6/drivers/base/class.c
@@ -60,27 +60,24 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
static int dev_uevent(struct kset *kset, struct kobject *kobj, char **envp,
-@@ -117,6 +124,19 @@ static int dev_uevent(struct kset *kset,
+@@ -117,6 +124,16 @@ static int dev_uevent(struct kset *kset,
int length = 0;
int retval = 0;
+ /* add the major/minor if present */
-+ if (dev->class) {
-+ if (MAJOR(dev->devt)) {
-+ add_uevent_var(envp, num_envp, &i,
-+ buffer, buffer_size, &length,
-+ "MAJOR=%u", MAJOR(dev->devt));
-+
-+ add_uevent_var(envp, num_envp, &i,
-+ buffer, buffer_size, &length,
-+ "MINOR=%u", MINOR(dev->devt));
-+ }
++ if (MAJOR(dev->devt)) {
++ add_uevent_var(envp, num_envp, &i,
++ buffer, buffer_size, &length,
++ "MAJOR=%u", MAJOR(dev->devt));
++ add_uevent_var(envp, num_envp, &i,
++ buffer, buffer_size, &length,
++ "MINOR=%u", MINOR(dev->devt));
+ }
+
/* add bus name of physical device */
if (dev->bus)
add_uevent_var(envp, num_envp, &i,
-@@ -161,6 +181,12 @@ static ssize_t store_uevent(struct devic
+@@ -161,6 +178,12 @@ static ssize_t store_uevent(struct devic
return count;
}
@@ -93,7 +90,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/*
* devices_subsys - structure to be registered with kobject core.
*/
-@@ -231,6 +257,7 @@ void device_initialize(struct device *de
+@@ -231,6 +254,7 @@ void device_initialize(struct device *de
klist_init(&dev->klist_children, klist_children_get,
klist_children_put);
INIT_LIST_HEAD(&dev->dma_pools);
@@ -101,7 +98,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
init_MUTEX(&dev->sem);
device_init_wakeup(dev, 0);
}
-@@ -274,6 +301,31 @@ int device_add(struct device *dev)
+@@ -274,6 +298,31 @@ int device_add(struct device *dev)
dev->uevent_attr.store = store_uevent;
device_create_file(dev, &dev->uevent_attr);
@@ -133,7 +130,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if ((error = device_pm_add(dev)))
goto PMError;
if ((error = bus_add_device(dev)))
-@@ -292,6 +344,11 @@ int device_add(struct device *dev)
+@@ -292,6 +341,11 @@ int device_add(struct device *dev)
BusError:
device_pm_remove(dev);
PMError:
@@ -145,7 +142,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kobject_uevent(&dev->kobj, KOBJ_REMOVE);
kobject_del(&dev->kobj);
Error:
-@@ -366,6 +423,10 @@ void device_del(struct device * dev)
+@@ -366,6 +420,10 @@ void device_del(struct device * dev)
if (parent)
klist_del(&dev->knode_parent);
@@ -156,7 +153,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
device_remove_file(dev, &dev->uevent_attr);
/* Notify the platform of the removal, in case they
-@@ -450,3 +511,107 @@ EXPORT_SYMBOL_GPL(put_device);
+@@ -450,3 +508,105 @@ EXPORT_SYMBOL_GPL(put_device);
EXPORT_SYMBOL_GPL(device_create_file);
EXPORT_SYMBOL_GPL(device_remove_file);
@@ -262,8 +259,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ }
+}
+EXPORT_SYMBOL_GPL(device_destroy);
-+
-+
--- gregkh-2.6.orig/include/linux/device.h
+++ gregkh-2.6/include/linux/device.h
@@ -143,6 +143,7 @@ struct class {
diff --git a/driver/put_device-might_sleep.patch b/driver/put_device-might_sleep.patch
index 3c66e348c65b5..c4a7861dcbe9d 100644
--- a/driver/put_device-might_sleep.patch
+++ b/driver/put_device-might_sleep.patch
@@ -12,7 +12,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/base/core.c
+++ gregkh-2.6/drivers/base/core.c
-@@ -398,6 +398,7 @@ struct device * get_device(struct device
+@@ -395,6 +395,7 @@ struct device * get_device(struct device
*/
void put_device(struct device * dev)
{