small lasi700 update
PATCH 1/1 small lasi700 update
- move the struct parisc_driver down like in most drivers, avoids two forward-declarations
- give lasi700_scsi_tbl and lasi700_driver_callback sensible names
- properly return -ENOMEM instead of 1 on kmalloc failure
- check scsi_add_host return value
drivers/scsi/lasi700.c +14 -12
@@ -59,7 +59,7 @@MODULE_DESCRIPTION ("lasi700 SCSI Driver" );MODULE_LICENSE ("GPL" ); -static struct parisc_device_id lasi700_scsi_tbl[] = { +static struct parisc_device_id lasi700_ids[] = {LASI700_ID_TABLE ,LASI710_ID_TABLE , {0 }
@@ -72,15 +72,8 @@ };MODULE_DEVICE_TABLE (parisc, lasi700_scsi_tbl); -static struct parisc_driver lasi700_driver = { - .name ="Lasi SCSI" , - .id_table = lasi700_scsi_tbl, - .probe = lasi700_driver_callback, - .remove =__devexit_p (lasi700_driver_remove), -}; -static int __init -lasi700_driver_callback (struct parisc_device *dev) +lasi700_probe (struct parisc_device *dev) {unsigned long base = dev->hpa +LASI_SCSI_CORE_OFFSET ;struct NCR_700_Host_Parameters *hostdata;
@@ -90,7 +83,7 @@if (!hostdata) {printk (KERN_ERR "%s: Failed to allocate host data\n" , dev->dev.bus_id); -return 1 ; +return -ENOMEM ; }memset (hostdata,0 ,sizeof (struct NCR_700_Host_Parameters ));
@@ -123,15 +116,17 @@ goto out_put_host; } +if (scsi_add_host (host, &dev->dev)) + goto out_free_irq;dev_set_drvdata (&dev->dev, host); -scsi_add_host (host, &dev->dev);/* XXX handle failure */ scsi_scan_host (host);return 0 ; + out_free_irq: +free_irq (host->irq, host); out_put_host:scsi_host_put (host); - out_kfree:kfree (hostdata);return -ENODEV ;
@@ -151,6 +146,13 @@return 0 ; } + +static struct parisc_driver lasi700_driver = { + .name ="Lasi SCSI" , + .id_table = lasi700_ids, + .probe = lasi700_probe, + .remove =__devexit_p (lasi700_driver_remove), +};static int __init lasi700_init (void )
drivers/scsi/lasi700.h +0 -3
@@ -25,9 +25,6 @@#ifndef _LASI700_H#define _LASI700_H -static int lasi700_driver_callback (struct parisc_device *dev); -static int lasi700_driver_remove (struct parisc_device *dev); -#define LASI_710_SVERSION 0x082#define LASI_700_SVERSION 0x071