HID: move gyration quirks
[linux-2.6.git] / drivers / hid / hid-input-quirks.c
1 /*
2  *  HID-input usage mapping quirks
3  *
4  *  This is used to handle HID-input mappings for devices violating
5  *  HUT 1.12 specification.
6  *
7  * Copyright (c) 2007-2008 Jiri Kosina
8  */
9
10 /*
11  * This program is free software; you can redistribute it and/or modify it
12  * under the terms of the GNU General Public License as published by the Free
13  * Software Foundation; either version 2 of the License
14  */
15
16 #include <linux/input.h>
17 #include <linux/hid.h>
18
19 static const struct hid_input_blacklist {
20         __u16 idVendor;
21         __u16 idProduct;
22         int (*quirk)(struct hid_usage *, struct hid_input *, unsigned long **,
23                         int *);
24 } hid_input_blacklist[] = {
25         { 0, 0, NULL }
26 };
27
28 int hidinput_mapping_quirks(struct hid_usage *usage, 
29                 struct hid_input *hi, unsigned long **bit, int *max)
30 {
31         struct hid_device *device = input_get_drvdata(hi->input);
32         int i = 0;
33         
34         while (hid_input_blacklist[i].quirk) {
35                 if (hid_input_blacklist[i].idVendor == device->vendor &&
36                                 hid_input_blacklist[i].idProduct == device->product)
37                         return hid_input_blacklist[i].quirk(usage, hi, bit,
38                                         max);
39                 i++;
40         }
41         return 0;
42 }
43
44 int hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)
45 {
46         return 0;
47 }
48
49