From patchwork Wed Oct 1 15:42:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 24543 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 9D9BFC328C for ; Wed, 1 Oct 2025 15:42:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 1F16C6B5FB; Wed, 1 Oct 2025 17:42:54 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="QtM7bZCs"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 708BA6B5C4 for ; Wed, 1 Oct 2025 17:42:45 +0200 (CEST) Received: from [192.168.1.102] (93-61-96-190.ip145.fastwebnet.it [93.61.96.190]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1FD2EBCA; Wed, 1 Oct 2025 17:41:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1759333276; bh=+Fr7v0haJUdYkbqLX5PxEimUjLQcrLUSYtyDj2wqy7Y=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QtM7bZCsSDDZMj+ieON/KwlIRlf4Y78ANn47ymXedS/MPrkPfsTv8wMMjKQaR3UNL RratUktkwGtPf40jliU85l/puZ9HSZ4zFDPgROeEdvtOXCKdhAJYB/b6dVNcd3DtcF lvlXNya1A0Ei/+t7UAUBENqDC+6LRTvO0TrOpsps= From: Jacopo Mondi Date: Wed, 01 Oct 2025 17:42:31 +0200 Subject: [PATCH v4 2/5] include: linux: v4l2-isp: Provide __counted_by() MIME-Version: 1.0 Message-Id: <20251001-v4l2-params-v4-2-8f2b4779205e@ideasonboard.com> References: <20251001-v4l2-params-v4-0-8f2b4779205e@ideasonboard.com> In-Reply-To: <20251001-v4l2-params-v4-0-8f2b4779205e@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Jacopo Mondi X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1458; i=jacopo.mondi@ideasonboard.com; h=from:subject:message-id; bh=+Fr7v0haJUdYkbqLX5PxEimUjLQcrLUSYtyDj2wqy7Y=; b=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBo3UvyVFmKNGtkAk+o9xhfTy22DYzCgHWi566Eb fkvq+5wSi+JAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCaN1L8gAKCRByNAaPFqFW PGl2D/9Iv4ysURyw/EX3Sm6p+bxNw6U1Her7EgfmpavtSdUatfx7f4TxZcHnMwp0zfKwG6AreFC vSzDwmCeaPXS4I085Q+ugPuwBv+KP+xPJgcca8heQuSL2RM3I55vMbVPkzf3hrVTqFljOuxjwhA XL0iiEdDIGMgAkU7r6HfUYUzSKDb9CpuR5M0SR30IDLWZHIw5OEacTw6EG84Ed5TH0uWTUvokbd gNUYztI3hiI0k78bFqewGGP+ggY2PRESv2ub6el7HVDfSIeHRE3pbke+rnSvK+iTRoyYl7I0/Az k/L7mPrFNNNgnQsG/ELwhtBnAgsNfWlHBAjKCXcuiDc/sQ3yaj19VszADmbQ64lKxVal7uVVU8A FPf2/FI1GvfHB4AHxFNMycy9YP9MSeDVhRDofWsKGVieLzFTnR0mMNoWrDbfgrPEHf2/L1TuReX 4WDzFbL9RJgO3Qsd3RxxTOS1UE73GsQMkuzC1APxgMDe9PLjj2bQA1DLRi2JpdG21UwfJGH7UAo yDsc3qdhxY0bmIAa5Uoh0MBEb5LSleCkrFoRA4ilxd3N3ruWphGDEFPm2aGZ+wnX3j2hdxg2eSL glwFYGN0W20STamveoujzPEOXSXDnVYyvpLNEkJto4nB3z6NA1TIqxFmWa9sMP9h45tRHAlIyMq fTBgiZhu40OtOOw== X-Developer-Key: i=jacopo.mondi@ideasonboard.com; a=openpgp; fpr=72392EDC88144A65C701EA9BA5826A2587AD026B 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The v4l2-isp.h header exported from version https://lore.kernel.org/all/20250915-extensible-parameters-validation-v5-0-e6db94468af3@ideasonboard.com/ includes the __counted_by() macro, which is not availale in Linux uAPI headers older than version v6.5. Provide the macro here, to support older kernel versions. Signed-off-by: Jacopo Mondi --- include/linux/media/v4l2-isp.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/linux/media/v4l2-isp.h b/include/linux/media/v4l2-isp.h index fed89b5678585a3565d33cf873d0313dc089524f..ea23dfdeeab9e69959cd8fa3c4853e931f36198a 100644 --- a/include/linux/media/v4l2-isp.h +++ b/include/linux/media/v4l2-isp.h @@ -12,6 +12,24 @@ #include #include +/* + * Provide __counted_by() if not available in linux/stddef.h + * + * The Linux macro __counted_by() has been introduced in kernel v6.5 and + * is not available in older kernel version. + * + * See commit dd06e72e68bc ("Compiler Attributes: Add __counted_by macro") + * + * Provide it here if not available. + */ +#if not defined(__counted_by) +#if __has_attribute(__counted_by__) +# define __counted_by(member) __attribute__((__counted_by__(member))) +#else +# define __counted_by(member) +#endif +#endif + #define V4L2_PARAMS_FL_BLOCK_DISABLE (1U << 0) #define V4L2_PARAMS_FL_BLOCK_ENABLE (1U << 1)