mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
usb: host: xhci-plat: Add .post_resume_quirk for struct xhci_plat_priv
Some SoCs (eg Renesas RZ/G3E SoC) have special sequence after xhci_resume, add .post_resume_quick for it. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20250916150255.4231-6-biju.das.jz@bp.renesas.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f7acd12eba
commit
2ef16e4eb4
|
|
@ -75,6 +75,16 @@ static int xhci_priv_resume_quirk(struct usb_hcd *hcd)
|
|||
return priv->resume_quirk(hcd);
|
||||
}
|
||||
|
||||
static int xhci_priv_post_resume_quirk(struct usb_hcd *hcd)
|
||||
{
|
||||
struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd);
|
||||
|
||||
if (!priv->post_resume_quirk)
|
||||
return 0;
|
||||
|
||||
return priv->post_resume_quirk(hcd);
|
||||
}
|
||||
|
||||
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
{
|
||||
struct xhci_plat_priv *priv = xhci_to_priv(xhci);
|
||||
|
|
@ -530,6 +540,10 @@ static int xhci_plat_resume_common(struct device *dev, bool power_lost)
|
|||
if (ret)
|
||||
goto disable_clks;
|
||||
|
||||
ret = xhci_priv_post_resume_quirk(hcd);
|
||||
if (ret)
|
||||
goto disable_clks;
|
||||
|
||||
pm_runtime_disable(dev);
|
||||
pm_runtime_set_active(dev);
|
||||
pm_runtime_enable(dev);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ struct xhci_plat_priv {
|
|||
int (*init_quirk)(struct usb_hcd *);
|
||||
int (*suspend_quirk)(struct usb_hcd *);
|
||||
int (*resume_quirk)(struct usb_hcd *);
|
||||
int (*post_resume_quirk)(struct usb_hcd *);
|
||||
};
|
||||
|
||||
#define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user