Lines Matching full:hid
3 * HID driver for the apple ir device
8 * Ported to HID subsystem by Benjamin Tissoires <benjamin.tissoires@gmail.com>
19 #include <linux/hid.h>
21 #include "hid-ids.h"
25 MODULE_DESCRIPTION("HID Apple IR remote controls");
109 struct hid_device *hid; member
151 static void key_up(struct hid_device *hid, struct appleir *appleir, int key) in key_up() argument
157 static void key_down(struct hid_device *hid, struct appleir *appleir, int key) in key_down() argument
171 struct hid_device *hid = appleir->hid; in key_up_tick() local
176 key_up(hid, appleir, appleir->current_key); in key_up_tick()
182 static int appleir_raw_event(struct hid_device *hid, struct hid_report *report, in appleir_raw_event() argument
185 struct appleir *appleir = hid_get_drvdata(hid); in appleir_raw_event()
203 key_up(hid, appleir, appleir->current_key); in appleir_raw_event()
214 key_down(hid, appleir, appleir->current_key); in appleir_raw_event()
232 key_down(hid, appleir, appleir->current_key); in appleir_raw_event()
251 static int appleir_input_configured(struct hid_device *hid, in appleir_input_configured() argument
255 struct appleir *appleir = hid_get_drvdata(hid); in appleir_input_configured()
274 static int appleir_input_mapping(struct hid_device *hid, in appleir_input_mapping() argument
281 static int appleir_probe(struct hid_device *hid, const struct hid_device_id *id) in appleir_probe() argument
286 appleir = devm_kzalloc(&hid->dev, sizeof(struct appleir), GFP_KERNEL); in appleir_probe()
290 appleir->hid = hid; in appleir_probe()
293 hid->quirks |= HID_QUIRK_HIDINPUT_FORCE; in appleir_probe()
298 hid_set_drvdata(hid, appleir); in appleir_probe()
300 ret = hid_parse(hid); in appleir_probe()
302 hid_err(hid, "parse failed\n"); in appleir_probe()
306 ret = hid_hw_start(hid, HID_CONNECT_DEFAULT | HID_CONNECT_HIDDEV_FORCE); in appleir_probe()
308 hid_err(hid, "hw start failed\n"); in appleir_probe()
314 devm_kfree(&hid->dev, appleir); in appleir_probe()
318 static void appleir_remove(struct hid_device *hid) in appleir_remove() argument
320 struct appleir *appleir = hid_get_drvdata(hid); in appleir_remove()
321 hid_hw_stop(hid); in appleir_remove()
333 MODULE_DEVICE_TABLE(hid, appleir_devices);