• Dmitry Antipov's avatar
    net: liquidio: fix clang-specific W=1 build warnings · cbdd50ec
    Dmitry Antipov authored
    When compiling with clang-18 and W=1, I've noticed the following
    warnings:
    
    drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c:1493:16: warning: cast
    from 'void (*)(struct octeon_device *, struct octeon_mbox_cmd *, void *)' to
    'octeon_mbox_callback_t' (aka 'void (*)(void *, void *, void *)') converts to
    incompatible function type [-Wcast-function-type-strict]
     1493 |         mbox_cmd.fn = (octeon_mbox_callback_t)cn23xx_get_vf_stats_callback;
          |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    and:
    
    drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c:432:16: warning: cast
    from 'void (*)(struct octeon_device *, struct octeon_mbox_cmd *, void *)' to
    'octeon_mbox_callback_t' (aka 'void (*)(void *, void *, void *)') converts to
    incompatible function type [-Wcast-function-type-strict]
      432 |         mbox_cmd.fn = (octeon_mbox_callback_t)octeon_pfvf_hs_callback;
          |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Fix both of the above by adjusting 'octeon_mbox_callback_t' to match actual
    callback definitions (at the cost of adding an extra forward declaration).
    Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240111162432.124014-1-dmantipov@yandex.ruSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    cbdd50ec
cn23xx_pf_device.c 44.8 KB