linux/drivers/greybus/control.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Greybus CPort control protocol.
 *
 * Copyright 2015 Google Inc.
 * Copyright 2015 Linaro Ltd.
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/greybus.h>

/* Highest control-protocol version supported */
#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)
{}

/* Get Manifest's size from the interface */
int gb_control_get_manifest_size_operation(struct gb_interface *intf)
{}

/* Reads Manifest from the interface */
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)
{}