Patch Detail
Show a patch.
GET /api/patches/24951/?format=api
{ "id": 24951, "url": "https://patchwork.libcamera.org/api/patches/24951/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24951/", "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": "<20251103140325.88535-2-antoine.bouyer@nxp.com>", "date": "2025-11-03T14:03:24", "name": "[v4,1/2] libcamera: pipeline_handler: Add accessor for useCount_", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "74bb3c645f29adb92c84c05db956cdb738ee0f6a", "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/24951/mbox/", "series": [ { "id": 5556, "url": "https://patchwork.libcamera.org/api/series/5556/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5556", "date": "2025-11-03T14:03:23", "name": "imx8-isi: Move isi routing into acquireDevice", "version": 4, "mbox": "https://patchwork.libcamera.org/series/5556/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24951/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24951/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 4AC90BDE4C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 3 Nov 2025 14:01:56 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 98C4760A86;\n\tMon, 3 Nov 2025 15:01:55 +0100 (CET)", "from DB3PR0202CU003.outbound.protection.outlook.com\n\t(mail-northeuropeazlp170100001.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c200::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9AC83606A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 3 Nov 2025 15:01:53 +0100 (CET)", "from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8)\n\tby GV1PR04MB10559.eurprd04.prod.outlook.com (2603:10a6:150:20b::7)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16;\n\tMon, 3 Nov 2025 14:01:52 +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.9275.015;\n\tMon, 3 Nov 2025 14:01:52 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"KtB+oElL\";\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=SAkpCJJHpXcnhizhQqcJQlatfLs9y85SVGBv0dNAJ5t0xObW4d2NPynHk/ZNLa0mMfJTfJ9rBkqDDxPt1Dxw1ucq6Bet6fVYy0rce7XaEF5qKWcXjEAfk6rzL54ikxkL4rsivb7DjIpHQ80S7MFvvVrgiMLxpIYEbq0+8aXQaBBKayvX4N3+30XihTzmy1tGjWaxOy8yBNeVWoK8m46rIlF9SiGOMEdh27Lfcd7ms3HX+Su8/l48R9PJi2BFNq7jCwDd40om/2Bl9i1TX9x0KzdFDJlFmPLUrKZAM+R10e3Hu9NAmHOkYNjTdiGvJk6j1QQSY/N4Zrfc/pihy6y/sQ==", "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=H4gHQ+zKi0jBdc+7k92Xf6Q2jawgfJ2GY5IjIM33KuI=;\n\tb=s8l8efE2LiXXABz2VQNZe0hj+lHyJvqPl7GrWg5zCjl3CzERA0OwhvzHBZK6H18uXLosEOnX4Afs9rQxoPctr8WVQRJIZU4rMQNU+J/Iye3lcGEhibE+JyJ1aZGPYmkmTc3SBh/X0lBCqkj4jzcGk3YxjUewr/63csUceBKlab4M/s6ZZGmSrDY+cM0BYcemIJw7NCRpBA10WwJDZJk1Skk9TPP3izIBbsMJOLIJPxa7pxT7hXsjU6efEuorK3kIZhDepvue9A4cT7xYdAbN4ztEq3KAbUTz4xAZ3uAZb+F5CzFVT5Oxbx/9y52dnXmrOBInQZct7xn+SRZZ4sbGog==", "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=H4gHQ+zKi0jBdc+7k92Xf6Q2jawgfJ2GY5IjIM33KuI=;\n\tb=KtB+oElLjH2LLHiWAK6oKw+Pbuw8gEhdqxVL6UUcgG3MTvcL7fVauYEG8NBgTdyjGWwrdn1Jy6i69d5yIAKBg//6et1ZNM2MQmUMPvBMQqSlHhXllCCJOeEzv/zS7N0qW9+wKakKDBQ/f8o1++2T/CAp1gsbioF1RHRs5rtUM1oZE+GdhW9MKEAbei0XUkPlVOE3dt6dT0cUhJBGhdNkuGiehGiv8nAmlMvtDxjr9j1ETppD3bZmnCs7ItxrXZaCbjyDtfisw5nhqvnz7HjWzjPUuWqZ3qF86b4uJh79CHbQ0r9WyaryLDu23I+a+SqeyX0U/TALhVrE5YcH88YKcg==", "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>", "Subject": "[PATCH v4 1/2] libcamera: pipeline_handler: Add accessor for\n\tuseCount_", "Date": "Mon, 3 Nov 2025 15:03:24 +0100", "Message-Id": "<20251103140325.88535-2-antoine.bouyer@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20251103140325.88535-1-antoine.bouyer@nxp.com>", "References": "<20251103140325.88535-1-antoine.bouyer@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "CH0PR03CA0302.namprd03.prod.outlook.com\n\t(2603:10b6:610:118::24) 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_|GV1PR04MB10559:EE_", "X-MS-Office365-Filtering-Correlation-Id": "b8e308a1-cacc-4279-05fe-08de1ae18a21", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|366016|19092799006|52116014|376014|1800799024|38350700014;", "X-Microsoft-Antispam-Message-Info": "RQGlRq4XO5mAC0dAtaE7AiShPCPqebmizF15PuTvBe8FzHkkas2EVSSOOB0c5eAwTbCfASindKVSNvfa6hQNAZU7hGc1tslUWfUi6NYGKEw68FuKZE+des7U5FaWOPz+HY47cUOsxBO4FtYs2d9Av/bAbiD7C53oC37FKuvIp0BZZatXPWQOhlFi2ou293xkiY/ZQRRcmc+5/8HfcgebWxrjLDrliK8G0PCRDQfYNtQPhZtQ4vke2sdTy0NHMGwFKSVQ2M5vJ0mO9Uqlwmu7IxR+qfwwqcq8IAzWCX2xdMm3rvKw0pIXem2Q2+Dzxqq1TPu2b2LiuWnZ77+AKEyNAbP2XIGpFJ9zH0+/Nnj4Bt1lUf2p+192+j1KM+QH0i9KR3xU5HN1H6Ysk7l7/fKtW5OAgGZXENdJ/oiwDhNtAmqVIk9eowTYFS7i3z2AGYngq2zwCH9wd62CkLycUDFdmYmancUfl360uLQbnu+1w2QkB2bzXhptReCz8lj4mN4ejMCooP32iDunzyvg992DaC61pz39s6+S7zGh1rI7mchYvcasMqAL+LbQlUytsw+IE/h9zB2De9XRVhGLrX9soh5c6tHyENrXYKu86LtGiz8eO/PQblpj9RZFz2qmQAWa792qKwDFrV6ZgYjKtaac6shFjKQTQjl42LI+8HYxRDb2bfonB03RAQXMfvKTbAHFHvQ7j8fPPHAJRB1jSxkvpoNUjBhpmdnkbgu/V+WgpPmudBHGh85yXXfAGpAZoYO3bw8rNj5Fi+g1/zSKJlCPIhZ7t3ls4ioYAbEfpsFBZu1R0P3ThtEnwLvt5i7IMr0YjvITefZSt1rr4lYVER85ocxzZfX8h4TujOwgpEytbfn/IuNsdg/fwIhCwUzhqsuo2OvIHH3ojXr8PkqXwoYJEGupgY2bIF4kVRSKjrJR7HFITlINwic1zXsgCp28FmdB0DuBGQvhn9wiUhf7CTV7WX6OoHzsvhJrBGj0faZ3IhGqlEaim6mLYSCSbjv8eI3dS/WcgiXX/VtHIJlzj/CKggN/oZSbYy/LSKZdnSs/P9cX55BJ75eNNajyd9nmO6bOK7802BL1OQ7+30knJYmBTIneEdYB2eYc4vCZhksXbVNdIZLgCzuuoPhUs4jEh0HQl3OpNpn3D8f6zrATgkMgRzoo456VO4PweUj3yQG72vGoIcowcNCWIIINPEbxiQs+1ghznBeNihF91+1Uo0ZbFHPul3jOVzOjYqVvwyboaI0ZsgPX2HBtSpUPpl7jCJz1MVgCYhZ/DNbK4kj3cJWZuRoqE9+uStYyGiHAToMIlsybusllqj0TaF90ffcHk7E4SCuIo51XcPTkEK+kAPkoy/mOMo49D0qXmLCElirT/nvrkyls1DUvs068AcU10iuVoEM9d/7DxXPscSyNUqDPzqIHpcCjHFvRkDqnF1IS2Q+ZT9+7TMh8Zy7n6QUhf97P07aRDOBDxEJO82Pytb/l0v/S3UfATeBT2qAzUl15Lq2SQflWbwbUQg+MZDYy4nRE", "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)(19092799006)(52116014)(376014)(1800799024)(38350700014);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "1NRhf+PN0CnJN7TKfKM7s3KzpUPVFqptAz5af5BZ/eAf87wzKnsHNd8HwrjEd7MzeAfIEf+xtplhkrYK1AyX0eW99PXb1EgB+bAvs5fnaguMwrots4MQdvAcK7tU6WRmXUdEBcUi+ZtjXbkd05a0mL6WHHbzJZaQi2rqab8V95QWmKeVG5eyP3GIwsUOEcDzHEtbo0Vr6oAo+fK2SuVXsMj303Mzvgbq4EB9rQld6C08E/KKI3bh49tM3I7MWwd+l+J2EyGkIBEQ9AD6QOocZ2uSVJia+5G8JQy3KAMw8rXmZkEajpKlXdj+IW7Uyg/XnLRv+QzwQt5ONe1Z6Z+F3amTYyaj7NeyuwzzyaleRvDeDPp+4sPiBVM0LjW8AChauqWkCyNy/l14BCGhD6WGJffB1fHCMTmayGH0JLhdWakkUrESjmm8aq9x9owNOOdJiZRJVNhMKW3EdnZRyERcZtNxsEhV1oAqz/2rWPBs2+SokIroF4fN7y4vsuROMtR6Ul5vmJAtHA6lC+XGZL97ygjVnpam3tfgtHLp5yFefRYY016S43QlrhMxMIKytG8Toz6RwaaXzBVhdhr/NXbVItbE/hzkRuP4OSJLwVrfirOjjpFWZeFCciMsNMBhHLXZyMoVp1q2yHEZHDj/nCuetvpRqGjfhOS4joPvDuwzkPOALcnT6BQb5RFAdw+SmtTyCG2Vbh66dAjkJf6w7VNnRFcHinsJ0b4Q3Od3gyfYY7HQ5m5+2wXcEDiASCSHJRgqsbrGhORL3MoD+qxygLtW95IL1qr1N5S+9z1eHQHslbuE2UmH2ZMSuPR7h1nQm4eZSClMSEPuJH8eyvN24YBXWKJq4fYdtg1B7dAUPGcm08x/Q/gvp4HcEd1mcEknSUL/OXVhhmU5b1t7gz8TgZ1rUCzm/dI4YXgkm0Cj3ip3vhBfWHx0bq1oZSXS1pDmldosm9KqWScoTTThCMeaTwy2/x1VutPMmS3ZLNFym9UILCuiYEfYxbQVRJzOPS9OsTzwAxoqBpZiCDRuh7yNZDMtMrUcdgwrZu1JpdtINy8GxGwKyaA71tfT6Bw7ayK59z6eGYjPFAggytFDHbO1/jKRotDolzABBynJE1a8rpun1CDhbepVbJQhcp+oWZL397rONjvx48WS+3+/l18PU4/mtIm6A/GDPdM9S/P2AbqpvRFC8AMMO8kbUqigOLVtwvdORd59GhAh5116Sjbaq5mE9PdIRAVOraxf4WKfxznxO7B8QKMb92dBwpYG9aePnnkptT0lKJPXJQH4q6yl38T2dMTyu2AayXgGgG8hEGOf1KfhkDSwCrgPYtgIHc5meVOrE/dkBoL8mw+89JgFBJv/jym6fLXTEBrxKfVweBHxN9iSdP9zNswujPdLFD48L7I4s+8dHZiUDq6OnmPsuWP17TWwtL2TQV+YQGa4Cqrc5l5yeUAawUxB651DBSQLCWmM1/ZkH/nxoZFnHsv2qscW2Y1mx2ceKglUwSBSHyb00Cbij6q5ihMRH/WGzxbwybklm+VlB03yF33ucxnMrEn/SvgPMBnjcIHBGnoI+2y2zB0W2DKEfidbJ6+G/Wf2pcatiGz6lb+0Qhfmg0gNFJ7nlA==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "b8e308a1-cacc-4279-05fe-08de1ae18a21", "X-MS-Exchange-CrossTenant-AuthSource": "GVXPR04MB9831.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Nov 2025 14:01:52.3480\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": "ohFcymJR7uL6ExeP6QFdM67s/czjlNrFLtzKrXoi8PU4FyQlBCIpervbk7LS+NwLUTcOuMacQT0R2+8IUX400w==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV1PR04MB10559", "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>\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..8fe970317fdd 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() { 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..3f7c20aced13 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 user count\n+ * \\return The pipeline handler user count\n+ */\n+\n /**\n * \\fn PipelineHandler::cameraManager() const\n * \\brief Retrieve the CameraManager that this pipeline handler belongs to\n", "prefixes": [ "v4", "1/2" ] }