mirror of https://gitee.com/openkylin/linux.git
46 lines
1.7 KiB
C
46 lines
1.7 KiB
C
|
/*
|
||
|
* Device Modules for Nintendo Wii / Wii U HID Driver
|
||
|
* Copyright (c) 2011-2013 David Herrmann <dh.herrmann@gmail.com>
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* This program is free software; you can redistribute it and/or modify it
|
||
|
* under the terms of the GNU General Public License as published by the Free
|
||
|
* Software Foundation; either version 2 of the License, or (at your option)
|
||
|
* any later version.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* Wiimote Modules
|
||
|
* Nintendo devices provide different peripherals and many new devices lack
|
||
|
* initial features like the IR camera. Therefore, each peripheral device is
|
||
|
* implemented as an independent module and we probe on each device only the
|
||
|
* modules for the hardware that really is available.
|
||
|
*
|
||
|
* Module registration is sequential. Unregistration is done in reverse order.
|
||
|
* After device detection, the needed modules are loaded. Users can trigger
|
||
|
* re-detection which causes all modules to be unloaded and then reload the
|
||
|
* modules for the new detected device.
|
||
|
*
|
||
|
* wdata->input is a shared input device. It is always initialized prior to
|
||
|
* module registration. If at least one registered module is marked as
|
||
|
* WIIMOD_FLAG_INPUT, then the input device will get registered after all
|
||
|
* modules were registered.
|
||
|
* Please note that it is unregistered _before_ the "remove" callbacks are
|
||
|
* called. This guarantees that no input interaction is done, anymore. However,
|
||
|
* the wiimote core keeps a reference to the input device so it is freed only
|
||
|
* after all modules were removed. It is safe to send events to unregistered
|
||
|
* input devices.
|
||
|
*/
|
||
|
|
||
|
#include <linux/device.h>
|
||
|
#include <linux/hid.h>
|
||
|
#include <linux/input.h>
|
||
|
#include <linux/spinlock.h>
|
||
|
#include "hid-wiimote.h"
|
||
|
|
||
|
/* module table */
|
||
|
|
||
|
const struct wiimod_ops *wiimod_table[WIIMOD_NUM] = {
|
||
|
};
|