#include <linux/ulpi/interface.h>
#include <linux/ulpi/driver.h>
#include <linux/ulpi/regs.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/acpi.h>
#include <linux/debugfs.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/clk/clk-conf.h>
int ulpi_read(struct ulpi *ulpi, u8 addr)
{ … }
EXPORT_SYMBOL_GPL(…);
int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val)
{ … }
EXPORT_SYMBOL_GPL(…);
static int ulpi_match(struct device *dev, const struct device_driver *driver)
{ … }
static int ulpi_uevent(const struct device *dev, struct kobj_uevent_env *env)
{ … }
static int ulpi_probe(struct device *dev)
{ … }
static void ulpi_remove(struct device *dev)
{ … }
static const struct bus_type ulpi_bus = …;
static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
char *buf)
{ … }
static DEVICE_ATTR_RO(modalias);
static struct attribute *ulpi_dev_attrs[] = …;
static const struct attribute_group ulpi_dev_attr_group = …;
static const struct attribute_group *ulpi_dev_attr_groups[] = …;
static void ulpi_dev_release(struct device *dev)
{ … }
static const struct device_type ulpi_dev_type = …;
int __ulpi_register_driver(struct ulpi_driver *drv, struct module *module)
{ … }
EXPORT_SYMBOL_GPL(…);
void ulpi_unregister_driver(struct ulpi_driver *drv)
{ … }
EXPORT_SYMBOL_GPL(…);
static int ulpi_of_register(struct ulpi *ulpi)
{ … }
static int ulpi_read_id(struct ulpi *ulpi)
{ … }
static int ulpi_regs_show(struct seq_file *seq, void *data)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
static struct dentry *ulpi_root;
static int ulpi_register(struct device *dev, struct ulpi *ulpi)
{ … }
struct ulpi *ulpi_register_interface(struct device *dev,
const struct ulpi_ops *ops)
{ … }
EXPORT_SYMBOL_GPL(…);
void ulpi_unregister_interface(struct ulpi *ulpi)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __init ulpi_init(void)
{ … }
subsys_initcall(ulpi_init);
static void __exit ulpi_exit(void)
{ … }
module_exit(ulpi_exit);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;