]> xenbits.xensource.com Git - freebsd.git/commitdiff
LinuxKPI: Add sysfs create/remove functions that handles multiple files in one call.
authorjohalun <johalun@FreeBSD.org>
Mon, 2 Sep 2019 14:51:59 +0000 (14:51 +0000)
committerjohalun <johalun@FreeBSD.org>
Mon, 2 Sep 2019 14:51:59 +0000 (14:51 +0000)
Reviewed by: hps
Approved by: imp (mentor), hps
MFC after: 1 week
Differential Revision: D21475

sys/compat/linuxkpi/common/include/linux/sysfs.h
sys/sys/param.h

index 95f91c6e2e79b6d300bfb67c6c2fb532368d172d..536ed1b02adae9a3a7f15b4f5c8c3153d03341cc 100644 (file)
@@ -152,6 +152,29 @@ sysfs_remove_file(struct kobject *kobj, const struct attribute *attr)
                sysctl_remove_name(kobj->oidp, attr->name, 1, 1);
 }
 
+static inline int
+sysfs_create_files(struct kobject *kobj, const struct attribute * const *attrs)
+{
+       int error = 0;
+       int i;
+
+       for (i = 0; attrs[i] && !error; i++)
+               error = sysfs_create_file(kobj, attrs[i]);
+       while (error && --i >= 0)
+               sysfs_remove_file(kobj, attrs[i]);
+
+       return (error);
+}
+
+static inline void
+sysfs_remove_files(struct kobject *kobj, const struct attribute * const *attrs)
+{
+       int i;
+
+       for (i = 0; attrs[i]; i++)
+               sysfs_remove_file(kobj, attrs[i]);
+}
+
 static inline void
 sysfs_remove_group(struct kobject *kobj, const struct attribute_group *grp)
 {
index e66bf8c25112112ec773cd10899af32e08df5fbd..434278f3269d44833d2836ba7959eb061758227e 100644 (file)
@@ -60,7 +60,7 @@
  *             in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1300043      /* Master, propagated to newvers */
+#define __FreeBSD_version 1300044      /* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,