Lines Matching refs:hdrv
1508 struct hid_driver *hdrv = hid->driver; in hid_process_event() local
1514 if (hdrv && hdrv->event && hid_match_usage(hid, usage)) { in hid_process_event()
1515 ret = hdrv->event(hid, field, usage, value); in hid_process_event()
1519 hdrv->name, ret); in hid_process_event()
1751 struct hid_driver *hdrv; in hid_report_raw_event() local
1790 hdrv = hid->driver; in hid_report_raw_event()
1791 if (hdrv && hdrv->report) in hid_report_raw_event()
1792 hdrv->report(hid, report); in hid_report_raw_event()
1816 struct hid_driver *hdrv; in hid_input_report() local
1831 hdrv = hid->driver; in hid_input_report()
1850 if (hdrv && hdrv->raw_event && hid_match_report(hid, report)) { in hid_input_report()
1851 ret = hdrv->raw_event(hid, report, data, size); in hid_input_report()
2149 struct hid_driver *hdrv = to_hid_driver(drv); in new_id_store() local
2170 spin_lock(&hdrv->dyn_lock); in new_id_store()
2171 list_add_tail(&dynid->list, &hdrv->dyn_list); in new_id_store()
2172 spin_unlock(&hdrv->dyn_lock); in new_id_store()
2174 ret = driver_attach(&hdrv->driver); in new_id_store()
2186 static void hid_free_dynids(struct hid_driver *hdrv) in hid_free_dynids() argument
2190 spin_lock(&hdrv->dyn_lock); in hid_free_dynids()
2191 list_for_each_entry_safe(dynid, n, &hdrv->dyn_list, list) { in hid_free_dynids()
2195 spin_unlock(&hdrv->dyn_lock); in hid_free_dynids()
2199 struct hid_driver *hdrv) in hid_match_device() argument
2203 spin_lock(&hdrv->dyn_lock); in hid_match_device()
2204 list_for_each_entry(dynid, &hdrv->dyn_list, list) { in hid_match_device()
2206 spin_unlock(&hdrv->dyn_lock); in hid_match_device()
2210 spin_unlock(&hdrv->dyn_lock); in hid_match_device()
2212 return hid_match_id(hdev, hdrv->id_table); in hid_match_device()
2218 struct hid_driver *hdrv = to_hid_driver(drv); in hid_bus_match() local
2221 return hid_match_device(hdev, hdrv) != NULL; in hid_bus_match()
2249 struct hid_driver *hdrv = to_hid_driver(dev->driver); in hid_device_probe() local
2263 id = hid_match_device(hdev, hdrv); in hid_device_probe()
2269 if (hdrv->match) { in hid_device_probe()
2270 if (!hdrv->match(hdev, hid_ignore_special_drivers)) { in hid_device_probe()
2288 hdev->driver = hdrv; in hid_device_probe()
2289 if (hdrv->probe) { in hid_device_probe()
2290 ret = hdrv->probe(hdev, id); in hid_device_probe()
2311 struct hid_driver *hdrv; in hid_device_remove() local
2316 hdrv = hdev->driver; in hid_device_remove()
2317 if (hdrv) { in hid_device_remove()
2318 if (hdrv->remove) in hid_device_remove()
2319 hdrv->remove(hdev); in hid_device_remove()
2517 struct hid_driver *hdrv = data; in __hid_bus_reprobe_drivers() local
2520 if (hdev->driver == hdrv && in __hid_bus_reprobe_drivers()
2521 !hdrv->match(hdev, hid_ignore_special_drivers) && in __hid_bus_reprobe_drivers()
2530 struct hid_driver *hdrv = to_hid_driver(drv); in __hid_bus_driver_added() local
2532 if (hdrv->match) { in __hid_bus_driver_added()
2533 bus_for_each_dev(&hid_bus_type, NULL, hdrv, in __hid_bus_driver_added()
2545 int __hid_register_driver(struct hid_driver *hdrv, struct module *owner, in __hid_register_driver() argument
2550 hdrv->driver.name = hdrv->name; in __hid_register_driver()
2551 hdrv->driver.bus = &hid_bus_type; in __hid_register_driver()
2552 hdrv->driver.owner = owner; in __hid_register_driver()
2553 hdrv->driver.mod_name = mod_name; in __hid_register_driver()
2555 INIT_LIST_HEAD(&hdrv->dyn_list); in __hid_register_driver()
2556 spin_lock_init(&hdrv->dyn_lock); in __hid_register_driver()
2558 ret = driver_register(&hdrv->driver); in __hid_register_driver()
2568 void hid_unregister_driver(struct hid_driver *hdrv) in hid_unregister_driver() argument
2570 driver_unregister(&hdrv->driver); in hid_unregister_driver()
2571 hid_free_dynids(hdrv); in hid_unregister_driver()
2573 bus_for_each_drv(&hid_bus_type, NULL, hdrv, __bus_removed_driver); in hid_unregister_driver()