#include <linux/eisa.h>
#include <linux/interrupt.h>
#include <scsi/scsi_host.h>
+#include <scsi/scsi_device.h>
+#include <scsi/scsi_transport.h>
+#include <scsi/scsi_transport_spi.h>
#include "53c700.h"
MODULE_DESCRIPTION("Simple NCR53C710 driver");
MODULE_LICENSE("GPL");
-MODULE_PARM(sim710, "s");
+module_param(sim710, charp, 0);
#ifdef MODULE
#define ARG_SEP ' '
NCR_700_set_io_mapped(hostdata);
/* and register the chip */
- if((host = NCR_700_detect(&sim710_driver_template, hostdata)) == NULL) {
+ if((host = NCR_700_detect(&sim710_driver_template, hostdata, dev, irq,
+ scsi_id)) == NULL) {
printk(KERN_ERR "sim710: No host detected; card configuration problem?\n");
goto out_release;
}
- host->irq = irq;
- host->this_id = scsi_id;
-
- if(request_irq(irq, NCR_700_intr, SA_SHIRQ, "sim710", host)) {
- printk(KERN_ERR "sim710: irq problem with %d, detaching\n",
- irq);
- goto out_unregister;
- }
-
- scsi_add_host(host, dev); /* XXX handle failure */
scsi_scan_host(host);
- hostdata->dev = dev;
return 0;
- out_unregister:
- scsi_host_put(host);
out_release:
release_region(host->base, 64);
out_free: