From 6bb879e72ab4782a3e4a38d8a45a567d50e6b7b1 Mon Sep 17 00:00:00 2001 From: Gerson Fernando Budke Date: Thu, 22 Oct 2020 21:11:54 -0300 Subject: [PATCH] drivers: wifi: eswifi: Drop global data visibility Remove global access to structure eswifi_spi_data variable. Instead, add a method to pass access to that structure. This allows better control to the data bus variable. Signed-off-by: Gerson Fernando Budke --- drivers/wifi/eswifi/eswifi.h | 2 +- drivers/wifi/eswifi/eswifi_bus_spi.c | 7 ++++++- drivers/wifi/eswifi/eswifi_core.c | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/wifi/eswifi/eswifi.h b/drivers/wifi/eswifi/eswifi.h index 3bcdbb94b76..396defedb5d 100644 --- a/drivers/wifi/eswifi/eswifi.h +++ b/drivers/wifi/eswifi/eswifi.h @@ -124,7 +124,7 @@ struct eswifi_dev *eswifi_socket_to_dev(struct eswifi_off_socket *socket) return CONTAINER_OF(socket - socket->index, struct eswifi_dev, socket); } -extern struct eswifi_bus_ops eswifi_bus_ops_spi; +struct eswifi_bus_ops *eswifi_get_bus(void); int eswifi_offload_init(struct eswifi_dev *eswifi); struct eswifi_dev *eswifi_by_iface_idx(uint8_t iface); int eswifi_at_cmd_rsp(struct eswifi_dev *eswifi, char *cmd, char **rsp); diff --git a/drivers/wifi/eswifi/eswifi_bus_spi.c b/drivers/wifi/eswifi/eswifi_bus_spi.c index 06c61c62db0..b930f37c51b 100644 --- a/drivers/wifi/eswifi/eswifi_bus_spi.c +++ b/drivers/wifi/eswifi/eswifi_bus_spi.c @@ -272,7 +272,12 @@ int eswifi_spi_init(struct eswifi_dev *eswifi) return 0; } -struct eswifi_bus_ops eswifi_bus_ops_spi = { +static struct eswifi_bus_ops eswifi_bus_ops_spi = { .init = eswifi_spi_init, .request = eswifi_spi_request, }; + +struct eswifi_bus_ops *eswifi_get_bus(void) +{ + return &eswifi_bus_ops_spi; +} diff --git a/drivers/wifi/eswifi/eswifi_core.c b/drivers/wifi/eswifi/eswifi_core.c index ebeed3e3f2c..1dacffc5447 100644 --- a/drivers/wifi/eswifi/eswifi_core.c +++ b/drivers/wifi/eswifi/eswifi_core.c @@ -637,7 +637,7 @@ static int eswifi_init(const struct device *dev) eswifi->role = ESWIFI_ROLE_CLIENT; k_mutex_init(&eswifi->mutex); - eswifi->bus = &eswifi_bus_ops_spi; + eswifi->bus = eswifi_get_bus(); eswifi->bus->init(eswifi); eswifi->resetn.dev = device_get_binding(