• Johan Hovold's avatar
    USB: serial: option: reimplement interface masking · c3a65808
    Johan Hovold authored
    Reimplement interface masking using device flags stored directly in the
    device-id table. This will make it easier to add and maintain device-id
    entries by using a more compact and readable notation compared to the
    current implementation (which manages pairs of masks in separate
    blacklist structs).
    
    Two convenience macros are used to flag an interface as either reserved
    or as not supporting modem-control requests:
    
    	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),
    	  .driver_info = NCTRL(0) | RSVD(3) },
    
    For now, we limit the highest maskable interface number to seven, which
    allows for (up to 16) additional device flags to be added later should
    need arise.
    
    Note that this will likely need to be backported to stable in order to
    make future device-id backports more manageable.
    Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    c3a65808
option.c 117 KB