Re: [PATCH 01/18] phy: mediatek: add a new helper to update bitfield

Chunfeng Yun
2022-09-22T02:48:56Z

On Wed, 2022-09-21 at 10:15 +0200, AngeloGioacchino Del Regno wrote:
> Il 20/09/22 11:00, Chunfeng Yun ha scritto:
> > Due to FIELD_PREP() macro can be used to prepare a bitfield value,
> > local ones can be remove; add the new helper to make bitfield
> > update
> > easier.
> >
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > ---
> > drivers/phy/mediatek/phy-mtk-io.h | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/phy/mediatek/phy-mtk-io.h
> > b/drivers/phy/mediatek/phy-mtk-io.h
> > index 500fcdab165d..a723d4afc9b4 100644
> > --- a/drivers/phy/mediatek/phy-mtk-io.h
> > +++ b/drivers/phy/mediatek/phy-mtk-io.h
> > @@ -8,6 +8,7 @@
> > #ifndef __PHY_MTK_H__
> > #define __PHY_MTK_H__
> >
> > +#include <linux/bitfield.h>
> > #include <linux/io.h>
> >
> > static inline void mtk_phy_clear_bits(void __iomem *reg, u32
> > bits)
> > @@ -35,4 +36,10 @@ static inline void mtk_phy_update_bits(void
> > __iomem *reg, u32 mask, u32 val)
> > writel(tmp, reg);
> > }
> >
> > +/* field @mask should be constant and continuous */
>
> "Field @mask shall be [...]"
> ^^^^^
Ok, will modify it

>
> > +static inline void mtk_phy_update_field(void __iomem *reg, u32
> > mask, u32 val)
>
> ...so, (void __iomem *reg, const u32 mask, u32 val)
Maybe no need const, @mask will be checked it in compile time when
use FIELD_PREP(), means @mask is a constant value, but not a variable.

Thanks

>
> > +{
> > + mtk_phy_update_bits(reg, mask, FIELD_PREP(mask, val));
> > +}
> > +
> > #endif
>
>