diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-04-15 17:34:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-15 22:35:41 -0400 |
commit | d1e7780638a9192f15caf590e0081bf915fdef71 (patch) | |
tree | 82c5419927d9bfaf77aecede0054a815aea058f3 | |
parent | 50f426b55d919dd017af35bb6a08753d1f262920 (diff) |
spi: spi_s3c24xx must initialize num_chipselect
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>
-rw-r--r-- | drivers/spi/spi_s3c24xx.c | 4 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/spi.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/spi/spi_s3c24xx.c b/drivers/spi/spi_s3c24xx.c index 80719ef54365..b7476b888197 100644 --- a/drivers/spi/spi_s3c24xx.c +++ b/drivers/spi/spi_s3c24xx.c | |||
@@ -267,6 +267,10 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev) | |||
267 | platform_set_drvdata(pdev, hw); | 267 | platform_set_drvdata(pdev, hw); |
268 | init_completion(&hw->done); | 268 | init_completion(&hw->done); |
269 | 269 | ||
270 | /* setup the master state. */ | ||
271 | |||
272 | master->num_chipselect = hw->pdata->num_cs; | ||
273 | |||
270 | /* setup the state for the bitbang driver */ | 274 | /* setup the state for the bitbang driver */ |
271 | 275 | ||
272 | hw->bitbang.master = hw->master; | 276 | hw->bitbang.master = hw->master; |
diff --git a/include/asm-arm/arch-s3c2410/spi.h b/include/asm-arm/arch-s3c2410/spi.h index 7ca0ed97a6d0..352d33860b63 100644 --- a/include/asm-arm/arch-s3c2410/spi.h +++ b/include/asm-arm/arch-s3c2410/spi.h | |||
@@ -15,6 +15,7 @@ | |||
15 | 15 | ||
16 | struct s3c2410_spi_info { | 16 | struct s3c2410_spi_info { |
17 | unsigned long pin_cs; /* simple gpio cs */ | 17 | unsigned long pin_cs; /* simple gpio cs */ |
18 | unsigned int num_cs; /* total chipselects */ | ||
18 | 19 | ||
19 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); | 20 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); |
20 | }; | 21 | }; |