1dnl # SPDX-License-Identifier: CDDL-1.0 2dnl # 3dnl # Linux 5.2/5.18 API 4dnl # 5dnl # In cdb4f26a63c391317e335e6e683a614358e70aeb ("kobject: kobj_type: remove default_attrs") 6dnl # struct kobj_type.default_attrs 7dnl # was finally removed in favour of 8dnl # struct kobj_type.default_groups 9dnl # 10dnl # This was added in aa30f47cf666111f6bbfd15f290a27e8a7b9d854 ("kobject: Add support for default attribute groups to kobj_type"), 11dnl # if both are present (5.2-5.17), we prefer default_groups; they're otherwise equivalent 12dnl # 13AC_DEFUN([ZFS_AC_KERNEL_SRC_SYSFS_DEFAULT_GROUPS], [ 14 ZFS_LINUX_TEST_SRC([sysfs_default_groups], [ 15 #include <linux/kobject.h> 16 ],[ 17 struct kobj_type __attribute__ ((unused)) kt = { 18 .default_groups = (const struct attribute_group **)NULL }; 19 ]) 20]) 21 22AC_DEFUN([ZFS_AC_KERNEL_SYSFS_DEFAULT_GROUPS], [ 23 AC_MSG_CHECKING([whether struct kobj_type.default_groups exists]) 24 ZFS_LINUX_TEST_RESULT([sysfs_default_groups],[ 25 AC_MSG_RESULT(yes) 26 AC_DEFINE([HAVE_SYSFS_DEFAULT_GROUPS], 1, [struct kobj_type has default_groups]) 27 ],[ 28 AC_MSG_RESULT(no) 29 ]) 30]) 31 32AC_DEFUN([ZFS_AC_KERNEL_SRC_SYSFS], [ 33 ZFS_AC_KERNEL_SRC_SYSFS_DEFAULT_GROUPS 34]) 35 36AC_DEFUN([ZFS_AC_KERNEL_SYSFS], [ 37 ZFS_AC_KERNEL_SYSFS_DEFAULT_GROUPS 38]) 39