#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/gpio/consumer.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/usb.h>
#include <linux/usb/hcd.h>
#include "ehci.h"
#define DRIVER_DESC …
#define EHCI_INSNREG00(base) …
#define EHCI_INSNREG00_ENA_INCR16 …
#define EHCI_INSNREG00_ENA_INCR8 …
#define EHCI_INSNREG00_ENA_INCR4 …
#define EHCI_INSNREG00_ENA_INCRX_ALIGN …
#define EHCI_INSNREG00_ENABLE_DMA_BURST …
static struct hc_driver __read_mostly exynos_ehci_hc_driver;
#define PHY_NUMBER …
struct exynos_ehci_hcd { … };
#define to_exynos_ehci(hcd) …
static int exynos_ehci_get_phy(struct device *dev,
struct exynos_ehci_hcd *exynos_ehci)
{ … }
static int exynos_ehci_phy_enable(struct device *dev)
{ … }
static void exynos_ehci_phy_disable(struct device *dev)
{ … }
static void exynos_setup_vbus_gpio(struct device *dev)
{ … }
static int exynos_ehci_probe(struct platform_device *pdev)
{ … }
static void exynos_ehci_remove(struct platform_device *pdev)
{ … }
static int exynos_ehci_suspend(struct device *dev)
{ … }
static int exynos_ehci_resume(struct device *dev)
{ … }
static DEFINE_SIMPLE_DEV_PM_OPS(exynos_ehci_pm_ops,
exynos_ehci_suspend, exynos_ehci_resume);
#ifdef CONFIG_OF
static const struct of_device_id exynos_ehci_match[] = …;
MODULE_DEVICE_TABLE(of, exynos_ehci_match);
#endif
static struct platform_driver exynos_ehci_driver = …;
static const struct ehci_driver_overrides exynos_overrides __initconst = …;
static int __init ehci_exynos_init(void)
{ … }
module_init(…) …;
static void __exit ehci_exynos_cleanup(void)
{ … }
module_exit(ehci_exynos_cleanup);
MODULE_DESCRIPTION(…);
MODULE_ALIAS(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;