Message ID | 20250205-8qxp_camera-v2-6-731a3edf2744@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 369A1C02192 for <linux-arm-kernel@archiver.kernel.org>; Wed, 5 Feb 2025 17:28:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9ErRgKANYyiRlaJIFLLX1u/qyCJ8Vujgs/MgTgB19Uo=; b=l87A3PyaK1aWMftCl4uMuqcapb IwaLu+2jJQRhx9DXnW2RdQcnfy73KjfWXEjZsr5YRAtsoU7e/iLhXcB981c6rO/8V49foxwyyvHus /me0dFpd5bYQJbqOLZHOFgT8bigkkMEOK80Q+S1VY6XhRjdlDiqlRfXhGCee+PKMHsUmybKib9GJH NxdXG4EVRD5midO+YdAIQj2w6nkWcJBHCM51EpbnJjeXteqMTMCM4OclipSNzXM7vUugTdaRMFbXc Gf+oy8er6bJYIUHSDn2ClnhF3IQ9H1RbZAKE2m8dI1v9FLMshDn9tCBhy4x0qRHt9Mb9ZIEy4iunY niKN/iDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfjCU-000000045uS-1r8L; Wed, 05 Feb 2025 17:28:34 +0000 Received: from mail-francecentralazon11013010.outbound.protection.outlook.com ([40.107.162.10] helo=PA4PR04CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfj3d-000000044VO-0E0v; Wed, 05 Feb 2025 17:19:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vsD0WsDXgrs8vKZDpJa/muaJIxUGl90yZW+ZSRFrwD01JpSONLvaSOQVdkvG7AkE7rW1X1sRzM+m6hNzcfSvY105yCEFBD/w/baopicUV8YD30tOED0gRzfM1m5qTtzTtHTvMfSh6747yOQljDpQaM1n7hnm+6LMymBXcMBEDKpSSTVMtP3e1T0G/caO4pbysXsC67GPq7d0yZ36eBlqIl2ZHAA/MQ2tyrcoQR/MEckPoLvUXOqLQnXrnNvzZ69EyHKatFR3CDb6VNW0/BFgKRY/hNwUUxsXBhOYNfm6N4WmsPUI7GxWwt07GSlJGHfIZrctv5KuuBM1sdb6KHYtpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=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; bh=9ErRgKANYyiRlaJIFLLX1u/qyCJ8Vujgs/MgTgB19Uo=; b=Y3nRfA5uTRN9oKFiG6xpFu1qbUZAXxMBvuHUy3zUebelw7YHw6mBTtpR0xq6AyrkNde87itWWI0LmqAgVB4za+ZN+PM+tmlqPP3bHSXZuxPI9tN9lcFy0SoF6HGsa5v9EYswrRhnWmFP4NFRHDLstbE3w04StkHYiqmc2g7BU9yFQq1xNcs9nIW8hGerbWKsvfvQ6bOvhRl5NFSm0+FXbxfmsnQl0iZ7oEJ2vq7JU3YSPL2g0VG8ofVcqMFpcoyzqmdxjd+ef2vf+E8Oe7X7vnpd05dNtJW3Sn8gjnpIfYX3zEtimfSofDgifNF01ZeaV/5+Ad+VxyRZ9lDPvM+uLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9ErRgKANYyiRlaJIFLLX1u/qyCJ8Vujgs/MgTgB19Uo=; b=ex4hgvlTex3CYUIplAdlym58z/D9Pi1JNxbUoTGRoKrqGyIJbKPSffaDsMEghrTnF1Tj5dn7Y5r18m+5B1FKWk4g+gaFPz0jDvQNrBoArnRA0uvk5FFBSdSN2oWdzycJqS0FHmPFBMSQLyUCr6ToCK4M84b6ZSXAdLajO7fZ80RkhPlE84xBUuMon5siPmHPJFK6FtHtjYvS3CJGME1aGjmkdaAtuXIdiVqy1mfqM/e5cETS5Xe6TvkY/lxEC3QYODSk64+ZW5Sbd8p883JjcTy3p4LYccjMvTBKZOw3g9CdIH1Wfp1InCh3dR/wBzint7HxdVosARU28qOv7b/bhg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by VI2PR04MB10546.eurprd04.prod.outlook.com (2603:10a6:800:274::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.24; Wed, 5 Feb 2025 17:19:22 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%6]) with mapi id 15.20.8398.021; Wed, 5 Feb 2025 17:19:21 +0000 From: Frank Li <Frank.Li@nxp.com> Date: Wed, 05 Feb 2025 12:18:15 -0500 Subject: [PATCH v2 06/14] media: nxp: imx8-isi: Allow num_sources to be greater than num_sink Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250205-8qxp_camera-v2-6-731a3edf2744@nxp.com> References: <20250205-8qxp_camera-v2-0-731a3edf2744@nxp.com> In-Reply-To: <20250205-8qxp_camera-v2-0-731a3edf2744@nxp.com> To: Vinod Koul <vkoul@kernel.org>, Kishon Vijay Abraham I <kishon@kernel.org>, Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>, Conor Dooley <conor+dt@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, Philipp Zabel <p.zabel@pengutronix.de>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Mauro Carvalho Chehab <mchehab@kernel.org>, Rui Miguel Silva <rmfrfs@gmail.com>, Martin Kepplinger <martink@posteo.de>, Purism Kernel Team <kernel@puri.sm> Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, "Guoniu.zhou" <guoniu.zhou@nxp.com>, Robby Cai <robby.cai@nxp.com>, Robert Chiras <robert.chiras@nxp.com>, Frank Li <Frank.Li@nxp.com> X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1738775920; l=2071; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=p2mFK3rrixbWLfK3RyvAeDvNWCApDYWNWpzWTZaQMws=; b=a0UrJZvq+LO/6Qo++NcBeQwHkIqG9xprulQLKxkTTYfEn5lEjWMVEezRh+wNfrMWqvpnLt1js Z1r4RTWQFByCq6aW9VoBH4t2TScOo4QuG9baxU4RDTVmYk4tyqexRNo X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0001.namprd13.prod.outlook.com (2603:10b6:a03:2c0::6) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|VI2PR04MB10546:EE_ X-MS-Office365-Filtering-Correlation-Id: 8e44bc53-2644-4644-6fe8-08dd46093b04 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?qZUK6DBPM1zqip4t6O0lDuLgsqf+5Vb?= =?utf-8?q?tkMXCw1z/Q2K2AXXNpQCsLlwE8cZAK9Cm41lwjP+CgYSJMCBKvd36cPfGsEzGSaN4?= =?utf-8?q?sh7Uz5yVTvY79TvNuh8gJn9XAPxM3fhkximpyNec9lxYTiXNGxEOcn7ZHCPknzam5?= =?utf-8?q?VyBiljYF2Q0UTRVdgnuvZNWksdX3P8M1aXmKKMXv1ypMeRhLeAnv809oOxmss0/I1?= =?utf-8?q?F+6P369wuSpkFD/cfWRkZE6CKdPA4HdJhy9oaNvq1e3QfRK93uUwXKB8xdSRsd8OF?= =?utf-8?q?XKZjO5Txr96KOhyQTAyNIu8e6oiVmHvjj0yc3oI9F2Y/qwijjbwVjaZY7gKzULrKr?= =?utf-8?q?5FLjOYIlsLqYXrg+T/0FyMwK1AxVCFmwE+2/6mvUpIkX8PR92i1Zxk46FyC1PMJT3?= =?utf-8?q?Zu/tBLThBWleC9omqQrVeiswsG72dKYXpL6FkoogkF9g70q19KzxEfT8O476UYkz6?= =?utf-8?q?6hMW+cTeh5ooJMaKXcvI/yRZW3lhCQY/YFjQU3vAoAJix8+/o34c2baB981EZWN1B?= =?utf-8?q?qkiPX4EElfDaW/GvK/OOYlftP8HxGjmeB9lohmDjb34gE3T/FlqcHFYi+OsPnH5hD?= =?utf-8?q?JlKC7esCdsLnll6PmzzsxeT9Qgv73jC0yr65TPOdxhmJcu5rtF/bYElbWFb7G3Zhd?= =?utf-8?q?gE7urlzFNammD8W1ZlHbnlNKiPiQS2GFH+64oQzXoc6VE40y7gNE9aVF2vqFYkS8X?= =?utf-8?q?cCbAn+vF/MGt0/QECgN5qLYGaRtj1YAYHu0mb9KRBjZ0GajMRgLh3PyCwlT6qGrVb?= =?utf-8?q?ff6iKu9+TleP1KNXi+Ti4t6LcJK/4sozI+CLift1By7TE9zF6PusCuwg4FkkhP83h?= =?utf-8?q?5gfmgEB/iXeJKvcbTUqHNoADga4emI5P1+uc9EoeWPh8j3Ca88YDRkTG44luVYknS?= =?utf-8?q?mzIsNW56lFfNv7RifcjEu5OR7Ci9BH8tr0s6Edx/rbiMlCpM069+FRYuT3Lv4EBnm?= =?utf-8?q?CHgqEREuJQkZNmt+4P3BTWvE9A6HbaL2XoAAHVNM8TQLe1fTTCVwwO1jiP21T0UBe?= =?utf-8?q?as6qPpPO8KMrI1XJDUy5J03t4HF5tyR/KP9KRTcPF16ndUWYKPM1kWr1OVNDbEHwv?= =?utf-8?q?MhlVN3O3TO8eq7BQ71XME63i9M/0cijIUs1NTne0GqeiiRt3oj2d1dVkdBX1Gxmv4?= =?utf-8?q?ScQOx17Zaev7z7z+WpjMKAj04aUiGB2XDplKW7J7WkH+PH+jRxDpl1/dby1gOuYkx?= =?utf-8?q?mTcemmmMsDl3xapcAYBB6VeF03wPveITbRB3nTx4HdvEuLY7zl7vsGALMlEcfqvgA?= =?utf-8?q?YkXtMsbaIqfVwByWRfd1e05Lc9biaTPPwXdJKrAaqZ2wZfYYk5o/aWKY3dZDkQeyj?= =?utf-8?q?CDcQiAn2umx7l2Rry3JU9TLuLJWhjTJiZILY0r3XInEvUBATiFrELadK6wkIVq34r?= =?utf-8?q?XOr5vNQUCZG2zBDhNRX0m3oLII1QJuNgg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?rIRT3pnrI5y8QftxtoeOgqaHmOyF?= =?utf-8?q?Pc3Il5d2TMRll6nK7DtBMmSW6EUVtCIaND7sCJGsmf53r9x0XGwMZ3R5PQwbdHvcd?= =?utf-8?q?NbyNH7mXs2ytQkoyPDA6EEAhs8qCV6G/6MGeRkwhf04uS5MHwS/NqUeKH/2gsywmY?= =?utf-8?q?W5zJLo80doG+okE0l0rGzUPFrpZ89vmFWcHTA1bDPXwkq9Y87eNIynhaIRFJvQDgD?= =?utf-8?q?lnIPEXGdLEow2x5XWJ6dujMlqwO00sKEEt/x28a/Qc0r6a2pbgBv8gMOqDBqHRDnH?= =?utf-8?q?Amc6VuZHebLGye7+NugLBFt6onGUDSaXBbOOUEnqMfilhr/a2XMChYJrnbxRVbn06?= =?utf-8?q?JV6hKtcSYfvpRb3OTMgmLujskJvOkL4ZDmxYGjhiSJ7WOgO0ZRboVAy5V62iTKyGW?= =?utf-8?q?43lTzvuneM0cq79AQzN+FCW+riAciuvSoYQd75bzS5XrFQFwnaOI7li3HYxGoeW03?= =?utf-8?q?WRzNnKXyRRFUvZyyLKL7fJA2ICMsp9vnsWMQTKmZT3Tal//nWVbOYtdInsk6Q2xGD?= =?utf-8?q?A7IbS+QxEaCZa+jx4uswXMy6ZncfNWAZImX0g2TT/dzZAtL9ZMNrbGDLyAwgWskEr?= =?utf-8?q?tjl+EAg6VJicfe1NTmpDYe+7KfzC3wBM0mCKQMoZgGDmDvAZ78VYXEaEp35O6GE5c?= =?utf-8?q?XX374hBqPX0763oYr27j4Sb6Et+O58O1M8n4spTnQ1iJAzv37cOLnBdhsxbRuS4jA?= =?utf-8?q?5wF/p8crtLz6AGJxoIU5+7aW5snGJZdyUIzEJ+CCeEmDBTkTyvzPyr3sEdwOLXaxo?= =?utf-8?q?mmhKFzB+LLseK1st5EeF0AgA37LBm3Pl3tVsTvOVB8zYjXd+RGZ2sracULgZOS7hC?= =?utf-8?q?p8KaiyQGhKOnw0I5477zM3UuryMWMMUWpD0M/L5kxoCs144XkFAmuRCCnA68AA0zf?= =?utf-8?q?ZyotawmG0HcP3FhfdPa5hfQRshZIcsQuPGSehLy6oRQCc9jgON4MMoYAHHKUnNuyt?= =?utf-8?q?LEdUEMwy8BRe6MwiuxZABGq5lJXcR8Z6f0DCU66Fuse/xTb4tYQqzdY1MrC0MrIVi?= =?utf-8?q?Ya5uXcz+9dlBNuPavUsdjLpzDdP1DEhy7XEZndFoGAysSTFveesdodByUQak5ngHt?= =?utf-8?q?CZBTmf9gKbk5DLqMOrQfX+QQQJ1xmxFfaSC9IAsdXbpqSkoDAJnZn/4SLICWh8KID?= =?utf-8?q?GyN+gzkJ3xTj8NdJTUfrQ7rcO4m5+CVlimrAc1IGAda93mM1pIQEnfZzeFvc83WK1?= =?utf-8?q?hUu//R1R50gd7d6k03E0AfvZqUO+TtxItZ+Vl9DHQGT2p+G5AVnK3p8lck4bvmeJA?= =?utf-8?q?XOa7WXbwcIvkofKKso8Ly6II440ZlUOEg76IW0lZ00sDU29SCH+d55acpG/13dPpX?= =?utf-8?q?qfB+PwoEZGro/A1A9NzrpT/e2G7SjN0V/r8ko9zE/KuND4fIGIpPSibg9I+NEGlqo?= =?utf-8?q?thHnXTkVRnsXjJdOrnDuegfo3XiE59+JDkAge3pwCc1VmCCYg1D9O4S7MdOFVwWag?= =?utf-8?q?bsP3332ZaVv8++Vir9N1bzWcaMbuIcPtd0VWp14Az0up/kBQxM54ELRtZfvRT7hXD?= =?utf-8?q?m+vicW7ITF4Z?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e44bc53-2644-4644-6fe8-08dd46093b04 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 17:19:21.6427 (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: bdPwowYwxIrai2JwbrFbtE7Pck2b+/eAIloonwKtK+hOkdkBvHXwb0myUEPYNV678YT1Qw4pWMWPjwg9YvUm8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10546 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250205_091925_099000_7DBC7D40 X-CRM114-Status: GOOD ( 12.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: <linux-arm-kernel.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> List-Post: <mailto:linux-arm-kernel@lists.infradead.org> List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org |
Series |
media: imx8: add camera support
|
expand
|
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index 93a55c97cd173..ba5b2d3617a23 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -188,11 +188,11 @@ static int mxc_isi_crossbar_init_state(struct v4l2_subdev *sd, * Create a 1:1 mapping between pixel link inputs and outputs to * pipelines by default. */ - routes = kcalloc(xbar->num_sources, sizeof(*routes), GFP_KERNEL); + routes = kcalloc(xbar->num_sinks - 1, sizeof(*routes), GFP_KERNEL); if (!routes) return -ENOMEM; - for (i = 0; i < xbar->num_sources; ++i) { + for (i = 0; i < xbar->num_sinks - 1; ++i) { struct v4l2_subdev_route *route = &routes[i]; route->sink_pad = i; @@ -200,7 +200,7 @@ static int mxc_isi_crossbar_init_state(struct v4l2_subdev *sd, route->flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE; } - routing.num_routes = xbar->num_sources; + routing.num_routes = xbar->num_sinks - 1; routing.routes = routes; ret = __mxc_isi_crossbar_set_routing(sd, state, &routing); @@ -453,7 +453,7 @@ int mxc_isi_crossbar_init(struct mxc_isi_dev *isi) * the memory input. */ xbar->num_sinks = isi->pdata->num_ports + 1; - xbar->num_sources = isi->pdata->num_ports; + xbar->num_sources = isi->pdata->num_channels; num_pads = xbar->num_sinks + xbar->num_sources; xbar->pads = kcalloc(num_pads, sizeof(*xbar->pads), GFP_KERNEL);
Allow num_sources (drvdata: num_channels) to be greater than num_sink (drvdata: num_ports + 1). ISI support stream multiplexing, such as differentiates multiple cameras from a single 2-lane MIPI input, or duplicates input stream into multiple outputs. So num_channels may be greater than num_ports at some platform. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- change from v1 to v2 - none --- drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)