atari_NCR5380: Introduce FLAG_TAGGED_QUEUING

The static variable setup_use_tagged_queuing is declared in mac_scsi.c,
sun3_scsi.c and atari_scsi.c and doesn't belong in the core driver.
None of the other NCR5380 drivers suffer from this layering issue which
makes merging the core drivers more difficult and will likely hinder plans
for future use of platform data to configure the driver.

Replace the static variable with a host flag. This way it can be reported
along with the other flags.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Michael Schmitz <schmitzmic@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Finn Thain
2014-11-12 16:12:19 +11:00
committed by Christoph Hellwig
parent ff50f9ed0f
commit ca513fc948
5 changed files with 28 additions and 23 deletions

View File

@@ -522,6 +522,7 @@ static int __init sun3_scsi_probe(struct platform_device *pdev)
int error;
struct resource *irq, *mem;
unsigned char *ioaddr;
int host_flags = 0;
#ifdef SUN3_SCSI_VME
int i;
#endif
@@ -535,11 +536,6 @@ static int __init sun3_scsi_probe(struct platform_device *pdev)
if (setup_hostid >= 0)
sun3_scsi_template.this_id = setup_hostid & 7;
#ifdef SUPPORT_TAGS
if (setup_use_tagged_queuing < 0)
setup_use_tagged_queuing = 1;
#endif
#ifdef SUN3_SCSI_VME
ioaddr = NULL;
for (i = 0; i < 2; i++) {
@@ -601,7 +597,11 @@ static int __init sun3_scsi_probe(struct platform_device *pdev)
instance->io_port = (unsigned long)ioaddr;
instance->irq = irq->start;
NCR5380_init(instance, 0);
#ifdef SUPPORT_TAGS
host_flags |= setup_use_tagged_queuing > 0 ? FLAG_TAGGED_QUEUING : 0;
#endif
NCR5380_init(instance, host_flags);
error = request_irq(instance->irq, scsi_sun3_intr, 0,
"NCR5380", instance);