From patchwork Tue May 10 11:51:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 15862 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id A87D8C3270 for ; Tue, 10 May 2022 11:52:25 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4FB6F65645; Tue, 10 May 2022 13:52:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1652183545; bh=wREWnlZORWJLC+76NQD4bNVhlmjZ7u0qButDdbEp29U=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Y53mRa0KFUYdClBuOLWt7loSdqVDFShtHWKTvVouCOa4wOavbOLwu5O3uFk1hL4QB Ise69n8Shkzd1YZ5pFT8Lp3VQHYA+QezzKngBGFq9CqP7+pdRB44GIrp8309hX1WYY pSi5TGjjvw0q1kC3u7k+JsXOggUNsByK1rQpiVutS+sNKEee7x2v3y1T6NQRasOCBy 9dZvvuJfb3+GIEm/A/KlM2o6GAFZjTiYjRP9ku0K+VYQzDhJvQt0iLYcjB/eLttxRm XGPOsgj/TcDVHQq5E0jVPPUsU9jW8az6rDdQsf1DkVsk//r87pV3pusgMczTE0ocuA Flhg8dLyDkMNg== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E682765672 for ; Tue, 10 May 2022 13:52:15 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="osvrTBds"; dkim-atps=neutral Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 13268B60; Tue, 10 May 2022 13:52:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1652183535; bh=wREWnlZORWJLC+76NQD4bNVhlmjZ7u0qButDdbEp29U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=osvrTBdszMIDmR9J35xbtZAlOFtTUToEFSBpnuYV92LnNuoPCcT4Jlei6N4uU6llA hcxXW/yuAWqsOS+bOaKSEYaqlBWD4xNE7A0MCQG9/EJlFRseLSogBrbdaygxHmAiGD 8j/JObIRS7juxp6ZSpPmKHtSPrJ8TIlXcJYZeJ+g= To: libcamera-devel@lists.libcamera.org Date: Tue, 10 May 2022 14:51:19 +0300 Message-Id: <20220510115147.19360-23-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220510115147.19360-1-laurent.pinchart@ideasonboard.com> References: <20220510115147.19360-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 22/50] staging: media: imx: imx7-media-csi: Inline imx_media_pipeline_pad() X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Laurent Pinchart via libcamera-devel From: Laurent Pinchart Reply-To: Laurent Pinchart Cc: Martin Kepplinger , kernel@pengutronix.de, Dorota Czaplejewicz , Alexander Stein , Rui Miguel Silva , Philipp Zabel , Steve Longerbeam Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Inline the imx_media_pipeline_pad() helper, dropping all the code unused by the imx7-media-csi driver. Signed-off-by: Laurent Pinchart --- drivers/staging/media/imx/imx7-media-csi.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index 7e932884fd02..e1b494183ebc 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -1605,7 +1605,8 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd, struct imx7_csi *csi = v4l2_get_subdevdata(sd); struct imx_media_video_dev *vdev = &csi->vdev; const struct v4l2_pix_format *out_pix = &vdev->fmt; - struct media_pad *pad; + struct media_pad *pad = NULL; + unsigned int i; int ret; if (!csi->src_sd) @@ -1627,7 +1628,17 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd, case MEDIA_ENT_F_VID_MUX: /* The input is the mux, check its input. */ - pad = imx_media_pipeline_pad(&csi->src_sd->entity, 0, 0, true); + for (i = 0; i < csi->src_sd->entity.num_pads; i++) { + struct media_pad *spad = &csi->src_sd->entity.pads[i]; + + if (!(spad->flags & MEDIA_PAD_FL_SINK)) + continue; + + pad = media_entity_remote_pad(spad); + if (pad) + break; + } + if (!pad) return -ENODEV;