Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp2910561pxb; Tue, 21 Sep 2021 10:10:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwc7Vl6++hH2u8vEzBadbovyGHnJ12ecrCb3T7sfWcN7gfzCW3EtwPB1OZ5UC0m2+dOBKJ3 X-Received: by 2002:a05:6638:2588:: with SMTP id s8mr941932jat.43.1632244244404; Tue, 21 Sep 2021 10:10:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632244244; cv=none; d=google.com; s=arc-20160816; b=Kq465DX4xkvCMbH0Yw3S811YaiPPeOB9BrhEz+QKzHbzGUxXu3VlhTxVHx547cZeIB Fu3eV8EcThm5oL7d7jXLxVtgYn9qxTX6Gfn2fu9lmPPzvz9t+KHtHlyP4YQOJh3A1567 s0pCPnbQDZ23w0IjhC5Sl9hL96b7TxyfxMfAiGoSlb4U73wgUFmzxwDsp/Og07W1rNQj TNFOJo/rSLvhc6/F/+hjmH+zjHw+fOcFc9mDGT+9OT75SdXZdpdEndfDG0Rf7fvFfSzU a+8rMhwTlkvcXAR8vMCULWwp1w9Upw2hBfqIJ2v+V/jRW7NujEoEMpMEaJXXdn6OUkvo eqvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=n7HGmPYwL475PdtYm46wy9zSx3aGM/fXJUshwhN+SlM=; b=q+o5RE3UN8R8pI7ADp3Ppg9qp12d84FiFYS2BBUw6M/8PxGHkPQG0SRtSDsZmj1QNY qO1+E7XgZ278o511v+9a5UusDKFdHq5XfODxSLnHCHWMaq8IuoEasjr/PlyIvSr6sqPg 8aipaOJsH7UlSuiYGZFnGT6NtxNDpabrrQfH23cCipIYaOysuaBV93w1Lrxe/Syas9aJ lwATU8ef3me2OnD62CUHNviHKMRULHa3v8Dpp1f1D9MHYzEXMX4m8pLRqM8jPT9p/xW+ 3VesdJhd+CpvkmsYtWAa8Rhkqyw2YmbrUT3+TLIKx7PVCyXpMnSm0cWsA+h+4OhWG+xE T6cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=EBGNZr04; 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=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d6si6840381ilv.154.2021.09.21.10.10.27; Tue, 21 Sep 2021 10:10:44 -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=@chromium.org header.s=google header.b=EBGNZr04; 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=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229696AbhIURKe (ORCPT + 99 others); Tue, 21 Sep 2021 13:10:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229893AbhIURKd (ORCPT ); Tue, 21 Sep 2021 13:10:33 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BBBBC061575 for ; Tue, 21 Sep 2021 10:09:05 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id e16so92239pfc.6 for ; Tue, 21 Sep 2021 10:09:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=n7HGmPYwL475PdtYm46wy9zSx3aGM/fXJUshwhN+SlM=; b=EBGNZr04Sh+tbGaVPvAAdZ5Ir0X+RVOsM8s8+OSuzEJrbjn0YyjKTiFuqcQx3s+Fzp Wmp4l5WktYW+gN3asE7UoNA3p5ZebYhMoMLKR/wbIpzMPux113AF9qx4jS0Ik/QqDhQs CksYISDeY0hZPI/xyNpHfrWANy33TDBgE1Yk8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=n7HGmPYwL475PdtYm46wy9zSx3aGM/fXJUshwhN+SlM=; b=vlMnOpukeKYMWQ3Y4yf1+hSRzY0I1KO6PAIyDm+uGFQD3yAs5fpOwi4iPOX9nB/dAe 4frdVizvSvp3iPr8knejkcWRAy81GJuIsWFQFhDLsMc+Qbl52spK/WHXijEGqYHTIHOg Z40zs49VgQbCvJ38sNrXQzbIIqrYN3BvulgoBgC4eYLtMHX5pOBXcdHQTtz7QZqNNQeR bV0zWADVS2/Xy/hCZZUywdjNqCLtJou+mgHQHj429RjMxKZv6dYHyAYsukywhlYtO4m6 ctjSvCX9BSVK72Lts2SaBTH5zPwPKYWb7Y2wtctEU/gJH0+I5L4q4Uu1Y1BKzY6rKVNe yDKg== X-Gm-Message-State: AOAM533WuDmTdUX/yjLHSOyvtomrQ/3rtURqhRai+0MmEqzbcWJsj+MW +iehP5mIE3ixfX0/di0rhqnVYA== X-Received: by 2002:a05:6a00:26cc:b0:440:51c6:fa38 with SMTP id p12-20020a056a0026cc00b0044051c6fa38mr30406951pfw.45.1632244144756; Tue, 21 Sep 2021 10:09:04 -0700 (PDT) Received: from localhost ([2620:15c:202:201:40f3:7953:e98e:68ab]) by smtp.gmail.com with UTF8SMTPSA id w4sm2874355pfb.3.2021.09.21.10.09.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Sep 2021 10:09:04 -0700 (PDT) Date: Tue, 21 Sep 2021 10:08:59 -0700 From: Matthias Kaehlcke To: Greg Kroah-Hartman , Alan Stern , Rob Herring , Frank Rowand , Mathias Nyman , Felipe Balbi Cc: devicetree@vger.kernel.org, Peter Chen , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Bastien Nocera , Ravi Chandra Sadineni , Michal Simek , Douglas Anderson , Roger Quadros , Krzysztof Kozlowski , Stephen Boyd , Al Cooper , Al Viro , Alexandre Belloni , Alexandre Torgue , Andrew Lunn , Andrey Zhizhikin , Andy Gross , Arnd Bergmann , Aswath Govindraju , Bjorn Andersson , Catalin Marinas , Dmitry Baryshkov , Dmitry Osipenko , Dong Aisheng , Enric Balletbo i Serra , Fabio Estevam , Fabrice Gasnier , Florian Fainelli , Gregory Clement , Grygorii Strashko , Guido =?utf-8?Q?G=C3=BCnther?= , Jagan Teki , Jens Axboe , Johan Hovold , Krzysztof Kozlowski , Lad Prabhakar , Lionel Debieve , Manivannan Sadhasivam , Marek Szyprowski , Mark Brown , Martin =?utf-8?Q?J=C3=BCcker?= , Nishanth Menon , Olivier Moysan , Pawel Laszczak , Robert Richter , Russell King , Sebastian Hesselbarth , Shawn Guo , Thomas Gleixner , Tony Lindgren , Vinod Koul , Viresh Kumar , Will Deacon , William Cohen , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-omap@vger.kernel.org, linux-samsung-soc@vger.kernel.org, =?utf-8?Q?=C5=81ukasz?= Stelmach Subject: Re: [PATCH v16 0/7] usb: misc: Add onboard_usb_hub driver Message-ID: References: <20210813195228.2003500-1-mka@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210813195228.2003500-1-mka@chromium.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Greg, are there any actions pending or can this land in usb-testing? I confirmed that this series can be rebased on top of v5.15-rc2 without conflicts. Thanks m. On Fri, Aug 13, 2021 at 12:52:21PM -0700, Matthias Kaehlcke wrote: > This series adds: > - the onboard_usb_hub_driver > - glue in the xhci-plat driver to create and destroy the > onboard_usb_hub platform devices if needed > - a device tree binding for the Realtek RTS5411 USB hub controller > - device tree changes that add RTS5411 entries for the QCA SC7180 > based boards trogdor and lazor > - a couple of stubs for platform device functions to avoid > unresolved symbols with certain kernel configs > > The main issue the driver addresses is that a USB hub needs to be > powered before it can be discovered. For discrete onboard hubs (an > example for such a hub is the Realtek RTS5411) this is often solved > by supplying the hub with an 'always-on' regulator, which is kind > of a hack. Some onboard hubs may require further initialization > steps, like changing the state of a GPIO or enabling a clock, which > requires even more hacks. This driver creates a platform device > representing the hub which performs the necessary initialization. > Currently it only supports switching on a single regulator, support > for multiple regulators or other actions can be added as needed. > Different initialization sequences can be supported based on the > compatible string. > > Besides performing the initialization the driver can be configured > to power the hub off during system suspend. This can help to extend > battery life on battery powered devices which have no requirements > to keep the hub powered during suspend. The driver can also be > configured to leave the hub powered when a wakeup capable USB device > is connected when suspending, and power it off otherwise. > > Changes in v16: > - added patch 'ARM: configs: Explicitly enable USB_XHCI_PLATFORM > where needed' to keep arm32 defconfigs effectively unchanged > > Changes in v15: > - adjusted dependencies of USB_DWC3_CORE to make sure it can only > be enabled when at least one of USB_DWC3_HOST, USB_DWC3_GADGET > or USB_DWC3_DUAL_ROLE is selectable > > Changes in v14: > - rebased on top of v5.14-rc1 > - dropped DT binding patch which landed in v5.13 > > Changes in v13: > - added patch "usb: Specify dependency on USB_XHCI_PLATFORM with > 'depends on'" to the series to avoid Kconfig conflicts > - added patch "arm64: defconfig: Explicitly enable USB_XHCI_PLATFORM" > to the series to keep effective defconfig unchanged > > Changes in v12: > - onboard_hub driver: use IS_ENABLED(CONFIG_USB_ONBOARD_HUB_MODULE) > in onboard_hub.h to also check for the driver built as module > - onboard_hub_driver: include onboard_hub.h again to make sure there > are prototype declarations for the public functions > > Changes in v11: > - support multiple onboard hubs connected to the same parent > - don't include ‘onboard_hub.h’ from the onboard hub driver > > Changes in v10: > - always use of_is_onboard_usb_hub() stub unless ONBOARD_USB_HUB=y/m > - keep 'regulator-boot-on' property for pp3300_hub > > Changes in v9: > - added dependency on ONBOARD_USB_HUB (or !!ONBOARD_USB_HUB) to > USB_PLATFORM_XHCI > > Changes in v7: > - updated DT binding > - series rebased on qcom/arm64-for-5.13 > > Changes in v6: > - updated summary > > Changes in v5: > - cover letter added > > Matthias Kaehlcke (7): > usb: misc: Add onboard_usb_hub driver > of/platform: Add stubs for of_platform_device_create/destroy() > ARM: configs: Explicitly enable USB_XHCI_PLATFORM where needed > arm64: defconfig: Explicitly enable USB_XHCI_PLATFORM > usb: Specify dependencies on USB_XHCI_PLATFORM with 'depends on' > usb: host: xhci-plat: Create platform device for onboard hubs in > probe() > arm64: dts: qcom: sc7180-trogdor: Add nodes for onboard USB hub > > .../sysfs-bus-platform-onboard-usb-hub | 8 + > MAINTAINERS | 7 + > arch/arm/configs/exynos_defconfig | 1 + > arch/arm/configs/keystone_defconfig | 1 + > arch/arm/configs/multi_v7_defconfig | 1 + > arch/arm/configs/mvebu_v7_defconfig | 1 + > arch/arm/configs/omap2plus_defconfig | 1 + > arch/arm/configs/pxa_defconfig | 1 + > .../boot/dts/qcom/sc7180-trogdor-lazor-r0.dts | 19 +- > .../boot/dts/qcom/sc7180-trogdor-lazor-r1.dts | 12 +- > .../arm64/boot/dts/qcom/sc7180-trogdor-r1.dts | 19 +- > arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 19 +- > arch/arm64/configs/defconfig | 1 + > drivers/usb/cdns3/Kconfig | 2 +- > drivers/usb/dwc3/Kconfig | 5 +- > drivers/usb/host/Kconfig | 5 +- > drivers/usb/host/xhci-plat.c | 6 + > drivers/usb/host/xhci.h | 2 + > drivers/usb/misc/Kconfig | 17 + > drivers/usb/misc/Makefile | 1 + > drivers/usb/misc/onboard_usb_hub.c | 497 ++++++++++++++++++ > include/linux/of_platform.h | 22 +- > include/linux/usb/onboard_hub.h | 18 + > 23 files changed, 627 insertions(+), 39 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-onboard-usb-hub > create mode 100644 drivers/usb/misc/onboard_usb_hub.c > create mode 100644 include/linux/usb/onboard_hub.h > > -- > 2.33.0.rc1.237.g0d66db33f3-goog >