#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb/input.h>
#include <media/rc-core.h>
#define BIT_DURATION …
struct imon { … };
static void imon_ir_data(struct imon *imon)
{ … }
static void imon_ir_rx(struct urb *urb)
{ … }
static int imon_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void imon_disconnect(struct usb_interface *intf)
{ … }
static const struct usb_device_id imon_table[] = …;
static struct usb_driver imon_driver = …;
module_usb_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(usb, imon_table);