xref: /freebsd/sys/contrib/openzfs/config/kernel-sysfs.m4 (revision e3aa18ad71782a73d3dd9dd3d526bbd2b607ca16)
1716fd348SMartin Matuskadnl #
2716fd348SMartin Matuskadnl # Linux 5.2/5.18 API
3716fd348SMartin Matuskadnl #
4716fd348SMartin Matuskadnl # In cdb4f26a63c391317e335e6e683a614358e70aeb ("kobject: kobj_type: remove default_attrs")
5716fd348SMartin Matuskadnl # 	struct kobj_type.default_attrs
6716fd348SMartin Matuskadnl # was finally removed in favour of
7716fd348SMartin Matuskadnl # 	struct kobj_type.default_groups
8716fd348SMartin Matuskadnl #
9716fd348SMartin Matuskadnl # This was added in aa30f47cf666111f6bbfd15f290a27e8a7b9d854 ("kobject: Add support for default attribute groups to kobj_type"),
10716fd348SMartin Matuskadnl # if both are present (5.2-5.17), we prefer default_groups; they're otherwise equivalent
11716fd348SMartin Matuskadnl #
12716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_SYSFS_DEFAULT_GROUPS], [
13716fd348SMartin Matuska	ZFS_LINUX_TEST_SRC([sysfs_default_groups], [
14716fd348SMartin Matuska		#include <linux/kobject.h>
15716fd348SMartin Matuska	],[
16716fd348SMartin Matuska		struct kobj_type __attribute__ ((unused)) kt = {
17716fd348SMartin Matuska			.default_groups = (const struct attribute_group **)NULL };
18716fd348SMartin Matuska	])
19716fd348SMartin Matuska])
20716fd348SMartin Matuska
21716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SYSFS_DEFAULT_GROUPS], [
22*e3aa18adSMartin Matuska	AC_MSG_CHECKING([whether struct kobj_type.default_groups exists])
23716fd348SMartin Matuska	ZFS_LINUX_TEST_RESULT([sysfs_default_groups],[
24716fd348SMartin Matuska		AC_MSG_RESULT(yes)
25716fd348SMartin Matuska		AC_DEFINE([HAVE_SYSFS_DEFAULT_GROUPS], 1, [struct kobj_type has default_groups])
26716fd348SMartin Matuska	],[
27716fd348SMartin Matuska		AC_MSG_RESULT(no)
28716fd348SMartin Matuska	])
29716fd348SMartin Matuska])
30716fd348SMartin Matuska
31716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC_SYSFS], [
32716fd348SMartin Matuska	ZFS_AC_KERNEL_SRC_SYSFS_DEFAULT_GROUPS
33716fd348SMartin Matuska])
34716fd348SMartin Matuska
35716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SYSFS], [
36716fd348SMartin Matuska	ZFS_AC_KERNEL_SYSFS_DEFAULT_GROUPS
37716fd348SMartin Matuska])
38