Commit 77d8f110 authored by Yoshihiro Shimoda's avatar Yoshihiro Shimoda Committed by Greg Kroah-Hartman

usb: host: xhci-plat: add quirks member into struct xhci_plat_priv

To simplify adding xhci->quirks instead of the .init_quirk()
function, this patch adds a new parameter "quirks" into
the struct xhci_plat_priv.
Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/1567425698-27560-2-git-send-email-yoshihiro.shimoda.uh@renesas.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9334367c
...@@ -66,12 +66,14 @@ static int xhci_priv_resume_quirk(struct usb_hcd *hcd) ...@@ -66,12 +66,14 @@ static int xhci_priv_resume_quirk(struct usb_hcd *hcd)
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
{ {
struct xhci_plat_priv *priv = xhci_to_priv(xhci);
/* /*
* As of now platform drivers don't provide MSI support so we ensure * As of now platform drivers don't provide MSI support so we ensure
* here that the generic code does not try to make a pci_dev from our * here that the generic code does not try to make a pci_dev from our
* dev struct in order to setup MSI * dev struct in order to setup MSI
*/ */
xhci->quirks |= XHCI_PLAT; xhci->quirks |= XHCI_PLAT | priv->quirks;
} }
/* called during probe() after chip reset completes */ /* called during probe() after chip reset completes */
......
...@@ -12,10 +12,12 @@ ...@@ -12,10 +12,12 @@
struct xhci_plat_priv { struct xhci_plat_priv {
const char *firmware_name; const char *firmware_name;
unsigned long long quirks;
void (*plat_start)(struct usb_hcd *); void (*plat_start)(struct usb_hcd *);
int (*init_quirk)(struct usb_hcd *); int (*init_quirk)(struct usb_hcd *);
int (*resume_quirk)(struct usb_hcd *); int (*resume_quirk)(struct usb_hcd *);
}; };
#define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv) #define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv)
#define xhci_to_priv(x) ((struct xhci_plat_priv *)(x)->priv)
#endif /* _XHCI_PLAT_H */ #endif /* _XHCI_PLAT_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment