diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2012-04-23 06:07:07 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-05-01 06:54:55 -0400 |
commit | 8215d557e5f3a70e50e07c857d35c250fee62a73 (patch) | |
tree | 1ba7ffa5bddacacc9bff64a049e0ca091d43b65d /drivers/hid/hid-generic.c | |
parent | 4fa3a5837b8427faab9b064b1948795eb77b9f8d (diff) |
HID: Create a common generic driver
Move the hid drivers of the bus drivers to a common generic hid
driver, and make it a proper module. This ought to simplify device
handling moving forward.
Cc: Gustavo Padovan <gustavo@padovan.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-generic.c')
-rw-r--r-- | drivers/hid/hid-generic.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/drivers/hid/hid-generic.c b/drivers/hid/hid-generic.c new file mode 100644 index 000000000000..a8b3148e03a2 --- /dev/null +++ b/drivers/hid/hid-generic.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * HID support for Linux | ||
3 | * | ||
4 | * Copyright (c) 1999 Andreas Gal | ||
5 | * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz> | ||
6 | * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc | ||
7 | * Copyright (c) 2007-2008 Oliver Neukum | ||
8 | * Copyright (c) 2006-2012 Jiri Kosina | ||
9 | * Copyright (c) 2012 Henrik Rydberg | ||
10 | */ | ||
11 | |||
12 | /* | ||
13 | * This program is free software; you can redistribute it and/or modify it | ||
14 | * under the terms of the GNU General Public License as published by the Free | ||
15 | * Software Foundation; either version 2 of the License, or (at your option) | ||
16 | * any later version. | ||
17 | */ | ||
18 | |||
19 | #include <linux/module.h> | ||
20 | #include <linux/slab.h> | ||
21 | #include <linux/kernel.h> | ||
22 | #include <asm/unaligned.h> | ||
23 | #include <asm/byteorder.h> | ||
24 | |||
25 | #include <linux/hid.h> | ||
26 | |||
27 | static const struct hid_device_id hid_table[] = { | ||
28 | { HID_DEVICE(HID_BUS_ANY, HID_GROUP_GENERIC, HID_ANY_ID, HID_ANY_ID) }, | ||
29 | { } | ||
30 | }; | ||
31 | MODULE_DEVICE_TABLE(hid, hid_table); | ||
32 | |||
33 | static struct hid_driver hid_generic = { | ||
34 | .name = "hid-generic", | ||
35 | .id_table = hid_table, | ||
36 | }; | ||
37 | |||
38 | static int __init hid_init(void) | ||
39 | { | ||
40 | return hid_register_driver(&hid_generic); | ||
41 | } | ||
42 | |||
43 | static void __exit hid_exit(void) | ||
44 | { | ||
45 | hid_unregister_driver(&hid_generic); | ||
46 | } | ||
47 | |||
48 | module_init(hid_init); | ||
49 | module_exit(hid_exit); | ||
50 | |||
51 | MODULE_AUTHOR("Henrik Rydberg"); | ||
52 | MODULE_DESCRIPTION("HID generic driver"); | ||
53 | MODULE_LICENSE("GPL"); | ||