summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Zhang <18255117159@163.com>2026-04-30 18:54:48 +0300
committerMark Brown <broonie@kernel.org>2026-05-11 15:05:05 +0300
commitb69bfa5933299b3cd84aae821f8890f10ea56df7 (patch)
treeefca465184ad96d57ac4a724f5090f78aa12a0e0
parent8262b1421dddab6d13d430aee34cef6a47a0b93f (diff)
downloadlinux-b69bfa5933299b3cd84aae821f8890f10ea56df7.tar.xz
spi: amlogic-spisg: Use FIELD_MODIFY()
Use FIELD_MODIFY() to remove open-coded bit manipulation. No functional change intended. Signed-off-by: Hans Zhang <18255117159@163.com> Link: https://patch.msgid.link/20260430155456.36998-3-18255117159@163.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-amlogic-spisg.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/spi/spi-amlogic-spisg.c b/drivers/spi/spi-amlogic-spisg.c
index 19c5eba412ef..4c9f4088cb37 100644
--- a/drivers/spi/spi-amlogic-spisg.c
+++ b/drivers/spi/spi-amlogic-spisg.c
@@ -601,14 +601,11 @@ static int aml_spisg_prepare_message(struct spi_controller *ctlr,
spisg->bytes_per_word = spi->bits_per_word >> 3;
- spisg->cfg_spi &= ~CFG_SLAVE_SELECT;
- spisg->cfg_spi |= FIELD_PREP(CFG_SLAVE_SELECT, spi_get_chipselect(spi, 0));
-
- spisg->cfg_bus &= ~(CFG_CPOL | CFG_CPHA | CFG_B_L_ENDIAN | CFG_HALF_DUPLEX);
- spisg->cfg_bus |= FIELD_PREP(CFG_CPOL, !!(spi->mode & SPI_CPOL)) |
- FIELD_PREP(CFG_CPHA, !!(spi->mode & SPI_CPHA)) |
- FIELD_PREP(CFG_B_L_ENDIAN, !!(spi->mode & SPI_LSB_FIRST)) |
- FIELD_PREP(CFG_HALF_DUPLEX, !!(spi->mode & SPI_3WIRE));
+ FIELD_MODIFY(CFG_SLAVE_SELECT, &spisg->cfg_spi, spi_get_chipselect(spi, 0));
+ FIELD_MODIFY(CFG_CPOL, &spisg->cfg_bus, !!(spi->mode & SPI_CPOL));
+ FIELD_MODIFY(CFG_CPHA, &spisg->cfg_bus, !!(spi->mode & SPI_CPHA));
+ FIELD_MODIFY(CFG_B_L_ENDIAN, &spisg->cfg_bus, !!(spi->mode & SPI_LSB_FIRST));
+ FIELD_MODIFY(CFG_HALF_DUPLEX, &spisg->cfg_bus, !!(spi->mode & SPI_3WIRE));
return 0;
}