Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4429872pxf; Tue, 30 Mar 2021 07:39:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfQwQG6Iepqa3owp89AspWO/3Lj9V/3j6px+4TtDexeu57MbrCctkC8j1V71FE8Q1ZUUCq X-Received: by 2002:a05:6402:22f6:: with SMTP id dn22mr33520246edb.214.1617115177495; Tue, 30 Mar 2021 07:39:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617115177; cv=none; d=google.com; s=arc-20160816; b=jHvdNl5S3CaYbkpxaBwSMGJqeJccHkS/5fk6GBvhivBrAbb0hs3aXS45AkPDFbqmiO G3aXmQ6rBpyfyWGAo4EMwOAozCmXhFnGDQ6JppdnLJKj1S6tdvEkAq55DJJlvYurdlPe 2rcxqdn7Aj/lc65Hyp8LVqdpxvdPfN1HzMVu8inzcGXzBsWSURN2DXTreDEqzxLAhYL2 a0uh0UxSDbhYM77Stl34uS29UQVXab8wpe3KKE1B8wFMWv1Ok+IeO9T3ReupYiqB+7qX /cwQayuBeeNJwgwh2JjA+Z/P6IdWjAkmFHrFaweBruuF633MvR9ZGit5/yk0QQtammAi 3xUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=RPh4vuzFmxP/3jvV933ADyxqgJrzcqnryIcgD6Kv824=; b=Rc8cgle0+kMibwSwUlFXjlROAONu5JU9k26DSrfzAzYhc5/BQg+/tteVvgjTGhuYug GXSgsnBSt4s9iSTG8EPjKCwT8G9Gkoucj/FDL+92GkT0yQSgpW46JrPgx9xGvKDF72jv 3RDlqXN5Bi26DHKFLRpNHBEFNoYM5n7pigZ501gBq0m4/usbgWahd5mQX+d7M20OiItd yvJyIdmp/pTdG1AEi5ATFcPf9N2XMJJ785euwRxij11m6Z4deoyR1OwoeoVYsJ6Ghi31 uu8j20sdz3WYedZdBO7oNgxEizy2COUEEJnwABqnmV9x8f5vSvN8gWWHcNaDNnyPDpQz Ot/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=md9IPXSt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lr14si15266749ejb.627.2021.03.30.07.39.14; Tue, 30 Mar 2021 07:39:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=md9IPXSt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232203AbhC3OiY (ORCPT + 99 others); Tue, 30 Mar 2021 10:38:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:50514 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231982AbhC3OiF (ORCPT ); Tue, 30 Mar 2021 10:38:05 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 79774619CD; Tue, 30 Mar 2021 14:38:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617115085; bh=g73wNQL4k2lRInaQ6dxIl0zoTR2Hfi58MBlUV2HHCkc=; h=From:To:Cc:Subject:Date:From; b=md9IPXStO783PgnO1IrO+hK6MdBy1oTGbtqgwYY5Q3FwdGSkLOt11S7DP94G9SiUs vJ2x6LgsYhDBzSdcKXMflQ4NSrcPDg98mq5KBiXxS8U6cFGeGn5Ze02izDv9UpRcbF cwOtCsM0GU6o2N2Mxy7kj63adb8GhFejM915GG2BXakf+whcA41tAi+pQK8v/g2kbY jE7Q+BcGxkMaamYLarzvo3/3EOnte7zaTKo9TdO45Arrfmpv32OiyWD31gqL4h36Ns TwrsnDmsfZv7qlfS+v/y8mNfniawIh2W2g/j4rNCXNQhPunPalz3Akpcp8KRbem/OV sqpghxoYqkjzA== Received: from johan by xi.lan with local (Exim 4.93.0.4) (envelope-from ) id 1lRFVj-0002Ni-89; Tue, 30 Mar 2021 16:38:27 +0200 From: Johan Hovold To: Johan Hovold Cc: Mauro Carvalho Chehab , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/4] USB: serial: add support for multi-interface functions Date: Tue, 30 Mar 2021 16:38:16 +0200 Message-Id: <20210330143820.9103-1-johan@kernel.org> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A single USB function can be implemented using a group of interfaces and this is for example commonly used for Communication Class devices. This series adds support for multi-interface functions to USB serial core and exports an interface that allows drivers to claim a second sibling interface. The interface could easily be extended to allow claiming further interfaces if ever needed. The final patch uses the new interface to properly claim both the control and data interface of Maxlinear/Exar devices. Johan Johan Hovold (4): USB: serial: drop unused suspending flag USB: serial: refactor endpoint classification USB: serial: add support for multi-interface functions USB: serial: xr: claim both interfaces drivers/usb/serial/usb-serial.c | 135 ++++++++++++++++++++++++-------- drivers/usb/serial/xr_serial.c | 26 +++++- include/linux/usb/serial.h | 8 +- 3 files changed, 131 insertions(+), 38 deletions(-) -- 2.26.3