Re: [PATCH 01/18] phy: mediatek: add a new helper to update bitfield
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date: 2022-09-23 06:03:49
Also in:
dri-devel, linux-mediatek, linux-phy, lkml
On Thu, 2022-09-22 at 09:17 +0200, AngeloGioacchino Del Regno wrote:
Il 22/09/22 04:36, Chunfeng Yun ha scritto:quoted
On Wed, 2022-09-21 at 10:15 +0200, AngeloGioacchino Del Regno wrote:quoted
Il 20/09/22 11:00, Chunfeng Yun ha scritto:quoted
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.hb/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, u32bits)@@ -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 itquoted
quoted
+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.Adding const is not *required*, but `mask` is, effectively, a constant, hence it fully makes sense to add const.
Prefer to leave it unchanged, there is no 'const' in function mtk_phy_update_bits(), if add 'const', will cause build warning. and FIELD_PREP() already do many checks in compile time. Thanks
quoted
Thanksquoted
quoted
+{ + mtk_phy_update_bits(reg, mask, FIELD_PREP(mask, val)); +} + #endif
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel