--- ../../alsa-kernel/usb/caiaq/caiaq-input.c	2007-12-20 11:47:37.000000000 +0100
+++ caiaq-input.c	2007-12-20 12:32:31.000000000 +0100
@@ -1,3 +1,4 @@
+#include "adriver.h"
 /*
  *   Copyright (c) 2006,2007 Daniel Mack, Tim Ruetz
  *
@@ -21,7 +22,11 @@
 #include <linux/moduleparam.h>
 #include <linux/input.h>
 #include <linux/usb.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
 #include <linux/usb/input.h>
+#else
+#include <linux/usb_input.h>
+#endif
 #include <linux/spinlock.h>
 #include <sound/core.h>
 #include <sound/rawmidi.h>
@@ -29,6 +34,19 @@
 #include "caiaq-device.h"
 #include "caiaq-input.h"
 
+#ifndef KEY_BRL_DOT1
+#define KEY_BRL_DOT1            0x1f1
+#define KEY_BRL_DOT2            0x1f2
+#define KEY_BRL_DOT3            0x1f3
+#define KEY_BRL_DOT4            0x1f4
+#define KEY_BRL_DOT5            0x1f5
+#define KEY_BRL_DOT6            0x1f6
+#define KEY_BRL_DOT7            0x1f7
+#define KEY_BRL_DOT8            0x1f8
+#define KEY_BRL_DOT9            0x1f9
+#define KEY_BRL_DOT10           0x1fa
+#endif
+
 static unsigned short keycode_ak1[] =  { KEY_C, KEY_B, KEY_A };
 static unsigned short keycode_rk2[] =  { KEY_1, KEY_2, KEY_3, KEY_4,
 					 KEY_5, KEY_6, KEY_7 };
@@ -268,7 +286,11 @@
 	input->name = dev->product_name;
 	input->phys = dev->phys;
 	usb_to_input_id(usb_dev, &input->id);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
 	input->dev.parent = &usb_dev->dev;
+#else
+	input->cdev.dev = &usb_dev->dev;
+#endif
 
         switch (dev->chip.usb_id) {
 	case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_RIGKONTROL2):
