[PATCH] Make parport_pc use check_legacy_ioport()

David Woodhouse dwmw2 at infradead.org
Sun Dec 11 10:36:39 EST 2005


On Sun, 2005-12-11 at 08:49 +1100, Benjamin Herrenschmidt wrote:
> On Sat, 2005-12-10 at 17:00 +0100, David Woodhouse wrote:
> > On Sat, 2005-12-10 at 20:54 +1100, Michael Neuling wrote:
> > > I've attched this here. This patched is rebased to Paulus current
> > > powerpc.git tree.  It compiles but is not tested (although it was
> > > tested on an earlier verision).
> > 
> > Thanks. This doesn't seem to cover the SuperIO probes though; they
> > possibly still need check_legacy_ioport() (which also needs to be
> > exported).
> 
> How so ?

I mean that smsc_check() and winbond_check() functions in parport_pc.c
will still crash the machine, surely?

> > Admittedly, it would be better to have a separate superio PNP driver
> > which handles configuration of all the devices on these chips rather
> > than having partial superio code in individual (parport,8250,IrDA,...)
> > drivers, but that's one for later.
> 
> Well, we expect the vaerious individual ISA devices to show up in the
> device-tree, if not, they are not accessible. That covers SuperIOs.

It's more than just whether the device exists or not. For some devices,
part of the configuration is done in the SuperIO registers. In
particular, most of the UARTs on these chips can go up to 460800 or
921600 baud, but those modes need to be enabled in the SuperIO
(generally not in the registers of the UART itself, except in the
NatSemi case where it _also_ needs to be enabled in the SuperIO regs to
let you have access to that bank of UART regs).

I think IrDA ports do FIR mode in a similar fashion too. 

But what I mean by the above quote is that for platforms where we _do_
have actual control of the hardware and we want to poke at superio, it
should be a superio pnp/bus driver rather than a scattering of superio
probes through various other (8250/parport/irda/floppy) places.

-- 
dwmw2




More information about the Linuxppc64-dev mailing list