Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −21
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ struct gb_spi {
	u8			num_chipselect;
	u32			min_speed_hz;
	u32			max_speed_hz;
	struct spi_device	*spi_devices;
};

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)
	struct gb_spi_device_config_request request;
	struct gb_spi_device_config_response response;
	struct spi_board_info spi_board = { {0} };
	struct spi_device *spidev = &spi->spi_devices[cs];
	struct spi_device *spidev;
	int ret;

	request.chip_select = cs;
@@ -308,24 +307,6 @@ static int gb_spi_setup_device(struct gb_spi *spi, u8 cs)
	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)
{
	struct gb_spi *spi;
@@ -344,7 +325,8 @@ static int gb_spi_connection_init(struct gb_connection *connection)
	spi->connection = connection;
	connection->private = master;

	ret = gb_spi_init(spi);
	/* get master configuration */
	ret = gb_spi_get_master_config(spi);
	if (ret)
		goto out_put_master;