wifi: eswifi: spi: Move spi bus into config Move 'struct spi_dt_spec bus' into the config struct so it can be const and than possibly placed in ROM. Signed-off-by: Kumar Gala <galak@kernel.org>
diff --git a/drivers/wifi/eswifi/eswifi_bus_spi.c b/drivers/wifi/eswifi/eswifi_bus_spi.c index fcc652e..d716ada 100644 --- a/drivers/wifi/eswifi/eswifi_bus_spi.c +++ b/drivers/wifi/eswifi/eswifi_bus_spi.c
@@ -25,24 +25,23 @@ struct eswifi_spi_config { struct gpio_dt_spec csn; struct gpio_dt_spec dr; + struct spi_dt_spec bus; }; struct eswifi_spi_data { const struct eswifi_spi_config *cfg; - struct spi_dt_spec bus; struct k_thread poll_thread; }; static const struct eswifi_spi_config eswifi_config_spi0 = { .dr = GPIO_DT_SPEC_INST_GET(0, data_gpios), -}; - -static struct eswifi_spi_data eswifi_spi0 = { /* Static instance */ .bus = SPI_DT_SPEC_INST_GET(0, SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB | SPI_WORD_SET(16) | SPI_HOLD_ON_CS | SPI_LOCK_ON, 1000U), }; +static struct eswifi_spi_data eswifi_spi0; + static bool eswifi_spi_cmddata_ready(struct eswifi_spi_data *spi) { return gpio_pin_get_dt(&spi->cfg->dr) > 0; @@ -72,7 +71,7 @@ spi_tx.buffers = spi_tx_buf; spi_tx.count = ARRAY_SIZE(spi_tx_buf); - status = spi_write_dt(&spi->bus, &spi_tx); + status = spi_write_dt(&spi->cfg->bus, &spi_tx); if (status) { LOG_ERR("SPI write error %d", status); } else { @@ -94,7 +93,7 @@ spi_rx.buffers = spi_rx_buf; spi_rx.count = ARRAY_SIZE(spi_rx_buf); - status = spi_read_dt(&spi->bus, &spi_rx); + status = spi_read_dt(&spi->cfg->bus, &spi_rx); if (status) { LOG_ERR("SPI read error %d", status); } else { @@ -154,7 +153,7 @@ eswifi_spi_write(eswifi, cmd, clen); /* Our device is flagged with SPI_HOLD_ON_CS|SPI_LOCK_ON, release */ - spi_release_dt(&spi->bus); + spi_release_dt(&spi->cfg->bus); data: /* CMD/DATA READY signals the Data Phase */ @@ -179,7 +178,7 @@ } /* Our device is flagged with SPI_HOLD_ON_CS|SPI_LOCK_ON, release */ - spi_release_dt(&spi->bus); + spi_release_dt(&spi->cfg->bus); LOG_DBG("success"); @@ -244,7 +243,7 @@ gpio_pin_configure_dt(&cfg->dr, GPIO_INPUT); /* SPI BUS */ - if (!spi_is_ready(&spi->bus)) { + if (!spi_is_ready(&spi->cfg->bus)) { LOG_ERR("SPI bus is not ready"); return -ENODEV; };