• Dilip Kota's avatar
    phy: intel: Fix compilation error on FIELD_PREP usage · 76e242c2
    Dilip Kota authored
    FIELD_PREP expects constant arguments. Istead of doing FIELD_PREP
    operation on the arguments of combo_phy_w32_off_mask(), pass the
    final FIELD_PREP value as an argument.
    
    Error reported as:
    In file included from include/linux/build_bug.h:5,
    from include/linux/bitfield.h:10,
    from drivers/phy/intel/phy-intel-combo.c:8:
    drivers/phy/intel/phy-intel-combo.c: In function 'combo_phy_w32_off_mask':
    include/linux/bitfield.h:52:28: warning: comparison is always false due to limited range of data type [-Wtype-limits]
    
    include/linux/compiler.h:350:38: error: call to '__compiletime_assert_37' declared with attribute error: FIELD_PREP: mask is not constant
    94 |   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: ");          |   ^~~~~~~~~~~~~~~~
    drivers/phy/intel/phy-intel-combo.c:137:13: note: in expansion of macro 'FIELD_PREP'
    137 |  reg_val |= FIELD_PREP(mask, val);
    |             ^~~~~~~~~~
    
    ../include/linux/compiler.h:392:38: error: call to__compiletime_assert_137
     declared with attribute error:
    BUILD_BUG_ON failed: (((mask) + (1ULL << (__builtin_ffsll(mask) - 1))) & (((mask) + (1ULL << (__builtin_ffsll(mask) - 1))) - 1)) != 0
      _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
    
    ../include/linux/bitfield.h:94:3: note: in expansion of macro __BF_FIELD_CHECK
       __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
       ^~~~~~~~~~~~~~~~
    ../drivers/phy/intel/phy-intel-combo.c:137:13: note: in expansion of macro FIELD_PREP
      reg_val |= FIELD_PREP(mask, val);
                 ^~~~~~~~~~
    
    Fixes: ac0a95a3 ("phy: intel: Add driver support for ComboPhy")
    Reported-by: default avatarkbuild test robot <lkp@intel.com>
    Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarDilip Kota <eswara.kota@linux.intel.com>
    Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
    Link: https://lore.kernel.org/r/8a309dd3c238efbaa59d1649704255d6f8b6c9c5.1590575358.git.eswara.kota@linux.intel.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    76e242c2
phy-intel-combo.c 14.3 KB