struct v4l2_async_notifier — v4l2_device notifier data
struct v4l2_async_notifier {
unsigned int num_subdevs;
struct v4l2_async_subdev ** subdevs;
struct v4l2_device * v4l2_dev;
struct list_head waiting;
struct list_head done;
struct list_head list;
int (* bound) (struct v4l2_async_notifier *notifier,struct v4l2_subdev *subdev,struct v4l2_async_subdev *asd);
int (* complete) (struct v4l2_async_notifier *notifier);
void (* unbind) (struct v4l2_async_notifier *notifier,struct v4l2_subdev *subdev,struct v4l2_async_subdev *asd);
}; number of subdevices
array of pointers to subdevice descriptors
pointer to struct v4l2_device
list of struct v4l2_async_subdev, waiting for their drivers
list of struct v4l2_subdev, already probed
member in a global list of notifiers
a subdevice driver has successfully probed one of subdevices
all subdevices have been probed successfully
a subdevice is leaving