Simplify code by using helper macro FIELD_PREP() and GENMASK().
No functions changed.
Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
---
drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c
index f69c3b5d478209c083738477edf380e3f280c471..c05e26798032367813c8730550a7eec2f237b4eb 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c
@@ -16,8 +16,7 @@
#define GASKET_BASE(n) (0x0060 + (n) * 0x30)
#define GASKET_CTRL 0x0000
-#define GASKET_CTRL_DATA_TYPE(dt) ((dt) << 8)
-#define GASKET_CTRL_DATA_TYPE_MASK (0x3f << 8)
+#define GASKET_CTRL_DATA_TYPE(dt) FIELD_PREP(GENMASK(13, 8), (dt))
#define GASKET_CTRL_DUAL_COMP_ENABLE BIT(1)
#define GASKET_CTRL_ENABLE BIT(0)
@@ -58,7 +57,7 @@ const struct mxc_gasket_ops mxc_imx8_gasket_ops = {
*/
#define DISP_MIX_CAMERA_MUX 0x30
-#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) (((x) & 0x3f) << 3)
+#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) FIELD_PREP(GENMASK(8, 3), (x))
#define DISP_MIX_CAMERA_MUX_GASKET_ENABLE BIT(16)
static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi,
--
2.34.1
Hi Guoniu, kernel test robot noticed the following build errors: [auto build test ERROR on a75b8d198c55e9eb5feb6f6e155496305caba2dc] url: https://github.com/intel-lab-lkp/linux/commits/Guoniu-Zhou/media-dt-bindings-nxp-imx8-isi-Add-i-MX91-ISI-compatible-string/20250827-175809 base: a75b8d198c55e9eb5feb6f6e155496305caba2dc patch link: https://lore.kernel.org/r/20250827-isi_imx93-v1-2-83e6b4b50c4d%40nxp.com patch subject: [PATCH 2/5] media: nxp: imx8-isi: Simplify code by using helper macro config: riscv-randconfig-002-20250827 (https://download.01.org/0day-ci/archive/20250828/202508280040.QKK6nZ3x-lkp@intel.com/config) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project d26ea02060b1c9db751d188b2edb0059a9eb273d) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250828/202508280040.QKK6nZ3x-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202508280040.QKK6nZ3x-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c:36:8: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 36 | val = GASKET_CTRL_DATA_TYPE(fd->entry[0].bus.csi2.dt); | ^ drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c:19:36: note: expanded from macro 'GASKET_CTRL_DATA_TYPE' 19 | #define GASKET_CTRL_DATA_TYPE(dt) FIELD_PREP(GENMASK(13, 8), (dt)) | ^ drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c:70:8: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 70 | val = DISP_MIX_CAMERA_MUX_DATA_TYPE(fd->entry[0].bus.csi2.dt); | ^ drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c:60:49: note: expanded from macro 'DISP_MIX_CAMERA_MUX_DATA_TYPE' 60 | #define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) FIELD_PREP(GENMASK(8, 3), (x)) | ^ 2 errors generated. vim +/FIELD_PREP +36 drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c f48498ad0a4106e Guoniu.zhou 2023-06-29 25 f48498ad0a4106e Guoniu.zhou 2023-06-29 26 static void mxc_imx8_gasket_enable(struct mxc_isi_dev *isi, f48498ad0a4106e Guoniu.zhou 2023-06-29 27 const struct v4l2_mbus_frame_desc *fd, f48498ad0a4106e Guoniu.zhou 2023-06-29 28 const struct v4l2_mbus_framefmt *fmt, f48498ad0a4106e Guoniu.zhou 2023-06-29 29 const unsigned int port) f48498ad0a4106e Guoniu.zhou 2023-06-29 30 { f48498ad0a4106e Guoniu.zhou 2023-06-29 31 u32 val; f48498ad0a4106e Guoniu.zhou 2023-06-29 32 f48498ad0a4106e Guoniu.zhou 2023-06-29 33 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_HSIZE, fmt->width); f48498ad0a4106e Guoniu.zhou 2023-06-29 34 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_VSIZE, fmt->height); f48498ad0a4106e Guoniu.zhou 2023-06-29 35 f48498ad0a4106e Guoniu.zhou 2023-06-29 @36 val = GASKET_CTRL_DATA_TYPE(fd->entry[0].bus.csi2.dt); f48498ad0a4106e Guoniu.zhou 2023-06-29 37 if (fd->entry[0].bus.csi2.dt == MIPI_CSI2_DT_YUV422_8B) f48498ad0a4106e Guoniu.zhou 2023-06-29 38 val |= GASKET_CTRL_DUAL_COMP_ENABLE; f48498ad0a4106e Guoniu.zhou 2023-06-29 39 f48498ad0a4106e Guoniu.zhou 2023-06-29 40 val |= GASKET_CTRL_ENABLE; f48498ad0a4106e Guoniu.zhou 2023-06-29 41 regmap_write(isi->gasket, GASKET_BASE(port) + GASKET_CTRL, val); f48498ad0a4106e Guoniu.zhou 2023-06-29 42 } f48498ad0a4106e Guoniu.zhou 2023-06-29 43 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
On Wed, Aug 27, 2025 at 05:53:49PM +0800, Guoniu Zhou wrote: > Simplify code by using helper macro FIELD_PREP() and GENMASK(). > > No functions changed. > > Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c > index f69c3b5d478209c083738477edf380e3f280c471..c05e26798032367813c8730550a7eec2f237b4eb 100644 > --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c > +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-gasket.c > @@ -16,8 +16,7 @@ > #define GASKET_BASE(n) (0x0060 + (n) * 0x30) > > #define GASKET_CTRL 0x0000 > -#define GASKET_CTRL_DATA_TYPE(dt) ((dt) << 8) > -#define GASKET_CTRL_DATA_TYPE_MASK (0x3f << 8) > +#define GASKET_CTRL_DATA_TYPE(dt) FIELD_PREP(GENMASK(13, 8), (dt)) > #define GASKET_CTRL_DUAL_COMP_ENABLE BIT(1) > #define GASKET_CTRL_ENABLE BIT(0) > > @@ -58,7 +57,7 @@ const struct mxc_gasket_ops mxc_imx8_gasket_ops = { > */ > > #define DISP_MIX_CAMERA_MUX 0x30 > -#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) (((x) & 0x3f) << 3) > +#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) FIELD_PREP(GENMASK(8, 3), (x)) > #define DISP_MIX_CAMERA_MUX_GASKET_ENABLE BIT(16) > > static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi, > > -- > 2.34.1 >
© 2016 - 2025 Red Hat, Inc.