Skip to contentSkip to conversation

qlogic: don't use qinfo as name

PATCH In review Aristeu Sergio Rozanski Filho 3 participants 7 messages Oct 20, 2003 – Mar 9, 2004 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qlogic: don't use qinfo as name

hi,
these are the patches modified based on comments sent by Jeff,
Christoph and Mike.

Signature · 1 line
aris
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +0 -1
@@ -665,7 +665,6 @@
 	sprintf(qinfo,
 		"Qlogicfas Driver version 0.46, chip %02X at %03X, IRQ %d, TPdma:%d",
 		qltyp, qbase, qlirq, QL_TURBO_PDMA);
-	host->name = qinfo;
 
 	return hreg;
 
#1 lore raw
Quoted 3 lines · Aristeu Sergio Rozanski Filho

hi,
these are the patches modified based on comments sent by Jeff,
Christoph and Mike.

Hi Aristeu,

do you have those qlogicfas patches from before the freeze still around? I just noticed they still aren't merged and without them the driver is pretty much useless..

#2 lore raw

hi Christoph,

Quoted 3 lines

do you have those qlogicfas patches from before the freeze still around? I just noticed they still aren't merged and without them the driver is pretty much useless..

yes, I'm sending it attached. I didn't changed them since, so I'm not sure if they will apply cleanly.

--
aris

drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +0 -1
@@ -665,7 +665,6 @@
 	sprintf(qinfo,
 		"Qlogicfas Driver version 0.46, chip %02X at %03X, IRQ %d, TPdma:%d",
 		qltyp, qbase, qlirq, QL_TURBO_PDMA);
-	host->name = qinfo;
 
 	return hreg;
 
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +1 -1
@@ -793,7 +793,7 @@
 	.eh_device_reset_handler= qlogicfas_device_reset,
 	.eh_host_reset_handler	= qlogicfas_host_reset,
 	.bios_param		= qlogicfas_biosparam,
-	.can_queue		= 0,
+	.can_queue		= 1,
 	.this_id		= -1,
 	.sg_tablesize		= SG_ALL,
 	.cmd_per_lun		= 1,
drivers/scsi/qlogicfas.c +1 -19
@@ -48,11 +48,6 @@
 
 #define QL_INT_ACTIVE_HIGH 2
 
-/* Set the following to 1 to enable the use of interrupts.  Note that 0 tends
-   to be more stable, but slower (or ties up the system more) */
-
-#define QL_USE_IRQ 1
-
 /* Set the following to max out the speed of the PIO PseudoDMA transfers,
    again, 0 tends to be slower, but more stable.  */
 
@@ -500,8 +495,6 @@
 	return (result << 16) | (message << 8) | (status & STATUS_MASK);
 }
 
-#if QL_USE_IRQ
-
 /*
  *	Interrupt handler 
  */
@@ -541,10 +534,6 @@
 	return IRQ_HANDLED;
 }
 
-#endif
-
-#if QL_USE_IRQ
-
 /*
  *	Queued command
  */
@@ -566,12 +555,6 @@
 	ql_icmd(cmd);
 	return 0;
 }
-#else
-int qlogicfas_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *))
-{
-	return 1;
-}
-#endif
 
 #ifdef PCMCIA
 
@@ -641,7 +624,6 @@
 	REG0;
 #endif
 
-#if QL_USE_IRQ
 	/*
 	 *	IRQ probe - toggle pin and check request pending 
 	 */
@@ -670,7 +652,7 @@
 
 	if (qlirq >= 0 && !request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", NULL))
 		host->can_queue = 1;
-#endif
+
 	hreg = scsi_register(host, 0);	/* no host data */
 	if (!hreg)
 		goto err_release_mem;
drivers/scsi/pcmcia/qlogic_stub.c renamed from drivers/scsi/pcmcia/qlogic_stub.c.orig +0 -3
@@ -240,9 +240,6 @@
 		outb(0x04, link->io.BasePort1 + 0xd);
 	}
 
-	/* A bad hack... */
-	release_region(link->io.BasePort1, link->io.NumPorts1);
-
 	/* The KXL-810AN has a bigger IO port window */
 	if (link->io.NumPorts1 == 32)
 		qlogicfas_preset(link->io.BasePort1 + 16, link->irq.AssignedIRQ);
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +4 -0
@@ -650,7 +650,11 @@
 	} else
 		printk(KERN_INFO "Ql: Using preset IRQ %d\n", qlirq);
 
+#ifdef PCMCIA
+	hreg = scsi_host_alloc(host, 0);
+#else
 	hreg = scsi_register(host, 0);	/* no host data */
+#endif
 	if (!hreg)
 		goto err_release_mem;
 	hreg->io_port = qbase;
drivers/scsi/pcmcia/qlogic_stub.c renamed from drivers/scsi/pcmcia/qlogic_stub.c.orig +1 -1
@@ -288,7 +288,7 @@
 	CardServices(ReleaseIO, link->handle, &link->io);
 	CardServices(ReleaseIRQ, link->handle, &link->irq);
 
-	scsi_unregister(info->host);
+	scsi_host_put(info->host);
 
 	link->state &= ~DEV_CONFIG;
 }
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +10 -5
@@ -650,9 +650,6 @@
 	} else
 		printk(KERN_INFO "Ql: Using preset IRQ %d\n", qlirq);
 
-	if (qlirq >= 0 && !request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", NULL))
-		host->can_queue = 1;
-
 	hreg = scsi_register(host, 0);	/* no host data */
 	if (!hreg)
 		goto err_release_mem;
@@ -666,12 +663,20 @@
 		"Qlogicfas Driver version 0.46, chip %02X at %03X, IRQ %d, TPdma:%d",
 		qltyp, qbase, qlirq, QL_TURBO_PDMA);
 
+	if (request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", hreg))
+		goto free_scsi_host;
+
 	return hreg;
 
+free_scsi_host:
+#ifdef PCMCIA
+	scsi_host_put(hreg);
+#else
+	scsi_unregister(hreg);
+#endif
+
 err_release_mem:
 	release_region(qbase, 0x10);
-	if (host->can_queue)
-		free_irq(qlirq, do_ql_ihandl);
 	return NULL;;
 
 }
#3 lore raw
Quoted 2 lines · Aristeu Sergio Rozanski Filho

yes, I'm sending it attached. I didn't changed them since, so I'm not sure if they will apply cleanly.

I'll put them in, but first I think the qlogicfas attachment type needs to be all new style.

This:

drivers/scsi/qlogicfas.c line 657

Quoted 5 lines
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +4 -0
+#ifdef PCMCIA
+	hreg = scsi_host_alloc(host, 0);
+#else
 	hreg = scsi_register(host, 0);	/* no host data */
+#endif

Mixing of new and old styles is bound to cause difficulty.

James

#4 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi James,

Quoted 5 lines

I'll put them in, but first I think the qlogicfas attachment type needs to be all new style.

This:

Quoted 7 lines

drivers/scsi/qlogicfas.c line 657

Quoted 5 lines
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +4 -0
+#ifdef PCMCIA
+	hreg = scsi_host_alloc(host, 0);
+#else
 	hreg = scsi_register(host, 0);	/* no host data */
+#endif

Mixing of new and old styles is bound to cause difficulty.

I'm working on that, sorry for the delay, I took last week off.

- --
aris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAQ+MHRRJOudsVYbMRAr9nAKCYVr/FAhiaYYscKvAkKu9g2IeFJQCgmPyx dTWt0tZsQyFag3xBlhMSqDE=
=xsMc
-----END PGP SIGNATURE-----

#5 lore raw

cover qlogicfas/qlogic_cs

In reply to James Bottomley

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

James, Christoph, list,

Quoted 2 lines

I'll put them in, but first I think the qlogicfas attachment type needs to be all new style.

please drop all patches that I've sent before and consider applying these I'm sending instead. I wonder if will be worth to split qlogicfas in two different modules: one for hardware functions and other for qlogicfas driver so qlogic_cs can share the same code instead copying it. comments?

- --
aris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFATcdhRRJOudsVYbMRAhP2AJ0fnMoNDdvUtHIghCE33Q2+pAPMpACglPcm b5MSVpF7yNcm25ERldb8Dqg=
=h6q0
-----END PGP SIGNATURE-----

#6 lore raw

Re: [patch][0/15] qlogicfas/qlogic_cs

Quoted 6 lines · Aristeu Sergio Rozanski Filho
Quoted 2 lines

I'll put them in, but first I think the qlogicfas attachment type needs to be all new style.

please drop all patches that I've sent before and consider applying these I'm sending instead. I wonder if will be worth to split qlogicfas in two different modules: one for hardware functions and other for qlogicfas driver so qlogic_cs can share the same code instead copying it. comments?

I think that would be a good idea.