From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF41FC33C9E for ; Fri, 17 Jan 2020 20:12:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C546C2072B for ; Fri, 17 Jan 2020 20:12:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729643AbgAQUMs (ORCPT ); Fri, 17 Jan 2020 15:12:48 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:43530 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727573AbgAQUMs (ORCPT ); Fri, 17 Jan 2020 15:12:48 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: koike) with ESMTPSA id 84B4F293C5F From: Helen Koike To: linux-media@vger.kernel.org Cc: hverkuil-cisco@xs4all.nl, niklas.soderlund@ragnatech.se, kernel@collabora.com, laurent.pinchart@ideasonboard.com, tfiga@chromium.org, Helen Koike , Mauro Carvalho Chehab , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman Subject: [PATCH] staging: media: rkisp1: make links immutable by default Date: Fri, 17 Jan 2020 17:12:18 -0300 Message-Id: <20200117201218.3745311-1-helen.koike@collabora.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The only places which make sese to allow users to enable or disable links are: * between sensors and isp: So users can select which sensor should be used while streaming * between isp and the resizers: | v here rkisp1_isp:2 -> rkisp1_resizer_mainpath -> rkisp1_mainpath (capture) \-> rkisp1_resizer_selfpath -> rkisp1_selfpath (capture) ^ here | So users can disable one of the capture paths when unused, to avoid worring about matching formats. Make the following links immutable to simplify userspace: rkisp1_resizer_mainpath -> rkisp1_mainpath rkisp1_resizer_selfpath -> rkisp1_selfpath rkisp1_params -> rkisp1_isp rkisp1_isp -> rkisp1_stats Signed-off-by: Helen Koike --- This is the topology graph after disabling all the links with media -r http://col.la/rkisp1immutable Dashed links are the only one can can be enabled/disabled, the others are immutable. drivers/staging/media/rkisp1/rkisp1-dev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/rkisp1/rkisp1-dev.c b/drivers/staging/media/rkisp1/rkisp1-dev.c index 558126e66465..4030d5e71af1 100644 --- a/drivers/staging/media/rkisp1/rkisp1-dev.c +++ b/drivers/staging/media/rkisp1/rkisp1-dev.c @@ -145,14 +145,15 @@ static int rkisp1_create_links(struct rkisp1_device *rkisp1) flags = 0; } - flags = MEDIA_LNK_FL_ENABLED; + flags = MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE; /* create ISP->RSZ->CAP links */ for (i = 0; i < 2; i++) { source = &rkisp1->isp.sd.entity; sink = &rkisp1->resizer_devs[i].sd.entity; ret = media_create_pad_link(source, RKISP1_ISP_PAD_SOURCE_VIDEO, - sink, RKISP1_RSZ_PAD_SINK, flags); + sink, RKISP1_RSZ_PAD_SINK, + MEDIA_LNK_FL_ENABLED); if (ret) return ret; -- 2.24.0