Instead of two having variants of the IS_SRIOV_PF macro, move the
CONFIG_PCI_IOV check to the xe_device_is_sriov_pf() function and
let the compiler optimize that. This will help us drop poor man's
type check of the macro parameter that fails on const xe pointer.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Shuicheng Lin <shuicheng.lin@intel.com>
Link: https://patch.msgid.link/20260128222714.3056-1-michal.wajdeczko@intel.com
static inline bool xe_device_is_sriov_pf(const struct xe_device *xe)
{
- return xe_device_sriov_mode(xe) == XE_SRIOV_MODE_PF;
+ return IS_ENABLED(CONFIG_PCI_IOV) &&
+ xe_device_sriov_mode(xe) == XE_SRIOV_MODE_PF;
}
static inline bool xe_device_is_sriov_vf(const struct xe_device *xe)
return xe_device_sriov_mode(xe) == XE_SRIOV_MODE_VF;
}
-#ifdef CONFIG_PCI_IOV
#define IS_SRIOV_PF(xe) xe_device_is_sriov_pf(xe)
-#else
-#define IS_SRIOV_PF(xe) (typecheck(struct xe_device *, (xe)) && false)
-#endif
#define IS_SRIOV_VF(xe) xe_device_is_sriov_vf(xe)
#define IS_SRIOV(xe) (IS_SRIOV_PF(xe) || IS_SRIOV_VF(xe))