[PATCH v3 0/1] phy: freescale: limit div value in FIELD_PREP()
From: Chongchong Gu
Date: Wed Feb 19 2025 - 05:54:30 EST
From: guchongchong <guchongchong@xxxxxxxxxx>
In fsl_samsung_hdmi_phy_configure_pll_lock_det, the variable named
div becomes 4 after loop. It must less than 4 in function named
FIELD_PREP(REG12_CK_DIV_MASK, div).
A way to reproduce when run the following shell command
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4
The error log is following:
'''
In file included from <command-line>:
In function ‘fsl_samsung_hdmi_phy_configure_pll_lock_det’,
inlined from ‘fsl_samsung_hdmi_phy_configure’ at drivers/phy/freescale/phy-fsl-samsung-hdmi.c:469:2:
././include/linux/compiler_types.h:542:38: error: call to ‘__compiletime_assert_538’ declared with attribute error: FIELD_PREP: value too large for the field
...
drivers/phy/freescale/phy-fsl-samsung-hdmi.c:344:9: note: in expansion of macro ‘FIELD_PREP’
344 | writeb(FIELD_PREP(REG12_CK_DIV_MASK, div), phy->regs + PHY_REG(12));
| ^~~~~~~~~~
make[5]: *** [scripts/Makefile.build:207:drivers/phy/freescale/phy-fsl-samsung-hdmi.o] error 1
'''
changes in v3
- Simplified code structure
changes in v2
- modify the commit message
guchongchong (1):
phy: freescale: limit div value in FIELD_PREP()
drivers/phy/freescale/phy-fsl-samsung-hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--
2.48.1