Patch Detail
Show a patch.
GET /api/patches/24966/?format=api
{ "id": 24966, "url": "https://patchwork.libcamera.org/api/patches/24966/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24966/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20251104134927.318841-2-antoine.bouyer@nxp.com>", "date": "2025-11-04T13:49:26", "name": "[v6,1/2] libcamera: pipeline_handler: Add accessor for useCount_", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "42edc3d24a8050b1f3210b2ea1b5b011d926271a", "submitter": { "id": 218, "url": "https://patchwork.libcamera.org/api/people/218/?format=api", "name": "Antoine Bouyer", "email": "antoine.bouyer@nxp.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24966/mbox/", "series": [ { "id": 5562, "url": "https://patchwork.libcamera.org/api/series/5562/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5562", "date": "2025-11-04T13:49:25", "name": "imx8-isi: Move isi routing into acquireDevice", "version": 6, "mbox": "https://patchwork.libcamera.org/series/5562/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24966/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24966/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 71EDCC3241\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 4 Nov 2025 13:47:50 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0A93960A7B;\n\tTue, 4 Nov 2025 14:47:48 +0100 (CET)", "from DU2PR03CU002.outbound.protection.outlook.com\n\t(mail-northeuropeazlp170110003.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c200::3])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C541D60856\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 4 Nov 2025 14:47:44 +0100 (CET)", "from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8)\n\tby AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16;\n\tTue, 4 Nov 2025 13:47:43 +0000", "from GVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a]) by\n\tGVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a%6]) with mapi id 15.20.9298.006;\n\tTue, 4 Nov 2025 13:47:43 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"SyQk4h6s\";\n\tdkim-atps=neutral", "dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=FiT+Ow60hirm5ZUiuKxwAfjLAz9plqSjdUM+rfDe1UlWdnN1HWBSJTGvRs+XJCN7CfdExAeCUiq8bwyZ6VIV1BZGkZVIz7SWtMDBMKrZjCLz8LOXcP5QoxBgY6LuYg44VyiB1bXi3Q8nkrCT+/ImAaz+m6/BlDKom29Seie/xvoOBisMbzxy9Tw0EnAlI+wq/sXnuTNMZH6TJLFDLI2KlGJJPp1Ekeez5P2D/iCtbKzLHUdBoLbyhGJ7ROrkIOHb9ZjdvHzufVFL25kkIU2ah5FpoNV10g8J8rbITWIHiWBxUmSAPKSlhOV5NicF/DOdAx/CVidy7gT+eUZaWYc8ow==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=QeWqTcZPC9HXrL45LMB2b4qKvCzMIf0NDV7/kLTDfsE=;\n\tb=paUJHloppTS+rodGEPGEiXcbJEuzUUO+DKdHaNmxIHFjPY+JKKSkb1lFe9iqyp321JbKuUTkAgY2Fs3LT15JqY5EmVcvinb9Zz+P4w+PSFXLSwvj2yIy2KHC/Gm+jDYtuBOCYRnceznZLzX96PtHMxTDGnTMDqWH4lwahokzlzAbAmT/Ikzlxg1Hmq66Jm0J76fMx7VvyQNdV3cEN7NNYQTm+ppAPsUs+fTtz6cP+B0cv6iUFy3wFGs7+RPg12fp9hjdVX7Ch6ZlRJ1nY2p98hAU6PAnE/uDh88f0xMVqUpnz7xwpNbaa9Oa/F/JXUQ681ZBCww/w5MAaSIEk7XGoQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=QeWqTcZPC9HXrL45LMB2b4qKvCzMIf0NDV7/kLTDfsE=;\n\tb=SyQk4h6s47zRQjHB4UJDz58THyEsA0YUN6I/+e88G3SeufVM2kp2Ru+ioz6R+ElA0AdtoPwAJviuiFz0YGmFIR5qIlePl9vMbeel1eGO/iUPcTJzxkPYK+T6sqMw4R4CtvxlN03B7IItRw12QmkXBC4VuZkL4TPKlqFXYc6rTrnDEMpPSQZgEi6Su04QKEGZS2rK7jcAPhWJzPFgfqI0gMGRB70lAt+gT9oZwNs3DzhcJH0B3x/flq4+/UwRGFbusxj8nc1ZqD+neMiyE5XfsJjxXxNmlhCvQjf+Av9gQp6P3M1ky2uKQrEDzAlKnmJgXUNoWj3YhprL+u0hQkjUVg==", "From": "Antoine Bouyer <antoine.bouyer@nxp.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "julien.vuillaumier@nxp.com, Antoine Bouyer <antoine.bouyer@nxp.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab?=\n\t=?utf-8?b?w6FzIFDFkWN6ZQ==?= <barnabas.pocze@ideasonboard.com>", "Subject": "[PATCH v6 1/2] libcamera: pipeline_handler: Add accessor for\n\tuseCount_", "Date": "Tue, 4 Nov 2025 14:49:26 +0100", "Message-Id": "<20251104134927.318841-2-antoine.bouyer@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20251104134927.318841-1-antoine.bouyer@nxp.com>", "References": "<20251104134927.318841-1-antoine.bouyer@nxp.com>", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-ClientProxiedBy": "AS4P251CA0019.EURP251.PROD.OUTLOOK.COM\n\t(2603:10a6:20b:5d3::7) To GVXPR04MB9831.eurprd04.prod.outlook.com\n\t(2603:10a6:150:11c::8)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "GVXPR04MB9831:EE_|AM8PR04MB8020:EE_", "X-MS-Office365-Filtering-Correlation-Id": "ab7fb17d-bdc7-414d-e29b-08de1ba8baa7", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|366016|52116014|376014|19092799006|1800799024|38350700014;", "X-Microsoft-Antispam-Message-Info": "=?utf-8?q?HBEHdoWasbGBRhpA2FEIiXMYKvAZ?=\n\t=?utf-8?q?8qDdFn4yKUYknbc8l7aNCOxH/eRX6Rplx3A6MmKizGJlDvfdIcSzZPfl?=\n\t=?utf-8?q?6NJpve/uQuqJQ1X8ELJhGlQxcdw9Z+hgpCBhjEuzwtqzvlDVj0x7y4wi?=\n\t=?utf-8?q?JUyByCwG2D9b4jbgxKoXktTBnQHChGsKIdXETBdx1QVGJ7NS2htS+lmA?=\n\t=?utf-8?q?TltstdOo2wcdL3O/Ej0L4lw/nYRKgXpmZRc70kTmywQQNHOI81xr1eBK?=\n\t=?utf-8?q?K+NDKMM8HNBRGqDGSAf9H5KvJFNZEqCAmeVDzArzqKKRT+b86tSQjyTh?=\n\t=?utf-8?q?nSEQ94Qes6YqmTmxxUdvjwSLVulCLWEM+pTfoRnXgs/eDrgcGad97Xyu?=\n\t=?utf-8?q?/pXV1HeCIuOIXYKPZyrpSMgB6t27MSeiMc6aNjbU3u8GtS69Zrx4Q0Fm?=\n\t=?utf-8?q?kIpkEeFCtOHF4KAoPLI3a7aow0Yg4UAFV8MW/RoLW9XRnEWm5gZ7GE/H?=\n\t=?utf-8?q?l1vQkKTTCk8P0D77yDMW+s6c2lj9DIkKOezQyz0bT9/m/4n/56inwUmE?=\n\t=?utf-8?q?eeq+XMhKBvgoC8AJ+f0groiGmRHcuEzs3/5/SJCE+sfiPO9CMn/72Y17?=\n\t=?utf-8?q?l3M7SCbolvwWls0z1muY7dLY+sy0dsySKMvuGSdEAyPtWPtAl7kc8CHw?=\n\t=?utf-8?q?PSSI1j9ha0qa9YXrIIqHvQ4YjXOxekfAXFBeKLur/O2oNXxBcKSbrjr1?=\n\t=?utf-8?q?RUg3z0gpJBidXV9xo2D5KfF4aOl330DqZXE2XK4Um2QhZZI0FFk6Hkf2?=\n\t=?utf-8?q?QTuBzilCqKEcrNvBvxVRWICS7aaLDTU2IGgQJM9a9/aRM8QWNYnKHcgH?=\n\t=?utf-8?q?GLA08ejfY6+p9oQCsJMbl9h4Ta2/hOwA6ZFsu6Tt9EvydNTtv3HCJOXb?=\n\t=?utf-8?q?ozzTjgfBNom+TGH1wf3xgu28iGpHAI0nOoqBzuXbPI487EI671QFT9jG?=\n\t=?utf-8?q?TJZkNPERepu61Tq5nthkDzRyy+cUxQJ8m/4ZYvzDJ4kINPt+fX3hLSGN?=\n\t=?utf-8?q?7Are1ErDcgmScugoKs8jHX1k51mEsDqNLXtWvR+RmsBZm4tFahT4mAhw?=\n\t=?utf-8?q?nKMOGlHPGHaaaG6BR4exYYTqThvEJMzyIlmqEtorTK0Sxubgtr3uPSuC?=\n\t=?utf-8?q?TREpcM8vxHx/Q4hultlTDnFnMAVs3/geu2+Njat0VJmpn10R8ZZpaquI?=\n\t=?utf-8?q?qtuac9VbB4+0Nyz+rsZZdLGR7Pnh+BoxvFc3tU/S3KIuTDdf0csbXjoq?=\n\t=?utf-8?q?Dte+mS0Ml+ih58f6+xrwdXXsYOCIpuJd1yxO2T0iMjpz6m2YB0CvruTc?=\n\t=?utf-8?q?3hH4MKGZQWSjROhDWNxGyri/ddsQMa+P+oI04geUVggDOW8biFzkEJCo?=\n\t=?utf-8?q?hTlOzeC0zOEcZJ4FOwFFg0yzo3uB9z3hJ39rgEXotqqzreV1UD6EA1yC?=\n\t=?utf-8?q?kx3jwhiYNwP443DCFruTrFecN9dxaBA2FxIERyvscuJKrf5PE14xWStX?=\n\t=?utf-8?q?tcDOA9gvxPYfNXk7nsyHFujomoT3AnYNqLJHImTIGYn5LBhS+UftxHiN?=\n\t=?utf-8?q?VRG76zY9uHtty5WSBUoknsxFN++bY9YWNTlzzx+ZZq20CAxH2ydp?=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:GVXPR04MB9831.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(366016)(52116014)(376014)(19092799006)(1800799024)(38350700014);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?D0GppWSymOOYp1fFspesMI6qW?=\n\t=?utf-8?q?B7qd1X+lL/QngbSFBZhU1joQsyvNNeZ2hh2DxryaN5cXca2vAx9YFRI1?=\n\t=?utf-8?q?CI9zKIbDY+N20+tjjA/fPRMsFNFrdbinZfqtsOH1eymq/W+kQlVPdeCl?=\n\t=?utf-8?q?MqSgdNvgu09TSwQx4fpn/QUnhpocl8EiMqS61mpXpmHrgbZZNjWERQxa?=\n\t=?utf-8?q?KMML/kbk9AyEyY2Bye5fmfoaiPxCBDiN9bKCnwdVa1ReQXQTd9IX+HJC?=\n\t=?utf-8?q?ehSyoUVTiwuD6aKfLddCRiwadi3CXRREMN7ffeirTPMnbOsRaktgWJ/d?=\n\t=?utf-8?q?HRYUePkq6d0nbcEq0eOnn3Kky3uY/mRoibyeEe7cweRoWVuG2ac7ahin?=\n\t=?utf-8?q?c90JRasE7SZA/UDELCwgW8TMJDFzhsf+HSjtw1J54Li6vsWAE/bK+oCf?=\n\t=?utf-8?q?Wdlgy1JeOrzEcrH05Ru3/855R6tnWAKbf5pFrh0yY21fNVEcbHKr1XSY?=\n\t=?utf-8?q?6AHvhlfjoIJoumTrqibXQa53WW8YKzzkekGbqXalSn9rLfNpDF22BTtg?=\n\t=?utf-8?q?RiEQ86ChKNIf3ZhKkIQItlp0HpyRyJtYAKJrrWgHhhjHGrnGhICqvCLX?=\n\t=?utf-8?q?+pLE4fRJ7d/rlRQ7N+aLb2qyCRmQidJA53sh+3xwUZXaDm5UTW/bYIE8?=\n\t=?utf-8?q?Y4pIu/A9XGPAYhxCyd/9WSOP2VEYBiC4ov9LZzR2ahrSZEPsPGDeMlGx?=\n\t=?utf-8?q?x/i/mtZcDGX8iC6Jse2/uFbOIfbSmza5BQ3UV6apabGvsibGlnZabctY?=\n\t=?utf-8?q?0pDgvAxHwo+rd1zX8KiV0b3heJPJMf15ciJ2rDaBXN7for64NUZUBzRt?=\n\t=?utf-8?q?6yNAQRO2/lvOP5fV/r3Shahk/Cxg8bCBxpZmJpiCx/bISvvvR8Oq3FA6?=\n\t=?utf-8?q?5WeOGNMV0f2CdM6Ax62vo+Rp/gCMUFjfViSHAltF+gddAXu9p3py44Oc?=\n\t=?utf-8?q?35PdImnXfO76jpwdR2WbIud/OEongQqcIzQzjWDEw0CW50vwXssqADP9?=\n\t=?utf-8?q?8pFKekbJ5itbSL4WxKsQ1D6WOp/uKQTCmNrYL9eI3hoTAXM8E4veWSNv?=\n\t=?utf-8?q?iFX58GG71xgSX78/G14AU/IyGCseVr/4BcPxzScbd1hDrJEUiAb6UNfG?=\n\t=?utf-8?q?YyMXRFPkNmxitpoIoi9Mt/xIaOheevJkkxXBhlSXbSW8/O+5sXDx9bvR?=\n\t=?utf-8?q?2bX2GdLi3gRxyQ7yrwEFkXkVrFi54OVaHhbEUy73fqQ/mou4T5W4733Z?=\n\t=?utf-8?q?127sFBt/YfBFI2xOWl9PplYiTYYe363+9EEZn0ljvTfbj8tkDnumz9L/?=\n\t=?utf-8?q?4cFMSk8WyrWSm8hCtjawHbRhyUPn08u6EVOCcPyQfMpnsqvcoENYDA/z?=\n\t=?utf-8?q?S/xYNe5opRa3Tam32yYKohj1vCozBN7HB2bzhDiHee4BLcj5aqtsYlJk?=\n\t=?utf-8?q?4XRTPApdbZK630ccUcAHTMKabk6d/UtcUiOQFXVD6bBoLOo583GptS92?=\n\t=?utf-8?q?NmFIbvZuuIRLhJfyMigj0UGCoRLDpx7BntZ7v43MfC7BA4LqUTCgw7WX?=\n\t=?utf-8?q?f/0dUPM2dFuTIM7wekgjq7cZZbZUk93EE3fTzFDXa8hNbgUHoChwkWwB?=\n\t=?utf-8?q?CVemLhHDh7Vlg1BGWUT+dygZZ9t+FnP+4qH7N90CwQocEakvW4vgCUPJ?=\n\t=?utf-8?q?S7d6RaZ5SWacAdjW6+uH+AMpSN9jA=3D=3D?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "ab7fb17d-bdc7-414d-e29b-08de1ba8baa7", "X-MS-Exchange-CrossTenant-AuthSource": "GVXPR04MB9831.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Nov 2025 13:47:43.5799\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "XJEkr1w5ZYVHfoJKQTL+JFFE8oGJMmciDUFNUCtMK2pcVqtmnZdQZIWY0e7p/AfYPotcN7Yy7X2hMNrdKqOFXQ==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM8PR04MB8020", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Add an accessor for useCount_ parameter, so that PipelineHandler\nchild classes can access it to verify whether the media device\nis already locked or not.\n\nSigned-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n---\n include/libcamera/internal/pipeline_handler.h | 1 +\n src/libcamera/pipeline_handler.cpp | 6 ++++++\n 2 files changed, 7 insertions(+)", "diff": "diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\nindex e89d6a33e398..2ca210d0ae4f 100644\n--- a/include/libcamera/internal/pipeline_handler.h\n+++ b/include/libcamera/internal/pipeline_handler.h\n@@ -73,6 +73,7 @@ public:\n protected:\n \tvoid registerCamera(std::shared_ptr<Camera> camera);\n \tvoid hotplugMediaDevice(MediaDevice *media);\n+\tunsigned int useCount() const { return useCount_; };\n \n \tvirtual int queueRequestDevice(Camera *camera, Request *request) = 0;\n \tvirtual void stopDevice(Camera *camera) = 0;\ndiff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\nindex e5f9e55c9783..15fb32566543 100644\n--- a/src/libcamera/pipeline_handler.cpp\n+++ b/src/libcamera/pipeline_handler.cpp\n@@ -811,6 +811,12 @@ void PipelineHandler::disconnect()\n * \\return The pipeline handler name\n */\n \n+/**\n+ * \\fn PipelineHandler::useCount()\n+ * \\brief Retrieve the pipeline handler's used camera count\n+ * \\return The number of acquired cameras of the pipeline handler\n+ */\n+\n /**\n * \\fn PipelineHandler::cameraManager() const\n * \\brief Retrieve the CameraManager that this pipeline handler belongs to\n", "prefixes": [ "v6", "1/2" ] }