Message ID | 20230201174404.32777-3-f.fainelli@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [stable,5.4] usb: host: xhci-plat: add wakeup entry at sysfs | expand |
On Wed, Feb 01, 2023 at 09:44:04AM -0800, Florian Fainelli wrote: > From: Peter Chen <peter.chen@nxp.com> > > commit 4bb4fc0dbfa23acab9b762949b91ffd52106fe4b upstream > > With this change, there will be a wakeup entry at /sys/../power/wakeup, > and the user could use this entry to choose whether enable xhci wakeup > features (wake up system from suspend) or not. > > Tested-by: Matthias Kaehlcke <mka@chromium.org> > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > Signed-off-by: Peter Chen <peter.chen@nxp.com> > Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> > Link: https://lore.kernel.org/r/20200918131752.16488-6-mathias.nyman@linux.intel.com > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > --- > drivers/usb/host/xhci-plat.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Why is this new feature needed on these older kernels? What does it fix that is broken? And why not just use a newer kernel release if you want to use this feature? thanks, greg k-h
On 2/1/23 10:16, Greg Kroah-Hartman wrote: > On Wed, Feb 01, 2023 at 09:44:04AM -0800, Florian Fainelli wrote: >> From: Peter Chen <peter.chen@nxp.com> >> >> commit 4bb4fc0dbfa23acab9b762949b91ffd52106fe4b upstream >> >> With this change, there will be a wakeup entry at /sys/../power/wakeup, >> and the user could use this entry to choose whether enable xhci wakeup >> features (wake up system from suspend) or not. >> >> Tested-by: Matthias Kaehlcke <mka@chromium.org> >> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> >> Signed-off-by: Peter Chen <peter.chen@nxp.com> >> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> >> Link: https://lore.kernel.org/r/20200918131752.16488-6-mathias.nyman@linux.intel.com >> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> >> --- >> drivers/usb/host/xhci-plat.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > > Why is this new feature needed on these older kernels? What does it fix > that is broken? It fixes the inability to make the XHCI controller a wake-up device since there is no /sys/*/*xhci/power/wakeup sysfs entry to manipulate unless this patch is applied. > > And why not just use a newer kernel release if you want to use this > feature? Because I maintain multiple version streams so I have always have a way to compare an older with a newer kernel and ensure they all behave properly. This should have been flagged with a Fixes: tag IMHO in the first place.
On Wed, Feb 01, 2023 at 03:19:08PM -0800, Florian Fainelli wrote: > On 2/1/23 10:16, Greg Kroah-Hartman wrote: > > On Wed, Feb 01, 2023 at 09:44:04AM -0800, Florian Fainelli wrote: > > > From: Peter Chen <peter.chen@nxp.com> > > > > > > commit 4bb4fc0dbfa23acab9b762949b91ffd52106fe4b upstream > > > > > > With this change, there will be a wakeup entry at /sys/../power/wakeup, > > > and the user could use this entry to choose whether enable xhci wakeup > > > features (wake up system from suspend) or not. > > > > > > Tested-by: Matthias Kaehlcke <mka@chromium.org> > > > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > > > Signed-off-by: Peter Chen <peter.chen@nxp.com> > > > Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> > > > Link: https://lore.kernel.org/r/20200918131752.16488-6-mathias.nyman@linux.intel.com > > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > > > --- > > > drivers/usb/host/xhci-plat.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Why is this new feature needed on these older kernels? What does it fix > > that is broken? > > It fixes the inability to make the XHCI controller a wake-up device since > there is no /sys/*/*xhci/power/wakeup sysfs entry to manipulate unless this > patch is applied. But that is a new feature, not a bugfix. What systems need this for these older kernels that will actually update to them in order to pick up this change? thanks, greg k-h
On 2/2/23 23:58, Greg Kroah-Hartman wrote: > On Wed, Feb 01, 2023 at 03:19:08PM -0800, Florian Fainelli wrote: >> On 2/1/23 10:16, Greg Kroah-Hartman wrote: >>> On Wed, Feb 01, 2023 at 09:44:04AM -0800, Florian Fainelli wrote: >>>> From: Peter Chen <peter.chen@nxp.com> >>>> >>>> commit 4bb4fc0dbfa23acab9b762949b91ffd52106fe4b upstream >>>> >>>> With this change, there will be a wakeup entry at /sys/../power/wakeup, >>>> and the user could use this entry to choose whether enable xhci wakeup >>>> features (wake up system from suspend) or not. >>>> >>>> Tested-by: Matthias Kaehlcke <mka@chromium.org> >>>> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> >>>> Signed-off-by: Peter Chen <peter.chen@nxp.com> >>>> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> >>>> Link: https://lore.kernel.org/r/20200918131752.16488-6-mathias.nyman@linux.intel.com >>>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >>>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> >>>> --- >>>> drivers/usb/host/xhci-plat.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> Why is this new feature needed on these older kernels? What does it fix >>> that is broken? >> >> It fixes the inability to make the XHCI controller a wake-up device since >> there is no /sys/*/*xhci/power/wakeup sysfs entry to manipulate unless this >> patch is applied. > > But that is a new feature, not a bugfix. Support for wake-up was already there in the xhci driver, just there was no way to activate it from user-space, that seems like a fix to me. > > What systems need this for these older kernels that will actually update > to them in order to pick up this change? Some NXP systems required that, and all of our ARCH_BRCMSTB SoCs also have that capability, I see you applied those patches, thanks!
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 84cfa8544285..fa320006b04d 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -276,7 +276,7 @@ static int xhci_plat_probe(struct platform_device *pdev) *priv = *priv_match; } - device_wakeup_enable(hcd->self.controller); + device_set_wakeup_capable(&pdev->dev, true); xhci->main_hcd = hcd; xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev,