}
 EXPORT_SYMBOL_GPL(v4l2_async_notifier_cleanup);
 
-int v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier,
+int __v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier,
                                   struct v4l2_async_subdev *asd)
 {
        int ret;
        mutex_unlock(&list_lock);
        return ret;
 }
-EXPORT_SYMBOL_GPL(v4l2_async_notifier_add_subdev);
+EXPORT_SYMBOL_GPL(__v4l2_async_notifier_add_subdev);
 
 struct v4l2_async_subdev *
 v4l2_async_notifier_add_fwnode_subdev(struct v4l2_async_notifier *notifier,
        asd->match_type = V4L2_ASYNC_MATCH_FWNODE;
        asd->match.fwnode = fwnode_handle_get(fwnode);
 
-       ret = v4l2_async_notifier_add_subdev(notifier, asd);
+       ret = __v4l2_async_notifier_add_subdev(notifier, asd);
        if (ret) {
                fwnode_handle_put(fwnode);
                kfree(asd);
        asd->match.i2c.adapter_id = adapter_id;
        asd->match.i2c.address = address;
 
-       ret = v4l2_async_notifier_add_subdev(notifier, asd);
+       ret = __v4l2_async_notifier_add_subdev(notifier, asd);
        if (ret) {
                kfree(asd);
                return ERR_PTR(ret);
 
        if (ret < 0)
                goto out_err;
 
-       ret = v4l2_async_notifier_add_subdev(notifier, asd);
+       ret = __v4l2_async_notifier_add_subdev(notifier, asd);
        if (ret < 0) {
                /* not an error if asd already exists */
                if (ret == -EEXIST)
 
 void v4l2_async_notifier_init(struct v4l2_async_notifier *notifier);
 
 /**
- * v4l2_async_notifier_add_subdev - Add an async subdev to the
+ * __v4l2_async_notifier_add_subdev - Add an async subdev to the
  *                             notifier's master asd list.
  *
  * @notifier: pointer to &struct v4l2_async_notifier
  * @asd: pointer to &struct v4l2_async_subdev
  *
+ * \warning: Drivers should avoid using this function and instead use one of:
+ * @v4l2_async_notifier_add_fwnode_subdev,
+ * @v4l2_async_notifier_add_fwnode_remote_subdev or
+ * @v4l2_async_notifier_add_i2c_subdev.
+ *
  * Call this function before registering a notifier to link the provided @asd to
  * the notifiers master @asd_list. The @asd must be allocated with k*alloc() as
  * it will be freed by the framework when the notifier is destroyed.
  */
-int v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier,
+int __v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier,
                                   struct v4l2_async_subdev *asd);
 
 /**