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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Wed Sep 21 01:15:39 PDT 2022


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 at 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 [...]"
              ^^^^^

> +static inline void mtk_phy_update_field(void __iomem *reg, u32 mask, u32 val)

...so, (void __iomem *reg, const u32 mask, u32 val)

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





More information about the Linux-mediatek mailing list