From patchwork Tue May 16 09:54:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sakari Ailus X-Patchwork-Id: 13242850 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F208EC77B7F for ; Tue, 16 May 2023 09:56:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232209AbjEPJ4I (ORCPT ); Tue, 16 May 2023 05:56:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232201AbjEPJ4G (ORCPT ); Tue, 16 May 2023 05:56:06 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D977B49EB for ; Tue, 16 May 2023 02:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684230962; x=1715766962; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=H6szkz+b/Y1mnD82wbXv00UXSbh8DH/dRYrv3EX9gSY=; b=MNRH3VEicir1ylen7yLciHQGNHhHnKVcW+q3dntjgznPshO9LXENU37S 7P3teIt0+Em6JLpFtCGBrSDqSAaGeG0ZQnzyn/VYbyr9YbC49mE3TybIv 15T2wk9cVije/8bb+5ZDU1/cDxcycfu7RG0g/PQDCckz+oSHuZ3NXdO4H 0V/5cUVBd1bKkuQgePOc6d0/rV/2QJNKANxxTvFL5sXD4OVbYsBp8KOyI 1g/B767z1V2m6VZzXC0ACC01D4qeYnc3Aomoeo3ysV7FX/5+ECBLBkRht XEq5kIWsrO8sFMRs4hb4O9GqfxL541BrEYDz2GtgwV9wZ9VKGXoplA1dc Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10711"; a="353715198" X-IronPort-AV: E=Sophos;i="5.99,278,1677571200"; d="scan'208";a="353715198" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 May 2023 02:55:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10711"; a="678791315" X-IronPort-AV: E=Sophos;i="5.99,278,1677571200"; d="scan'208";a="678791315" Received: from turnipsi.fi.intel.com (HELO kekkonen.fi.intel.com) ([10.237.72.44]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 May 2023 02:55:38 -0700 Received: from punajuuri.localdomain (punajuuri.localdomain [192.168.240.130]) by kekkonen.fi.intel.com (Postfix) with ESMTP id E23781214C7; Tue, 16 May 2023 12:55:35 +0300 (EEST) Received: from sailus by punajuuri.localdomain with local (Exim 4.94.2) (envelope-from ) id 1pyrOx-002Z9j-TY; Tue, 16 May 2023 12:55:27 +0300 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: laurent.pinchart@ideasonboard.com, Philipp Zabel , hverkuil@xs4all.nl, Francesco Dolcini , aishwarya.kothari@toradex.com, Robert Foss , Todor Tomov , Hyun Kwon , bingbu.cao@intel.com Subject: [PATCH v2 03/31] media: xilinx-vipp: Clean up bound async notifier callback Date: Tue, 16 May 2023 12:54:49 +0300 Message-Id: <20230516095517.611711-4-sakari.ailus@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230516095517.611711-1-sakari.ailus@linux.intel.com> References: <20230516095517.611711-1-sakari.ailus@linux.intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org The async notifier bound callback does a lot of checks that have probably been always unnecessary. Remove the lookup of the async connection that we already have, as well as the debug print that is already printed by the framework. Signed-off-by: Sakari Ailus --- drivers/media/platform/xilinx/xilinx-vipp.c | 32 ++++----------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c b/drivers/media/platform/xilinx/xilinx-vipp.c index 3123216b3f70e..b309af0c83749 100644 --- a/drivers/media/platform/xilinx/xilinx-vipp.c +++ b/drivers/media/platform/xilinx/xilinx-vipp.c @@ -312,36 +312,14 @@ static int xvip_graph_notify_complete(struct v4l2_async_notifier *notifier) static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier, struct v4l2_subdev *subdev, - struct v4l2_async_subdev *unused) + struct v4l2_async_subdev *asd) { - struct xvip_composite_device *xdev = - container_of(notifier, struct xvip_composite_device, notifier); - struct xvip_graph_entity *entity; - struct v4l2_async_subdev *asd; + struct xvip_graph_entity *entity = to_xvip_entity(asd); - /* Locate the entity corresponding to the bound subdev and store the - * subdev pointer. - */ - list_for_each_entry(asd, &xdev->notifier.asd_list, asd_list) { - entity = to_xvip_entity(asd); + entity->entity = &subdev->entity; + entity->subdev = subdev; - if (entity->asd.match.fwnode != subdev->fwnode) - continue; - - if (entity->subdev) { - dev_err(xdev->dev, "duplicate subdev for node %p\n", - entity->asd.match.fwnode); - return -EINVAL; - } - - dev_dbg(xdev->dev, "subdev %s bound\n", subdev->name); - entity->entity = &subdev->entity; - entity->subdev = subdev; - return 0; - } - - dev_err(xdev->dev, "no entity for subdev %s\n", subdev->name); - return -EINVAL; + return 0; } static const struct v4l2_async_notifier_operations xvip_graph_notify_ops = {