KONTROLS4_ABS
input_report_abs(cdev->input_dev, KONTROLS4_ABS(36), buf[9] | ((buf[8] & 0x3) << 8));
input_report_abs(cdev->input_dev, KONTROLS4_ABS(37), buf[13] | ((buf[12] & 0x3) << 8));
input_report_abs(cdev->input_dev, KONTROLS4_ABS(38), buf[3] & 0xf);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(39), buf[4] >> 4);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(40), buf[4] & 0xf);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(41), buf[5] >> 4);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(42), buf[5] & 0xf);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(43), buf[6] >> 4);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(44), buf[6] & 0xf);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(45), buf[7] >> 4);
input_report_abs(cdev->input_dev, KONTROLS4_ABS(46), buf[7] & 0xf);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(0), buf, 1);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(1), buf, 2);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(2), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(3), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(4), buf, 6);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(7), buf, 7);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(6), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(5), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(8), buf, 6);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(9), buf, 7);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(10), buf, 1);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(11), buf, 2);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(12), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(13), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(14), buf, 5);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(15), buf, 6);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(16), buf, 7);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(17), buf, 1);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(18), buf, 2);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(19), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(20), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(21), buf, 5);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(22), buf, 6);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(23), buf, 7);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(24), buf, 1);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(25), buf, 2);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(26), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(27), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(28), buf, 5);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(29), buf, 6);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(30), buf, 7);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(31), buf, 1);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(32), buf, 2);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(33), buf, 3);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(34), buf, 4);
snd_caiaq_input_report_abs(cdev, KONTROLS4_ABS(35), buf, 5);
int axis = KONTROLS4_ABS(i);
input_set_abs_params(input, KONTROLS4_ABS(i), 0, 0xfff, 0, 10);
input_set_abs_params(input, KONTROLS4_ABS(36), 0, 0x3ff, 0, 1);
input_set_abs_params(input, KONTROLS4_ABS(37), 0, 0x3ff, 0, 1);
input_set_abs_params(input, KONTROLS4_ABS(38+i), 0, 0xf, 0, 1);