• Johan Hovold's avatar
    USB: serial: option: reimplement interface masking · 12b49756
    Johan Hovold authored
    commit c3a65808 upstream.
    
    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>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    12b49756
option.c 118 KB