#include <linux/slab.h>
#include <linux/module.h>
#include <linux/usb/input.h>
#include <media/rc-core.h>
#define DRIVER_VERSION …
#define DRIVER_AUTHOR …
#define DRIVER_DESC …
#define NAME_BUFSIZE …
#define DATA_BUFSIZE …
#define VENDOR_GAMESTER …
#define VENDOR_MICROSOFT …
static const struct usb_device_id xbox_remote_table[] = …;
MODULE_DEVICE_TABLE(usb, xbox_remote_table);
struct xbox_remote { … };
static int xbox_remote_rc_open(struct rc_dev *rdev)
{ … }
static void xbox_remote_rc_close(struct rc_dev *rdev)
{ … }
static void xbox_remote_input_report(struct urb *urb)
{ … }
static void xbox_remote_irq_in(struct urb *urb)
{ … }
static void xbox_remote_rc_init(struct xbox_remote *xbox_remote)
{ … }
static void xbox_remote_initialize(struct xbox_remote *xbox_remote,
struct usb_endpoint_descriptor *endpoint_in)
{ … }
static int xbox_remote_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static void xbox_remote_disconnect(struct usb_interface *interface)
{ … }
static struct usb_driver xbox_remote_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…);
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;