#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/i2c.h>
#include <linux/usb/phy.h>
#include <linux/usb/isp1301.h>
#define DRV_NAME …
struct isp1301 { … };
#define phy_to_isp(p) …
static const struct i2c_device_id isp1301_id[] = …;
MODULE_DEVICE_TABLE(i2c, isp1301_id);
static const struct of_device_id isp1301_of_match[] = …;
MODULE_DEVICE_TABLE(of, isp1301_of_match);
static struct i2c_client *isp1301_i2c_client;
static int __isp1301_write(struct isp1301 *isp, u8 reg, u8 value, u8 clear)
{ … }
static int isp1301_write(struct isp1301 *isp, u8 reg, u8 value)
{ … }
static int isp1301_clear(struct isp1301 *isp, u8 reg, u8 value)
{ … }
static int isp1301_phy_init(struct usb_phy *phy)
{ … }
static int isp1301_phy_set_vbus(struct usb_phy *phy, int on)
{ … }
static int isp1301_probe(struct i2c_client *client)
{ … }
static void isp1301_remove(struct i2c_client *client)
{ … }
static struct i2c_driver isp1301_driver = …;
module_i2c_driver(…) …;
struct i2c_client *isp1301_get_client(struct device_node *node)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;