#include <linux/ssb/ssb.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/usb/ehci_pdriver.h>
#include <linux/usb/ohci_pdriver.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define SSB_HCD_TMSLOW_HOSTMODE …
struct ssb_hcd_device { … };
static void ssb_hcd_5354wa(struct ssb_device *dev)
{ … }
static void ssb_hcd_usb20wa(struct ssb_device *dev)
{ … }
static u32 ssb_hcd_init_chip(struct ssb_device *dev)
{ … }
static const struct usb_ehci_pdata ehci_pdata = …;
static const struct usb_ohci_pdata ohci_pdata = …;
static struct platform_device *ssb_hcd_create_pdev(struct ssb_device *dev, bool ohci, u32 addr, u32 len)
{ … }
static int ssb_hcd_probe(struct ssb_device *dev,
const struct ssb_device_id *id)
{ … }
static void ssb_hcd_remove(struct ssb_device *dev)
{ … }
static void ssb_hcd_shutdown(struct ssb_device *dev)
{ … }
#ifdef CONFIG_PM
static int ssb_hcd_suspend(struct ssb_device *dev, pm_message_t state)
{ … }
static int ssb_hcd_resume(struct ssb_device *dev)
{ … }
#else
#define ssb_hcd_suspend …
#define ssb_hcd_resume …
#endif
static const struct ssb_device_id ssb_hcd_table[] = …;
MODULE_DEVICE_TABLE(ssb, ssb_hcd_table);
static struct ssb_driver ssb_hcd_driver = …;
static int __init ssb_hcd_init(void)
{ … }
module_init(…) …;
static void __exit ssb_hcd_exit(void)
{ … }
module_exit(ssb_hcd_exit);