[PATCH spi-next 02/11] spi: spi-fsl-lpspi: fsl_lpspi_probe(): use FIELD_GET to decode Parameter register

From: Marc Kleine-Budde

Date: Mon Mar 16 2026 - 04:44:02 EST


Instead of open coding mask and shift operations and to o increase
readability use FIELD_GET() to decode the Parameter register.

Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
---
drivers/spi/spi-fsl-lpspi.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 989d0ffddc25..4c550f740d85 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -55,6 +55,9 @@
#define IMX7ULP_RDR 0x74

/* General control register field define */
+#define PARAM_PCSNUM GENMASK(23, 16)
+#define PARAM_RXFIFO GENMASK(15, 8)
+#define PARAM_TXFIFO GENMASK(7, 0)
#define CR_RRF BIT(9)
#define CR_RTF BIT(8)
#define CR_RST BIT(1)
@@ -978,12 +981,12 @@ static int fsl_lpspi_probe(struct platform_device *pdev)
}

temp = readl(fsl_lpspi->base + IMX7ULP_PARAM);
- fsl_lpspi->txfifosize = 1 << (temp & 0x0f);
- fsl_lpspi->rxfifosize = 1 << ((temp >> 8) & 0x0f);
+ fsl_lpspi->txfifosize = 1 << FIELD_GET(PARAM_TXFIFO, temp);
+ fsl_lpspi->rxfifosize = 1 << FIELD_GET(PARAM_RXFIFO, temp);
if (of_property_read_u32((&pdev->dev)->of_node, "num-cs",
&num_cs)) {
if (devtype_data->query_hw_for_num_cs)
- num_cs = ((temp >> 16) & 0xf);
+ num_cs = FIELD_GET(PARAM_PCSNUM, temp);
else
num_cs = 1;
}

--
2.51.0