Messages in this thread | | | From | Nick Desaulniers <> | Date | Fri, 13 Jan 2023 10:36:27 -0800 | Subject | Re: [PATCH v6 1/3] phy: mediatek: fix build warning caused by clang |
| |
On Wed, Jan 4, 2023 at 5:26 AM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote: > > Remove the temporary @mask_, this may cause build warning when use clang > compiler for powerpc, but can't reproduce it when compile for arm64. > the build warning is -Wtautological-constant-out-of-range-compare, and > caused by > "BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask)"
Can you please include the text of the observed warning?
> > After removing @mask_, there is a "CHECK:MACRO_ARG_REUSE" when run > checkpatch.pl, due to @mask is constant, no reuse problem will happen. > > Fixes: 84513eccd678 ("phy: mediatek: fix build warning of FIELD_PREP()")
Uh, why was 84513eccd678 sent/reviewed/merged if it didn't fix the issue correctly in the first place?
Is the issue perhaps that your mask isn't wide enough in the first place, and should be? See: commit cfd6fb45cfaf ("crypto: ccree - avoid out-of-range warnings from clang") for inspiration.
> Reported-by: kernel test robot <lkp@intel.com>
Can you please include the Link: tag to the lore URL of the report?
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> > --- > v6: modify the title > v5: no changes > v4 new patch, I'm not sure it can fix build warning, due to I don't cross compile > it for powerpc using clang in office. > --- > drivers/phy/mediatek/phy-mtk-io.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/phy/mediatek/phy-mtk-io.h b/drivers/phy/mediatek/phy-mtk-io.h > index d20ad5e5be81..58f06db822cb 100644 > --- a/drivers/phy/mediatek/phy-mtk-io.h > +++ b/drivers/phy/mediatek/phy-mtk-io.h > @@ -39,8 +39,8 @@ static inline void mtk_phy_update_bits(void __iomem *reg, u32 mask, u32 val) > /* field @mask shall be constant and continuous */ > #define mtk_phy_update_field(reg, mask, val) \ > ({ \ > - typeof(mask) mask_ = (mask); \ > - mtk_phy_update_bits(reg, mask_, FIELD_PREP(mask_, val)); \ > + BUILD_BUG_ON_MSG(!__builtin_constant_p(mask), "mask is not constant"); \ > + mtk_phy_update_bits(reg, mask, FIELD_PREP(mask, val)); \ > }) > > #endif > -- > 2.18.0 >
-- Thanks, ~Nick Desaulniers
| |