Re: [PATCH v4 2/3] dt-bindings: usb: snps,dwc3: Add runtime-suspend-on-usb-suspend property

From: Thinh Nguyen
Date: Fri Oct 20 2023 - 18:26:57 EST


On Tue, Oct 17, 2023, Elson Serrao wrote:
>
>
> > > HI Thinh
> > >
> > > Apologies for the delayed response.
> > > Series https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-usb/cover/1655094654-24052-1-git-send-email-quic_kriskura@xxxxxxxxxxx/__;!!A4F2R9G_pg!YGlVy7No98zfEM-X5iWRhIUJ-gJEJn_gbTR4k12avzENV1TXf7cwJLZUezYzAU-rnHIbbqA1UWM0IE0R-t5SMMTJLwLZ$
> > > from Krishna K, introduced a dt property 'wakeup-source' which indicates a
> > > platforms capability to handle wakeup interrupts. Based on this property,
> > > glue drivers can inform dwc3 core that the device is wakeup capable through
> > > device_init_wakeup(). For example dwc3-qcom driver informs it like below as
> > > per the implementation done in the above series
> > >
> > > wakeup_source = of_property_read_bool(dev->of_node, "wakeup-source");
> > > device_init_wakeup(&pdev->dev, wakeup_source);
> > > device_init_wakeup(&qcom->dwc3->dev, wakeup_source);
> > >
> > > The dwc3 core now can access this info through device_may_wakeup(dwc->dev)
> > > while checking for bus suspend scenario to know whether the platform is
> > > capable of detecting wakeup.
> > >
> > > Please let me know your thoughts on this approach.
> > >
> >
> > Hi Elson,
> >
> > I think that it may not work for everyone. Some platforms may indicate
> > wakeup-source but should only be applicable in selected scenarios.
> > (e.g. Roger's platform was only intended to keep connect on suspend)
> >
> > Also, how will you disable it for certain platforms? Probably will need
> > to use compatible string then too.
> >
>
> Hi Thinh
>
> Thank you for your feedback. As an alternative approach, how about exposing
> an API from dwc3 core that glue drivers can call to enable runtime suspend
> during bus suspend feature ( i.e this API sets
> dwc->runtime_suspend_on_usb_suspend field).
>
> Only the platforms that need this feature to be enabled, can call this API
> after the child (dwc3 core) probe.
>

You mean after Bjorn's updates? That sounds good to me. Please make it
generic so that we can set other driver properties too.

Thanks,
Thinh