From patchwork Fri Apr 12 16:44:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Miguel Silva X-Patchwork-Id: 162124 Delivered-To: patch@linaro.org Received: by 2002:a02:c6d8:0:0:0:0:0 with SMTP id r24csp853421jan; Fri, 12 Apr 2019 09:44:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqzsVMrIdSkOldFq055QJInZiEw9zCTpNbc6av+HtYu7C0ODkvFfeD+oabw4fBl8DPRqxsor X-Received: by 2002:a65:4083:: with SMTP id t3mr28274298pgp.332.1555087462125; Fri, 12 Apr 2019 09:44:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555087462; cv=none; d=google.com; s=arc-20160816; b=FZw5FiruNH4StexKOgYgWgvQcDefBc3xz4QXNQHQrLCoP5wWJTnp/J7t3U23dK2naK wbrEcJ3m61orbGoykHWv7um/of2uXFwyFoe9wxOlz4hWcGtW4ybE562xYEmdLkOnGXPb 6VYj6A7l0thNKKcod66/nqrhToJULBZnnsoPobqGajlZIZPCcDbDUBOTjrxqMIZtCzkd zyMkaDd6oTN6DsvApGIRzwZxmUewSNjkdKofFHnervomNZD7ZPz/xPrGiSPTwSDsU9+J PDKgGYe8USWfDOdM8wG2vwjFnzp2NySXkfH/Mn3IZ1uMyyYlDS3O2AmD+DXd5pQ17Ums cnIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=y86imlr0wPlIhVynzIQp/e0Fa10GFECSTb9qzdx6U+c=; b=NMjh61VLqLTIbG5CeWbBYKMS1HE9cU24HYYSvs9G9QNampMWnY1r9MKqYRaBzj9r7N Icg4+gPLN0PkK7VfTdalhH8Jzw8qUYBp5IiHNVEyTv7j1udD/zQczu8yA1q9e/HdxZ8L q9A/Xl9FGsl00u1GTFU73lLm3Ckt+C5UY/nYVE31xTMZ5n6s02roRcbbiHxYamzXssZe paLd0a8MkQfWmdexJNsauBUUMZnjSIgSD76B6SCnx/2EN7TaSnQDc1jtqcRMeVfydcJ1 WGvUjMBfb5RraSzsWT+WLGSTa+yz9s2B7FU7+IEMraCgrV8T/t3MFe/ewgO5q/slJJ1e dNbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CyeHKwiB; spf=pass (google.com: best guess record for domain of linux-media-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-media-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q12si38979299pgh.594.2019.04.12.09.44.21; Fri, 12 Apr 2019 09:44:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-media-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CyeHKwiB; spf=pass (google.com: best guess record for domain of linux-media-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-media-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726843AbfDLQoV (ORCPT + 3 others); Fri, 12 Apr 2019 12:44:21 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:36057 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726765AbfDLQoU (ORCPT ); Fri, 12 Apr 2019 12:44:20 -0400 Received: by mail-wm1-f65.google.com with SMTP id h18so11791528wml.1 for ; Fri, 12 Apr 2019 09:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y86imlr0wPlIhVynzIQp/e0Fa10GFECSTb9qzdx6U+c=; b=CyeHKwiBwA3mp3yDHmHKbfSdm4iC0C4KUYAlMXK9dak6c3BzjUg3NW16k0Yshd4YPd M3ao+xtyrHTIJ0+5A/a9XBRg3jYpT6vxtObWri3E0SMX1LTtzCckxdlXjGzLt7TPPoZu xQlGZ/+mMX/z8mzHuGpWtQtuJtn1//8Igeg7Ezf6KXciKb9r9N8D4K1efv3qHajWF173 OdkV+U4EEl/DFeH5Sl43cH/NvX48BFitk5TsCykmWR8GhvqAiHBwYfQIPMP2HhF/A4In B/oKTIhkwhujm7elkiHYtx+hrg//LdA8ZN43WfIhT/SQsrCa3YQcl7BZgw/g/oLIzwS0 nPaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y86imlr0wPlIhVynzIQp/e0Fa10GFECSTb9qzdx6U+c=; b=Z+RFhz9xwsjUIbTi2NeWCAacav0lBtOdDzKvByfhG+6dM2BvaSDMZU5u5wXXycjF2V AHREs7B8o9XngF36iZREtEgMK3L0LYtbGxIU8gOvCLFy61OKeK34mWIK6O5+gdGdf6En +xBwAVJeShcc7KphgF1u6sEz34EFOTgPlBJUGQNIexaWV4gS+B0td81ReIwL1Z4EXGo/ TOw0CLZtoif2V7RQf8SdkexJSE9jwWZ6R1lcyb3LonIyTTJbm1OrQK5iHibuHLLRFEjy KXfePMebz2WoweJItND/TsYDfxEe+fJnUCL0n/CHHaA7oWHmwsp/dQeaEzeIRoDbzug2 MLWg== X-Gm-Message-State: APjAAAUmz4bglBUpq2hO9P+Dqfr3A2ZF4sD1WeFkkdQn31+qpFrC+/EV T/42dSQBMzHU3T007zA+xxWRHs4pwq0= X-Received: by 2002:a1c:a70f:: with SMTP id q15mr11656571wme.28.1555087458374; Fri, 12 Apr 2019 09:44:18 -0700 (PDT) Received: from arch-late.local (a109-49-46-234.cpe.netcabo.pt. [109.49.46.234]) by smtp.gmail.com with ESMTPSA id l12sm49781805wrt.31.2019.04.12.09.44.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Apr 2019 09:44:17 -0700 (PDT) From: Rui Miguel Silva To: Hans Verkuil , Laurent Pinchart , Steve Longerbeam , Philipp Zabel Cc: devel@driverdev.osuosl.org, linux-media@vger.kernel.org, Rui Miguel Silva Subject: [PATCH] media: staging/imx: add media device to capture register Date: Fri, 12 Apr 2019 17:44:00 +0100 Message-Id: <20190412164400.1270-1-rui.silva@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org When register the capture media device it is assumed that the device data is the media device. In the imx6 case is but in the imx7 is not case. The device data is the csi structure. Add the explicit argument of the media device that we want to associate with the capture device. Reported-by: Laurent Pinchart Signed-off-by: Rui Miguel Silva --- drivers/staging/media/imx/imx-ic-prpencvf.c | 2 +- drivers/staging/media/imx/imx-media-capture.c | 6 +++--- drivers/staging/media/imx/imx-media-csi.c | 2 +- drivers/staging/media/imx/imx-media.h | 3 ++- drivers/staging/media/imx/imx7-media-csi.c | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) -- 2.21.0 Acked-by: Steve Longerbeam diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c index 5c8e6ad8c025..3ca1422f6154 100644 --- a/drivers/staging/media/imx/imx-ic-prpencvf.c +++ b/drivers/staging/media/imx/imx-ic-prpencvf.c @@ -1270,7 +1270,7 @@ static int prp_registered(struct v4l2_subdev *sd) if (ret) return ret; - ret = imx_media_capture_device_register(priv->vdev); + ret = imx_media_capture_device_register(priv->md, priv->vdev); if (ret) return ret; diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c index 9703c85b19c4..7688238a3396 100644 --- a/drivers/staging/media/imx/imx-media-capture.c +++ b/drivers/staging/media/imx/imx-media-capture.c @@ -706,7 +706,8 @@ void imx_media_capture_device_error(struct imx_media_video_dev *vdev) } EXPORT_SYMBOL_GPL(imx_media_capture_device_error); -int imx_media_capture_device_register(struct imx_media_video_dev *vdev) +int imx_media_capture_device_register(struct imx_media_dev *md, + struct imx_media_video_dev *vdev) { struct capture_priv *priv = to_capture_priv(vdev); struct v4l2_subdev *sd = priv->src_sd; @@ -715,8 +716,7 @@ int imx_media_capture_device_register(struct imx_media_video_dev *vdev) struct v4l2_subdev_format fmt_src; int ret; - /* get media device */ - priv->md = dev_get_drvdata(sd->v4l2_dev->dev); + priv->md = md; vfd->v4l2_dev = sd->v4l2_dev; diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c index 3b7517348666..3408ec023d29 100644 --- a/drivers/staging/media/imx/imx-media-csi.c +++ b/drivers/staging/media/imx/imx-media-csi.c @@ -1806,7 +1806,7 @@ static int csi_registered(struct v4l2_subdev *sd) if (ret) goto free_fim; - ret = imx_media_capture_device_register(priv->vdev); + ret = imx_media_capture_device_register(priv->md, priv->vdev); if (ret) goto free_fim; diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h index ae964c8d5be1..c3a8512bd10f 100644 --- a/drivers/staging/media/imx/imx-media.h +++ b/drivers/staging/media/imx/imx-media.h @@ -271,7 +271,8 @@ int imx_media_of_add_csi(struct imx_media_dev *imxmd, struct imx_media_video_dev * imx_media_capture_device_init(struct v4l2_subdev *src_sd, int pad); void imx_media_capture_device_remove(struct imx_media_video_dev *vdev); -int imx_media_capture_device_register(struct imx_media_video_dev *vdev); +int imx_media_capture_device_register(struct imx_media_dev *md, + struct imx_media_video_dev *vdev); void imx_media_capture_device_unregister(struct imx_media_video_dev *vdev); struct imx_media_buffer * imx_media_capture_device_next_buf(struct imx_media_video_dev *vdev); diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c index 3fba7c27c0ec..a907c5feb3eb 100644 --- a/drivers/staging/media/imx/imx7-media-csi.c +++ b/drivers/staging/media/imx/imx7-media-csi.c @@ -1124,7 +1124,7 @@ static int imx7_csi_registered(struct v4l2_subdev *sd) if (ret < 0) return ret; - ret = imx_media_capture_device_register(csi->vdev); + ret = imx_media_capture_device_register(csi->imxmd, csi->vdev); if (ret < 0) return ret;