@@ -475,8 +475,7 @@ v4l2_async_nf_has_async_match_entry(struct v4l2_async_notifier *notifier,
*/
static bool
v4l2_async_nf_has_async_match(struct v4l2_async_notifier *notifier,
- struct v4l2_async_match_desc *match,
- bool skip_self)
+ struct v4l2_async_match_desc *match)
{
struct v4l2_async_connection *asc;
@@ -484,7 +483,7 @@ v4l2_async_nf_has_async_match(struct v4l2_async_notifier *notifier,
/* Check that an asd is not being added more than once. */
list_for_each_entry(asc, ¬ifier->asc_list, asc_entry) {
- if (skip_self && &asc->match == match)
+ if (&asc->match == match)
break;
if (v4l2_async_match_equal(&asc->match, match))
return true;
@@ -499,16 +498,14 @@ v4l2_async_nf_has_async_match(struct v4l2_async_notifier *notifier,
}
static int v4l2_async_nf_match_valid(struct v4l2_async_notifier *notifier,
- struct v4l2_async_match_desc *match,
- bool skip_self)
+ struct v4l2_async_match_desc *match)
{
struct device *dev = notifier_dev(notifier);
switch (match->type) {
case V4L2_ASYNC_MATCH_TYPE_I2C:
case V4L2_ASYNC_MATCH_TYPE_FWNODE:
- if (v4l2_async_nf_has_async_match(notifier, match,
- skip_self)) {
+ if (v4l2_async_nf_has_async_match(notifier, match)) {
dev_dbg(dev, "v4l2-async: match descriptor already listed in this or other notifiers\n");
return -EEXIST;
}
@@ -539,7 +536,7 @@ static int __v4l2_async_nf_register(struct v4l2_async_notifier *notifier)
mutex_lock(&list_lock);
list_for_each_entry(asc, ¬ifier->asc_list, asc_entry) {
- ret = v4l2_async_nf_match_valid(notifier, &asc->match, true);
+ ret = v4l2_async_nf_match_valid(notifier, &asc->match);
if (ret)
goto err_unlock;
@@ -668,19 +665,13 @@ EXPORT_SYMBOL_GPL(v4l2_async_nf_cleanup);
static int __v4l2_async_nf_add_connection(struct v4l2_async_notifier *notifier,
struct v4l2_async_connection *asc)
{
- int ret;
-
mutex_lock(&list_lock);
- ret = v4l2_async_nf_match_valid(notifier, &asc->match, false);
- if (ret)
- goto unlock;
-
list_add_tail(&asc->asc_entry, ¬ifier->asc_list);
-unlock:
mutex_unlock(&list_lock);
- return ret;
+
+ return 0;
}
struct v4l2_async_connection *
The connections are checked for duplicates already when the notifier is registered. This is effectively a sanity check for driver (and possibly obscure firmware) bugs. Don't do this when adding the connection. Retain the int return type for now. It'll be needed very soon again. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> --- drivers/media/v4l2-core/v4l2-async.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-)