[PATCH] Make parport_pc use check_legacy_ioport()

David Woodhouse dwmw2 at infradead.org
Sun Dec 11 11:12:44 EST 2005


On Sun, 2005-12-11 at 10:49 +1100, Benjamin Herrenschmidt wrote:
> Just put that code in #ifndef CONFIG_PPC then

CONFIG_PPC_OF perhaps; embedded boards where we actually have control of
the hardware might still want it, but we ought to be able to trust
OpenFirmware to set the machine up optimally.... I think.

For Winbond chips where we flip a bit in the superio regs to change the
baud_base to 921600, that's OK because OF can just do that and change
the appropriate property in the device-tree too. This assumes a kernel
which is actually new enough to be looking for that property; older
kernels which just assume baud_base is 115200 will screw up.

For NatSemi chips where the bit in the superio regs merely enables
access to the extra bank of uart regs in which the high-speed stuff is
enabled, that's fine too -- the 8250 driver already detects those _if_
they're enabled.

The only one I'm not sure about is the SMSC chips with the 'magic
multipliers' -- setting a divisor of 0x8001 or 0x8002 to get 115200*2
and 115200*4 respectively. I'm not entirely sure how the kernel can tell
_either_ that it's an SMSC chip or that the magic multipliers are
actually enabled on it, without looking at the SuperIO regs for itself.

That covers what we need from SuperIO for the UARTs on such chips -- I'm
less sure about what we need for parport, IrDA, etc.

-- 
dwmw2




More information about the Linuxppc64-dev mailing list