#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/usb/ch11.h>
#include <linux/usb/hcd.h>
#include <linux/usb/phy.h>
struct lvs_rh { … };
static struct usb_device *create_lvs_device(struct usb_interface *intf)
{ … }
static void destroy_lvs_device(struct usb_device *udev)
{ … }
static int lvs_rh_clear_port_feature(struct usb_device *hdev,
int port1, int feature)
{ … }
static int lvs_rh_set_port_feature(struct usb_device *hdev,
int port1, int feature)
{ … }
static ssize_t u3_entry_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(u3_entry);
static ssize_t u3_exit_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(u3_exit);
static ssize_t hot_reset_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(hot_reset);
static ssize_t warm_reset_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(warm_reset);
static ssize_t u2_timeout_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(u2_timeout);
static ssize_t u1_timeout_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(u1_timeout);
static ssize_t get_dev_desc_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(get_dev_desc);
static ssize_t enable_compliance_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(enable_compliance);
static struct attribute *lvs_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void lvs_rh_work(struct work_struct *work)
{ … }
static void lvs_rh_irq(struct urb *urb)
{ … }
static int lvs_rh_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void lvs_rh_disconnect(struct usb_interface *intf)
{ … }
static struct usb_driver lvs_driver = …;
module_usb_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;