spi: spi_s3c24xx must initialize bus_num
Ben Dooks [Tue, 15 Apr 2008 21:34:45 +0000 (14:34 -0700)]
Pass the bus number we expect the S3C24XX SPI driver to attach to via the
platform data.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

drivers/spi/spi_s3c24xx.c

index 6f2c79d..80719ef 100644 (file)
@@ -238,6 +238,7 @@ static irqreturn_t s3c24xx_spi_irq(int irq, void *dev)
 
 static int __init s3c24xx_spi_probe(struct platform_device *pdev)
 {
+       struct s3c2410_spi_info *pdata;
        struct s3c24xx_spi *hw;
        struct spi_master *master;
        struct resource *res;
@@ -254,10 +255,10 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev)
        memset(hw, 0, sizeof(struct s3c24xx_spi));
 
        hw->master = spi_master_get(master);
-       hw->pdata = pdev->dev.platform_data;
+       hw->pdata = pdata = pdev->dev.platform_data;
        hw->dev = &pdev->dev;
 
-       if (hw->pdata == NULL) {
+       if (pdata == NULL) {
                dev_err(&pdev->dev, "No platform data supplied\n");
                err = -ENOENT;
                goto err_no_pdata;
@@ -333,13 +334,13 @@ static int __init s3c24xx_spi_probe(struct platform_device *pdev)
 
        /* setup any gpio we can */
 
-       if (!hw->pdata->set_cs) {
+       if (!pdata->set_cs) {
                hw->set_cs = s3c24xx_spi_gpiocs;
 
-               s3c2410_gpio_setpin(hw->pdata->pin_cs, 1);
-               s3c2410_gpio_cfgpin(hw->pdata->pin_cs, S3C2410_GPIO_OUTPUT);
+               s3c2410_gpio_setpin(pdata->pin_cs, 1);
+               s3c2410_gpio_cfgpin(pdata->pin_cs, S3C2410_GPIO_OUTPUT);
        } else
-               hw->set_cs = hw->pdata->set_cs;
+               hw->set_cs = pdata->set_cs;
 
        /* register our spi controller */