diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.31/400-s3c-spi-gpio.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.31/400-s3c-spi-gpio.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.31/400-s3c-spi-gpio.patch b/target/linux/s3c24xx/patches-2.6.31/400-s3c-spi-gpio.patch new file mode 100644 index 0000000000..5e24539a91 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.31/400-s3c-spi-gpio.patch @@ -0,0 +1,36 @@ +--- a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h ++++ b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h +@@ -21,7 +21,8 @@ struct s3c2410_spigpio_info { + int num_chipselect; + int bus_num; + +- void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs); ++ int non_blocking_transfer; ++ void (*chip_select)(struct s3c2410_spigpio_info *spi, int csid, int cs); + }; + + +--- a/drivers/spi/spi_s3c24xx_gpio.c ++++ b/drivers/spi/spi_s3c24xx_gpio.c +@@ -92,7 +92,7 @@ static void s3c2410_spigpio_chipselect(s + struct s3c2410_spigpio *sg = spidev_to_sg(dev); + + if (sg->info && sg->info->chip_select) +- (sg->info->chip_select)(sg->info, value); ++ (sg->info->chip_select)(sg->info, dev->chip_select, value); + } + + static int s3c2410_spigpio_probe(struct platform_device *dev) +@@ -113,9 +113,11 @@ static int s3c2410_spigpio_probe(struct + + platform_set_drvdata(dev, sp); + +- /* copy in the plkatform data */ ++ /* copy in the platform data */ + info = sp->info = dev->dev.platform_data; + ++ master->num_chipselect = info->num_chipselect; ++ + /* setup spi bitbang adaptor */ + sp->bitbang.master = spi_master_get(master); + sp->bitbang.master->bus_num = info->bus_num; |