diff mbox series

[stable,5.4] usb: host: xhci-plat: add wakeup entry at sysfs

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

Commit Message

Florian Fainelli Feb. 1, 2023, 5:44 p.m. UTC
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(-)

Comments

Greg Kroah-Hartman Feb. 1, 2023, 6:16 p.m. UTC | #1
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
Florian Fainelli Feb. 1, 2023, 11:19 p.m. UTC | #2
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.
Greg Kroah-Hartman Feb. 3, 2023, 7:58 a.m. UTC | #3
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
Florian Fainelli Feb. 3, 2023, 5:50 p.m. UTC | #4
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 mbox series

Patch

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,