• Arnd Bergmann's avatar
    amd-xgbe: fix mismatched prototype · bbe64186
    Arnd Bergmann authored
    The forward declaration was introduced with a prototype that does
    not match the function definition:
    
    drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c:2166:13: error: conflicting types for 'xgbe_phy_perform_ratechange' due to enum/integer mismatch; have 'void(struct xgbe_prv_data *, enum xgbe_mb_cmd,  enum xgbe_mb_subcmd)' [-Werror=enum-int-mismatch]
     2166 | static void xgbe_phy_perform_ratechange(struct xgbe_prv_data *pdata,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c:391:13: note: previous declaration of 'xgbe_phy_perform_ratechange' with type 'void(struct xgbe_prv_data *, unsigned int,  unsigned int)'
      391 | static void xgbe_phy_perform_ratechange(struct xgbe_prv_data *pdata,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Ideally there should not be any forward declarations here, which
    would make it easier to show that there is no unbounded recursion.
    I tried fixing this but could not figure out how to avoid the
    recursive call.
    
    As a hotfix, address only the broken prototype to fix the build
    problem instead.
    
    Fixes: 4f3b20bf ("amd-xgbe: add support for rx-adaptation")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
    Acked-by: default avatarShyam Sundar S K <Shyam-sundar.S-k@amd.com>
    Link: https://lore.kernel.org/r/20230203121553.2871598-1-arnd@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    bbe64186
xgbe-phy-v2.c 100 KB