static DEFINE_MUTEX(mutex);
static LIST_HEAD(int_list);
-void v4l2_int_device_try_attach_all(void)
+static void __v4l2_int_device_try_attach_all(void)
{
struct v4l2_int_device *m, *s;
}
}
}
+
+static struct v4l2_int_slave dummy_slave = {
+ /* Dummy pointer to avoid underflow in find_ioctl. */
+ .ioctls = (void *)0x80000000,
+ .num_ioctls = 0,
+};
+
+static struct v4l2_int_device dummy = {
+ .type = v4l2_int_type_slave,
+ .u = {
+ .slave = &dummy_slave,
+ },
+};
+
+struct v4l2_int_device *v4l2_int_device_dummy()
+{
+ return &dummy;
+}
+EXPORT_SYMBOL_GPL(v4l2_int_device_dummy);
+
+void v4l2_int_device_try_attach_all(void)
+{
+ mutex_lock(&mutex);
+ __v4l2_int_device_try_attach_all();
+ mutex_unlock(&mutex);
+}
+
EXPORT_SYMBOL_GPL(v4l2_int_device_try_attach_all);
static int ioctl_sort_cmp(const void *a, const void *b)
&ioctl_sort_cmp, NULL);
mutex_lock(&mutex);
list_add(&d->head, &int_list);
- v4l2_int_device_try_attach_all();
+ __v4l2_int_device_try_attach_all();
mutex_unlock(&mutex);
return 0;