HID: wiimote: add sub-device module infrastructure
authorDavid Herrmann <dh.herrmann@gmail.com>
Sun, 5 May 2013 21:12:51 +0000 (23:12 +0200)
committerJiri Kosina <jkosina@suse.cz>
Mon, 3 Jun 2013 09:07:00 +0000 (11:07 +0200)
commit27f06942142e7a17757b5de1dc4f128c179b7c13
treea494da599d33a444d530314221e2738f1f0a39cf
parentd758b1f0c527aedc5e83a565a0737d9ac21ea46a
HID: wiimote: add sub-device module infrastructure

To avoid loading all sub-device drivers for every Wii Remote, even though
the required hardware might not be available, we introduce a module layer.

The module layer specifies which sub-devices are available on each
device-type. After device detection, we only load the modules for the
detected device. If module loading fails, we unload everything and mark
the device as WIIMOTE_DEV_UNKNOWN. As long as a device is marked as
"unknown", no sub-devices will be used and the device is considered
unsupported.

All the different sub-devices, including KEYS, RUMBLE, BATTERY, LEDS,
ACCELEROMETER, IR and more will be ported in follow-up patches to the new
module layer.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/Makefile
drivers/hid/hid-wiimote-core.c
drivers/hid/hid-wiimote-modules.c [new file with mode: 0644]
drivers/hid/hid-wiimote.h