From patchwork Thu Mar 20 22:08:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adam Xue X-Patchwork-Id: 875171 Received: from mail1.bemta40.messagelabs.com (mail1.bemta40.messagelabs.com [67.219.247.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C82F224220 for ; Thu, 20 Mar 2025 22:08:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.219.247.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742508524; cv=fail; b=c/jkBRWj2oUFPgNRFEmMdlEFWWe+1nAaj0q8DVOBEJOq68eghd4HtZ00AsyFsbzlEHH1xAKnNy+erw18ngxjRStjzfjTUGlxQpzaemxfO730wrHt8xWJfGJsdCXZ2D7VZv0gyD4A6uTrJyK3+j/kr2MIfsmU1kgVoL8i/PeQRxA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742508524; c=relaxed/simple; bh=jSUNTz4J0fcZpPdphZJAZyZ+fWtnSh/5ok8hK0UZrag=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=hE3zlz9R1/O4E/U9wGr7yfjxXiI3xZkYunI22nGzbhpwVuhZbaPNqq3f0OJdiZobmyzoTBI+pyPapXuKpuC24yjTcGGDfezmKsNwhhRLJkTIbR8RwjHznjecz5BbH7h1W7cwv4c2u6Uu+GqxDZrHujeegxYDSJ9+2IDLOWhL14Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=semtech.com; spf=pass smtp.mailfrom=semtech.com; dkim=pass (2048-bit key) header.d=semtech.com header.i=@semtech.com header.b=fUQx35xR; dkim=fail (1024-bit key) header.d=SemtechCorp.onmicrosoft.com header.i=@SemtechCorp.onmicrosoft.com header.b=ubrURzJJ reason="signature verification failed"; arc=fail smtp.client-ip=67.219.247.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=semtech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=semtech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=semtech.com header.i=@semtech.com header.b="fUQx35xR"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=SemtechCorp.onmicrosoft.com header.i=@SemtechCorp.onmicrosoft.com header.b="ubrURzJJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semtech.com; s=k1; t=1742508521; i=@semtech.com; bh=jSUNTz4J0fcZpPdphZJAZyZ+fWtnSh/5ok8hK0UZrag=; h=From:To:CC:Subject:Date:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=fUQx35xRPIky7/NA0GntQbrIELQ+1Od17qXkL//6NC1jK05HmlXGPC4T4TSUNII4c gZIWKTbWK4xHUwfOIPOTwqLoADZOVKOBjaLgXn9b8exqzKXI+6RZkCgtimUfRYOmXI gkDfo9vx/TX2lVOXAqw5tcj6AkdgxsqgzukrOZmb8oVSbyIXFfAPxnOQDMX69bQexP atUHKu+fwCVCUPE6pmBiIFxGPm+aM5xn99xm0GYKQUlmhlhNJHGJNzczhOGcGivCrW PDBLf2wCDM0rIutB/eUWehF3kX710VfU7ZqQxBUQficGDq4gjyn+NsOjQQto8IM+lf U23lEhV+iuauw== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprDJsWRWlGSWpSXmKPExsWSoe+5SvfFxDv pBu9uilg03ehhtVi0rJXZgclj06pONo/Pm+QCmKJYM/OS8isSWDM2PnzJUjAjoWJ9Q2ED44+4 LkYuDkaBZcwSj1pvM3cxcgI5i1klLrckQCQ2M0q0zWlkBHFYBLYzS2y73swK4ggJzGaSWHLtJ hOEc59R4sbdHnaQfjYBRYnWL6eZQGwRAU2Jm1Mms4DYzAKJEv0zdwPZHBzCArESfb+VIUqSJC bu+88GYetJPN+zkRXEZhFQlTjeshaslReofMuxa1DniUl8P7WGCWKkuMStJ/PBbAkBAYkle84 zQ9iiEi8f/2OFqC+VOP3yLQtEXFbi0vxuRgjbXuLk5rlQvb4SP14cgLLlJFb1PoSql5eYtug9 O4TtJ3Fx4lWw5yUEJghL7Fq9nhHCucsoceTfMqgqA4l5346wQSRuiEjcnjmLFeRjZmBIrN+lD 3G1osSU7ofsEJ8JSpyc+YRlAqPWLCQPzULomIWkYxaSjgWMLKsYTYtTi8pSi3QNzfWSijLTM0 pyEzNz9BKrdJP0Sot1UxOLSwz10pML9FKLi/WKK3OTc1L08lJLNjECEw3Xh4j1OxjvTmjWP8Q oycGkJMq7M+dOuhBfUn5KZUZicUZ8UWlOavEhRhkODiUJ3s8TgHKCRanpqRVpmTnApAeTluDg URLhXQHSyltckJhbnJkOkTrFqCglzqsO0icAksgozYNrgyXaS4yyUsK8jAwMDEI8BalFuZklq PKvGMU5GJWEeR+CTOHJzCuBm/4KaDET0GKd6Fsgi0sSEVJSDUxsmd8rCvKsUn9e52vqmznZK+ P+lFAtNa/k+f94t50TFdwr/HSR5I5zui6//j3M35fR1yxedaPtYHBLsPlsETP+TcxZcrtmmmh /XnD54amFeiv23Y/d1WFU2RFUG3k++mpB68IlnUxXeC8rt57es+eDYhmPze/mhgknrxn5ckpf vq/H7y17+f20B+9kSpwUuAMNGo+3ealFmcxa9Gnx35hpz1bFfr/2iLdIXuadg4bMzXcHNjN+m P1Nha3m9dWCkM9L4rvPHo0Ie9d89sqPe1N91KR/TH40wybLatH3RavYGF17lO/ayU7sO6B/PK BIlcNJjbPAyHz6W723qXMamYIFF7v273ne43Em//Aavm1KLMUZiYZazEXFiQDJoHJBLwQAAA= = X-Env-Sender: zxue@semtech.com X-Msg-Ref: server-5.tower-929.messagelabs.com!1742508519!513882!2 X-SYMC-ESS-Client-Auth: mailfrom-relay-check=pass X-StarScan-Received: X-StarScan-Version: 9.117.2; banners=semtech.com,-,- X-VirusChecked: Checked Received: (qmail 29976 invoked from network); 20 Mar 2025 22:08:40 -0000 Received: from mail-mw2nam04lp2170.outbound.protection.outlook.com (HELO NAM04-MW2-obe.outbound.protection.outlook.com) (104.47.73.170) by server-5.tower-929.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 20 Mar 2025 22:08:40 -0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zU/6QeOceHJzucMI8ikL/u2VNIBzj+0kQdLWq2J5SgTKYIPTifYP9dhd/k8TN1wZpyUn4mI2sU+7qRf/cXGHRQTTHfTLlKpSje1bj141j1zObqtgmlE6GhIfhJ3HlWdMSZZuc+jY7PMTxJfiHaisjeU9/E51aSEhCf6koEGhWRbH6GjPR5Ljoj1I6t4HvYCjl47Y9cS5bO3gCR24BwFO6C4MuAG2r3v1gQSvMwmDyZnv0AGeLxvjDqtDJUd6gwMbKzqx+5cBD6fGwT+xermclWViNAq5yEbMrrEb7NEaN0uVGp4Obcvp0q0Ortm+T7y5ySIMsqfkjozhjJ+IO8BtXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r933o1V7+OZqpq6/haP5iyKRswVUX4P1Cq62bLMWwDo=; b=y3NXYzm9eYRvFQgT4xt3Am+1KvTlQWi8jjBVOUxMetBcWufmvLJzlgKesi4pgiGo7exaEIgrq8MFYV/D1hTzkqDWtkML5ovlZ+4kyL2uyN5HkLkX48EggfYkyqoNV4PuXsUbK5iDGlDTUp/di1QeTIqVOXDN2aJnt++0Yf2rY0cJXBESgR347gTOAINlN6tjgDUSoAI2swulvm3oI71eyt30ZecyIEI/YbRJQBQ0ymQwpGKpsAzsBKBQek7ueupvYVjvIoPtk3+xQZMQPIrg9LCQ0d9sd3a7IVcVmNubdH1Gg4o7q+Pbwc8EbH53ag0rfJwQSoxkIlviq5cfwiDMeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=semtech.com; dmarc=pass action=none header.from=semtech.com; dkim=pass header.d=semtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=SemtechCorp.onmicrosoft.com; s=selector1-SemtechCorp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r933o1V7+OZqpq6/haP5iyKRswVUX4P1Cq62bLMWwDo=; b=ubrURzJJ9dcHx4v3KsH/EGHHTcfO8NZKynkq2Del3n3qR6KCL835dCy19uLYuwh3ndoQJsmTF4j1Otxl9CJ/+drwjXtFtyq8zf/YmmOGkiG125Pq12Vapd6ixDCVO8PASdIaj+fnDXhwDBwJ2aE/VY6rzVxnvzKA8MtCN4jApGo= Received: from DS7PR20MB4855.namprd20.prod.outlook.com (2603:10b6:8:95::9) by CY5PR20MB4975.namprd20.prod.outlook.com (2603:10b6:930:39::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 22:08:36 +0000 Received: from DS7PR20MB4855.namprd20.prod.outlook.com ([fe80::c41f:cc5f:6318:4eac]) by DS7PR20MB4855.namprd20.prod.outlook.com ([fe80::c41f:cc5f:6318:4eac%4]) with mapi id 15.20.8534.031; Thu, 20 Mar 2025 22:08:36 +0000 From: Adam Xue To: "johan@kernel.org" CC: "linux-usb@vger.kernel.org" , Iulian Mocanu Subject: USB: serial: qcserial: patch for adding Sierra Wireless 9x50, EM91, EM92 and SDX35. Thread-Topic: USB: serial: qcserial: patch for adding Sierra Wireless 9x50, EM91, EM92 and SDX35. Thread-Index: AduZ46SXtkdv8FR6SCSVVWY9E+kqzQ== Date: Thu, 20 Mar 2025 22:08:36 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR20MB4855:EE_|CY5PR20MB4975:EE_ x-ms-office365-filtering-correlation-id: 5238cacd-ecde-4285-d063-08dd67fbc32f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?rM4fAYCOOcH2nJdEhZdBt1Y5nqLLtoi?= =?utf-8?q?68jnGl3MMIyTc3HbJ9vnGAad4CGVEUQSL9V4pH+DiS51I2yQvVyhKjxTiItcNZasD?= =?utf-8?q?dlNvqFe1EUa45thD5H2/EC+8/AnHqxjONgpX05vXJoVXZi7J9BfqMIV8rM3mZtIvG?= =?utf-8?q?jucN4B4zAAlVHeO+cvrzq+/ph9ddeW5ebECDELi/62avPO+iQ8Hhs6uwUmXGQ3Q2m?= =?utf-8?q?y1cVmOukWR+IBm5FfK8W/8DLahUesGkonn3LseGqFOtbuKvnyorY8qCyZcp1QLENr?= =?utf-8?q?Gfq7nSvH1VxJYQ8Hscr+vPU/jcXql87ZXsOuYBgdRfHMdvoQMgANPsdCSdM2it6wn?= =?utf-8?q?YAGGjl5+sf7ASzpwnhAm1+k9GPvA9mNJ/+YjITV4OLMxV7kVTtq5OIXlS0utqoAfR?= =?utf-8?q?U5iplS92gX9O64EK0LuHkFGxtLPXYGoCckw/Z2bycQNYIjZX/4h5AGaCdYsfMWf9F?= =?utf-8?q?DuljjxCrL7wdeNPgpFFdtGMdRIjl2jZpgtxPEo1MUQu0q8JdKw5NWxHU24manGRfU?= =?utf-8?q?oSJb0h0klsZc/zGFZVu0LkcmzVqe69YSlga3Y0RCfvxAane7An4qwiZqP7gPadSAU?= =?utf-8?q?K3AhB06YWp8BGYIRr3HhkzjR2pPXoEZ7Ssr+Pm+uJK/yx9go/+Kr3xxCIXyN1yt25?= =?utf-8?q?Iuyzp839USf7rYmRmLiEk16nNkgKmfbCu0QUy8UXq4saQ9UYfMCX4U3oAwxovryx5?= =?utf-8?q?6AT6/EpuyN8dBhlVa7UniElbsED5NCztXTNGq7jRF/o9zKZkNJpieypqAQYklCPAF?= =?utf-8?q?2dcT0UTZw9lvgWYyLZdRu6WhYjtdQF/dh3cMFEFxWH1KlKuc2wEtq5KRTcTLSZZAe?= =?utf-8?q?/dodx+U7RgAzulkoUibXrFkE9SBX9bjkXU6OcOr8EZZ3/+vki2bWRpGvGko8hg7CF?= =?utf-8?q?JnImVeA66DrozulwcK1H4DqEJqbQwwbriLCA8nWn6Qj6BuUCtH/nKETakVf2IizkO?= =?utf-8?q?jb47y/wf7CKqjPDOsDfnLb5JClyQyFpfL8nGaz7pQuSmaTWpPf6iVOyoqMsHO4zqD?= =?utf-8?q?D3TPCECAlkP6kcszpqT0xqVM40vhb8uAV7C8zHKEzsUWVPY0fWz0KiJXRJi8beBWa?= =?utf-8?q?JfSYaCRzNkyelXf7NIHaXC5JXjsq/0mK9qP/bviAcZhgZXW/UvypTAZFfsQaVAl9p?= =?utf-8?q?z5nM7SxeD1inKh77pzfkYS7X4FYAAOkMuSuEDBoAyqVTZlo1UHz1hC+wLNrleO5yv?= =?utf-8?q?nIWDjC8KPWdFi6DKnejChxscVuh9E9xOLTpFTEEk3pmzD2AUgiBJ44CZ5jjxVdW17?= =?utf-8?q?StawE5HRB7XXHtdhC0Z8gHXhTgpmkz0Q0whUDEP1iLSyJlvwSGpdSiw4nS3ZC0xuN?= =?utf-8?q?O2LT+e1mOXciiZdHcNOzXijQm/Mxc08sn+QlGg4RyrVahARVEpCi6ycsLrllY+dxP?= =?utf-8?q?u/v4OTlKNKE?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR20MB4855.namprd20.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?yzH6RBokf40/Wcg1LCd6Qx1W6FIz?= =?utf-8?q?GqutBv1K7OCkk4UtF1Q4sT0BUHG7V+zB3dM21muGtbCzEValK1qA1y9HFwdXvGFan?= =?utf-8?q?kzSNZnbRs4esMhjzX7lRRncO8Z9F/aRmSjc9vGtXM6cva+KsMw6E/uXCFO05X6NFO?= =?utf-8?q?r3UkYXzgDJO5PhkjBgq/pBuTpGgddUdbBRRYP8XX+sn2rpTnbTVeHs/Ze1Wcl9Of6?= =?utf-8?q?Pu2e8SL6pykhoSlCo1rRwxTol31mYywd0jGSI+m91pf/zcPEcx1W4gWkTYPuE9NMl?= =?utf-8?q?Yg9iss3nI0Wn7Z4tI3nKn5sBYks5oJR7CY4fkW3kUxa0rG+tIef7avDvupNR98B93?= =?utf-8?q?peB2nCAgQn0Bx+kDCeM0TgNNqVJSXRILRFCLOMjSSnWDgxrvtVAhbLPwfTqGDmWd2?= =?utf-8?q?vkcl8p9Wwh2PiudajcSd9bC833w/8IoZDITA5fJ1eJUDZC5xYHSbjxnkSpUzJd4cw?= =?utf-8?q?bdlQWUOAjvm/+46rh2c0mcbidg0Qas9kcA3/bP8dPOYF/4viN61af8ioaR4v68Jtp?= =?utf-8?q?4Z/hiowprDGV54LNORYNeGIwuBKne/Qs7iSNLDXvEewL/9STQhKVhpq/Mmr9V/he8?= =?utf-8?q?KVV363nJcE0XFaXOiuhiyx7l1q2vL+bmdd6kaC7qPsSfAhMXJuyRaMcpSUBAgmY9w?= =?utf-8?q?1E9WKomJbs5dKTPTnHk9ocaYBYC0TPFm7PBCfXlGGU7XGTGqqSGqQtJ6f/6Vx9L4x?= =?utf-8?q?QQ9q4OIXW0Py9Hfx+ZD03YyEDEEwLbJd8gWId9teTcGwQBqA62OYVFvNRZKXu8M0e?= =?utf-8?q?ZBAH3S7uTcCxfqFKO9VGzV1rC11bCC1VNu0DvEr8U9ANsXVuoEpS1zysJNgIuuPsN?= =?utf-8?q?oik6vyHzOjpSbTToGa8SCbEsX9FTVK163wRwX3ZLsXOBSIIHq/J5swHV7AlEV2eGJ?= =?utf-8?q?WtfBNF2vA2K1LT01M6uXs+hIA+BO3MyCX/T4EAZjcPtwXzYXOUAOtO3q1MRFj6WuY?= =?utf-8?q?6ZUfY+wXO8ey92WbyIFWKJnSswvGGuFrTxoNezviAsiyED/WeUhzH0LWzRY1bL8nb?= =?utf-8?q?i+BNWYTCypkNDln/ts4x7eBDxWdqOA+Ikm9gi4cqGTUvOG6mv53gZdHH2nKXWITAO?= =?utf-8?q?3brDdpPeS/l9Cr648O2IEJS1aAYCZShToWuSR/oZxmmnhhaGkqZaTit3z8AvPVCmk?= =?utf-8?q?1nwgsOAhSxTbqlvA/0uU4wbFsBZiTobiWE65TaliSHtIDSi8BCtbtxoioUC+RKzqu?= =?utf-8?q?nfQpSa0AxIlW9bempZ0S1E6d5ZbuT11rswZBF597QEWymipy69h/qv3c4swoQai/g?= =?utf-8?q?itJZI3NCLO5RhWAQnnUx2PCnx7dxoyZZJExQpLw/mwL1Lnh27RwkqF/P7qCoJpP0f?= =?utf-8?q?6Pnp29URlziEX+CnNulnRT2Sh19tORgHKRuHSb1BlwewyWsvLIf91sesj0Eqi6IQL?= =?utf-8?q?VgxLmI8+d+h5pvwr9kuWvq6WjLRC4rLEws8wfp1gqBVR2Kn306X0PDWt7J980fiyE?= =?utf-8?q?FQLQmIFALbPl3tMTXioG+/ccWgJ5NDiusK/RCIsy4wlWMX9YJ5NRw8sw=3D?= Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: semtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR20MB4855.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5238cacd-ecde-4285-d063-08dd67fbc32f X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2025 22:08:36.4554 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b105310d-dc1a-4d6e-bf0d-b11c10c47b0f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RTDR6NyDnogExmqspPsjxxvcf2gN63OefK+xtSsOFWTS+d4f7kJy8IqhVyXZ1C0lm4CVreAsPbhvhjsVNwFECg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR20MB4975 Hi Johan, This is the patch for adding support for Sierra Wireless and Semtech products based on Qualcomm 9x50, SDX35, SDX55 and SDX65 based products (EM75xx, EM91xx, EM92xx). Currently, only our products based on Qualcomm 9x30 and older chipsets are supported. These products have a different USB interface layout compared to the default one which require code changes. The VID/PID list has also been updated for all products mentioned above. Please review.   Thanks,   Adam     To view our privacy policy, including the types of personal information we collect, process and share, and the rights and options you have in this respect, see www.semtech.com/legal. diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c index 13c664317a05..f362da97b7de 100644 --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c @@ -26,12 +26,24 @@ enum qcserial_layouts {       QCSERIAL_G1K = 1, /* Gobi 1000 */       QCSERIAL_SWI = 2, /* Sierra Wireless */       QCSERIAL_HWI = 3, /* Huawei */ +     QCSERIAL_SWI_9X50 = 4, /* Sierra Wireless 9x50 USB-IF */ +     QCSERIAL_SWI_SDX55 = 5, /* Sierra Wireless SDX55 */ +     QCSERIAL_SWI_SDX55_RMNET = 6, /* Sierra Wireless SDX55 rmnet */ +     QCSERIAL_SWI_SDX35 = 7, /* Sierra Wireless SDX35 */  };    #define DEVICE_G1K(v, p) \       USB_DEVICE(v, p), .driver_info = QCSERIAL_G1K  #define DEVICE_SWI(v, p) \       USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI +#define DEVICE_SWI_9X50(v, p) \ +     USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI_9X50 +#define DEVICE_SWI_SDX55(v, p) \ +     USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI_SDX55 +#define DEVICE_SWI_SDX55_RMNET(v, p) \ +     USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI_SDX55_RMNET +     #define DEVICE_SWI_SDX35(v, p) \ +     USB_DEVICE(v, p), .driver_info = QCSERIAL_SWI_SDX35  #define DEVICE_HWI(v, p) \       USB_DEVICE(v, p), .driver_info = QCSERIAL_HWI   @@ -165,11 +177,21 @@ static const struct usb_device_id id_table[] = {       {DEVICE_SWI(0x1199, 0x907b)}, /* Sierra Wireless EM74xx */       {DEVICE_SWI(0x1199, 0x9090)}, /* Sierra Wireless EM7565 QDL */       {DEVICE_SWI(0x1199, 0x9091)}, /* Sierra Wireless EM7565 */ -     {DEVICE_SWI(0x1199, 0x90d2)}, /* Sierra Wireless EM9191 QDL */ +     {DEVICE_SWI(0x1199, 0x90b0)}, /* Sierra Wireless EM7565 QDL */ +     {DEVICE_SWI_9X50(0x1199, 0x90b1)},  /* Sierra Wireless EM7565 */ +     {DEVICE_SWI(0x1199, 0x90d2)}, /* Sierra Wireless EM9190 QDL */ +     {DEVICE_SWI_SDX55(0x1199, 0x90d3)}, /* Sierra Wireless EM9190 */ +     {DEVICE_SWI(0x1199, 0x90d8)}, /* Sierra Wireless EM9190 QDL */ +     {DEVICE_SWI_SDX55_RMNET(0x1199, 0x90d9)}, /* Sierra Wireless EM9190 */ +     {DEVICE_SWI(0x1199, 0x90e0)}, /* Sierra Wireless EM929x QDL */ +     {DEVICE_SWI_SDX55(0x1199, 0x90e1)}, /* Sierra Wireless EM929x */ +     {DEVICE_SWI(0x1199, 0x90e2)}, /* Sierra Wireless EM929x QDL */ +     {DEVICE_SWI_SDX55(0x1199, 0x90e3)}, /* Sierra Wireless EM929x */       {DEVICE_SWI(0x1199, 0x90e4)}, /* Sierra Wireless EM86xx QDL*/       {DEVICE_SWI(0x1199, 0x90e5)}, /* Sierra Wireless EM86xx */       {DEVICE_SWI(0x1199, 0xc080)}, /* Sierra Wireless EM7590 QDL */       {DEVICE_SWI(0x1199, 0xc081)}, /* Sierra Wireless EM7590 */ +     {DEVICE_SWI_SDX35(0x05c6, 0x90b8)}, /* Sierra Wireless SDX35 */       {DEVICE_SWI(0x413c, 0x81a2)}, /* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */       {DEVICE_SWI(0x413c, 0x81a3)}, /* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */       {DEVICE_SWI(0x413c, 0x81a4)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */ @@ -367,6 +389,88 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)                   break;             }             break; +     case QCSERIAL_SWI_SDX55: +           /* +            * Sierra Wireless SDX55 layout: +            * 3: AT-capable modem port +            * 4: DM/DIAG +            */ +           switch (ifnum) { +           case 3: +                 dev_dbg(dev, "Modem port found\n"); +                 sendsetup = true; +                 break; +           case 4: +                 dev_dbg(dev, "DM/DIAG interface found\n"); +                 break; +           default: +                 /* don't claim any unsupported interface */ +                 altsetting = -1; +                 break; +           } +           break; +     case QCSERIAL_SWI_SDX55_RMNET: +           /* +            * Sierra Wireless SDX55 layout: +            * 1: AT-capable modem port +            * 2: DM +            */ +           switch (ifnum) { +           case 1: +                 dev_dbg(dev, "Modem port found\n"); +                 sendsetup = true; +                 break; +           case 2: +                 dev_dbg(dev, "DM/DIAG interface found\n"); +                 break; +           default: +                 /* don't claim any unsupported interface */ +                 altsetting = -1; +                 break; +           } +           break; +     case QCSERIAL_SWI_9X50: +           /* +            * Sierra Wireless 9X50 USB-IF layout: +            * 2: AT-capable modem port +            * 3: NMEA +            * 4: DM +            */ +           switch (ifnum) { +           case 2: +                 dev_dbg(dev, "Modem port found\n"); +                 sendsetup = true; +                 break; +           case 3: +                 dev_dbg(dev, "NMEA GPS interface found\n"); +                 sendsetup = true; +                 break; +           case 4: +                 dev_dbg(dev, "DM/DIAG interface found\n"); +                 break; +           default: +                 /* don't claim any unsupported interface */ +                 altsetting = -1; +                 break; +           } +           break; +     case QCSERIAL_SWI_SDX35: +           /* +            */ +           switch (ifnum) { +           case 0: +                 dev_dbg(dev, "DM/DIAG interface found\n"); +                 break; +           case 1: +                 dev_dbg(dev, "Modem port found\n"); +                 sendsetup = true; +                 break; +           default: +                 /* don't claim any unsupported interface */ +                 altsetting = -1; +                 break; +           } +           break;       case QCSERIAL_HWI:             /*              * Huawei devices map functions by subclass + protocol