#include <linux/device.h>
#include <linux/input.h>
#include <linux/hid.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/hid-roccat.h>
#include "hid-ids.h"
#include "hid-roccat-common.h"
#include "hid-roccat-lua.h"
static ssize_t lua_sysfs_read(struct file *fp, struct kobject *kobj,
char *buf, loff_t off, size_t count,
size_t real_size, uint command)
{ … }
static ssize_t lua_sysfs_write(struct file *fp, struct kobject *kobj,
void const *buf, loff_t off, size_t count,
size_t real_size, uint command)
{ … }
#define LUA_SYSFS_W(thingy, THINGY) …
#define LUA_SYSFS_R(thingy, THINGY) …
#define LUA_BIN_ATTRIBUTE_RW(thingy, THINGY) …
LUA_BIN_ATTRIBUTE_RW(…)
static int lua_create_sysfs_attributes(struct usb_interface *intf)
{ … }
static void lua_remove_sysfs_attributes(struct usb_interface *intf)
{ … }
static int lua_init_lua_device_struct(struct usb_device *usb_dev,
struct lua_device *lua)
{ … }
static int lua_init_specials(struct hid_device *hdev)
{ … }
static void lua_remove_specials(struct hid_device *hdev)
{ … }
static int lua_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{ … }
static void lua_remove(struct hid_device *hdev)
{ … }
static const struct hid_device_id lua_devices[] = …;
MODULE_DEVICE_TABLE(hid, lua_devices);
static struct hid_driver lua_driver = …;
module_hid_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;