drm/radeon: fix PM on non-vram cards.
[safe/jmp/linux-2.6] / drivers / base / class.c
index 2e297cc..8e231d0 100644 (file)
@@ -63,7 +63,15 @@ static void class_release(struct kobject *kobj)
        kfree(cp);
 }
 
-static struct sysfs_ops class_sysfs_ops = {
+static const struct kobj_ns_type_operations *class_child_ns_type(struct kobject *kobj)
+{
+       struct class_private *cp = to_class(kobj);
+       struct class *class = cp->class;
+
+       return class->ns_type;
+}
+
+static const struct sysfs_ops class_sysfs_ops = {
        .show   = class_attr_show,
        .store  = class_attr_store,
 };
@@ -71,6 +79,7 @@ static struct sysfs_ops class_sysfs_ops = {
 static struct kobj_type class_ktype = {
        .sysfs_ops      = &class_sysfs_ops,
        .release        = class_release,
+       .child_ns_type  = class_child_ns_type,
 };
 
 /* Hotplug events for classes go to the class class_subsys */
@@ -219,6 +228,8 @@ static void class_create_release(struct class *cls)
  * This is used to create a struct class pointer that can then be used
  * in calls to device_create().
  *
+ * Returns &struct class pointer on success, or ERR_PTR() on error.
+ *
  * Note, the pointer created here is to be destroyed when finished by
  * making a call to class_destroy().
  */