Messages in this thread | | | Date | Tue, 17 May 2022 12:36:03 +0200 | Subject | Re: [PATCH v21 0/3] usb: misc: Add onboard_usb_hub driver | From | Michal Simek <> |
| |
Hi Greg,
On 4/26/22 14:01, Greg Kroah-Hartman wrote: > On Thu, Apr 21, 2022 at 11:13:08AM -0700, Matthias Kaehlcke wrote: >> Hi, >> >> On Thu, Apr 07, 2022 at 12:41:22PM -0700, Doug Anderson wrote: >>> Hi, >>> >>> On Thu, Feb 17, 2022 at 10:43 AM Matthias Kaehlcke <mka@chromium.org> wrote: >>>> >>>> This series adds: >>>> - the onboard_usb_hub_driver >>>> - glue in the generic HCD code to create and destroy the >>>> onboard_usb_hub platform devices if needed >>>> - 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 v21: >>>> - dropped patch 'driver core: Export device_is_bound()' >>>> - refactored _find_onboard_hub() >>>> - removed 'onboard_hub_dev' symlinks from USB devices >>>> - dropped patch 'arm64: dts: qcom: sc7180-trogdor: Add nodes for onboard USB hub' >>>> (will be sent separately) >>>> - rebased series on v5.17-rc4 >>>> >>>> Changes in v20: >>>> - addressed review comments from Stephen >>>> - changed DT node names for hubs >>>> >>>> Changes in v19: >>>> - added VID:PID pairs and compatible strings for RTS5414 hub >>>> - updated comments with RTS5411 USB versions to reflect those >>>> reported/supported by the hub >>>> - rebased series on v5.16 >>>> >>>> Changes in v18: >>>> - introduced hidden Kconfig option to align module vs. builtin >>>> choice with CONFIG_USB (thanks Doug!) >>>> - added patch 'driver core: Export device_is_bound()' >>>> - also adjust device tree of pompom rev1 >>>> - dropped the following patches, which aren't needed anymore by this >>>> series (though they might still be useful on their own): >>>> - usb: Specify dependencies on USB_XHCI_PLATFORM with 'depends on' >>>> - arm64: defconfig: Explicitly enable USB_XHCI_PLATFORM >>>> - ARM: configs: Explicitly enable USB_XHCI_PLATFORM where needed >>>> >>>> Changes in v17: >>>> - rebased on top of v5.16-rc1 >>>> - moved creation of onboard_hub platform devices from xhci_platform >>>> to the generic HCD code >>>> - addressed review comments for the onboard_hub driver >>>> - moved Kconfig/defconfig changes to the end of the series. The >>>> onboard_hub driver doesn't depend on XHCI_PLATFORM anymore, >>>> hence these changes aren't really required for the driver, but >>>> they still seem to be a worthwhile improvement >>>> >>>> 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 (3): >>>> of/platform: Add stubs for of_platform_device_create/destroy() >>>> usb: misc: Add onboard_usb_hub driver >>>> usb: core: hcd: Create platform devices for onboard hubs in probe() >>>> >>>> .../sysfs-bus-platform-onboard-usb-hub | 8 + >>>> MAINTAINERS | 7 + >>>> drivers/usb/core/hcd.c | 6 + >>>> drivers/usb/misc/Kconfig | 23 + >>>> drivers/usb/misc/Makefile | 1 + >>>> drivers/usb/misc/onboard_usb_hub.c | 510 ++++++++++++++++++ >>>> include/linux/of_platform.h | 22 +- >>>> include/linux/usb/hcd.h | 1 + >>>> include/linux/usb/onboard_hub.h | 18 + >>>> 9 files changed, 592 insertions(+), 4 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 >>> >>> With v5.18-rc1 out the door, I wonder if it's a good time to look at >>> this series again. Are there any hidden blockers that it's waiting >>> for? >> >> Greg, please let me know if any further changes are needed or if this >> series can be landed. > > After 21 different versions, there's nothing left for me to object to, > so I'll go queue it up. Thanks for sticking with it.
I just checked linux-next and this series is still not there. Are you going to merge it or are you waiting for v22?
Thanks, Michal
| |