]> git.karo-electronics.de Git - linux-beck.git/commitdiff
spi: davinci: set chip-select mode in SPIDEF only once
authorBrian Niebuhr <bniebuhr@efjohnson.com>
Thu, 12 Aug 2010 07:19:05 +0000 (12:49 +0530)
committerSekhar Nori <nsekhar@ti.com>
Thu, 18 Nov 2010 13:08:24 +0000 (18:38 +0530)
Quit writing the same constant value determining the chip-select
mode when no transmissions are in progress in davinci_spi_chipelect().

Instead just setup the SPIDEF register once during probe.

Signed-off-by: Brian Niebuhr <bniebuhr@efjohnson.com>
Tested-By: Michael Williamson <michael.williamson@criticallink.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
drivers/spi/davinci_spi.c

index 76decda0c8da2325ed6e6485abf2519539ec763a..d6b6a49580887e9075ad5e14045901fc9e1dd2b6 100644 (file)
@@ -245,8 +245,6 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
         * line for the controller
         */
        if (value == BITBANG_CS_INACTIVE) {
-               set_io_bits(davinci_spi->base + SPIDEF, CS_DEFAULT);
-
                data1_reg_val |= CS_DEFAULT << SPIDAT1_CSNR_SHIFT;
                iowrite32(data1_reg_val, davinci_spi->base + SPIDAT1);
 
@@ -1132,6 +1130,8 @@ static int davinci_spi_probe(struct platform_device *pdev)
                clear_io_bits(davinci_spi->base + SPIGCR1,
                                SPIGCR1_CLKMOD_MASK);
 
+       iowrite32(CS_DEFAULT, davinci_spi->base + SPIDEF);
+
        /* master mode default */
        set_io_bits(davinci_spi->base + SPIGCR1, SPIGCR1_MASTER_MASK);