kernfs, sysfs, driver-core: implement kernfs_remove_self() and its wrappers
[firefly-linux-kernel-4.4.55.git] / drivers / base / core.c
index 2b567177ef782973b7e1ad14c065154ca76a986e..9db57afcf81f983b37fb6d5201243cbe287c1058 100644 (file)
@@ -570,6 +570,23 @@ void device_remove_file(struct device *dev,
 }
 EXPORT_SYMBOL_GPL(device_remove_file);
 
+/**
+ * device_remove_file_self - remove sysfs attribute file from its own method.
+ * @dev: device.
+ * @attr: device attribute descriptor.
+ *
+ * See kernfs_remove_self() for details.
+ */
+bool device_remove_file_self(struct device *dev,
+                            const struct device_attribute *attr)
+{
+       if (dev)
+               return sysfs_remove_file_self(&dev->kobj, &attr->attr);
+       else
+               return false;
+}
+EXPORT_SYMBOL_GPL(device_remove_file_self);
+
 /**
  * device_create_bin_file - create sysfs binary attribute file for device.
  * @dev: device.