Commit 65fabd18 authored by Rui Miguel Silva's avatar Rui Miguel Silva Committed by Greg Kroah-Hartman

greybus: spi: fix and cleanup spi devices handling

Cleanup and remove the spi_devices from the greybus spi handling as they
are not needed and they were completely misused.

With this the gb_spi_init does not make sense to exist anymore, so just
remove it and handle the master config directly from connection init.
Signed-off-by: default avatarRui Miguel Silva <rui.silva@linaro.org>
Reported-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 4a0c4453
...@@ -23,7 +23,6 @@ struct gb_spi { ...@@ -23,7 +23,6 @@ struct gb_spi {
u8 num_chipselect; u8 num_chipselect;
u32 min_speed_hz; u32 min_speed_hz;
u32 max_speed_hz; u32 max_speed_hz;
struct spi_device *spi_devices;
}; };
static struct spi_master *get_master_from_spi(struct gb_spi *spi) static struct spi_master *get_master_from_spi(struct gb_spi *spi)
...@@ -284,7 +283,7 @@ static int gb_spi_setup_device(struct gb_spi *spi, u8 cs) ...@@ -284,7 +283,7 @@ static int gb_spi_setup_device(struct gb_spi *spi, u8 cs)
struct gb_spi_device_config_request request; struct gb_spi_device_config_request request;
struct gb_spi_device_config_response response; struct gb_spi_device_config_response response;
struct spi_board_info spi_board = { {0} }; struct spi_board_info spi_board = { {0} };
struct spi_device *spidev = &spi->spi_devices[cs]; struct spi_device *spidev;
int ret; int ret;
request.chip_select = cs; request.chip_select = cs;
...@@ -308,24 +307,6 @@ static int gb_spi_setup_device(struct gb_spi *spi, u8 cs) ...@@ -308,24 +307,6 @@ static int gb_spi_setup_device(struct gb_spi *spi, u8 cs)
return 0; return 0;
} }
static int gb_spi_init(struct gb_spi *spi)
{
int ret;
/* get master configuration */
ret = gb_spi_get_master_config(spi);
if (ret)
return ret;
spi->spi_devices = kcalloc(spi->num_chipselect,
sizeof(struct spi_device), GFP_KERNEL);
if (!spi->spi_devices)
return -ENOMEM;
return ret;
}
static int gb_spi_connection_init(struct gb_connection *connection) static int gb_spi_connection_init(struct gb_connection *connection)
{ {
struct gb_spi *spi; struct gb_spi *spi;
...@@ -344,7 +325,8 @@ static int gb_spi_connection_init(struct gb_connection *connection) ...@@ -344,7 +325,8 @@ static int gb_spi_connection_init(struct gb_connection *connection)
spi->connection = connection; spi->connection = connection;
connection->private = master; connection->private = master;
ret = gb_spi_init(spi); /* get master configuration */
ret = gb_spi_get_master_config(spi);
if (ret) if (ret)
goto out_put_master; goto out_put_master;
......
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