[PATCH v2 06/13] staging: Replace all spi->chip_select and spi->cs_gpiod references with function call
Michal Simek
michal.simek at amd.com
Mon Jan 23 04:47:38 PST 2023
On 1/19/23 19:53, Amit Kumar Mahapatra wrote:
> Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
> members of struct spi_device to be an array. But changing the type of these
> members to array would break the spi driver functionality. To make the
> transition smoother introduced four new APIs to get/set the
> spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
> spi->cs_gpiod references with get or set API calls.
> While adding multi-cs support in further patches the chip_select & cs_gpiod
> members of the spi_device structure would be converted to arrays & the
> "idx" parameter of the APIs would be used as array index i.e.,
> spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
>
> Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra at amd.com>
> ---
> drivers/staging/fbtft/fbtft-core.c | 2 +-
> drivers/staging/greybus/spilib.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
> index afaba94d1d1c..3a4abf3bae40 100644
> --- a/drivers/staging/fbtft/fbtft-core.c
> +++ b/drivers/staging/fbtft/fbtft-core.c
> @@ -840,7 +840,7 @@ int fbtft_register_framebuffer(struct fb_info *fb_info)
> sprintf(text1, ", %zu KiB buffer memory", par->txbuf.len >> 10);
> if (spi)
> sprintf(text2, ", spi%d.%d at %d MHz", spi->master->bus_num,
> - spi->chip_select, spi->max_speed_hz / 1000000);
> + spi_get_chipselect(spi, 0), spi->max_speed_hz / 1000000);
> dev_info(fb_info->dev,
> "%s frame buffer, %dx%d, %d KiB video memory%s, fps=%lu%s\n",
> fb_info->fix.id, fb_info->var.xres, fb_info->var.yres,
> diff --git a/drivers/staging/greybus/spilib.c b/drivers/staging/greybus/spilib.c
> index ad0700a0bb81..efb3bec58e15 100644
> --- a/drivers/staging/greybus/spilib.c
> +++ b/drivers/staging/greybus/spilib.c
> @@ -237,7 +237,7 @@ static struct gb_operation *gb_spi_operation_create(struct gb_spilib *spi,
> request = operation->request->payload;
> request->count = cpu_to_le16(count);
> request->mode = dev->mode;
> - request->chip_select = dev->chip_select;
> + request->chip_select = spi_get_chipselect(dev, 0);
>
> gb_xfer = &request->transfers[0];
> tx_data = gb_xfer + count; /* place tx data after last gb_xfer */
Reviewed-by: Michal Simek <michal.simek at amd.com>
Thanks,
Michal
More information about the linux-amlogic
mailing list