git: f94d7319540b - main - LinuxKPI: sysfs: implement sysfs_match_string()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 24 Apr 2025 22:14:38 UTC
The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f94d7319540b9b2256be60c2c666efe0b6e635ef commit f94d7319540b9b2256be60c2c666efe0b6e635ef Author: Bjoern A. Zeeb <bz@FreeBSD.org> AuthorDate: 2025-04-24 14:09:08 +0000 Commit: Bjoern A. Zeeb <bz@FreeBSD.org> CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: sysfs: implement sysfs_match_string() Use a macro to automatically gather the length of the array while we can. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50007 --- sys/compat/linuxkpi/common/include/linux/sysfs.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/sysfs.h b/sys/compat/linuxkpi/common/include/linux/sysfs.h index f11db5ece515..65e023031bb2 100644 --- a/sys/compat/linuxkpi/common/include/linux/sysfs.h +++ b/sys/compat/linuxkpi/common/include/linux/sysfs.h @@ -464,6 +464,24 @@ sysfs_emit_at(char *buf, int at, const char *fmt, ...) return (i); } +static inline int +_sysfs_match_string(const char * const *a, size_t l, const char *s) +{ + const char *p; + int i; + + for (i = 0; i < l; i++) { + p = a[i]; + if (p == NULL) + break; + if (sysfs_streq(p, s)) + return (i); + } + + return (-ENOENT); +} +#define sysfs_match_string(a, s) _sysfs_match_string(a, ARRAY_SIZE(a), s) + #define sysfs_attr_init(attr) do {} while(0) #endif /* _LINUXKPI_LINUX_SYSFS_H_ */