#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb/input.h>
#include <linux/slab.h>
#include <linux/leds.h>
#include <media/rc-core.h>
#define DRIVER_NAME …
#define DRIVER_DESC …
#define NUM_URBS …
#define US_PER_BYTE …
#define US_PER_BIT …
struct ttusbir { … };
static enum led_brightness ttusbir_brightness_get(struct led_classdev *led_dev)
{ … }
static void ttusbir_set_led(struct ttusbir *tt)
{ … }
static void ttusbir_brightness_set(struct led_classdev *led_dev, enum
led_brightness brightness)
{ … }
static void ttusbir_bulk_complete(struct urb *urb)
{ … }
static void ttusbir_process_ir_data(struct ttusbir *tt, uint8_t *buf)
{ … }
static void ttusbir_urb_complete(struct urb *urb)
{ … }
static int ttusbir_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void ttusbir_disconnect(struct usb_interface *intf)
{ … }
static int ttusbir_suspend(struct usb_interface *intf, pm_message_t message)
{ … }
static int ttusbir_resume(struct usb_interface *intf)
{ … }
static const struct usb_device_id ttusbir_table[] = …;
static struct usb_driver ttusbir_driver = …;
module_usb_driver(…) …;
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(usb, ttusbir_table);