diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2007-02-05 19:28:29 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-09 11:23:17 -0500 |
commit | 4df4db5c6c6daeb10a8693d09ce872bce8cd84e6 (patch) | |
tree | 7ec7632d88253f41c4b4a2faf0f404f661ed6f50 /drivers/scsi/NCR53C9x.c | |
parent | 335dc50cec2891026bd51e46769fc12365b6e475 (diff) |
[TC] dec_esp: Driver model for the PMAZ-A
This is a set of changes that converts the PMAZ-A support to the driver model.
The use of the driver model required switching to the hotplug SCSI
initialization model, which in turn required a change to the core NCR53C9x
driver. I decided not to break all the frontend drivers and introduced an
additional parameter for esp_allocate() to select between the old and the new
model. I hope this is OK, but I would be fine with converting NCR53C9x to the
new model unconditionally as long as I do not have to fix all the other
frontends (OK, perhaps I could do some of them ;-) ).
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers/scsi/NCR53C9x.c')
-rw-r--r-- | drivers/scsi/NCR53C9x.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/scsi/NCR53C9x.c b/drivers/scsi/NCR53C9x.c index 3c912ee29da0..8b5334c56f0a 100644 --- a/drivers/scsi/NCR53C9x.c +++ b/drivers/scsi/NCR53C9x.c | |||
@@ -528,12 +528,16 @@ void esp_bootup_reset(struct NCR_ESP *esp, struct ESP_regs *eregs) | |||
528 | /* Allocate structure and insert basic data such as SCSI chip frequency | 528 | /* Allocate structure and insert basic data such as SCSI chip frequency |
529 | * data and a pointer to the device | 529 | * data and a pointer to the device |
530 | */ | 530 | */ |
531 | struct NCR_ESP* esp_allocate(struct scsi_host_template *tpnt, void *esp_dev) | 531 | struct NCR_ESP* esp_allocate(struct scsi_host_template *tpnt, void *esp_dev, |
532 | int hotplug) | ||
532 | { | 533 | { |
533 | struct NCR_ESP *esp, *elink; | 534 | struct NCR_ESP *esp, *elink; |
534 | struct Scsi_Host *esp_host; | 535 | struct Scsi_Host *esp_host; |
535 | 536 | ||
536 | esp_host = scsi_register(tpnt, sizeof(struct NCR_ESP)); | 537 | if (hotplug) |
538 | esp_host = scsi_host_alloc(tpnt, sizeof(struct NCR_ESP)); | ||
539 | else | ||
540 | esp_host = scsi_register(tpnt, sizeof(struct NCR_ESP)); | ||
537 | if(!esp_host) | 541 | if(!esp_host) |
538 | panic("Cannot register ESP SCSI host"); | 542 | panic("Cannot register ESP SCSI host"); |
539 | esp = (struct NCR_ESP *) esp_host->hostdata; | 543 | esp = (struct NCR_ESP *) esp_host->hostdata; |