#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/usb/otg.h>
#include "phy-am335x-control.h"
struct am335x_control_usb { … };
#define AM335X_USB0_CTRL …
#define AM335X_USB1_CTRL …
#define AM335x_USB_WKUP …
#define USBPHY_CM_PWRDN …
#define USBPHY_OTG_PWRDN …
#define USBPHY_OTGVDET_EN …
#define USBPHY_OTGSESSEND_EN …
#define AM335X_PHY0_WK_EN …
#define AM335X_PHY1_WK_EN …
static void am335x_phy_wkup(struct phy_control *phy_ctrl, u32 id, bool on)
{ … }
static void am335x_phy_power(struct phy_control *phy_ctrl, u32 id,
enum usb_dr_mode dr_mode, bool on)
{ … }
static const struct phy_control ctrl_am335x = …;
static const struct of_device_id omap_control_usb_id_table[] = …;
MODULE_DEVICE_TABLE(of, omap_control_usb_id_table);
static struct platform_driver am335x_control_driver;
static int match(struct device *dev, const void *data)
{ … }
struct phy_control *am335x_get_phy_control(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static int am335x_control_usb_probe(struct platform_device *pdev)
{ … }
static struct platform_driver am335x_control_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;