Lines Matching refs:hdrv

1524 	struct hid_driver *hdrv = hid->driver;
1530 if (hdrv && hdrv->event && hid_match_usage(hid, usage)) {
1531 ret = hdrv->event(hid, field, usage, value);
1535 hdrv->name, ret);
1976 struct hid_driver *hdrv;
2017 hdrv = hid->driver;
2018 if (hdrv && hdrv->report)
2019 hdrv->report(hid, report);
2044 struct hid_driver *hdrv;
2059 hdrv = hid->driver;
2084 if (hdrv && hdrv->raw_event && hid_match_report(hid, report)) {
2085 ret = hdrv->raw_event(hid, report, data, size);
2499 struct hid_driver *hdrv = to_hid_driver(drv);
2520 spin_lock(&hdrv->dyn_lock);
2521 list_add_tail(&dynid->list, &hdrv->dyn_list);
2522 spin_unlock(&hdrv->dyn_lock);
2524 ret = driver_attach(&hdrv->driver);
2536 static void hid_free_dynids(struct hid_driver *hdrv)
2540 spin_lock(&hdrv->dyn_lock);
2541 list_for_each_entry_safe(dynid, n, &hdrv->dyn_list, list) {
2545 spin_unlock(&hdrv->dyn_lock);
2549 struct hid_driver *hdrv)
2553 spin_lock(&hdrv->dyn_lock);
2554 list_for_each_entry(dynid, &hdrv->dyn_list, list) {
2556 spin_unlock(&hdrv->dyn_lock);
2560 spin_unlock(&hdrv->dyn_lock);
2562 return hid_match_id(hdev, hdrv->id_table);
2568 struct hid_driver *hdrv = to_hid_driver(drv);
2571 return hid_match_device(hdev, hdrv) != NULL;
2598 struct hid_driver *hdrv,
2601 *id = hid_match_device(hdev, hdrv);
2605 if (hdrv->match)
2606 return hdrv->match(hdev, hid_ignore_special_drivers);
2616 static int __hid_device_probe(struct hid_device *hdev, struct hid_driver *hdrv)
2621 if (!hid_check_device_match(hdev, hdrv, &id))
2630 hdev->driver = hdrv;
2632 if (hdrv->probe) {
2633 ret = hdrv->probe(hdev, id);
2660 struct hid_driver *hdrv = to_hid_driver(dev->driver);
2670 ret = __hid_device_probe(hdev, hdrv);
2681 struct hid_driver *hdrv;
2686 hdrv = hdev->driver;
2687 if (hdrv) {
2688 if (hdrv->remove)
2689 hdrv->remove(hdev);
2895 struct hid_driver *hdrv = data;
2898 if (hdev->driver == hdrv &&
2899 !hdrv->match(hdev, hid_ignore_special_drivers) &&
2908 struct hid_driver *hdrv = to_hid_driver(drv);
2910 if (hdrv->match) {
2911 bus_for_each_dev(&hid_bus_type, NULL, hdrv,
2923 int __hid_register_driver(struct hid_driver *hdrv, struct module *owner,
2928 hdrv->driver.name = hdrv->name;
2929 hdrv->driver.bus = &hid_bus_type;
2930 hdrv->driver.owner = owner;
2931 hdrv->driver.mod_name = mod_name;
2933 INIT_LIST_HEAD(&hdrv->dyn_list);
2934 spin_lock_init(&hdrv->dyn_lock);
2936 ret = driver_register(&hdrv->driver);
2946 void hid_unregister_driver(struct hid_driver *hdrv)
2948 driver_unregister(&hdrv->driver);
2949 hid_free_dynids(hdrv);
2951 bus_for_each_drv(&hid_bus_type, NULL, hdrv, __bus_removed_driver);