spi: remove spi_set_cs_timing()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jun 2021 07:19:18 +0000 (09:19 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 9 Jun 2021 10:55:46 +0000 (11:55 +0100)
No one seems to be using this global and exported function, so remove it
as it is no longer needed.

Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210609071918.2852069-1-gregkh@linuxfoundation.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c
include/linux/spi/spi.h

index ac892cc..a0a2326 100644 (file)
@@ -3472,79 +3472,6 @@ int spi_setup(struct spi_device *spi)
 }
 EXPORT_SYMBOL_GPL(spi_setup);
 
-/**
- * spi_set_cs_timing - configure CS setup, hold, and inactive delays
- * @spi: the device that requires specific CS timing configuration
- * @setup: CS setup time specified via @spi_delay
- * @hold: CS hold time specified via @spi_delay
- * @inactive: CS inactive delay between transfers specified via @spi_delay
- *
- * Return: zero on success, else a negative error code.
- */
-int spi_set_cs_timing(struct spi_device *spi, struct spi_delay *setup,
-                     struct spi_delay *hold, struct spi_delay *inactive)
-{
-       struct device *parent = spi->controller->dev.parent;
-       size_t len;
-       int status;
-
-       if (spi->controller->set_cs_timing &&
-           !(spi->cs_gpiod || gpio_is_valid(spi->cs_gpio))) {
-               mutex_lock(&spi->controller->io_mutex);
-
-               if (spi->controller->auto_runtime_pm) {
-                       status = pm_runtime_get_sync(parent);
-                       if (status < 0) {
-                               mutex_unlock(&spi->controller->io_mutex);
-                               pm_runtime_put_noidle(parent);
-                               dev_err(&spi->controller->dev, "Failed to power device: %d\n",
-                                       status);
-                               return status;
-                       }
-
-                       status = spi->controller->set_cs_timing(spi, setup,
-                                                               hold, inactive);
-                       pm_runtime_mark_last_busy(parent);
-                       pm_runtime_put_autosuspend(parent);
-               } else {
-                       status = spi->controller->set_cs_timing(spi, setup, hold,
-                                                             inactive);
-               }
-
-               mutex_unlock(&spi->controller->io_mutex);
-               return status;
-       }
-
-       if ((setup && setup->unit == SPI_DELAY_UNIT_SCK) ||
-           (hold && hold->unit == SPI_DELAY_UNIT_SCK) ||
-           (inactive && inactive->unit == SPI_DELAY_UNIT_SCK)) {
-               dev_err(&spi->dev,
-                       "Clock-cycle delays for CS not supported in SW mode\n");
-               return -ENOTSUPP;
-       }
-
-       len = sizeof(struct spi_delay);
-
-       /* copy delays to controller */
-       if (setup)
-               memcpy(&spi->controller->cs_setup, setup, len);
-       else
-               memset(&spi->controller->cs_setup, 0, len);
-
-       if (hold)
-               memcpy(&spi->controller->cs_hold, hold, len);
-       else
-               memset(&spi->controller->cs_hold, 0, len);
-
-       if (inactive)
-               memcpy(&spi->controller->cs_inactive, inactive, len);
-       else
-               memset(&spi->controller->cs_inactive, 0, len);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(spi_set_cs_timing);
-
 static int _spi_xfer_word_delay_update(struct spi_transfer *xfer,
                                       struct spi_device *spi)
 {
index 74239d6..f924160 100644 (file)
@@ -1108,11 +1108,6 @@ static inline void spi_message_free(struct spi_message *m)
        kfree(m);
 }
 
-extern int spi_set_cs_timing(struct spi_device *spi,
-                            struct spi_delay *setup,
-                            struct spi_delay *hold,
-                            struct spi_delay *inactive);
-
 extern int spi_setup(struct spi_device *spi);
 extern int spi_async(struct spi_device *spi, struct spi_message *message);
 extern int spi_async_locked(struct spi_device *spi,