Commit 50cbbfd4 authored by David Mosberger-Tang's avatar David Mosberger-Tang Committed by Kalle Valo

wilc1000: Convert module-global "isinit" to device-specific variable

Move static "isinit" variable to wilc_spi structure to allow multiple
WILC1000 devices per machine.
Signed-off-by: default avatarDavid Mosberger-Tang <davidm@egauge.net>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210828151346.3012697-1-davidm@egauge.net
parent 4b51de06
...@@ -39,6 +39,7 @@ MODULE_PARM_DESC(enable_crc16, ...@@ -39,6 +39,7 @@ MODULE_PARM_DESC(enable_crc16,
#define WILC_SPI_RSP_HDR_EXTRA_DATA 8 #define WILC_SPI_RSP_HDR_EXTRA_DATA 8
struct wilc_spi { struct wilc_spi {
bool isinit; /* true if SPI protocol has been configured */
bool probing_crc; /* true if we're probing chip's CRC config */ bool probing_crc; /* true if we're probing chip's CRC config */
bool crc7_enabled; /* true if crc7 is currently enabled */ bool crc7_enabled; /* true if crc7 is currently enabled */
bool crc16_enabled; /* true if crc16 is currently enabled */ bool crc16_enabled; /* true if crc16 is currently enabled */
...@@ -908,15 +909,15 @@ static int wilc_spi_init(struct wilc *wilc, bool resume) ...@@ -908,15 +909,15 @@ static int wilc_spi_init(struct wilc *wilc, bool resume)
struct wilc_spi *spi_priv = wilc->bus_data; struct wilc_spi *spi_priv = wilc->bus_data;
u32 reg; u32 reg;
u32 chipid; u32 chipid;
static int isinit;
int ret, i; int ret, i;
if (isinit) { if (spi_priv->isinit) {
/* Confirm we can read chipid register without error: */
ret = wilc_spi_read_reg(wilc, WILC_CHIPID, &chipid); ret = wilc_spi_read_reg(wilc, WILC_CHIPID, &chipid);
if (ret) if (ret == 0)
dev_err(&spi->dev, "Fail cmd read chip id...\n"); return 0;
return ret; dev_err(&spi->dev, "Fail cmd read chip id...\n");
} }
/* /*
...@@ -974,7 +975,7 @@ static int wilc_spi_init(struct wilc *wilc, bool resume) ...@@ -974,7 +975,7 @@ static int wilc_spi_init(struct wilc *wilc, bool resume)
spi_priv->probing_crc = false; spi_priv->probing_crc = false;
/* /*
* make sure can read back chip id correctly * make sure can read chip id without protocol error
*/ */
ret = wilc_spi_read_reg(wilc, WILC_CHIPID, &chipid); ret = wilc_spi_read_reg(wilc, WILC_CHIPID, &chipid);
if (ret) { if (ret) {
...@@ -982,7 +983,7 @@ static int wilc_spi_init(struct wilc *wilc, bool resume) ...@@ -982,7 +983,7 @@ static int wilc_spi_init(struct wilc *wilc, bool resume)
return ret; return ret;
} }
isinit = 1; spi_priv->isinit = true;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment