rtc: don't use __exit_p to wrap ds1302_rtc_remove
[safe/jmp/linux-2.6] / drivers / spi / xilinx_spi.c
index 494d3f7..46b8c5c 100644 (file)
@@ -158,9 +158,6 @@ static int xilinx_spi_setup_transfer(struct spi_device *spi,
        return 0;
 }
 
-/* the spi->mode bits understood by this driver: */
-#define MODEBITS (SPI_CPOL | SPI_CPHA)
-
 static int xilinx_spi_setup(struct spi_device *spi)
 {
        struct spi_bitbang *bitbang;
@@ -170,22 +167,10 @@ static int xilinx_spi_setup(struct spi_device *spi)
        xspi = spi_master_get_devdata(spi->master);
        bitbang = &xspi->bitbang;
 
-       if (!spi->bits_per_word)
-               spi->bits_per_word = 8;
-
-       if (spi->mode & ~MODEBITS) {
-               dev_err(&spi->dev, "%s, unsupported mode bits %x\n",
-                       __func__, spi->mode & ~MODEBITS);
-               return -EINVAL;
-       }
-
        retval = xilinx_spi_setup_transfer(spi, NULL);
        if (retval < 0)
                return retval;
 
-       dev_dbg(&spi->dev, "%s, mode %d, %u bits/w, %u nsec/bit\n",
-               __func__, spi->mode & MODEBITS, spi->bits_per_word, 0);
-
        return 0;
 }
 
@@ -333,6 +318,9 @@ static int __init xilinx_spi_of_probe(struct of_device *ofdev,
                goto put_master;
        }
 
+       /* the spi->mode bits understood by this driver: */
+       master->mode_bits = SPI_CPOL | SPI_CPHA;
+
        xspi = spi_master_get_devdata(master);
        xspi->bitbang.master = spi_master_get(master);
        xspi->bitbang.chipselect = xilinx_spi_chipselect;