]> err.no Git - linux-2.6/blobdiff - drivers/spi/spi_s3c24xx.c
mmc: pxamci: set proper block capabilities according to PXA flavor
[linux-2.6] / drivers / spi / spi_s3c24xx.c
index b10211c420ef1640052892f2d8c686d6e80f442e..e9b683f7d7b3bc7f77d0e3e55b611cf09b0f96ea 100644 (file)
@@ -28,7 +28,7 @@
 #include <asm/hardware.h>
 
 #include <asm/arch/regs-gpio.h>
-#include <asm/arch/regs-spi.h>
+#include <asm/plat-s3c24xx/regs-spi.h>
 #include <asm/arch/spi.h>
 
 struct s3c24xx_spi {
@@ -146,6 +146,9 @@ static int s3c24xx_spi_setupxfer(struct spi_device *spi,
        return 0;
 }
 
+/* the spi->mode bits understood by this driver: */
+#define MODEBITS (SPI_CPOL | SPI_CPHA | SPI_CS_HIGH)
+
 static int s3c24xx_spi_setup(struct spi_device *spi)
 {
        int ret;
@@ -153,8 +156,11 @@ static int s3c24xx_spi_setup(struct spi_device *spi)
        if (!spi->bits_per_word)
                spi->bits_per_word = 8;
 
-       if ((spi->mode & SPI_LSB_FIRST) != 0)
+       if (spi->mode & ~MODEBITS) {
+               dev_dbg(&spi->dev, "setup: unsupported mode bits %x\n",
+                       spi->mode & ~MODEBITS);
                return -EINVAL;
+       }
 
        ret = s3c24xx_spi_setupxfer(spi, NULL);
        if (ret < 0) {
@@ -342,8 +348,6 @@ static int s3c24xx_spi_probe(struct platform_device *pdev)
                goto err_register;
        }
 
-       dev_dbg(hw->dev, "shutdown=%d\n", hw->bitbang.shutdown);
-
        /* register all the devices associated */
 
        bi = &hw->pdata->board_info[0];
@@ -423,6 +427,7 @@ static int s3c24xx_spi_resume(struct platform_device *pdev)
 #define s3c24xx_spi_resume  NULL
 #endif
 
+MODULE_ALIAS("s3c2410_spi");                   /* for platform bus hotplug */
 static struct platform_driver s3c24xx_spidrv = {
        .probe          = s3c24xx_spi_probe,
        .remove         = s3c24xx_spi_remove,