From patchwork Mon Jul 23 23:34:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aleksander Morgado X-Patchwork-Id: 10541275 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8F8FF184F for ; Mon, 23 Jul 2018 23:34:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 79A16285A3 for ; Mon, 23 Jul 2018 23:34:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6D9D5285A7; Mon, 23 Jul 2018 23:34:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3580285A3 for ; Mon, 23 Jul 2018 23:34:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388238AbeGXAhl (ORCPT ); Mon, 23 Jul 2018 20:37:41 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45432 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388071AbeGXAhl (ORCPT ); Mon, 23 Jul 2018 20:37:41 -0400 Received: by mail-wr1-f67.google.com with SMTP id t13-v6so2261159wrv.12 for ; Mon, 23 Jul 2018 16:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aleksander-es.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=HANa4przxe+opctugMkjzZwNNq3YYLi0r2a8WJVfouM=; b=zQOCU2dbSiC0qOYRY+pybkOmpOIkjGZFZbaXMAdEzujTW7rrTOxem+znmIGC7qfdci uDeLHFkwuymSt4Z0Vt714/s3ziBDZHfo45qVK06IAJoXWMrIZMAeqTIlu4RiSKpqxdxe VV/QU0k53YjwG2EJq3Z9M90gOOx+KblX5u87KipjRHlfwJaHHKXwgy5gMkjqmnLXsxoB HgKGifIuFhzJrnJHLlkYpZz+w/Q1oP4XME+LDeaVrLTQZxu87lGam9yVbUEBh5yTY8VC Sj442Cz8HkwKqpjaI7kG7zdMwRNkt+QRDueINu+vDdnLErKLaKRXNOGgZS0Lg9QLaKRq yPxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=HANa4przxe+opctugMkjzZwNNq3YYLi0r2a8WJVfouM=; b=qKxbtoqkEZGyb8WD13/2feu6KvzPK+UDnPKE1ISVHm8aw8t4MXK8dO1Iw+pRI3cdUO luXmZhTBO4Fr90GcD9sTRZ80FCfSWttyfsq1QMfw4sDLZ4HWhhSBquV3bnjFJWjP6dp2 +Zcu7EcI0veR5qlMVcK++TaitF2B82jr20GxnfTQw0a1AuaI/5J9i9KiMms9zHZIgSxV TqmxRT222AyzT2Zk3HH6TVzRLBiAmnlsHaSCbz0dnTTN1POxjp7s7hzn5MxWjqkq4SkT KzilTydEcmYJlw6/dkZCVQAhK5G73ZBpVhWHpw0X8ssDMDDYjSJsTLBXjgrXNyu0V5tY QV+g== X-Gm-Message-State: AOUpUlH3SjEwe11agYELF1tQVHHd6j6Bw5Pn5nVTzFNQhblDEzNtjQ2Y W1UKmNZpSq5eRaJOxckIFTl1Ig== X-Google-Smtp-Source: AAOMgpft3G7mrh+El8tLKQI5nGIYMJPJBRUl3XrbPDq5bQcJEh/CJpPAVIEHbMr/V8Uwt7pXh6ErbQ== X-Received: by 2002:adf:8bd7:: with SMTP id w23-v6mr9412559wra.208.1532388845431; Mon, 23 Jul 2018 16:34:05 -0700 (PDT) Received: from ares.nextev.lab (45.red-83-42-38.dynamicip.rima-tde.net. [83.42.38.45]) by smtp.gmail.com with ESMTPSA id b11-v6sm14283303wrv.82.2018.07.23.16.34.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jul 2018 16:34:04 -0700 (PDT) From: Aleksander Morgado To: johan@kernel.org Cc: gregkh@linuxfoundation.org, bjorn@mork.no, linux-usb@vger.kernel.org, Aleksander Morgado , stable Subject: [PATCH] USB: option: add support for DW5821e Date: Tue, 24 Jul 2018 01:34:01 +0200 Message-Id: <20180723233401.16001-1-aleksander@aleksander.es> X-Mailer: git-send-email 2.18.0 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The device exposes AT, NMEA and DIAG ports in both USB configurations. The patch explicitly ignores interfaces 0 and 1, as they're bound to other drivers already; and also interface 6, which is a GNSS interface for which we don't have a driver yet. T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 18 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 2 P: Vendor=413c ProdID=81d7 Rev=03.18 S: Manufacturer=DELL S: Product=DW5821e Snapdragon X20 LTE S: SerialNumber=0123456789ABCDEF C: #Ifs= 7 Cfg#= 2 Atr=a0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 6 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 16 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 2 P: Vendor=413c ProdID=81d7 Rev=03.18 S: Manufacturer=DELL S: Product=DW5821e Snapdragon X20 LTE S: SerialNumber=0123456789ABCDEF C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option Signed-off-by: Aleksander Morgado Cc: stable --- drivers/usb/serial/option.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 664e61f16b6a..0215b70c4efc 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -196,6 +196,8 @@ static void option_instat_callback(struct urb *urb); #define DELL_PRODUCT_5800_V2_MINICARD_VZW 0x8196 /* Novatel E362 */ #define DELL_PRODUCT_5804_MINICARD_ATT 0x819b /* Novatel E371 */ +#define DELL_PRODUCT_5821E 0x81d7 + #define KYOCERA_VENDOR_ID 0x0c88 #define KYOCERA_PRODUCT_KPC650 0x17da #define KYOCERA_PRODUCT_KPC680 0x180a @@ -1030,6 +1032,8 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_MINICARD_VZW, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_V2_MINICARD_VZW, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5804_MINICARD_ATT, 0xff, 0xff, 0xff) }, + { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5821E), + .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, /* ADU-E100, ADU-310 */ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_620UW) },