[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200624121016.GZ2324254@vkoul-mobl>
Date: Wed, 24 Jun 2020 17:40:16 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Dilip Kota <eswara.kota@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org, kishon@...com, rdunlap@...radead.org,
andriy.shevchenko@...el.com, cheol.yong.kim@...el.com,
qi-ming.wu@...el.com
Subject: Re: [PATCH v2 1/1] phy: intel: Fix compilation error on FIELD_PREP
usage
On 27-05-20, 18:56, Dilip Kota wrote:
> 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);
Applied, thanks
--
~Vinod
Powered by blists - more mailing lists