• Johan Hovold's avatar
    USB: serial: xr: add type abstraction · f865e614
    Johan Hovold authored
    There are at least four types of Maxlinear/Exar USB UARTs which differ
    in various ways such as in their register layouts:
    
    	XR21V141X
    	XR21B142X
    	XR21B1411
    	XR22804
    
    It is not clear whether the device type can be inferred from the
    descriptors so encode it in the device-id table for now.
    
    Add a type structure that can be used to abstract the register layout
    and other features, and use it when accessing the XR21V141X UART
    registers that are shared by all types.
    
    Note that the currently supported XR21V141X type is the only type that
    has a set of UART Manager registers and that these will need to be
    handled specifically.
    
    Similarly, XR21V141X is the only type which has the divisor registers
    and that needs to use the format register when configuring the line
    settings.
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    f865e614
xr_serial.c 16.9 KB