#define pr_fmt(fmt) …
#include <linux/types.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/greybus.h>
#include "gbphy.h"
#define GB_GBPHY_AUTOSUSPEND_MS …
struct gbphy_host { … };
static DEFINE_IDA(gbphy_id);
static ssize_t protocol_id_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(protocol_id);
static struct attribute *gbphy_dev_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void gbphy_dev_release(struct device *dev)
{ … }
#ifdef CONFIG_PM
static int gb_gbphy_idle(struct device *dev)
{ … }
#endif
static const struct dev_pm_ops gb_gbphy_pm_ops = …;
static const struct device_type greybus_gbphy_dev_type = …;
static int gbphy_dev_uevent(const struct device *dev, struct kobj_uevent_env *env)
{ … }
static const struct gbphy_device_id *
gbphy_dev_match_id(struct gbphy_device *gbphy_dev,
struct gbphy_driver *gbphy_drv)
{ … }
static int gbphy_dev_match(struct device *dev, const struct device_driver *drv)
{ … }
static int gbphy_dev_probe(struct device *dev)
{ … }
static void gbphy_dev_remove(struct device *dev)
{ … }
static const struct bus_type gbphy_bus_type = …;
int gb_gbphy_register_driver(struct gbphy_driver *driver,
struct module *owner, const char *mod_name)
{ … }
EXPORT_SYMBOL_GPL(…);
void gb_gbphy_deregister_driver(struct gbphy_driver *driver)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct gbphy_device *gb_gbphy_create_dev(struct gb_bundle *bundle,
struct greybus_descriptor_cport *cport_desc)
{ … }
static void gb_gbphy_disconnect(struct gb_bundle *bundle)
{ … }
static int gb_gbphy_probe(struct gb_bundle *bundle,
const struct greybus_bundle_id *id)
{ … }
static const struct greybus_bundle_id gb_gbphy_id_table[] = …;
MODULE_DEVICE_TABLE(greybus, gb_gbphy_id_table);
static struct greybus_driver gb_gbphy_driver = …;
static int __init gbphy_init(void)
{ … }
module_init(…) …;
static void __exit gbphy_exit(void)
{ … }
module_exit(gbphy_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;