From patchwork Fri Sep 26 14:39:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 24474 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 CF085C328C for ; Fri, 26 Sep 2025 14:40:01 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C895D6B605; Fri, 26 Sep 2025 16:39:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="lAYEggcQ"; 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 2BBCA6B5C2 for ; Fri, 26 Sep 2025 16:39:53 +0200 (CEST) Received: from [192.168.1.100] (93-61-96-190.ip145.fastwebnet.it [93.61.96.190]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4C71614B0; Fri, 26 Sep 2025 16:38:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1758897507; bh=+Fr7v0haJUdYkbqLX5PxEimUjLQcrLUSYtyDj2wqy7Y=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=lAYEggcQeyPKAkt7brZ6hn88M+GIjMymOI08g5neolQXrPkJtids7dwHI2YbQyFEH L2LHL53bm4WFIrq1PkoVxhBdE74Px83QxkmbrV6GPg6Nzu0v6xJsoFiI+q4MVKsroE M/Ccz53ZaEVlkM+pOBySZY95aNQCH//o3n3KGL6w= From: Jacopo Mondi Date: Fri, 26 Sep 2025 16:39:34 +0200 Subject: [PATCH v3 2/5] include: linux: v4l2-isp: Provide __counted_by() MIME-Version: 1.0 Message-Id: <20250926-v4l2-params-v3-2-ee114782c1be@ideasonboard.com> References: <20250926-v4l2-params-v3-0-ee114782c1be@ideasonboard.com> In-Reply-To: <20250926-v4l2-params-v3-0-ee114782c1be@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/ZANAwAKAXI0Bo8WoVY8AcsmYgBo1qW1qa3CTWsNViLCsVNld8vbH6473BrkHRRcG miyMuF+r3GJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCaNaltQAKCRByNAaPFqFW PF58EAC62o8VIS8uIsvKcl4W8ZgbAArg5ARMX9dGf3FB4fQ97qO3xijDhdHhaDc8gCdIg5woUZm 62hnPin/yGUPgpJDsyuYaTVwR18UuxYsKEUxDv2jv60juaTCjAmYQowyGBJYH9RGVqBIymAan5i F8j+bDMeBpYPOg6IAVj3Oj711F6TeL6T1GovRjijk2Yv7giUj29/QKGN9yBJrDIBoTvIuoHQJvF 4euTAjxUIBaCGLj7oMYusQhq2TeZ7h4K9VRDEZuPk3HnNChCtIFr1iu8vZQ+twkE+kquxIh9OlZ eigL4aAALvJgp7vR5tYDSeh29bOaIKtzR4zFmyPiuZS+LwJT+OZE2/922c1Qx5CSGM1nprUzsUG neYdKoVSxY0OuZhdDTteZo5Ns+x/e5NflmGoH0wHMqWNy9gMCjR36o8co0St9NIpA17SfYSSvG+ 4a/wn7lCWckFNUaodWuRGy63QxPnhUY8yvHY16hHFd9XVHgNcX0q7Nosidv2bNRsXGyTUnURYHZ H1YWHV1tbZoBoHMzAKt9EKzAGTothclFcHK0w15zg48geYEmXqPQBSgg2BDbSHv6BIAB1d5Nmlc PpMYxRWUknH3qlR/vRi8Y4UKdK8CV/mxwx1zJ6yNw3eItWGoEkblY7zPB+KUXDUD1BIx7qZznFx KCDF83ElwcDn3xQ== 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)