serial: sc16is7xx: set safe default SPI clock frequency
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Thu, 21 Dec 2023 23:18:10 +0000 (18:18 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:49 +0000 (15:35 -0800)
commit 3ef79cd1412236d884ab0c46b4d1921380807b48 upstream.

15 MHz is supported only by 76x variants.

If the SPI clock frequency is not specified, use a safe default clock value
of 4 MHz that is supported by all variants.

Also use HZ_PER_MHZ macro to improve readability.

Fixes: 2c837a8a8f9f ("sc16is7xx: spi interface is added")
Cc: <stable@vger.kernel.org>
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://lore.kernel.org/r/20231221231823.2327894-4-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c

index 68706e5..6aeb821 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/tty_flip.h>
 #include <linux/spi/spi.h>
 #include <linux/uaccess.h>
+#include <linux/units.h>
 #include <uapi/linux/sched/types.h>
 
 #define SC16IS7XX_NAME                 "sc16is7xx"
@@ -1719,7 +1720,7 @@ static int sc16is7xx_spi_probe(struct spi_device *spi)
                return dev_err_probe(&spi->dev, -EINVAL, "Unsupported SPI mode\n");
 
        spi->mode               = spi->mode ? : SPI_MODE_0;
-       spi->max_speed_hz       = spi->max_speed_hz ? : 15000000;
+       spi->max_speed_hz       = spi->max_speed_hz ? : 4 * HZ_PER_MHZ;
        ret = spi_setup(spi);
        if (ret)
                return ret;