deprecate PHYSDEV* keys
deprecate PHYSDEV* values in the uevent environment These values are no longer needed and inconsistent with the stacking of class devices. The event environment should not carry properties of a parent device. The key PHYSDEVDRIVER is available as DRIVER, PHYDEVBUS is indentical SUBSYSTEM. Class devices should not carry any of these values. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
6d99eb33f5
commit
d81d9d6b9f
@ -294,3 +294,15 @@ Why: The frame diverter is included in most distribution kernels, but is
|
|||||||
It is not clear if anyone is still using it.
|
It is not clear if anyone is still using it.
|
||||||
Who: Stephen Hemminger <shemminger@osdl.org>
|
Who: Stephen Hemminger <shemminger@osdl.org>
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
|
||||||
|
What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment
|
||||||
|
When: Oktober 2008
|
||||||
|
Why: The stacking of class devices makes these values misleading and
|
||||||
|
inconsistent.
|
||||||
|
Class devices should not carry any of these properties, and bus
|
||||||
|
devices have SUBSYTEM and DRIVER as a replacement.
|
||||||
|
Who: Kay Sievers <kay.sievers@suse.de>
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
@ -361,7 +361,7 @@ static int class_uevent(struct kset *kset, struct kobject *kobj, char **envp,
|
|||||||
pr_debug("%s - name = %s\n", __FUNCTION__, class_dev->class_id);
|
pr_debug("%s - name = %s\n", __FUNCTION__, class_dev->class_id);
|
||||||
|
|
||||||
if (class_dev->dev) {
|
if (class_dev->dev) {
|
||||||
/* add physical device, backing this device */
|
/* add device, backing this class device (deprecated) */
|
||||||
struct device *dev = class_dev->dev;
|
struct device *dev = class_dev->dev;
|
||||||
char *path = kobject_get_path(&dev->kobj, GFP_KERNEL);
|
char *path = kobject_get_path(&dev->kobj, GFP_KERNEL);
|
||||||
|
|
||||||
|
@ -149,17 +149,21 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj, char **envp,
|
|||||||
"MINOR=%u", MINOR(dev->devt));
|
"MINOR=%u", MINOR(dev->devt));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add bus name of physical device */
|
/* add bus name (same as SUBSYSTEM, deprecated) */
|
||||||
if (dev->bus)
|
if (dev->bus)
|
||||||
add_uevent_var(envp, num_envp, &i,
|
add_uevent_var(envp, num_envp, &i,
|
||||||
buffer, buffer_size, &length,
|
buffer, buffer_size, &length,
|
||||||
"PHYSDEVBUS=%s", dev->bus->name);
|
"PHYSDEVBUS=%s", dev->bus->name);
|
||||||
|
|
||||||
/* add driver name of physical device */
|
/* add driver name (PHYSDEV* values are deprecated)*/
|
||||||
if (dev->driver)
|
if (dev->driver) {
|
||||||
|
add_uevent_var(envp, num_envp, &i,
|
||||||
|
buffer, buffer_size, &length,
|
||||||
|
"DRIVER=%s", dev->driver->name);
|
||||||
add_uevent_var(envp, num_envp, &i,
|
add_uevent_var(envp, num_envp, &i,
|
||||||
buffer, buffer_size, &length,
|
buffer, buffer_size, &length,
|
||||||
"PHYSDEVDRIVER=%s", dev->driver->name);
|
"PHYSDEVDRIVER=%s", dev->driver->name);
|
||||||
|
}
|
||||||
|
|
||||||
/* terminate, set to next free slot, shrink available space */
|
/* terminate, set to next free slot, shrink available space */
|
||||||
envp[i] = NULL;
|
envp[i] = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user