* [PATCH] usb: dwc3: xilinx: add shutdown callback
@ 2025-06-03 19:09 Radhey Shyam Pandey
2025-06-05 0:23 ` Thinh Nguyen
0 siblings, 1 reply; 2+ messages in thread
From: Radhey Shyam Pandey @ 2025-06-03 19:09 UTC (permalink / raw)
To: Thinh.Nguyen, gregkh, michal.simek
Cc: linux-usb, linux-arm-kernel, linux-kernel, git,
Radhey Shyam Pandey
Adds a shutdown callback to ensure that the XHCI stack is properly
shutdown in reboot/shutdown path.
In kexec flow, kernel_restart_prepare() performs actions necessary
to prepare the system for a restart and invokes device_shutdown. To
ensure proper shutdown attach the dwc3 shutdown implementation which
mirrors the remove method.
$ kexec -e
<snip>
xhci-hcd xhci-hcd.0.auto: remove, state 1
usb usb1: USB disconnect, device number 1
usb 1-1: USB disconnect, device number 6
xhci-hcd xhci-hcd.0.auto: USB bus 1 deregistered
kexec_core: Starting new kernel
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
---
Referred implementation from mainline commit ' 85e8a23936ab
("scsi: lpfc: Add shutdown method for kexec").
---
drivers/usb/dwc3/dwc3-xilinx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c
index 4ca7f6240d07..09c3c5c226ab 100644
--- a/drivers/usb/dwc3/dwc3-xilinx.c
+++ b/drivers/usb/dwc3/dwc3-xilinx.c
@@ -422,6 +422,7 @@ static const struct dev_pm_ops dwc3_xlnx_dev_pm_ops = {
static struct platform_driver dwc3_xlnx_driver = {
.probe = dwc3_xlnx_probe,
.remove = dwc3_xlnx_remove,
+ .shutdown = dwc3_xlnx_remove,
.driver = {
.name = "dwc3-xilinx",
.of_match_table = dwc3_xlnx_of_match,
base-commit: a0bea9e39035edc56a994630e6048c8a191a99d8
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] usb: dwc3: xilinx: add shutdown callback
2025-06-03 19:09 [PATCH] usb: dwc3: xilinx: add shutdown callback Radhey Shyam Pandey
@ 2025-06-05 0:23 ` Thinh Nguyen
0 siblings, 0 replies; 2+ messages in thread
From: Thinh Nguyen @ 2025-06-05 0:23 UTC (permalink / raw)
To: Radhey Shyam Pandey
Cc: Thinh Nguyen, gregkh@linuxfoundation.org, michal.simek@amd.com,
linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, git@amd.com
On Wed, Jun 04, 2025, Radhey Shyam Pandey wrote:
> Adds a shutdown callback to ensure that the XHCI stack is properly
> shutdown in reboot/shutdown path.
>
> In kexec flow, kernel_restart_prepare() performs actions necessary
> to prepare the system for a restart and invokes device_shutdown. To
> ensure proper shutdown attach the dwc3 shutdown implementation which
> mirrors the remove method.
>
> $ kexec -e
>
> <snip>
> xhci-hcd xhci-hcd.0.auto: remove, state 1
> usb usb1: USB disconnect, device number 1
> usb 1-1: USB disconnect, device number 6
> xhci-hcd xhci-hcd.0.auto: USB bus 1 deregistered
> kexec_core: Starting new kernel
>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> ---
> Referred implementation from mainline commit ' 85e8a23936ab
> ("scsi: lpfc: Add shutdown method for kexec").
> ---
> drivers/usb/dwc3/dwc3-xilinx.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c
> index 4ca7f6240d07..09c3c5c226ab 100644
> --- a/drivers/usb/dwc3/dwc3-xilinx.c
> +++ b/drivers/usb/dwc3/dwc3-xilinx.c
> @@ -422,6 +422,7 @@ static const struct dev_pm_ops dwc3_xlnx_dev_pm_ops = {
> static struct platform_driver dwc3_xlnx_driver = {
> .probe = dwc3_xlnx_probe,
> .remove = dwc3_xlnx_remove,
> + .shutdown = dwc3_xlnx_remove,
> .driver = {
> .name = "dwc3-xilinx",
> .of_match_table = dwc3_xlnx_of_match,
>
> base-commit: a0bea9e39035edc56a994630e6048c8a191a99d8
> --
> 2.34.1
>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
BR,
Thinh
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-05 0:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-03 19:09 [PATCH] usb: dwc3: xilinx: add shutdown callback Radhey Shyam Pandey
2025-06-05 0:23 ` Thinh Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).