aboutsummaryrefslogtreecommitdiff
path: root/drivers/base/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index d4f35d8902a..dbcd40b987d 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -384,6 +384,23 @@ void device_initialize(struct device *dev)
device_init_wakeup(dev, 0);
}
+static int virtual_device_parent(struct device *dev)
+{
+ if (!dev->class)
+ return -ENODEV;
+
+ if (!dev->class->virtual_dir) {
+ static struct kobject *virtual_dir = NULL;
+
+ if (!virtual_dir)
+ virtual_dir = kobject_add_dir(&devices_subsys.kset.kobj, "virtual");
+ dev->class->virtual_dir = kobject_add_dir(virtual_dir, dev->class->name);
+ }
+
+ dev->kobj.parent = dev->class->virtual_dir;
+ return 0;
+}
+
/**
* device_add - add device to device hierarchy.
* @dev: device.