Date: Mon, 2 Sep 2019 14:52:00 +0000 (UTC) From: Johannes Lundberg <johalun@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r351701 - in head/sys: compat/linuxkpi/common/include/linux sys Message-ID: <201909021452.x82Eq04v014272@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909021452.x82Eq04v014272>