Message ID | 20231002-net-wifpts-dpll_mode_get-v1-2-a356a16413cf@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | f4ecb3d44a117b16029485325bda1bc98c26de36 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Fix a couple recent instances of -Wincompatible-function-pointer-types-strict from ->mode_get() implementations | expand |
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dpll.c b/drivers/net/ethernet/mellanox/mlx5/core/dpll.c index 74f0c7867120..2cd81bb32c66 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dpll.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dpll.c @@ -121,8 +121,8 @@ static int mlx5_dpll_device_lock_status_get(const struct dpll_device *dpll, } static int mlx5_dpll_device_mode_get(const struct dpll_device *dpll, - void *priv, - u32 *mode, struct netlink_ext_ack *extack) + void *priv, enum dpll_mode *mode, + struct netlink_ext_ack *extack) { *mode = DPLL_MODE_MANUAL; return 0;
When building with -Wincompatible-function-pointer-types-strict, a warning designed to catch potential kCFI failures at build time rather than run time due to incorrect function pointer types, there is a warning due to a mismatch between the type of the mode parameter in mlx5_dpll_device_mode_get() vs. what the function pointer prototype for ->mode_get() in 'struct dpll_device_ops' expects. drivers/net/ethernet/mellanox/mlx5/core/dpll.c:141:14: error: incompatible function pointer types initializing 'int (*)(const struct dpll_device *, void *, enum dpll_mode *, struct netlink_ext_ack *)' with an expression of type 'int (const struct dpll_device *, void *, u32 *, struct netlink_ext_ack *)' (aka 'int (const struct dpll_device *, void *, unsigned int *, struct netlink_ext_ack *)') [-Werror,-Wincompatible-function-pointer-types-strict] 141 | .mode_get = mlx5_dpll_device_mode_get, | ^~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Change the type of the mode parameter in mlx5_dpll_device_mode_get() to clear up the warning and avoid kCFI failures at run time. Fixes: 496fd0a26bbf ("mlx5: Implement SyncE support using DPLL infrastructure") Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- To: saeedm@nvidia.com To: leon@kernel.org Cc: linux-rdma@vger.kernel.org --- drivers/net/ethernet/mellanox/mlx5/core/dpll.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)