#include <linux/bitops.h>
#include <linux/hid.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/greybus.h>
struct gb_hid { … };
static int gb_hid_get_desc(struct gb_hid *ghid)
{ … }
static int gb_hid_get_report_desc(struct gb_hid *ghid, char *rdesc)
{ … }
static int gb_hid_set_power(struct gb_hid *ghid, int type)
{ … }
static int gb_hid_get_report(struct gb_hid *ghid, u8 report_type, u8 report_id,
unsigned char *buf, int len)
{ … }
static int gb_hid_set_report(struct gb_hid *ghid, u8 report_type, u8 report_id,
unsigned char *buf, int len)
{ … }
static int gb_hid_request_handler(struct gb_operation *op)
{ … }
static int gb_hid_report_len(struct hid_report *report)
{ … }
static void gb_hid_find_max_report(struct hid_device *hid, unsigned int type,
unsigned int *max)
{ … }
static void gb_hid_free_buffers(struct gb_hid *ghid)
{ … }
static int gb_hid_alloc_buffers(struct gb_hid *ghid, size_t bufsize)
{ … }
static void gb_hid_init_report(struct gb_hid *ghid, struct hid_report *report)
{ … }
static void gb_hid_init_reports(struct gb_hid *ghid)
{ … }
static int __gb_hid_get_raw_report(struct hid_device *hid,
unsigned char report_number, __u8 *buf, size_t count,
unsigned char report_type)
{ … }
static int __gb_hid_output_raw_report(struct hid_device *hid, __u8 *buf,
size_t len, unsigned char report_type)
{ … }
static int gb_hid_raw_request(struct hid_device *hid, unsigned char reportnum,
__u8 *buf, size_t len, unsigned char rtype,
int reqtype)
{ … }
static int gb_hid_parse(struct hid_device *hid)
{ … }
static int gb_hid_start(struct hid_device *hid)
{ … }
static void gb_hid_stop(struct hid_device *hid)
{ … }
static int gb_hid_open(struct hid_device *hid)
{ … }
static void gb_hid_close(struct hid_device *hid)
{ … }
static int gb_hid_power(struct hid_device *hid, int lvl)
{ … }
static const struct hid_ll_driver gb_hid_ll_driver = …;
static int gb_hid_init(struct gb_hid *ghid)
{ … }
static int gb_hid_probe(struct gb_bundle *bundle,
const struct greybus_bundle_id *id)
{ … }
static void gb_hid_disconnect(struct gb_bundle *bundle)
{ … }
static const struct greybus_bundle_id gb_hid_id_table[] = …;
MODULE_DEVICE_TABLE(greybus, gb_hid_id_table);
static struct greybus_driver gb_hid_driver = …;
module_greybus_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;