#include <linux/usb/hcd.h>
#include <linux/usb/chipidea.h>
-#define CHIPIDEA_EHCI
#include "../host/ehci.h"
#include "ci.h"
#include "bits.h"
#include "host.h"
-static const struct ehci_driver_overrides ci_overrides = {
- .product_desc = "ChipIdea HDRC EHCI host controller",
-};
-
static struct hc_driver __read_mostly ci_ehci_hc_driver;
static irqreturn_t host_irq(struct ci13xxx *ci)
rdrv->name = "host";
ci->roles[CI_ROLE_HOST] = rdrv;
- ehci_init_driver(&ci_ehci_hc_driver, &ci_overrides);
+ ehci_init_driver(&ci_ehci_hc_driver, NULL);
return 0;
}
/* Copy the generic table to drv and then apply the overrides */
*drv = ehci_hc_driver;
- drv->product_desc = over->product_desc;
- drv->hcd_priv_size += over->extra_priv_size;
- if (over->reset)
- drv->reset = over->reset;
+ if (over) {
+ drv->hcd_priv_size += over->extra_priv_size;
+ if (over->reset)
+ drv->reset = over->reset;
+ }
}
EXPORT_SYMBOL_GPL(ehci_init_driver);
static struct hc_driver __read_mostly ehci_pci_hc_driver;
-static const struct ehci_driver_overrides overrides = {
- .product_desc = "EHCI PCI host controller",
+static const struct ehci_driver_overrides pci_overrides __initdata = {
.reset = ehci_pci_setup,
};
pr_info("%s: " DRIVER_DESC "\n", hcd_name);
- ehci_init_driver(&ehci_pci_hc_driver, &overrides);
+ ehci_init_driver(&ehci_pci_hc_driver, &pci_overrides);
/* Entries for the PCI suspend/resume callbacks are special */
ehci_pci_hc_driver.pci_suspend = ehci_suspend;
static struct hc_driver __read_mostly ehci_platform_hc_driver;
-static const struct ehci_driver_overrides platform_overrides = {
- .product_desc = "Generic Platform EHCI controller",
+static const struct ehci_driver_overrides platform_overrides __initdata = {
.reset = ehci_platform_reset,
};
/* Declarations of things exported for use by ehci platform drivers */
struct ehci_driver_overrides {
- const char *product_desc;
size_t extra_priv_size;
int (*reset)(struct usb_hcd *hcd);
};