spi: move more spi_setup() functionality into core
[pandora-kernel.git] / drivers / spi / atmel_spi.c
index 9f9ff3a..f5b3fdb 100644 (file)
@@ -530,9 +530,6 @@ atmel_spi_interrupt(int irq, void *dev_id)
        return ret;
 }
 
-/* the spi->mode bits understood by this driver: */
-#define MODEBITS (SPI_CPOL | SPI_CPHA | SPI_CS_HIGH)
-
 static int atmel_spi_setup(struct spi_device *spi)
 {
        struct atmel_spi        *as;
@@ -562,12 +559,6 @@ static int atmel_spi_setup(struct spi_device *spi)
                return -EINVAL;
        }
 
-       if (spi->mode & ~MODEBITS) {
-               dev_dbg(&spi->dev, "setup: unsupported mode bits %x\n",
-                       spi->mode & ~MODEBITS);
-               return -EINVAL;
-       }
-
        /* see notes above re chipselect */
        if (!atmel_spi_is_v2()
                        && spi->chip_select == 0
@@ -773,6 +764,9 @@ static int __init atmel_spi_probe(struct platform_device *pdev)
        if (!master)
                goto out_free;
 
+       /* the spi->mode bits understood by this driver: */
+       master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
+
        master->bus_num = pdev->id;
        master->num_chipselect = 4;
        master->setup = atmel_spi_setup;