Skip to contentSkip to conversation

ahc1542 fun

DISCUSSION Jeff Garzik 3 participants 4 messages May 26, 2004 – May 27, 2004 SCSI

lore
Share & tools
lore
#0 lore raw

The old 1542 scsi driver is both ISA and MCA. The MCA portions are disabled when !CONFIG_MCA through the typical wrapper scheme (a la pci.h and !CONFIG_PCI). However... the driver unconditionally includes linux/mca.h which in turn unconditionally includes asm/mca.h.

This breaks drivers on platforms with ISA but not MCA, like alpha.

(and I suppose any PCI platform, since you could have one on an ISA bridge)

Jeff

#1 lore raw
Quoted 9 lines · Jeff Garzik

The old 1542 scsi driver is both ISA and MCA. The MCA portions are disabled when !CONFIG_MCA through the typical wrapper scheme (a la pci.h and !CONFIG_PCI). However... the driver unconditionally includes linux/mca.h which in turn unconditionally includes asm/mca.h.

This breaks drivers on platforms with ISA but not MCA, like alpha.

(and I suppose any PCI platform, since you could have one on an ISA bridge)

This needs fixing in mca.h and mca-legacy.h. The debian kernel package has a fix that I don't quite like. I'll rework it in the next days and submit it.

#2 lore raw
Quoted 3 lines · On Wed, May 26, 2004 at 02:44:30AM -0400, [email protected] wrote:

This needs fixing in mca.h and mca-legacy.h. The debian kernel package has a fix that I don't quite like. I'll rework it in the next days and submit it.

What I have in the PA tree is:

Index: include/linux/mca.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/linux/mca.h,v retrieving revision 1.4.46.1
retrieving revision 1.4

linux/mca.h 8 Oct 2003 20:53:03 -0000 1.4 renamed from linux/mca.h 23 May 2004 23:31:15 -0000 1.4.46.1 +2 -0
diff -u -p -r1.4.46.1 -r1.4
@@ -12,7 +12,9 @@
 #include <linux/device.h>
 
 /* get the platform specific defines */
+#ifdef CONFIG_MCA
 #include <asm/mca.h>
+#endif
 
 /* The detection of MCA bus is done in the real mode (using BIOS).
  * The information is exported to the protected code, where this

Any use?

Signature · 6 lines
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
#3 lore raw
Quoted 18 lines · Matthew Wilcox
Quoted 3 lines · On Wed, May 26, 2004 at 02:44:30AM -0400, [email protected] wrote:

This needs fixing in mca.h and mca-legacy.h. The debian kernel package has a fix that I don't quite like. I'll rework it in the next days and submit it.

What I have in the PA tree is:

Index: include/linux/mca.h
===================================================================
RCS file: /var/cvs/linux-2.6/include/linux/mca.h,v retrieving revision 1.4.46.1
retrieving revision 1.4
diff -u -p -r1.4.46.1 -r1.4

linux/mca.h 8 Oct 2003 20:53:03 -0000 1.4 line 17

Quoted 6 lines
linux/mca.h 8 Oct 2003 20:53:03 -0000 1.4 renamed from linux/mca.h 23 May 2004 23:31:15 -0000 1.4.46.1 +2 -0
@@ -12,7 +12,9 @@
 #include <linux/device.h>
 
 /* get the platform specific defines */
+#ifdef CONFIG_MCA
 #include <asm/mca.h>
+#endif

This patch is fine with me... If Christoph's rework will take more than five minutes, please (Andrew?) apply this patch.

Jeff