Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[safe/jmp/linux-2.6] / drivers / scsi / sgiwd93.c
index 26cfc56..fef0e3c 100644 (file)
@@ -226,7 +226,7 @@ static struct scsi_host_template sgiwd93_template = {
        .use_clustering         = DISABLE_CLUSTERING,
 };
 
-static int __init sgiwd93_probe(struct platform_device *pdev)
+static int __devinit sgiwd93_probe(struct platform_device *pdev)
 {
        struct sgiwd93_platform_data *pd = pdev->dev.platform_data;
        unsigned char *wdregs = pd->wdregs;
@@ -263,10 +263,11 @@ static int __init sgiwd93_probe(struct platform_device *pdev)
        regs.SASR = wdregs + 3;
        regs.SCMD = wdregs + 7;
 
-       wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_MHZ(20));
+       hdata->wh.no_sync = 0;
+       hdata->wh.fast = 1;
+       hdata->wh.dma_mode = CTRL_BURST;
 
-       if (hdata->wh.no_sync == 0xff)
-               hdata->wh.no_sync = 0;
+       wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_MHZ(20));
 
        err = request_irq(irq, sgiwd93_intr, 0, "SGI WD93", host);
        if (err) {
@@ -296,7 +297,7 @@ out:
        return err;
 }
 
-static void __exit sgiwd93_remove(struct platform_device *pdev)
+static int __exit sgiwd93_remove(struct platform_device *pdev)
 {
        struct Scsi_Host *host = platform_get_drvdata(pdev);
        struct ip22_hostdata *hdata = (struct ip22_hostdata *) host->hostdata;
@@ -306,13 +307,15 @@ static void __exit sgiwd93_remove(struct platform_device *pdev)
        free_irq(pd->irq, host);
        dma_free_noncoherent(&pdev->dev, HPC_DMA_SIZE, hdata->cpu, hdata->dma);
        scsi_host_put(host);
+       return 0;
 }
 
 static struct platform_driver sgiwd93_driver = {
        .probe  = sgiwd93_probe,
        .remove = __devexit_p(sgiwd93_remove),
        .driver = {
-               .name   = "sgiwd93"
+               .name   = "sgiwd93",
+               .owner  = THIS_MODULE,
        }
 };
 
@@ -332,3 +335,4 @@ module_exit(sgiwd93_module_exit);
 MODULE_DESCRIPTION("SGI WD33C93 driver");
 MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:sgiwd93");