summaryrefslogtreecommitdiffstats
path: root/include/asm-i386/parport.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-02 02:36:47 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-02 02:36:47 +0000
commit8624512aa908741ba2795200133eae0d7f4557ea (patch)
treed5d3036fccf2604f4c98dedc11e8adb929d6b52e /include/asm-i386/parport.h
parent7b8f5d6f1d45d9f9de1d26e7d3c32aa5af11b488 (diff)
Merge with 2.3.48.
Diffstat (limited to 'include/asm-i386/parport.h')
-rw-r--r--include/asm-i386/parport.h22
1 files changed, 8 insertions, 14 deletions
diff --git a/include/asm-i386/parport.h b/include/asm-i386/parport.h
index 1c2855bbe..432fc56f7 100644
--- a/include/asm-i386/parport.h
+++ b/include/asm-i386/parport.h
@@ -15,19 +15,10 @@
than PARPORT_MAX (in <linux/parport.h>). */
#define PARPORT_PC_MAX_PORTS 8
-/* If parport_cs (PCMCIA) is managing ports for us, we'll need the
- * probing routines forever; otherwise we can lose them at boot time. */
-#ifdef CONFIG_PARPORT_PC_PCMCIA
-#define __maybe_initdata
-#define __maybe_init
-#else
-#define __maybe_initdata __initdata
-#define __maybe_init __init
-#endif
-
-static int __maybe_init parport_pc_init_pci(int irq, int dma);
-
-static int user_specified __maybe_initdata = 0;
+static int parport_pc_init_pci(int irq, int dma);
+static int parport_pc_init_superio(void);
+
+static int user_specified __devinitdata = 0;
int __init
parport_pc_init(int *io, int *io_hi, int *irq, int *dma)
{
@@ -43,13 +34,16 @@ parport_pc_init(int *io, int *io_hi, int *irq, int *dma)
count++;
} while (*io && (++i < PARPORT_PC_MAX_PORTS));
} else {
- /* Probe all the likely ports. */
+ count += parport_pc_init_superio ();
+
if (parport_pc_probe_port(0x3bc, 0x7bc, irq[0], dma[0], NULL))
count++;
if (parport_pc_probe_port(0x378, 0x778, irq[0], dma[0], NULL))
count++;
if (parport_pc_probe_port(0x278, 0x678, irq[0], dma[0], NULL))
count++;
+
+ /* probe for other PCI parallel devices */
count += parport_pc_init_pci (irq[0], dma[0]);
}