• Alan Cox's avatar
    tty: expose new methods needed for drivers to get termios right · 5f519d72
    Alan Cox authored
    This adds three new functions (or in one case to be more exact makes it
    always available)
    
    tty_termios_copy_hw
    
    Copies all the hardware settings from one termios structure to the other.
    This is intended for drivers that support little or no hardware setting
    
    tty_termios_encode_baud_rate
    
    Allows you to set the input and output baud rate in a termios structure.  A
    driver is supposed to set the resulting baud rate from a request so most
    will want to use this function to set the resulting input and output rates
    to match the hardware values.  Internally it knows about keeping Bxxx
    encoding when possible to maximise compatibility.
    
    tty_encode_baud_rate
    
    As above but for the tty's own current termios structure
    
    I suspect this will initially need some tweaking as it gets enabled by
    driver patches over the next few mm cycles so consider this lot -mm only
    for the moment so it can stabilize and end up neat before it goes to base.
    
    I've tried not to break any obscure architectures - if you get a speed you
    can't represent the code will print warnings on non updated termios systems
    but not break.
    
    Once this is merged and seems sane I've got a growing pile of driver
    updates to use it - notably for USB serial drivers.
    
    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: default avatarAlan Cox <alan@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5f519d72
tty.h 13.6 KB