#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb/input.h>
#include <media/rc-core.h>
#define DRIVER_DESC …
#define DRIVER_NAME …
#define HEADERLEN …
#define BUFLEN …
#define MAX_PACKET …
#define SET_INFRABUFFER_EMPTY …
#define GET_INFRACODE …
struct igorplugusb { … };
static void igorplugusb_cmd(struct igorplugusb *ir, int cmd);
static void igorplugusb_irdata(struct igorplugusb *ir, unsigned len)
{ … }
static void igorplugusb_callback(struct urb *urb)
{ … }
static void igorplugusb_cmd(struct igorplugusb *ir, int cmd)
{ … }
static void igorplugusb_timer(struct timer_list *t)
{ … }
static int igorplugusb_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void igorplugusb_disconnect(struct usb_interface *intf)
{ … }
static const struct usb_device_id igorplugusb_table[] = …;
static struct usb_driver igorplugusb_driver = …;
module_usb_driver(…) …;
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(usb, igorplugusb_table);