#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/usb.h>
#include <linux/usb/hcd.h>
#include "ehci.h"
#include "pci-quirks.h"
#define DRIVER_DESC …
static const char hcd_name[] = …;
#define PCI_DEVICE_ID_INTEL_CE4100_USB …
#define PCI_VENDOR_ID_ASPEED …
#define PCI_DEVICE_ID_ASPEED_EHCI …
#define PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC …
static inline bool is_intel_quark_x1000(struct pci_dev *pdev)
{ … }
static const struct pci_device_id bypass_pci_id_table[] = …;
static inline bool is_bypassed_id(struct pci_dev *pdev)
{ … }
#define intel_quark_x1000_insnreg01 …
#define INTEL_QUARK_X1000_EHCI_MAX_THRESHOLD …
static int ehci_pci_reinit(struct ehci_hcd *ehci, struct pci_dev *pdev)
{ … }
static int ehci_pci_setup(struct usb_hcd *hcd)
{ … }
#ifdef CONFIG_PM
static int ehci_pci_resume(struct usb_hcd *hcd, pm_message_t msg)
{ … }
#else
#define ehci_suspend …
#define ehci_pci_resume …
#endif
static struct hc_driver __read_mostly ehci_pci_hc_driver;
static const struct ehci_driver_overrides pci_overrides __initconst = …;
static int ehci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
{ … }
static void ehci_pci_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id pci_ids [] = …;
MODULE_DEVICE_TABLE(pci, pci_ids);
static struct pci_driver ehci_pci_driver = …;
static int __init ehci_pci_init(void)
{ … }
module_init(…) …;
static void __exit ehci_pci_cleanup(void)
{ … }
module_exit(ehci_pci_cleanup);
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;