Lines Matching refs:asd

25 static bool match_i2c(struct v4l2_subdev *sd, 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()
38 struct v4l2_async_subdev *asd) in match_devname() argument
40 return !strcmp(asd->match.device_name.name, dev_name(sd->dev)); in match_devname()
43 static bool match_of(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) in match_of() argument
45 return sd->of_node == asd->match.of.node; in match_of()
48 static bool match_custom(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) in match_custom() argument
50 if (!asd->match.custom.match) in match_custom()
54 return asd->match.custom.match(sd->dev, asd); in match_custom()
65 struct v4l2_async_subdev *asd; in v4l2_async_belongs() local
67 list_for_each_entry(asd, &notifier->waiting, list) { in v4l2_async_belongs()
69 switch (asd->match_type) { in v4l2_async_belongs()
89 if (match(sd, asd)) in v4l2_async_belongs()
90 return asd; in v4l2_async_belongs()
98 struct v4l2_async_subdev *asd) in v4l2_async_test_notify() argument
103 list_del(&asd->list); in v4l2_async_test_notify()
104 sd->asd = asd; in v4l2_async_test_notify()
108 ret = notifier->bound(notifier, sd, asd); in v4l2_async_test_notify()
118 notifier->unbind(notifier, sd, asd); in v4l2_async_test_notify()
133 sd->asd = NULL; in v4l2_async_cleanup()
141 struct v4l2_async_subdev *asd; in v4l2_async_notifier_register() local
152 asd = notifier->subdevs[i]; in v4l2_async_notifier_register()
154 switch (asd->match_type) { in v4l2_async_notifier_register()
163 asd->match_type, asd); in v4l2_async_notifier_register()
166 list_add_tail(&asd->list, &notifier->waiting); in v4l2_async_notifier_register()
177 asd = v4l2_async_belongs(notifier, sd); in v4l2_async_notifier_register()
178 if (!asd) in v4l2_async_notifier_register()
181 ret = v4l2_async_test_notify(notifier, sd, asd); in v4l2_async_notifier_register()
226 notifier->unbind(notifier, sd, sd->asd); in v4l2_async_notifier_unregister()
289 struct v4l2_async_subdev *asd = v4l2_async_belongs(notifier, sd); in v4l2_async_register_subdev() local
290 if (asd) { in v4l2_async_register_subdev()
291 int ret = v4l2_async_test_notify(notifier, sd, asd); in v4l2_async_register_subdev()
310 if (!sd->asd) { in v4l2_async_unregister_subdev()
318 list_add(&sd->asd->list, &notifier->waiting); in v4l2_async_unregister_subdev()
323 notifier->unbind(notifier, sd, sd->asd); in v4l2_async_unregister_subdev()