]> err.no Git - linux-2.6/commitdiff
spi: spi_s3c24xx must initialize num_chipselect
authorBen Dooks <ben-linux@fluff.org>
Tue, 15 Apr 2008 21:34:46 +0000 (14:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Apr 2008 02:35:41 +0000 (19:35 -0700)
The SPI core now expects num_chipselect to be set correctly as due to added
checks on the chip being selected before an transfer is allowed.  This patch
adds a num_cs field to the platform data which needs to be set correctly
before adding the SPI platform device.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/spi/spi_s3c24xx.c
include/asm-arm/arch-s3c2410/spi.h

index 80719ef5436500dd0acd00e7a280c6ee1dcbc7c8..b7476b888197c7872ce24cde39a552f9c74095b4 100644 (file)
@@ -267,6 +267,10 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, hw);
        init_completion(&hw->done);
 
+       /* setup the master state. */
+
+       master->num_chipselect = hw->pdata->num_cs;
+
        /* setup the state for the bitbang driver */
 
        hw->bitbang.master         = hw->master;
index 7ca0ed97a6d0fd7e457c8b9549ba98c98dbf28b4..352d33860b6383a6584011edb5239b23b3ebcd1b 100644 (file)
@@ -15,6 +15,7 @@
 
 struct s3c2410_spi_info {
        unsigned long            pin_cs;        /* simple gpio cs */
+       unsigned int             num_cs;        /* total chipselects */
 
        void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
 };