From patchwork Thu Apr 19 10:17:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Miguel Silva X-Patchwork-Id: 10349499 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2C95460244 for ; Thu, 19 Apr 2018 10:18:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1B8EF287D2 for ; Thu, 19 Apr 2018 10:18:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0FC98287FE; Thu, 19 Apr 2018 10:18:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A40BB287D2 for ; Thu, 19 Apr 2018 10:18:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751228AbeDSKSe (ORCPT ); Thu, 19 Apr 2018 06:18:34 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:38532 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750989AbeDSKSb (ORCPT ); Thu, 19 Apr 2018 06:18:31 -0400 Received: by mail-wr0-f195.google.com with SMTP id h3-v6so12527217wrh.5 for ; Thu, 19 Apr 2018 03:18:31 -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:in-reply-to:references; bh=VTiZKVGJd8lhDh5PwgUrZyRUYlKLlhJ6Zh51ReByWME=; b=L/UZmqNIWFdX1dLamSreCfziyMfpA+lIvw4gjZsu2Sh3QwVI7cGbmo8qTHkE7AmSox PTki+3WuDft+AiATw0KFTq7/EajZpjE/FrZIwhAD0rfF1yQ89mciJAaW0kteE9GcZWDH rnzBARj9uIjsfIOooub6lZd+I+tTOSwFQNLcs= 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:in-reply-to :references; bh=VTiZKVGJd8lhDh5PwgUrZyRUYlKLlhJ6Zh51ReByWME=; b=CLI9YRk7EnIZMloBQYvSh1OKGHAsObBvtc/jbANgN3NFZL+cImaI7QilvriVYc/LPm dRTL+uwQRkJL9ox4mVNojU4lWt2mG77rJNBkgvnty/6PHNGpBmKjIaX8RqLd/34rxVTO 0aG9Odt6IH//LkSTRUBZjdoSKQ1oso1dYC3YRYCBTB+iBCAA+0kTglHBpV6BX/d+a+lP t10/FekBF09Wev3UUbaDsuer8Aqmt/w/cZvDPJ20yTV8qvi5/BKocky2aQiT6pczbYi1 glEZ7P9qqugKhUZOYgUUVYeAJL8UTOw7CFgJDkX02KEpCMQQ//DKC7EsexIbqLJ1v9RI Yc6g== X-Gm-Message-State: ALQs6tDBweNI811b8iqURIB44LceGeoWTiCEwd3PVsmBRflq3xgWsHk2 k7cglxax7UckVKqRqcsqLjqT2g== X-Google-Smtp-Source: AIpwx48NqUq95Krnqz//7mjW1XeNnP8XNzyLAiaYLyegg750Kv4pDoR+SupK7cgbSXZsb9Pr3jxVlw== X-Received: by 10.28.14.70 with SMTP id 67mr4379905wmo.17.1524133110740; Thu, 19 Apr 2018 03:18:30 -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 v66sm5220937wmd.41.2018.04.19.03.18.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 03:18:29 -0700 (PDT) From: Rui Miguel Silva To: mchehab@kernel.org, sakari.ailus@linux.intel.com, Steve Longerbeam , Philipp Zabel , Rob Herring Cc: linux-media@vger.kernel.org, devel@driverdev.osuosl.org, Shawn Guo , Fabio Estevam , devicetree@vger.kernel.org, Greg Kroah-Hartman , Ryan Harkin , Rui Miguel Silva Subject: [PATCH 01/15] media: staging/imx: add support to media dev for no IPU systems Date: Thu, 19 Apr 2018 11:17:58 +0100 Message-Id: <20180419101812.30688-2-rui.silva@linaro.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180419101812.30688-1-rui.silva@linaro.org> References: <20180419101812.30688-1-rui.silva@linaro.org> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some i.MX SoC do not have IPU, like the i.MX7, add to the the media device infrastructure support to be used in this type of systems that do not have internal subdevices besides the CSI. Signed-off-by: Rui Miguel Silva --- drivers/staging/media/imx/imx-media-dev.c | 16 +++++++++++----- .../staging/media/imx/imx-media-internal-sd.c | 3 +++ drivers/staging/media/imx/imx-media.h | 3 +++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c index f67ec8e27093..a8afe0ec4134 100644 --- a/drivers/staging/media/imx/imx-media-dev.c +++ b/drivers/staging/media/imx/imx-media-dev.c @@ -92,6 +92,9 @@ static int imx_media_get_ipu(struct imx_media_dev *imxmd, struct ipu_soc *ipu; int ipu_id; + if (imxmd->no_ipu_present) + return 0; + ipu = dev_get_drvdata(csi_sd->dev->parent); if (!ipu) { v4l2_err(&imxmd->v4l2_dev, @@ -481,16 +484,19 @@ static int imx_media_probe(struct platform_device *pdev) goto notifier_cleanup; } - ret = imx_media_add_internal_subdevs(imxmd); - if (ret) { - v4l2_err(&imxmd->v4l2_dev, - "add_internal_subdevs failed with %d\n", ret); - goto notifier_cleanup; + if (!imxmd->no_ipu_present) { + ret = imx_media_add_internal_subdevs(imxmd); + if (ret) { + v4l2_err(&imxmd->v4l2_dev, + "add_internal_subdevs failed with %d\n", ret); + goto notifier_cleanup; + } } /* no subdevs? just bail */ if (imxmd->notifier.num_subdevs == 0) { ret = -ENODEV; + v4l2_err(&imxmd->v4l2_dev, "no subdevs\n"); goto notifier_cleanup; } diff --git a/drivers/staging/media/imx/imx-media-internal-sd.c b/drivers/staging/media/imx/imx-media-internal-sd.c index 0fdc45dbfb76..4a246813b4e1 100644 --- a/drivers/staging/media/imx/imx-media-internal-sd.c +++ b/drivers/staging/media/imx/imx-media-internal-sd.c @@ -238,6 +238,9 @@ int imx_media_create_internal_links(struct imx_media_dev *imxmd, struct media_pad *pad; int i, j, ret; + if (imxmd->no_ipu_present) + return 0; + intsd = find_intsd_by_grp_id(sd->grp_id); if (!intsd) return -ENODEV; diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h index 44532cd5b812..0c63132861a0 100644 --- a/drivers/staging/media/imx/imx-media.h +++ b/drivers/staging/media/imx/imx-media.h @@ -147,6 +147,9 @@ struct imx_media_dev { /* for async subdev registration */ struct v4l2_async_notifier notifier; + + /* indicator to if the system lack IPU */ + bool no_ipu_present; }; enum codespace_sel {