• Benjamin Herrenschmidt's avatar
    powerpc/pseries: Reduce HVCS driver insanity · c7704d35
    Benjamin Herrenschmidt authored
    The HVCS driver, for those who don't know, is a driver for the "server" side
    of the IBM virtual terminal mechanism allowing Linux partitions to act as
    terminal servers under IBM PowerVM hypervisor. It's almost never used on
    the field at the moment.
    
    However, it's part of our configs, and in its current incarnation, will
    allocate the tty driver & major (with 64 minors) and create a kernel thread
    whether it's used or not, ie, whether the hypervisor did put a virtual
    terminal server device node in the partition or not (or whether running on
    a pseries machine or not even).
    
    This in turns causes modern distro's udev's to start trying to open all
    those 64 minors at boot, which, since they aren't linked to anything,
    causes the driver to spew errors in the kernel log for each of them.
    
    Not nice.
    
    This moves all that initialization to a function which is now only called
    the first time a terminal server virtual IO device is actually probed
    (that is almost never).
    
    There's still a _LOT_ of cleanup that can be done in this driver, some
    simple (almost all printk's statements in there shall either just be
    removed or in some case turned into better written & more informative
    messages, including using the dev_* variants etc...). This is left as
    an exercise for whoever actually cares about that driver.
    
    One could also try to be smart and dispose of all the tty related
    resources when the last instance of the VIO server device
    is removed (Hotplug anybody ?).
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    c7704d35
hvcs.c 46 KB