Lines Matching refs:hdrv
1513 struct hid_driver *hdrv = hid->driver; in hid_process_event() local
1519 if (hdrv && hdrv->event && hid_match_usage(hid, usage)) { in hid_process_event()
1520 ret = hdrv->event(hid, field, usage, value); in hid_process_event()
1524 hdrv->name, ret); in hid_process_event()
1965 struct hid_driver *hdrv; in hid_report_raw_event() local
2002 hdrv = hid->driver; in hid_report_raw_event()
2003 if (hdrv && hdrv->report) in hid_report_raw_event()
2004 hdrv->report(hid, report); in hid_report_raw_event()
2029 struct hid_driver *hdrv; in hid_input_report() local
2044 hdrv = hid->driver; in hid_input_report()
2063 if (hdrv && hdrv->raw_event && hid_match_report(hid, report)) { in hid_input_report()
2064 ret = hdrv->raw_event(hid, report, data, size); in hid_input_report()
2462 struct hid_driver *hdrv = to_hid_driver(drv); in new_id_store() local
2483 spin_lock(&hdrv->dyn_lock); in new_id_store()
2484 list_add_tail(&dynid->list, &hdrv->dyn_list); in new_id_store()
2485 spin_unlock(&hdrv->dyn_lock); in new_id_store()
2487 ret = driver_attach(&hdrv->driver); in new_id_store()
2499 static void hid_free_dynids(struct hid_driver *hdrv) in hid_free_dynids() argument
2503 spin_lock(&hdrv->dyn_lock); in hid_free_dynids()
2504 list_for_each_entry_safe(dynid, n, &hdrv->dyn_list, list) { in hid_free_dynids()
2508 spin_unlock(&hdrv->dyn_lock); in hid_free_dynids()
2512 struct hid_driver *hdrv) in hid_match_device() argument
2516 spin_lock(&hdrv->dyn_lock); in hid_match_device()
2517 list_for_each_entry(dynid, &hdrv->dyn_list, list) { in hid_match_device()
2519 spin_unlock(&hdrv->dyn_lock); in hid_match_device()
2523 spin_unlock(&hdrv->dyn_lock); in hid_match_device()
2525 return hid_match_id(hdev, hdrv->id_table); in hid_match_device()
2531 struct hid_driver *hdrv = to_hid_driver(drv); in hid_bus_match() local
2534 return hid_match_device(hdev, hdrv) != NULL; in hid_bus_match()
2562 struct hid_driver *hdrv = to_hid_driver(dev->driver); in hid_device_probe() local
2576 id = hid_match_device(hdev, hdrv); in hid_device_probe()
2582 if (hdrv->match) { in hid_device_probe()
2583 if (!hdrv->match(hdev, hid_ignore_special_drivers)) { in hid_device_probe()
2601 hdev->driver = hdrv; in hid_device_probe()
2602 if (hdrv->probe) { in hid_device_probe()
2603 ret = hdrv->probe(hdev, id); in hid_device_probe()
2624 struct hid_driver *hdrv; in hid_device_remove() local
2629 hdrv = hdev->driver; in hid_device_remove()
2630 if (hdrv) { in hid_device_remove()
2631 if (hdrv->remove) in hid_device_remove()
2632 hdrv->remove(hdev); in hid_device_remove()
2830 struct hid_driver *hdrv = data; in __hid_bus_reprobe_drivers() local
2833 if (hdev->driver == hdrv && in __hid_bus_reprobe_drivers()
2834 !hdrv->match(hdev, hid_ignore_special_drivers) && in __hid_bus_reprobe_drivers()
2843 struct hid_driver *hdrv = to_hid_driver(drv); in __hid_bus_driver_added() local
2845 if (hdrv->match) { in __hid_bus_driver_added()
2846 bus_for_each_dev(&hid_bus_type, NULL, hdrv, in __hid_bus_driver_added()
2858 int __hid_register_driver(struct hid_driver *hdrv, struct module *owner, in __hid_register_driver() argument
2863 hdrv->driver.name = hdrv->name; in __hid_register_driver()
2864 hdrv->driver.bus = &hid_bus_type; in __hid_register_driver()
2865 hdrv->driver.owner = owner; in __hid_register_driver()
2866 hdrv->driver.mod_name = mod_name; in __hid_register_driver()
2868 INIT_LIST_HEAD(&hdrv->dyn_list); in __hid_register_driver()
2869 spin_lock_init(&hdrv->dyn_lock); in __hid_register_driver()
2871 ret = driver_register(&hdrv->driver); in __hid_register_driver()
2881 void hid_unregister_driver(struct hid_driver *hdrv) in hid_unregister_driver() argument
2883 driver_unregister(&hdrv->driver); in hid_unregister_driver()
2884 hid_free_dynids(hdrv); in hid_unregister_driver()
2886 bus_for_each_drv(&hid_bus_type, NULL, hdrv, __bus_removed_driver); in hid_unregister_driver()