diff options
Diffstat (limited to 'include/asm-mips/parport.h')
-rw-r--r-- | include/asm-mips/parport.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/include/asm-mips/parport.h b/include/asm-mips/parport.h index 0ae99c2e9..57683df44 100644 --- a/include/asm-mips/parport.h +++ b/include/asm-mips/parport.h @@ -1,4 +1,4 @@ -/* $Id: parport.h,v 1.1 1999/10/09 00:01:43 ralf Exp $ +/* $Id: parport.h,v 1.2 2000/02/18 00:24:48 ralf Exp $ * * parport.h: ia32-specific parport initialisation * @@ -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 parport_pc_init_pci(int irq, int dma); +static int parport_pc_init_superio(void); -static int __maybe_init parport_pc_init_pci(int irq, int dma); - -static int user_specified __maybe_initdata = 0; +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]); } |