From patchwork Tue Mar 25 13:42:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= X-Patchwork-Id: 23182 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by patchwork.libcamera.org (Postfix) with ESMTPS id 015F5C327D for ; Thu, 17 Apr 2025 10:48:28 +0000 (UTC) Received: from pendragon.ideasonboard.com (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3813E55 for ; Thu, 17 Apr 2025 12:46:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1744886785; bh=hWY+8HGZ0+XNHNvNm0h25Qj7jaFuqzBfYuLIxPkcQ5Y=; h=From:To:Cc:Subject:Date:Resent-From:Resent-To:From; b=VcfZv5lcc/Dmc1Xg8imYMkbbJAKGxBp5pr78DgvXIghMHy0La0uDtPB0ipbt1SKDo xYK0O4KzObk4JgnlmqizX0RTO1r13E07e+Jc9hRZEffsyW3IJyg8KN3gReAj514MxV SbOmsKJnEQANpSuewFwn6IOyyi1eVkLl/GuzNONs= Delivered-To: kbingham@ideasonboard.com Received: from perceval.ideasonboard.com by perceval.ideasonboard.com with LMTP id 4OyMFF+y4mdHkC4A4E0KoQ (envelope-from ) for ; Tue, 25 Mar 2025 14:40:47 +0100 Received: from pb-laptop.local (185.221.143.221.nat.pool.zt.hu [185.221.143.221]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0AE72353; Tue, 25 Mar 2025 14:40:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742910047; bh=v5gXxSbhlP0InE7Psfvd0w+X4pbpEEe40A33IuzHck0=; h=From:To:Cc:Subject:Date:From; b=DAMlsEDD9DOb0xdUG0Lf6rn/Z3rZ+cWXYB7KPY/jSV6A/q1iGPfBlaPKTvte3p8tJ jjhUMv/J2nIAmCCEwhflG6o61nzi4B8Xu4JnjleKVv+/OBH943l8E7xz3iQcuPt7Qo AChkx8nXapgxbzXBFtWFSVqOw5GhWB7B3wZ+iSbc= From: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= To: libcamera-devel@lists.libcamera.org Cc: Kieran Bingham , Laurent Pinchart Subject: [PATCH v2] libcamera: controls: Generate macro for each control Date: Tue, 25 Mar 2025 14:42:31 +0100 Message-ID: <20250325134231.1394418-1-barnabas.pocze@ideasonboard.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-TUID: iv5ZLKZGXZjw Resent-From: Kieran Bingham Resent-To: parsemail@patchwork.libcamera.org Generate a macro in the form of LIBCAMERA_HAS_$VENDOR_VENDOR_$MODE_$NAME for each control so that its existence can be checked easily and without extra version checks. Signed-off-by: Barnabás Pőcze Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- changes in v2: * rename macro from `LIBCAMERA_HAS_$VENDOR_$MODE_$NAME` to `LIBCAMERA_HAS_$VENDOR_VENDOR_$MODE_$NAME` so that has the ^^^^^^^ name of the macro already generated for the control namespaces as prefix v1: https://patchwork.libcamera.org/patch/22972/ --- include/libcamera/control_ids.h.in | 1 + 1 file changed, 1 insertion(+) -- 2.49.0 diff --git a/include/libcamera/control_ids.h.in b/include/libcamera/control_ids.h.in index 5d0594c68..6b5712339 100644 --- a/include/libcamera/control_ids.h.in +++ b/include/libcamera/control_ids.h.in @@ -49,6 +49,7 @@ extern const std::array {{ctrl.n extern const std::map {{ctrl.name}}NameValueMap; {% endif -%} extern const Control<{{ctrl.type}}> {{ctrl.name}}; +#define LIBCAMERA_HAS_{{vendor|upper}}_VENDOR_{{mode|upper}}_{{ctrl.name|snake_case|upper}} {% endfor -%} {% if vendor != 'libcamera' %}