svn commit: r351701 - in head/sys: compat/linuxkpi/common/include/linux sys

Johannes Lundberg johalun at FreeBSD.org
Mon Sep 2 14:52:00 UTC 2019


Author: johalun
Date: Mon Sep  2 14:51:59 2019
New Revision: 351701
URL: https://svnweb.freebsd.org/changeset/base/351701

Log:
  LinuxKPI: Add sysfs create/remove functions that handles multiple files in one call.
  
  Reviewed by:	hps
  Approved by:	imp (mentor), hps
  MFC after:	1 week
  Differential Revision:	D21475

Modified:
  head/sys/compat/linuxkpi/common/include/linux/sysfs.h
  head/sys/sys/param.h

Modified: head/sys/compat/linuxkpi/common/include/linux/sysfs.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/sysfs.h	Mon Sep  2 13:56:44 2019	(r351700)
+++ head/sys/compat/linuxkpi/common/include/linux/sysfs.h	Mon Sep  2 14:51:59 2019	(r351701)
@@ -152,6 +152,29 @@ sysfs_remove_file(struct kobject *kobj, const struct a
 		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)
 {

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Mon Sep  2 13:56:44 2019	(r351700)
+++ head/sys/sys/param.h	Mon Sep  2 14:51:59 2019	(r351701)
@@ -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,


More information about the svn-src-head mailing list