spi: Add APIs in spi core to set/get spi->chip_select and spi->cs_gpiod
authorAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
Thu, 19 Jan 2023 18:53:30 +0000 (00:23 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 1 Feb 2023 15:08:37 +0000 (15:08 +0000)
commit303feb3cc06ac0665d0ee9c1414941200e60e8a3
treeeb535e550fd3531aa7cfaf80d23b63fcc76a16d8
parent1b929c02afd37871d5afb9d498426f83432e71c2
spi: Add APIs in spi core to set/get spi->chip_select and spi->cs_gpiod

Supporting multi-cs in spi core and spi controller 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 in spi core with the 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.

Suggested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20230119185342.2093323-2-amit.kumar-mahapatra@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c
include/linux/spi/spi.h