Lines Matching refs:hidinput

51 #define map_abs(c)	hid_map_usage(hidinput, usage, &bit, &max, EV_ABS, (c))
52 #define map_rel(c) hid_map_usage(hidinput, usage, &bit, &max, EV_REL, (c))
53 #define map_key(c) hid_map_usage(hidinput, usage, &bit, &max, EV_KEY, (c))
54 #define map_led(c) hid_map_usage(hidinput, usage, &bit, &max, EV_LED, (c))
56 #define map_abs_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \
58 #define map_key_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \
566 static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_field *field,
569 struct input_dev *input = hidinput->input;
574 field->hidinput = hidinput;
590 int ret = device->driver->input_mapping(device, hidinput, field,
1161 device->driver->input_mapped(device, hidinput, field, usage,
1301 if (!field->hidinput)
1304 input = field->hidinput->input;
1434 struct hid_input *hidinput;
1439 list_for_each_entry(hidinput, &hid->inputs, list)
1440 input_sync(hidinput->input);
1702 struct hid_input *hidinput = kzalloc(sizeof(*hidinput), GFP_KERNEL);
1707 if (!hidinput || !input_dev)
1753 hidinput->name = kasprintf(GFP_KERNEL, "%s %s",
1755 if (!hidinput->name)
1767 input_dev->name = hidinput->name ? hidinput->name : hid->name;
1776 hidinput->input = input_dev;
1777 hidinput->application = application;
1778 list_add_tail(&hidinput->list, &hid->inputs);
1780 INIT_LIST_HEAD(&hidinput->reports);
1782 return hidinput;
1785 kfree(hidinput);
1791 static bool hidinput_has_been_populated(struct hid_input *hidinput)
1797 r |= hidinput->input->evbit[i];
1800 r |= hidinput->input->keybit[i];
1803 r |= hidinput->input->relbit[i];
1806 r |= hidinput->input->absbit[i];
1809 r |= hidinput->input->mscbit[i];
1812 r |= hidinput->input->ledbit[i];
1815 r |= hidinput->input->sndbit[i];
1818 r |= hidinput->input->ffbit[i];
1821 r |= hidinput->input->swbit[i];
1827 struct hid_input *hidinput)
1832 list_del(&hidinput->list);
1833 input_free_device(hidinput->input);
1834 kfree(hidinput->name);
1845 if (report->field[i]->hidinput == hidinput)
1846 report->field[i]->hidinput = NULL;
1850 kfree(hidinput);
1856 struct hid_input *hidinput;
1858 list_for_each_entry(hidinput, &hid->inputs, list) {
1859 if (hidinput->report &&
1860 hidinput->report->id == report->id)
1861 return hidinput;
1870 struct hid_input *hidinput;
1872 list_for_each_entry(hidinput, &hid->inputs, list) {
1873 if (hidinput->application == report->application)
1874 return hidinput;
1880 static inline void hidinput_configure_usages(struct hid_input *hidinput,
1887 hidinput_configure_usage(hidinput, report->field[i],
1901 struct hid_input *next, *hidinput = NULL;
1938 * Find the previous hidinput report attached
1942 hidinput = hidinput_match(report);
1945 hidinput = hidinput_match_application(report);
1947 if (!hidinput) {
1948 hidinput = hidinput_allocate(hid, application);
1949 if (!hidinput)
1953 hidinput_configure_usages(hidinput, report);
1956 hidinput->report = report;
1959 &hidinput->reports);
1965 list_for_each_entry_safe(hidinput, next, &hid->inputs, list) {
1967 drv->input_configured(hid, hidinput))
1970 if (!hidinput_has_been_populated(hidinput)) {
1972 hidinput_cleanup_hidinput(hid, hidinput);
1976 if (input_register_device(hidinput->input))
1978 hidinput->registered = true;
2002 struct hid_input *hidinput, *next;
2006 list_for_each_entry_safe(hidinput, next, &hid->inputs, list) {
2007 list_del(&hidinput->list);
2008 if (hidinput->registered)
2009 input_unregister_device(hidinput->input);
2011 input_free_device(hidinput->input);
2012 kfree(hidinput->name);
2013 kfree(hidinput);