]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/spi/spi_bfin5xx.c
spi: fix platform driver hotplug/coldplug
[linux-2.6-omap-h63xx.git] / drivers / spi / spi_bfin5xx.c
index d853fceb6bf01bebfa9f3386a6dee184dbc21c20..a9ac1fdb30948c5eba8ff864d0ee156d8db7e247 100644 (file)
@@ -713,8 +713,8 @@ static void pump_transfers(unsigned long data)
        } else {
                drv_data->len = transfer->len;
        }
-       dev_dbg(&drv_data->pdev->dev, "transfer: ",
-               "drv_data->write is %p, chip->write is %p, null_wr is %p\n",
+       dev_dbg(&drv_data->pdev->dev,
+               "transfer: drv_data->write is %p, chip->write is %p, null_wr is %p\n",
                drv_data->write, chip->write, null_writer);
 
        /* speed and width has been set on per message */
@@ -1294,6 +1294,12 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
                goto out_error_queue_alloc;
        }
 
+       status = peripheral_request_list(drv_data->pin_req, DRV_NAME);
+       if (status != 0) {
+               dev_err(&pdev->dev, ": Requesting Peripherals failed\n");
+               goto out_error_queue_alloc;
+       }
+
        /* Register with the SPI framework */
        platform_set_drvdata(pdev, drv_data);
        status = spi_register_master(master);
@@ -1302,12 +1308,6 @@ static int __init bfin5xx_spi_probe(struct platform_device *pdev)
                goto out_error_queue_alloc;
        }
 
-       status = peripheral_request_list(drv_data->pin_req, DRV_NAME);
-       if (status != 0) {
-               dev_err(&pdev->dev, ": Requesting Peripherals failed\n");
-               goto out_error;
-       }
-
        dev_info(dev, "%s, Version %s, regs_base@%p, dma channel@%d\n",
                DRV_DESC, DRV_VERSION, drv_data->regs_base,
                drv_data->dma_channel);
@@ -1319,7 +1319,6 @@ out_error_no_dma_ch:
        iounmap((void *) drv_data->regs_base);
 out_error_ioremap:
 out_error_get_res:
-out_error:
        spi_master_put(master);
 
        return status;
@@ -1397,7 +1396,7 @@ static int bfin5xx_spi_resume(struct platform_device *pdev)
 #define bfin5xx_spi_resume NULL
 #endif                         /* CONFIG_PM */
 
-MODULE_ALIAS("bfin-spi-master");       /* for platform bus hotplug */
+MODULE_ALIAS("platform:bfin-spi");
 static struct platform_driver bfin5xx_spi_driver = {
        .driver = {
                .name   = DRV_NAME,