• Nathan Chancellor's avatar
    ptp: Fix type of mode parameter in ptp_ocp_dpll_mode_get() · 26cc115d
    Nathan Chancellor authored
    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
    ptp_ocp_dpll_mode_get() vs. what the function pointer prototype for
    ->mode_get() in 'struct dpll_device_ops' expects.
    
      drivers/ptp/ptp_ocp.c:4353: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]
       4353 |         .mode_get = ptp_ocp_dpll_mode_get,
            |                     ^~~~~~~~~~~~~~~~~~~~~
      1 error generated.
    
    Change the type of the mode parameter in ptp_ocp_dpll_mode_get() to
    clear up the warning and avoid kCFI failures at run time.
    
    Fixes: 09eeb3ae ("ptp_ocp: implement DPLL ops")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20231002-net-wifpts-dpll_mode_get-v1-1-a356a16413cf@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    26cc115d
ptp_ocp.c 105 KB