• A
    tty/serial/core: Introduce poll_init callback · c7f3e708
    Anton Vorontsov 提交于
    It was noticed that polling drivers (like KGDB) are not able to use
    serial ports if the ports were not previously initialized via console.
    I.e.  when booting with console=ttyAMA0 kgdboc=ttyAMA0, everything works
    fine, but with console=ttyFOO kgdboc=ttyAMA0, the kgdboc doesn't work.
    
    This is because we don't initialize the hardware. Calling ->startup() is
    not an option, because drivers request interrupts there, and drivers
    fail to handle situations when tty isn't opened with interrupts enabled.
    
    So, we have to implement a new callback (actually, tty_ops already have
    a similar callback), which does everything needed to initialize just the
    hardware.
    Signed-off-by: NAnton Vorontsov <anton.vorontsov@linaro.org>
    Acked-by: NAlan Cox <alan@linux.intel.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    c7f3e708
serial_core.c 64.7 KB