]> Pileus Git - ~andy/linux/blobdiff - drivers/spi/spi-imx.c
Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / spi / spi-imx.c
index e834ff8c0188281dc0fe25304c31df4294afde5f..c9a0d8467de6a5b275c0bcd735e2c0e155fb3b7c 100644 (file)
@@ -39,7 +39,7 @@
 #include <linux/of_gpio.h>
 #include <linux/pinctrl/consumer.h>
 
-#include <mach/spi.h>
+#include <linux/platform_data/spi-imx.h>
 
 #define DRIVER_NAME "spi_imx"
 
@@ -97,7 +97,7 @@ struct spi_imx_data {
        const void *tx_buf;
        unsigned int txfifo; /* number of words pushed in tx FIFO */
 
-       struct spi_imx_devtype_data *devtype_data;
+       const struct spi_imx_devtype_data *devtype_data;
        int chipselect[0];
 };
 
@@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin,
 #define MX51_ECSPI_CONFIG_SCLKPOL(cs)  (1 << ((cs) +  4))
 #define MX51_ECSPI_CONFIG_SBBCTRL(cs)  (1 << ((cs) +  8))
 #define MX51_ECSPI_CONFIG_SSBPOL(cs)   (1 << ((cs) + 12))
+#define MX51_ECSPI_CONFIG_SCLKCTL(cs)  (1 << ((cs) + 20))
 
 #define MX51_ECSPI_INT         0x10
 #define MX51_ECSPI_INT_TEEN            (1 <<  0)
@@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
        if (config->mode & SPI_CPHA)
                cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs);
 
-       if (config->mode & SPI_CPOL)
+       if (config->mode & SPI_CPOL) {
                cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs);
-
+               cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs);
+       }
        if (config->mode & SPI_CS_HIGH)
                cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs);