[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250814-james-nxp-lpspi-v1-9-9586d7815d14@linaro.org>
Date: Thu, 14 Aug 2025 17:06:49 +0100
From: James Clark <james.clark@...aro.org>
To: Frank Li <Frank.Li@....com>, Mark Brown <broonie@...nel.org>,
Clark Wang <xiaoning.wang@....com>, Fugang Duan <B38611@...escale.com>,
Gao Pan <pandy.gao@....com>, Fugang Duan <fugang.duan@....com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
Larisa Grigore <larisa.grigore@....nxp.com>,
Larisa Grigore <larisa.grigore@....com>,
Ghennadi Procopciuc <ghennadi.procopciuc@....com>,
Ciprianmarian Costea <ciprianmarian.costea@....com>, s32@....com
Cc: James Clark <james.clark@...aro.org>, linux-spi@...r.kernel.org,
imx@...ts.linux.dev, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: [PATCH 09/13] spi: spi-fsl-lpspi: Parameterize reading num-cs from
hardware
To avoid adding more string matching here for every new device, move
this property into devtype data.
Signed-off-by: James Clark <james.clark@...aro.org>
---
drivers/spi/spi-fsl-lpspi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 1013d5c994e9..6d0138b27785 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -97,6 +97,7 @@ static const char * const pincfgs[] = {
struct fsl_lpspi_devtype_data {
bool prescale_err : 1;
+ bool query_hw_for_num_cs : 1;
};
struct lpspi_config {
@@ -150,10 +151,12 @@ struct fsl_lpspi_data {
*/
static const struct fsl_lpspi_devtype_data imx93_lpspi_devtype_data = {
.prescale_err = true,
+ .query_hw_for_num_cs = true,
};
static const struct fsl_lpspi_devtype_data imx7ulp_lpspi_devtype_data = {
.prescale_err = false,
+ .query_hw_for_num_cs = false,
};
static const struct of_device_id fsl_lpspi_dt_ids[] = {
@@ -960,7 +963,7 @@ static int fsl_lpspi_probe(struct platform_device *pdev)
fsl_lpspi->rxfifosize = 1 << ((temp >> 8) & 0x0f);
if (of_property_read_u32((&pdev->dev)->of_node, "num-cs",
&num_cs)) {
- if (of_device_is_compatible(pdev->dev.of_node, "fsl,imx93-spi"))
+ if (devtype_data->query_hw_for_num_cs)
num_cs = ((temp >> 16) & 0xf);
else
num_cs = 1;
--
2.34.1
Powered by blists - more mailing lists