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 <gerson.budke@atl-electronics.com>
This commit is contained in:
Gerson Fernando Budke 2020-10-22 21:11:54 -03:00 committed by Carles Cufí
commit 6bb879e72a
3 changed files with 8 additions and 3 deletions

View file

@ -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);

View file

@ -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;
}

View file

@ -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(