#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/greybus.h>
#define GB_CONTROL_VERSION_MAJOR …
#define GB_CONTROL_VERSION_MINOR …
static int gb_control_get_version(struct gb_control *control)
{ … }
static int gb_control_get_bundle_version(struct gb_control *control,
struct gb_bundle *bundle)
{ … }
int gb_control_get_bundle_versions(struct gb_control *control)
{ … }
int gb_control_get_manifest_size_operation(struct gb_interface *intf)
{ … }
int gb_control_get_manifest_operation(struct gb_interface *intf, void *manifest,
size_t size)
{ … }
int gb_control_connected_operation(struct gb_control *control, u16 cport_id)
{ … }
int gb_control_disconnected_operation(struct gb_control *control, u16 cport_id)
{ … }
int gb_control_disconnecting_operation(struct gb_control *control,
u16 cport_id)
{ … }
int gb_control_mode_switch_operation(struct gb_control *control)
{ … }
static int gb_control_bundle_pm_status_map(u8 status)
{ … }
int gb_control_bundle_suspend(struct gb_control *control, u8 bundle_id)
{ … }
int gb_control_bundle_resume(struct gb_control *control, u8 bundle_id)
{ … }
int gb_control_bundle_deactivate(struct gb_control *control, u8 bundle_id)
{ … }
int gb_control_bundle_activate(struct gb_control *control, u8 bundle_id)
{ … }
static int gb_control_interface_pm_status_map(u8 status)
{ … }
int gb_control_interface_suspend_prepare(struct gb_control *control)
{ … }
int gb_control_interface_deactivate_prepare(struct gb_control *control)
{ … }
int gb_control_interface_hibernate_abort(struct gb_control *control)
{ … }
static ssize_t vendor_string_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(vendor_string);
static ssize_t product_string_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(product_string);
static struct attribute *control_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void gb_control_release(struct device *dev)
{ … }
const struct device_type greybus_control_type = …;
struct gb_control *gb_control_create(struct gb_interface *intf)
{ … }
int gb_control_enable(struct gb_control *control)
{ … }
void gb_control_disable(struct gb_control *control)
{ … }
int gb_control_suspend(struct gb_control *control)
{ … }
int gb_control_resume(struct gb_control *control)
{ … }
int gb_control_add(struct gb_control *control)
{ … }
void gb_control_del(struct gb_control *control)
{ … }
struct gb_control *gb_control_get(struct gb_control *control)
{ … }
void gb_control_put(struct gb_control *control)
{ … }
void gb_control_mode_switch_prepare(struct gb_control *control)
{ … }
void gb_control_mode_switch_complete(struct gb_control *control)
{ … }