error:too few arguments to function 'devlink_alloc'
首先去Linux内核代码里查询造成冲突的接口。
对比内核中该接口和源码中该接口的异同,如图1所示。
当定义了UBUNTU22_04时,选择对devlink_alloc进行正确定义。
#if defined(XXXXX9_VERSION) || defined(UBUNTU22_04) \ || (defined(HAVE_KS_SUPPORT) && (KERNEL_VERSION(5, 14, 0) <= LINUX_VERSION_CODE)) devlink = devlink_alloc(&hinic3_devlink_ops, sizeof(struct hinic3_devlink), &pdev->dev); #else devlink = devlink_alloc(&hinic3_devlink_ops, sizeof(struct hinic3_devlink)); #endif