Lines Matching refs:asd
25 static bool match_i2c(struct device *dev, struct v4l2_async_subdev *asd) in match_i2c() argument
30 asd->match.i2c.adapter_id == client->adapter->nr && in match_i2c()
31 asd->match.i2c.address == client->addr; in match_i2c()
37 static bool match_devname(struct device *dev, struct v4l2_async_subdev *asd) in match_devname() argument
39 return !strcmp(asd->match.device_name.name, dev_name(dev)); in match_devname()
42 static bool match_of(struct device *dev, struct v4l2_async_subdev *asd) in match_of() argument
44 return dev->of_node == asd->match.of.node; in match_of()
54 struct v4l2_async_subdev *asd; in v4l2_async_belongs() local
57 list_for_each_entry(asd, ¬ifier->waiting, list) { in v4l2_async_belongs()
59 switch (asd->match_type) { in v4l2_async_belongs()
61 match = asd->match.custom.match; in v4l2_async_belongs()
64 return asd; in v4l2_async_belongs()
82 if (match(sd->dev, asd)) in v4l2_async_belongs()
83 return asd; in v4l2_async_belongs()
91 struct v4l2_async_subdev *asd) in v4l2_async_test_notify() argument
96 list_del(&asd->list); in v4l2_async_test_notify()
97 sd->asd = asd; in v4l2_async_test_notify()
101 ret = notifier->bound(notifier, sd, asd); in v4l2_async_test_notify()
111 notifier->unbind(notifier, sd, asd); in v4l2_async_test_notify()
126 sd->asd = NULL; in v4l2_async_cleanup()
134 struct v4l2_async_subdev *asd; in v4l2_async_notifier_register() local
145 asd = notifier->subdevs[i]; in v4l2_async_notifier_register()
147 switch (asd->match_type) { in v4l2_async_notifier_register()
156 asd->match_type, asd); in v4l2_async_notifier_register()
159 list_add_tail(&asd->list, ¬ifier->waiting); in v4l2_async_notifier_register()
170 asd = v4l2_async_belongs(notifier, sd); in v4l2_async_notifier_register()
171 if (!asd) in v4l2_async_notifier_register()
174 ret = v4l2_async_test_notify(notifier, sd, asd); in v4l2_async_notifier_register()
219 notifier->unbind(notifier, sd, sd->asd); in v4l2_async_notifier_unregister()
274 struct v4l2_async_subdev *asd = v4l2_async_belongs(notifier, sd); in v4l2_async_register_subdev() local
275 if (asd) { in v4l2_async_register_subdev()
276 int ret = v4l2_async_test_notify(notifier, sd, asd); in v4l2_async_register_subdev()
295 if (!sd->asd) { in v4l2_async_unregister_subdev()
303 list_add(&sd->asd->list, ¬ifier->waiting); in v4l2_async_unregister_subdev()
308 notifier->unbind(notifier, sd, sd->asd); in v4l2_async_unregister_subdev()