linux/drivers/staging/greybus/hid.c

// SPDX-License-Identifier: GPL-2.0
/*
 * HID class driver for the Greybus.
 *
 * Copyright 2014 Google Inc.
 * Copyright 2014 Linaro Ltd.
 */

#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>

/* Greybus HID device's structure */
struct gb_hid {};

/* Routines to get controller's information over greybus */

/* Operations performed on greybus */
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)
{}

/* Routines dealing with reports */
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)
{}

/* HID Callbacks */
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)
{}

/* HID structure to pass callbacks */
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();