spi: qup: support using GPIO as chip select line
authorRobert Marko <robert.marko@sartura.hr>
Thu, 6 Oct 2022 19:48:19 +0000 (21:48 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 17 Oct 2022 11:46:59 +0000 (12:46 +0100)
Most of the device with QUP SPI adapter are actually using GPIO-s for
chip select.

However, this stopped working after ("spi: Retire legacy GPIO handling")
as it introduced a check on ->use_gpio_descriptors flag and since spi-qup
driver does not set the flag it meant that all of boards using GPIO-s and
with QUP adapter SPI devices stopped working.

So, to enable using GPIO-s again set ->use_gpio_descriptors to true and
populate ->max_native_cs.

Fixes: f48dc6b96649 ("spi: Retire legacy GPIO handling")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Cc: luka.perkov@sartura.hr
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20221006194819.1536932-1-robert.marko@sartura.hr
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-qup.c

index 7d89510..678dc51 100644 (file)
@@ -1057,6 +1057,8 @@ static int spi_qup_probe(struct platform_device *pdev)
        else
                master->num_chipselect = num_cs;
 
+       master->use_gpio_descriptors = true;
+       master->max_native_cs = SPI_NUM_CHIPSELECTS;
        master->bus_num = pdev->id;
        master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
        master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);