Commit 873ef76b authored by Olaf Hering's avatar Olaf Hering Committed by Linus Torvalds
Browse files

[PATCH] restore parport_pc probing on powermac

The last change for partport_pc did fix the common case for all PowerMacs,
but it broke the case for PCI multiport IO cards.  In fact, the config
option CONFIG_PARPORT_PC_SUPERIO=y lead to a hard crash when cups probed
the parport driver.  It enables the winbond and smsc probing.

Remove the PARPORT_BASE check again, parport_pc_find_nonpci_ports() will
take care of it.  All powerpc configs should have
CONFIG_PARPORT_PC_SUPERIO=n, the code did not find anything on the chrp
boards we tested it on.

Tested on a G4/466 with a PCI card:

0001:10:13.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550])
        Subsystem: Timedia Technology Co Ltd Unknown device 5079
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 53
        Region 0: I/O ports at f2000800 [size=32]
        Region 2: I/O ports at f2000870 [size=8]
        Region 3: I/O ports at f2000860 [size=8]
Signed-off-by: default avatarOlaf Hering <>
Cc: Benjamin Herrenschmidt <>
Cc: Paul Mackerras <>
Cc: Adam Belay <>
Cc: Dmitry Torokhov <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 17a4506d
......@@ -415,12 +415,6 @@ static int pSeries_check_legacy_ioport(unsigned int baseport)
return -ENODEV;
np = of_find_node_by_type(NULL, "parallel");
if (np == NULL)
return -ENODEV;
return 0;
......@@ -3374,10 +3374,6 @@ __setup("parport_init_mode=",parport_init_mode_setup);
static int __init parport_pc_init(void)
#if defined(CONFIG_PPC_MERGE)
if (check_legacy_ioport(PARALLEL_BASE))
return -ENODEV;
if (parse_parport_params())
return -EINVAL;
......@@ -11,7 +11,6 @@
/* Check of existence of legacy devices */
extern int check_legacy_ioport(unsigned long base_port);
#define PARALLEL_BASE 0x378
#define PNPBIOS_BASE 0xf000 /* only relevant for PReP */
#ifndef CONFIG_PPC64
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment