Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1373996lqe; Mon, 8 Apr 2024 07:16:24 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWsih48qgpiVm1qP/hjQ5AyHryAZciCAjxh9wYEH4qEznsNtHZPg1CcM5neV6V1EQ4YeGPQw192F98cQTohzyRVdZyPGK6S4e33eJRAOQ== X-Google-Smtp-Source: AGHT+IGB8LqiN27/ze/HJYNKtYi1u9yGjPbng2s8ESERgwrfwdKw3AQXid5so4GmPHGb2iv+fBjV X-Received: by 2002:a92:cdae:0:b0:366:4967:d932 with SMTP id g14-20020a92cdae000000b003664967d932mr9667373ild.7.1712585784091; Mon, 08 Apr 2024 07:16:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712585784; cv=pass; d=google.com; s=arc-20160816; b=ylsFXYBfzOVMnsFOaKxlmcHq9BMXWhTFxpxJ0LKK5Y56pW4TAH7QTan8/5yFBZjOog 29s4YyWJ+ZKMi7c5cyAAMcB/xtqgNX3g/VjU8edcBvmx+nYZAsbp2HULLS8SpebZErYB 3YnuDVeiUCfk5P7ARv0MnAQZqFZjjgKZD8ogQRYAWgLHXTaLAn49tMu4+4y0h5X3FWLR 7Mm9i5t9a7P+8P8OfVLGIW0nAPd7XCwgigphk5RCEsyM2YskHkytQwOdQRrjXK8NlGM5 rSdmx6rstFaPu+VgbrGClgWutKq4+1iUyzel8MUa1bcKqZysD6umUfCogHzpjfBWwgfN 6AuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=Kg/tgf4WG0e6NSlL+w2WPUYPROm5su1+SFq1emUPAI4=; fh=KpOe9lIGTJGMUwkrFqcbp0hAPBzN1EVwfwNdEz7hLB0=; b=nME3RHihZ7hGMe1zLCEYxMsLRWXa6jzV+hpyTo+FqcCCooCX06OqPweFpNdEoweeNe IK2ikCMbpQsJIEGBo/Ce///93weQq2LwCHIt8YmO0M8VMyEJQFQrU8laXANmyn5afwo4 nfcU/wJ50vuPPF9c5Pi4NAU9LYjwQGWpUeIYKGplPy7nb4/LwbZvzjSF1DfLAURq49Ln PZWZzdVkEhScS6muR+ISd328hxDmP9dQWTkZxlqwfWTVWDTIOYKq5GsAohQ+OsicR4Ja lYTkb4arZmeIgU9PfS1VZIrEK1gRCTQbpXNFYv0YOaQhWqFfYwtVjUyeG5odDRSXs5kx qZGg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-135492-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135492-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id d4-20020a63f244000000b005e46e6ba6cdsi6459094pgk.391.2024.04.08.07.16.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 07:16:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-135492-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-135492-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135492-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 665EF285768 for ; Mon, 8 Apr 2024 14:15:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AFFE285C62; Mon, 8 Apr 2024 14:15:52 +0000 (UTC) Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20EC48173C; Mon, 8 Apr 2024 14:15:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712585752; cv=none; b=nCeA1ropioSolXUc6jRQpOmVVIXek+k75bn1hI+qG1TFKxFu27mQ9lamUsY3iSIRmpOaJ6oBwBhiuKPug2ewuHR+wKJ2oB8k1xZUDuUkLR8xZmYdSttLjJrd6hgR6T1+tCwRQnboRnnYVBSnmtQvxYMhsjUjnjZ8ExmsJuG2lSc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712585752; c=relaxed/simple; bh=ndtFkXhiMI1+U5ZvN9rd5fvDB8VZwSNk7BZK129wwSw=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=nQEuAXCSoPaTR+8eAfweLF7t+OJbzi7gNzTr9BCoOcGt9moi4jIHvCh+QLie9lNrxsuf3+lTew4opTn4fro7ALZbW5C61mfgnarsnqF5qxxmqtfTGKQ9k3gmAfagC0RHl2vhScwE/5iYGx2B3Rz9whgFZMqNyWCDB+ie2qtt2WQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4B79C43390; Mon, 8 Apr 2024 14:15:48 +0000 (UTC) Message-ID: <6027dacf-549e-4855-97d9-dd02e65fd94a@xs4all.nl> Date: Mon, 8 Apr 2024 16:15:47 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 00/16] Switch subdev dv timing callbacks to pad ops Content-Language: en-US, nl To: =?UTF-8?Q?Pawe=C5=82_Anikiel?= , kieran.bingham@ideasonboard.com, mchehab@kernel.org, tharvey@gateworks.com, niklas.soderlund@ragnatech.se, prabhakar.csengg@gmail.com, charles-antoine.couret@nexvision.fr, thierry.reding@gmail.com, jonathanh@nvidia.com, skomatineni@nvidia.com, luca.ceresoli@bootlin.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, chromeos-krk-upstreaming@google.com References: <20240405141411.1807189-1-panikiel@google.com> From: Hans Verkuil In-Reply-To: <20240405141411.1807189-1-panikiel@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 05/04/2024 16:13, Paweł Anikiel wrote: > Currently, subdev dv timing calls (i.e. g/s/query_dv_timings) are video > ops without a pad argument. This is a problem if the subdevice can have > different dv timings for each pad (e.g. a DisplayPort receiver with > multiple virtual channels). > > This patchset changes subdev dv timing callbacks to include a pad > argument, and moves them from video to pad ops. All the affected > drivers are updated to use the new pad ops version. > > The affected drivers were updated in a way that mathes how they deal > with the pad argument in other callbacks (mainly enum_dv_timings, > dv_timings_cap, get/set_edid). > > This was originally a part of a larger patchset: > https://lore.kernel.org/lkml/20240221160215.484151-2-panikiel@google.com/ > > Paweł Anikiel (16): > media: v4l2-subdev: Add pad versions of dv timing subdev calls > media: i2c: adv748x: Switch dv timing callbacks to pad ops > media: i2c: adv7511: Switch dv timing callbacks to pad ops > media: i2c: adv7604: Switch dv timing callbacks to pad ops > media: i2c: adv7842: Switch dv timing callbacks to pad ops > media: i2c: tc358743: Switch dv timing callbacks to pad ops > media: i2c: tda1997x: Switch dv timing callbacks to pad ops > media: i2c: ths7303: Switch dv timing callbacks to pad ops > media: i2c: ths8200: Switch dv timing callbacks to pad ops > media: i2c: tvp7002: Switch dv timing callbacks to pad ops > media: spi: gs1662: Switch dv timing callbacks to pad ops > media: cobalt: Use pad variant of dv timing subdev calls > media: rcar-vin: Use pad variant of dv timing subdev calls > media: vpif_capture: Use pad variant of dv timing subdev calls > media: tegra-video: Use pad variant of dv timing subdev calls > media: v4l2-subdev: Remove non-pad dv timing callbacks You missed one: In file included from include/media/v4l2-device.h:13, from drivers/media/platform/ti/davinci/vpif_display.h:13, from drivers/media/platform/ti/davinci/vpif_display.c:26: drivers/media/platform/ti/davinci/vpif_display.c: In function 'vpif_s_dv_timings': include/media/v4l2-subdev.h:1816:56: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' 1816 | else if (!(__sd->ops->o && __sd->ops->o->f)) \ | ^~ drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); | ^~~~~~~~~~~~~~~~ include/media/v4l2-subdev.h:1819:53: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' 1819 | v4l2_subdev_call_wrappers.o->f) \ | ^~ drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); | ^~~~~~~~~~~~~~~~ include/media/v4l2-subdev.h:1820:63: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' 1820 | __result = v4l2_subdev_call_wrappers.o->f( \ | ^~ drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); | ^~~~~~~~~~~~~~~~ include/media/v4l2-subdev.h:1823:48: error: 'const struct v4l2_subdev_video_ops' has no member named 's_dv_timings' 1823 | __result = __sd->ops->o->f(__sd, ##args); \ | ^~ drivers/media/platform/ti/davinci/vpif_display.c:937:15: note: in expansion of macro 'v4l2_subdev_call' 937 | ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); | ^~~~~~~~~~~~~~~~ drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops drivers/media/platform/ti/davinci/vpif_display.c:937:15: error: no member 's_dv_timings' in struct v4l2_subdev_video_ops Regards, Hans > > drivers/media/i2c/adv748x/adv748x-hdmi.c | 16 ++++---- > drivers/media/i2c/adv7511-v4l2.c | 14 +++++-- > drivers/media/i2c/adv7604.c | 14 +++---- > drivers/media/i2c/adv7842.c | 25 ++++++++---- > drivers/media/i2c/tc358743.c | 23 +++++++---- > drivers/media/i2c/tda1997x.c | 12 +++--- > drivers/media/i2c/ths7303.c | 8 +++- > drivers/media/i2c/ths8200.c | 14 +++++-- > drivers/media/i2c/tvp7002.c | 26 +++++++++---- > drivers/media/pci/cobalt/cobalt-v4l2.c | 12 +++--- > .../platform/renesas/rcar-vin/rcar-v4l2.c | 9 +++-- > .../media/platform/ti/davinci/vpif_capture.c | 4 +- > drivers/media/spi/gs1662.c | 21 +++++++--- > drivers/media/v4l2-core/v4l2-subdev.c | 39 +++++++++++++++++-- > drivers/staging/media/tegra-video/vi.c | 12 +++--- > include/media/v4l2-subdev.h | 28 ++++++------- > 16 files changed, 183 insertions(+), 94 deletions(-) >