]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: nxp-xspi: Use FIELD_MODIFY()
authorHans Zhang <18255117159@163.com>
Thu, 30 Apr 2026 15:54:51 +0000 (23:54 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 11 May 2026 12:05:07 +0000 (21:05 +0900)
Use FIELD_MODIFY() to remove open-coded bit manipulation.
No functional change intended.

Signed-off-by: Hans Zhang <18255117159@163.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260430155456.36998-6-18255117159@163.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-nxp-xspi.c

index 385302a6e62f2f064fcb4f67151566bbfd61d626..037eac24e6fd2c38ea4fc205f13e9eea069ff1e5 100644 (file)
@@ -493,9 +493,8 @@ static void nxp_xspi_disable_ddr(struct nxp_xspi *xspi)
        writel(reg, base + XSPI_MCR);
 
        reg &= ~XSPI_MCR_DDR_EN;
-       reg &= ~XSPI_MCR_DQS_FA_SEL_MASK;
        /* Use dummy pad loopback mode to sample data */
-       reg |= FIELD_PREP(XSPI_MCR_DQS_FA_SEL_MASK, 0x01);
+       FIELD_MODIFY(XSPI_MCR_DQS_FA_SEL_MASK, &reg, 0x01);
        writel(reg, base + XSPI_MCR);
        xspi->support_max_rate = 133000000;
 
@@ -524,15 +523,13 @@ static void nxp_xspi_enable_ddr(struct nxp_xspi *xspi)
        writel(reg, base + XSPI_MCR);
 
        reg |= XSPI_MCR_DDR_EN;
-       reg &= ~XSPI_MCR_DQS_FA_SEL_MASK;
        /* Use external dqs to sample data */
-       reg |= FIELD_PREP(XSPI_MCR_DQS_FA_SEL_MASK, 0x03);
+       FIELD_MODIFY(XSPI_MCR_DQS_FA_SEL_MASK, &reg, 0x03);
        writel(reg, base + XSPI_MCR);
        xspi->support_max_rate = 200000000;
 
        reg = readl(base + XSPI_FLSHCR);
-       reg &= ~XSPI_FLSHCR_TDH_MASK;
-       reg |= FIELD_PREP(XSPI_FLSHCR_TDH_MASK, 0x01);
+       FIELD_MODIFY(XSPI_FLSHCR_TDH_MASK, &reg, 0x01);
        writel(reg, base + XSPI_FLSHCR);
 
        reg = FIELD_PREP(XSPI_SMPR_DLLFSMPFA_MASK, 0x04);
@@ -1096,8 +1093,7 @@ static int nxp_xspi_default_setup(struct nxp_xspi *xspi)
 
        /* Give read/write access right to EENV0 */
        reg = readl(base + XSPI_FRAD0_WORD2);
-       reg &= ~XSPI_FRAD0_WORD2_MD0ACP_MASK;
-       reg |= FIELD_PREP(XSPI_FRAD0_WORD2_MD0ACP_MASK, 0x03);
+       FIELD_MODIFY(XSPI_FRAD0_WORD2_MD0ACP_MASK, &reg, 0x03);
        writel(reg, base + XSPI_FRAD0_WORD2);
 
        /* Enable the FRAD check for EENV0 */