#include <linux/hid.h>
#include <linux/hidraw.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include "hid-ids.h"
enum hidled_report_type { … };
enum hidled_type { … };
static unsigned const char riso_kagaku_tbl[] = …;
#define RISO_KAGAKU_IX(r, g, b) …
delcom_packet;
#define DELCOM_GREEN_LED …
#define DELCOM_RED_LED …
#define DELCOM_BLUE_LED …
struct hidled_device;
struct hidled_rgb;
struct hidled_config { … };
struct hidled_led { … };
struct hidled_rgb { … };
struct hidled_device { … };
#define MAX_REPORT_SIZE …
#define to_hidled_led(arg) …
static bool riso_kagaku_switch_green_blue;
module_param(riso_kagaku_switch_green_blue, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(…) …;
static int hidled_send(struct hidled_device *ldev, __u8 *buf)
{ … }
static int hidled_recv(struct hidled_device *ldev, __u8 *buf)
{ … }
static u8 riso_kagaku_index(struct hidled_rgb *rgb)
{ … }
static int riso_kagaku_write(struct led_classdev *cdev, enum led_brightness br)
{ … }
static int dream_cheeky_write(struct led_classdev *cdev, enum led_brightness br)
{ … }
static int dream_cheeky_init(struct hidled_device *ldev)
{ … }
static int _thingm_write(struct led_classdev *cdev, enum led_brightness br,
u8 offset)
{ … }
static int thingm_write_v1(struct led_classdev *cdev, enum led_brightness br)
{ … }
static int thingm_write(struct led_classdev *cdev, enum led_brightness br)
{ … }
static const struct hidled_config hidled_config_thingm_v1 = …;
static int thingm_init(struct hidled_device *ldev)
{ … }
static inline int delcom_get_lednum(const struct hidled_led *led)
{ … }
static int delcom_enable_led(struct hidled_led *led)
{ … }
static int delcom_set_pwm(struct hidled_led *led)
{ … }
static int delcom_write(struct led_classdev *cdev, enum led_brightness br)
{ … }
static int delcom_init(struct hidled_device *ldev)
{ … }
static int luxafor_write(struct led_classdev *cdev, enum led_brightness br)
{ … }
static const struct hidled_config hidled_configs[] = …;
static int hidled_init_led(struct hidled_led *led, const char *color_name,
struct hidled_rgb *rgb, unsigned int minor)
{ … }
static int hidled_init_rgb(struct hidled_rgb *rgb, unsigned int minor)
{ … }
static int hidled_probe(struct hid_device *hdev, const struct hid_device_id *id)
{ … }
static const struct hid_device_id hidled_table[] = …;
MODULE_DEVICE_TABLE(hid, hidled_table);
static struct hid_driver hidled_driver = …;
module_hid_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;