#include <linux/usb/otg.h>
#include <linux/usb/gadget.h>
#include <linux/usb/hcd.h>
#include <linux/usb/chipidea.h>
#include <linux/regulator/consumer.h>
#include "ci.h"
#include "bits.h"
#include "otg.h"
#include "otg_fsm.h"
static ssize_t
a_bus_req_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static ssize_t
a_bus_req_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(a_bus_req);
static ssize_t
a_bus_drop_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static ssize_t
a_bus_drop_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(a_bus_drop);
static ssize_t
b_bus_req_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static ssize_t
b_bus_req_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(b_bus_req);
static ssize_t
a_clr_err_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(a_clr_err);
static struct attribute *inputs_attrs[] = …;
static const struct attribute_group inputs_attr_group = …;
static unsigned otg_timer_ms[] = …;
static void ci_otg_add_timer(struct ci_hdrc *ci, enum otg_fsm_timer t)
{ … }
static void ci_otg_del_timer(struct ci_hdrc *ci, enum otg_fsm_timer t)
{ … }
static int a_wait_vrise_tmout(struct ci_hdrc *ci)
{ … }
static int a_wait_vfall_tmout(struct ci_hdrc *ci)
{ … }
static int a_wait_bcon_tmout(struct ci_hdrc *ci)
{ … }
static int a_aidl_bdis_tmout(struct ci_hdrc *ci)
{ … }
static int b_ase0_brst_tmout(struct ci_hdrc *ci)
{ … }
static int a_bidl_adis_tmout(struct ci_hdrc *ci)
{ … }
static int b_aidl_bdis_tmout(struct ci_hdrc *ci)
{ … }
static int b_se0_srp_tmout(struct ci_hdrc *ci)
{ … }
static int b_srp_fail_tmout(struct ci_hdrc *ci)
{ … }
static int b_data_pls_tmout(struct ci_hdrc *ci)
{ … }
static int b_ssend_srp_tmout(struct ci_hdrc *ci)
{ … }
static int (*otg_timer_handlers[])(struct ci_hdrc *) = …;
static enum hrtimer_restart ci_otg_hrtimer_func(struct hrtimer *t)
{ … }
static int ci_otg_init_timers(struct ci_hdrc *ci)
{ … }
static void ci_otg_fsm_add_timer(struct otg_fsm *fsm, enum otg_fsm_timer t)
{ … }
static void ci_otg_fsm_del_timer(struct otg_fsm *fsm, enum otg_fsm_timer t)
{ … }
static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on)
{ … }
static void ci_otg_loc_conn(struct otg_fsm *fsm, int on)
{ … }
static void ci_otg_loc_sof(struct otg_fsm *fsm, int on)
{ … }
static void ci_otg_start_pulse(struct otg_fsm *fsm)
{ … }
static int ci_otg_start_host(struct otg_fsm *fsm, int on)
{ … }
static int ci_otg_start_gadget(struct otg_fsm *fsm, int on)
{ … }
static struct otg_fsm_ops ci_otg_ops = …;
int ci_otg_fsm_work(struct ci_hdrc *ci)
{ … }
static void ci_otg_fsm_event(struct ci_hdrc *ci)
{ … }
irqreturn_t ci_otg_fsm_irq(struct ci_hdrc *ci)
{ … }
void ci_hdrc_otg_fsm_start(struct ci_hdrc *ci)
{ … }
int ci_hdrc_otg_fsm_init(struct ci_hdrc *ci)
{ … }
void ci_hdrc_otg_fsm_remove(struct ci_hdrc *ci)
{ … }