diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-15 11:40:58 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-15 11:40:58 -0700 |
commit | 57be4f6350e7b3b994cc39b175c4090b965c90d3 (patch) | |
tree | 6e9328162e30bf0dd49b08174f468e7d9b103068 /driver | |
parent | 783d8048ef599ba3cb8b24f0d960fbde56788169 (diff) | |
download | patches-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.patch | 37 | ||||
-rw-r--r-- | driver/put_device-might_sleep.patch | 2 |
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) { |