| Message ID | 20260903-dma-chan_dev-rename-v2-1-0db305b6c716@nxp.com (mailing list archive) |
|---|---|
| State | New |
| Headers |
Return-Path: <linux-sunxi+bounces-25554-sunxi=pue.re@lists.linux.dev> X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id DF3221C02C0 for <noreply@patchwork.local>; Thu, 3 Sep 2026 22:55:51 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=NXP1.onmicrosoft.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-25554-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-25554-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id DA8032C8D8 for <noreply@patchwork.local>; Thu, 3 Sep 2026 20:53:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 53CB34FB9BE; Thu, 3 Sep 2026 20:53:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ES26CSjC" X-Original-To: linux-sunxi@lists.linux.dev Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013066.outbound.protection.outlook.com [52.101.72.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE2CB429000; Thu, 3 Sep 2026 20:53:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468823; cv=fail; b=PWv7da4FfMlW3zEf3hx1NQRgAW2HktA8KG+snyhUsGyGijojlJfNsg2c+B1e6VrlgeUhgM9N+H8CibVctIZXe+zJc72rgMTO9y16G3ySMkPMrpOvuPjMStwPsQiYZpu36h2uoFP8ynM9blKNLDgcTBdNGGTwagxSbMcmQTcQss0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468823; c=relaxed/simple; bh=h60rf5UbjuSAb5W0ZT2gxInSKCjwoe1HMwHZDA9Wz7k=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=GJO34CyCHj/k3Jg51lFU9xibEjM50OjvooP3ENjglkanwfLl3TrGoaTj9PjEulPh5D2YyKUv/hcl4ocVkN/7e/m61dHOOquLSJETmuR67lwVDnq1iutWSMOLNtBAuSyYnXiiUmGAyHxZgRJaXnCVizVauY1jB79tt1VjtsdzFTg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=ES26CSjC; arc=fail smtp.client-ip=52.101.72.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D1eJUZdfSiCAqwOpYWBjfkyx/NiC0/7Kn7YzoacjeR9hPkjsGTOBSdCHfi+Xz+cmzTlqaZoWWMNWFlrlnXV4f+FEhikeFAlfXm90syDoA0kH6v0SfCN13l15nUBn6v86yfESNIfeGfIpAXEi4gkm0m3Ha0bMSsFgnkjq7zYaXeFSvC0ZVBtGQQ9zFHurWZlTjOTW6eqmq+6sxleR9t61yh3CGigUjkbZEXXXbZNrZhfj/UWwgz7i/nz2lt57yqGXzo6gXN//mSrrno9OiVb38HeH0PH6UM0WvbqAAwI1he2fn3el7Rksf/bPtwmqaNnuBahCYQW/rSN4MwBycZN9sg== 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=xIrtL3aikHbKSqShfTCH663/0vOwr1XhVsAFtET2HvE=; b=htsX858/nFcROY2osj7kpjNXugw4hOTTzYjEw+1cLx5ISbdoffPVXSjHfZkJ8lkr5VbJaqmGAzE/OInzLoMknACbDIy5pTjOH3gSxUXL2U7sB909tpoE8VD8LeelGEJwwJPyeQ2J/6Wq1LwFGAa9CH74DJOKaKjKPPCkSUJ6u15afbiTju93zvODDEO591897nGE3z7TXv9rvcT8RfdJh9jzz3OAjt4XNflIE8ktQfvfGxzb7I06d0v9RnNK1rwd4nm6dSuMCiclPSnOmgSCsDHQPYwe+aNs/TIlZAqCY77dll8+WQyBa+fGudiDiKGXwIzNDdPnz2x8gsQfA/4zVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xIrtL3aikHbKSqShfTCH663/0vOwr1XhVsAFtET2HvE=; b=ES26CSjCXukk+XIx2fKj01JJ19hr6ySRUhOYlxxeKQGZPksTYRNpHMEjkzoONQ05Mw20QhKTSDmp/ultPZ4FLpPHIKdiYHLeP26qgM0DfdbGPnAYL/ERhLj+udwn4GpS+lr3VrqYSPKN4gxeifCRqN7vDn3+Vyfxg9izefGQrB+6mtycDAaadgf1tdomCizPCgpXPXrLsxSM2YRrS/X3slkpua8vFoDIyywyaVmBmrn/pZyEjwBgsf0RzZMIp12Maf8kCJeWLIt46uiP/bNbvP1VeHGqztVrRRek+JppQGpSxKwn9le3XgfPDgXRFr1d0ExL+O93unNAwibYJP5jRA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) by GV4PR04MB11894.eurprd04.prod.outlook.com (2603:10a6:150:2ed::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Thu, 3 Sep 2026 20:53:27 +0000 Received: from GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c]) by GV2PR04MB11799.eurprd04.prod.outlook.com ([fe80::2146:83a2:5329:b7c%7]) with mapi id 15.21.0360.008; Thu, 3 Sep 2026 20:53:27 +0000 From: Frank.Li@oss.nxp.com Date: Thu, 03 Sep 2026 16:53:11 -0400 Subject: [PATCH v2 1/3] dmaengine: vchan: add vchan_chan_name() to get channel device name Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260903-dma-chan_dev-rename-v2-1-0db305b6c716@nxp.com> References: <20260903-dma-chan_dev-rename-v2-0-0db305b6c716@nxp.com> In-Reply-To: <20260903-dma-chan_dev-rename-v2-0-0db305b6c716@nxp.com> To: Jacky Huang <ychuang3@nuvoton.com>, Shan-Chun Hung <schung@nuvoton.com>, Vinod Koul <vkoul@kernel.org>, Frank Li <Frank.Li@kernel.org>, Paul Cercueil <paul@crapouillou.net>, Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Binbin Zhou <zhoubinbin@loongson.cn>, Patrice Chotard <patrice.chotard@foss.st.com>, =?utf-8?q?Am=C3=A9lie_Delaun?= =?utf-8?q?ay?= <amelie.delaunay@foss.st.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Steven Rostedt <rostedt@goodmis.org>, Masami Hiramatsu <mhiramat@kernel.org>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Thierry Reding <thierry.reding@kernel.org>, Jonathan Hunter <jonathanh@nvidia.com>, Ludovic Desroches <ludovic.desroches@microchip.com>, Viresh Kumar <vireshk@kernel.org>, Keguang Zhang <keguang.zhang@gmail.com>, =?utf-8?q?Andreas_F=C3=A4rber?= <afaerber@suse.de>, Manivannan Sadhasivam <mani@kernel.org>, Daniel Mack <daniel@zonque.org>, Haojian Zhuang <haojian.zhuang@gmail.com>, Robert Jarzmik <robert.jarzmik@free.fr>, Chen-Yu Tsai <wens@kernel.org>, Jernej Skrabec <jernej.skrabec@gmail.com>, Samuel Holland <samuel@sholland.org>, Kelvin Cao <kelvin.cao@microchip.com>, Logan Gunthorpe <logang@deltatee.com>, Laxman Dewangan <ldewangan@nvidia.com>, Vignesh Raghavendra <vigneshr@ti.com> Cc: linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-trace-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, linux-actions@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, Frank Li <Frank.Li@nxp.com> X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788468796; l=3695; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=8jHlCxUSDmTqFQA8Mc67+lAJmYQGqw16V760AwED3Qg=; b=bo2kXoZRCKprJEX7N9nUIx0ExG7ecn8AP/b21t9HeSQFuyu4JevCpVVqtXi/tpAmYDOrffmaz XyZFGDy9scEBG+tX+2na1KQs970joi0SK32VGcUVwEKY9IiPnmZkaLP X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH7PR10CA0002.namprd10.prod.outlook.com (2603:10b6:510:23d::28) To GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: <linux-sunxi.lists.linux.dev> List-Subscribe: <mailto:linux-sunxi+subscribe@lists.linux.dev> List-Unsubscribe: <mailto:linux-sunxi+unsubscribe@lists.linux.dev> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR04MB11799:EE_|GV4PR04MB11894:EE_ X-MS-Office365-Filtering-Correlation-Id: c80ac412-16e5-48d5-ed5f-08df09fd671b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|366016|376014|7416014|23010399003|1800799024|921020|11063799006|10067099003|56012099006|18002099003|22082099003|41080700001; X-Microsoft-Antispam-Message-Info: 0xkzsIMqj2L7OHaLJ5Mjgej2O5xHVkLOGwJYPEfZtUHuA8xC0c7G1ya6QhopD9FC0Wuj6g5/0ko7XWsL+m1HzO1SZ4wvQVXba/WAqkB16r8GRUTgDryfBY/I6TCQYLq/oyMu3V6ElEgcT4k3d4jrCnwrI5LLCWWOgyZbMvZjDKxyT2jHeKeeLdSXx33bNM8ICJFPD3fPHmUtuWekxOTAYdAsDeWCbpCkgizPSPA9vq9Gn1ps8gx1pVlKfG9qw1xOwDIBofdZVWm5A4E5g0mRfs1v1d7RDgv1Gann0Xcf8Z7lvjBEd25B+g4lNkQDGv/n66ivcKfSTMHD8hpJV9SqnTa/0xE8D4ar/DoypPPV4pEq1pkBhWRbA0awinv3LvnIbw8G5S6yKh6kYtTbJTpAqxsQSUCXgxXAr95494zFHO/K/HLBIbGdKJkzULJkf5BgYJrNx3WGXfcjuPR9WQugJdBhCZeuLgVq1NfHB9IhD5w0sXoxCK8LQAxgznL6XaYmofJVJSinYM7PyM4mrHP8+QuslDrN9iGv9vXbT29gt8NAZgLmD/Gl85SF+8JUt6xNASL/+AEgxOmIetRxZSSRmI24cdQfBSd5CW6i85eDHBoqudZGOIK0Jd0Phe5feq4HoKeOUqInTbd41xoNbD/BDXYSbJrQHAUjyRosbXA1oeQnfmgZrbpPb/3j4HJaK8qnUVt6GEyoefH+U1w6Agq1xIaFdUCQd07YNiOlDu9HPz97I5xK5pcmafNYqjcCa86U X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR04MB11799.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(366016)(376014)(7416014)(23010399003)(1800799024)(921020)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003)(41080700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?6H5o9m9K4SPDAeMHik29wEfobcEt?= =?utf-8?q?l1XEa1BIevjYD09OX9ev7nFaJVXwat6DrstBMOqIbkVRVAJTKZvzY92T527fG+Ic2?= =?utf-8?q?fYuSGL+JBa/2cRlnxkiNDrbGKeayjCf6oecq2a1dNOzumwLTz56qLbxftwyUlIaIH?= =?utf-8?q?FtuZ0WjI2SOHGzk7jIvTymGzPTWzl58VF8AMY6PHNIS8pDVOH/x6arC2n1/Vo2PTQ?= =?utf-8?q?SnWWUqExEB3Up4nVYYWOpmO6bQhHnTskJi2p7qMfXatyn41rRaCVkgRTat+caYFcq?= =?utf-8?q?5wfGrXDgxAXsuBuzwtCw+tfJp9DTpd38RFrvcvnNs5aBmlM8JNLva/HqRsNR9iN8q?= =?utf-8?q?ohYDjaZ3ckKrsWmLu1nuHH6os4DBX2B9VI7S7OWKjtFmFUx/ojLLYXg+n6EACSuRJ?= =?utf-8?q?gaYQajL4/nMxyik5YgQzUMaUVbp+i8WTiiw2hoQlWX6jo7e0lpro3FSgBbsazvEHZ?= =?utf-8?q?8Lhz/KMB4LZgnnAGeQWojJHtFnUgpZQvjjHxKK8bZbDN2TTBgUqBhcDsNXcUO3Rhd?= =?utf-8?q?aK+yn5a1K1jHaXXVm/9V3MbY3SNATYr/f20tWsFrOQ4ReZWGBtHiMrnkJGUVTqtd8?= =?utf-8?q?zppQlXotM1buTXfmH+7wlBaYAaFsSeu3tnCUMFgoaV67e84oP2+T5T/NvrgG3ghxt?= =?utf-8?q?VAxRiu7vgyE4nKeheRL8P//hWCtOxHgWHISinrMKKVTH+w7TzzE+nzDWUT5RvvxDb?= =?utf-8?q?Z1uOQRiwPvhfjYqc6OZhJYFs2kqzlq4XQtK4ZrnbKRrUq3qdgtuvuhQYZFIAC8wfl?= =?utf-8?q?66Rv5JG3o+IESvwTAQUy+PSivgFLvSjlTmpjbtUrwN5pNyQvYQkeEMJ/YM9BW8di0?= =?utf-8?q?s4G/AIjRAvJGj9H1bSW3JSF0Vxh/nx1458/W/UcSub/n8BTNewNuhXVeYNrNDDUbA?= =?utf-8?q?U/8IMTv2yGwgznHfQpZbT+POgQ/qRA79ukMWVboXqbzLczAwKRXaa1oPvg/jjmKn2?= =?utf-8?q?8JRY2DUnFS0LJiluIElCEWXCkz6vBQen4xWZiZiMyQlxMs5HjPSuS3cUF+EsDdaNt?= =?utf-8?q?f4K+ywRxASfVbmnCA5jG2ZgSLKPGhy+lmiyZkTRKuUbH1BIZJqMxDxXe8t16e0xKq?= =?utf-8?q?tQs4pzUTpiFmMDXE4jGFvrcM8v9T2+iX6ZhAGesRxRB5OgMS7wa7PgkZWZPe+GYXN?= =?utf-8?q?Cg27up6W/68VH9DLCasY2uoEwPioSrK6zIOzlZrI1Q9ShpzjhdmGXt+k6HmCCGSB9?= =?utf-8?q?zaEFA7sicuKpa7vh07yHHnti+ub4mPhlU9By+ac6nMf+J1KFOouu2+Bxuwns2N3rU?= =?utf-8?q?xWHRCSgWC6RiBe8aevsy/gqvBdsJ6GYkCVmNmEfUq5Crb9rGwmx0fcaoHcGRAPTIM?= =?utf-8?q?RjRtB+qoW9JGTZ4nGIwrMO3xJzGU3qFRkwjzt7VQ5bC9TMDePjCbk2lrPhjvIH2E4?= =?utf-8?q?zoQBJCH+XCZdReGEqBJTxDyVEqe2KPSa5mggYcPWlfIiy53ZDmQOh8md6vDhAV9Sm?= =?utf-8?q?M5kNuc60F0t8Sace5NKthI4LPrGcmBhoVx5/qSANo0n+5JARDtxpIL39O1Q2Ru0YP?= =?utf-8?q?sZ5thKN1ulyu9iMI9JA0W0HTwdB1jhMse1k+2ohpQFNN6sfG/w3H8KDN3cCvkgED0?= =?utf-8?q?fJhbh8SFyuzXb3K/ehELXR686FiLkjjyiGKl6Wa9nzXuBSR1001Zjri1myyUsOUqM?= =?utf-8?q?xj0RFPD+ApBsKr2bWSgzbXXLfseyORm0uyXLxMjeoVGgehBmLFP9nF8KFxbM7i6WA?= =?utf-8?q?C5MjjjqLg?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c80ac412-16e5-48d5-ed5f-08df09fd671b X-MS-Exchange-CrossTenant-AuthSource: GV2PR04MB11799.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2026 20:53:27.2547 (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: OeSoVYlj7G5klUkKzLoB4gX7vMJNIDJUe8nhSYlYPCv6pO3Evs+7qr4LdL/1+ENm2lHob7lYd0YT8JoONbxbu+2T1GNnXCEM7cbj1j2Vq/oVSLHD3IsTK4LfYT3RYxix X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11894 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [5.34 / 15.00]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[nxp.com : SPF not aligned (relaxed), DKIM not aligned (relaxed),none]; ARC_REJECT(1.00)[cv is fail on i=2]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; PRECEDENCE_BULK(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; TAGGED_RCPT(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[NXP1.onmicrosoft.com:dkim,tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo]; FORGED_SENDER_MAILLIST(0.00)[]; RCPT_COUNT_TWELVE(0.00)[43]; FROM_NO_DN(0.00)[]; R_DKIM_ALLOW(0.00)[NXP1.onmicrosoft.com:s=selector1-NXP1-onmicrosoft-com]; FROM_NEQ_ENVFROM(0.00)[Frank.Li@oss.nxp.com,linux-sunxi@lists.linux.dev]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_SOME(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2603:10a6:150:2cf::9:received,100.90.174.1:received]; TAGGED_FROM(0.00)[bounces-25554-noreply=patchwork.local]; DKIM_TRACE(0.00)[NXP1.onmicrosoft.com:+]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; FREEMAIL_TO(0.00)[nuvoton.com,kernel.org,crapouillou.net,synopsys.com,linux.intel.com,loongson.cn,foss.st.com,gmail.com,goodmis.org,efficios.com,nvidia.com,microchip.com,suse.de,zonque.org,free.fr,sholland.org,deltatee.com,ti.com]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[172.105.105.114:from] X-Rspamd-Queue-Id: DF3221C02C0 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= |
| Series |
dmaengine: rename dma_chan::dev to dma_chan::chan_dev for clarity
|
|
Commit Message
Frank Li
Sept. 3, 2026, 8:53 p.m. UTC
From: Frank Li <Frank.Li@nxp.com> Introduce vchan_chan_name() to obtain the DMA channel device name. Use a dedicated helper instead of directly accessing dma_chan::dev so callers remain unaffected by an upcoming rename of the struct member. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- drivers/dma/arm-dma350.c | 2 +- drivers/dma/loongson/loongson2-apb-cmc-dma.c | 2 +- drivers/dma/stm32/stm32-dma.c | 2 +- drivers/dma/stm32/stm32-dma3.c | 4 ++-- drivers/dma/virt-dma.h | 11 +++++++++++ 5 files changed, 16 insertions(+), 5 deletions(-)
Comments
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] This problem wasn't introduced by this patch, but there is a preexisting Use-After-Free of the channel name string in the IRQ handler registration on the probe error path. -- commit 33984ca85ddf2f8f41c22000aad40c8fceb5f946 Author: Frank Li <Frank.Li@nxp.com> dmaengine: vchan: add vchan_chan_name() to get channel device name Introduce vchan_chan_name() to obtain the DMA channel device name. Use a dedicated helper instead of directly accessing dma_chan::dev so callers remain unaffected by an upcoming rename of the struct member. [ ... ] > diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32-dma.c > index d3ad78562a140..3e8151e2ad75a 100644 > --- a/drivers/dma/stm32/stm32-dma.c > +++ b/drivers/dma/stm32/stm32-dma.c > @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct platform_device *pdev) > > ret = devm_request_irq(&pdev->dev, chan->irq, > stm32_dma_chan_irq, 0, > - dev_name(chan2dev(chan)), chan); > + vchan_chan_name(&chan->vchan), chan); [Severity: High] This isn't a bug introduced by this patch, but is there a preexisting Use-After-Free of the channel name string in the IRQ handler registration on the probe error path? In stm32_dma_probe(), the driver successfully registers the DMA device using dma_async_device_register(), then iteratively allocates devres-managed IRQs using devm_request_irq() with the channel name pointer from vchan_chan_name(). If a subsequent operation fails (e.g. of_dma_controller_register()), the error handling path manually calls dma_async_device_unregister(dd). This frees the DMA device and its dynamically allocated channel name string immediately. However, the devres-managed IRQs remain active until the probe function returns and devres cleanup runs. During this window, the IRQ subsystem holds a dangling pointer to the freed channel name. Could this race window be triggered by unprivileged users concurrently reading /proc/interrupts, or if an interrupt fires during this time?
On 2026-09-03 2:53 p.m., Frank.Li@oss.nxp.com wrote: > From: Frank Li <Frank.Li@nxp.com> > > Introduce vchan_chan_name() to obtain the DMA channel device name. > > Use a dedicated helper instead of directly accessing dma_chan::dev > so callers remain unaffected by an upcoming rename of the struct member. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> Makes sense to me: Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Hi Frank, On 9/3/26 22:53, Frank.Li@oss.nxp.com wrote: > From: Frank Li <Frank.Li@nxp.com> > > Introduce vchan_chan_name() to obtain the DMA channel device name. > > Use a dedicated helper instead of directly accessing dma_chan::dev > so callers remain unaffected by an upcoming rename of the struct member. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > drivers/dma/arm-dma350.c | 2 +- > drivers/dma/loongson/loongson2-apb-cmc-dma.c | 2 +- > drivers/dma/stm32/stm32-dma.c | 2 +- > drivers/dma/stm32/stm32-dma3.c | 4 ++-- Could you move the driver updates from this patch to the next one? I don’t understand why the drivers above are modified here, while others are deferred to "[PATCH v2 2/3] dmaengine: use dma_chan_name() helper to get per-channel device name". Regards, Amelie > drivers/dma/virt-dma.h | 11 +++++++++++ > 5 files changed, 16 insertions(+), 5 deletions(-) > > diff --git a/drivers/dma/arm-dma350.c b/drivers/dma/arm-dma350.c > index 09403aca8bb06..52f5242ea3327 100644 > --- a/drivers/dma/arm-dma350.c > +++ b/drivers/dma/arm-dma350.c > @@ -512,7 +512,7 @@ static int d350_alloc_chan_resources(struct dma_chan *chan) > { > struct d350_chan *dch = to_d350_chan(chan); > int ret = request_irq(dch->irq, d350_irq, IRQF_SHARED, > - dev_name(&dch->vc.chan.dev->device), dch); > + vchan_chan_name(&dch->vc), dch); > if (!ret) > writel_relaxed(CH_INTREN_DONE | CH_INTREN_ERR, dch->base + CH_INTREN); > > diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/dma/loongson/loongson2-apb-cmc-dma.c > index 1c9a542edc859..2f1c8c4fd0654 100644 > --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c > +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c > @@ -678,7 +678,7 @@ static int loongson2_cmc_dma_probe(struct platform_device *pdev) > return lchan->irq; > > ret = devm_request_irq(dev, lchan->irq, loongson2_cmc_dma_chan_irq, IRQF_SHARED, > - dev_name(chan2dev(lchan)), lchan); > + vchan_chan_name(&lchan->vchan), lchan); > if (ret) > return ret; > } > diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32-dma.c > index d3ad78562a140..3e8151e2ad75a 100644 > --- a/drivers/dma/stm32/stm32-dma.c > +++ b/drivers/dma/stm32/stm32-dma.c > @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct platform_device *pdev) > > ret = devm_request_irq(&pdev->dev, chan->irq, > stm32_dma_chan_irq, 0, > - dev_name(chan2dev(chan)), chan); > + vchan_chan_name(&chan->vchan), chan); > if (ret) { > dev_err(&pdev->dev, > "request_irq failed with err %d channel %d\n", > diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c > index 4724e7fa0008e..1ee1bd22703fb 100644 > --- a/drivers/dma/stm32/stm32-dma3.c > +++ b/drivers/dma/stm32/stm32-dma3.c > @@ -1892,10 +1892,10 @@ static int stm32_dma3_probe(struct platform_device *pdev) > chan->irq = ret; > > ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0, > - dev_name(chan2dev(chan)), chan); > + vchan_chan_name(&chan->vchan), chan); > if (ret) { > dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n", > - dev_name(chan2dev(chan))); > + vchan_chan_name(&chan->vchan)); > goto err_clk_disable; > } > } > diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h > index 59d9eabc8b674..dd023a3831209 100644 > --- a/drivers/dma/virt-dma.h > +++ b/drivers/dma/virt-dma.h > @@ -209,6 +209,17 @@ static inline void vchan_free_chan_resources(struct virt_dma_chan *vc) > vchan_dma_desc_free_list(vc, &head); > } > > +/** > + * vchan_chan_name - Return vchan DMA channel device name > + * @vc: virtual channel > + * > + * Return: The name of the DMA channel device > + */ > +static inline const char *vchan_chan_name(struct virt_dma_chan *vc) > +{ > + return dma_chan_name(&vc->chan); > +} > + > /** > * vchan_synchronize() - synchronize callback execution to the current context > * @vc: virtual channel to synchronize >
On Thu, Sep 03, 2026 at 04:53:11PM -0400, Frank.Li@oss.nxp.com wrote: > Introduce vchan_chan_name() to obtain the DMA channel device name. > > Use a dedicated helper instead of directly accessing dma_chan::dev > so callers remain unaffected by an upcoming rename of the struct member. LGTM, Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ... > ret = devm_request_irq(&pdev->dev, chan->irq, > stm32_dma_chan_irq, 0, > - dev_name(chan2dev(chan)), chan); > + vchan_chan_name(&chan->vchan), chan); > if (ret) { > dev_err(&pdev->dev, > "request_irq failed with err %d channel %d\n", This one... > +++ b/drivers/dma/stm32/stm32-dma3.c > ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0, > - dev_name(chan2dev(chan)), chan); > + vchan_chan_name(&chan->vchan), chan); > if (ret) { > dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n", > - dev_name(chan2dev(chan))); > + vchan_chan_name(&chan->vchan)); > goto err_clk_disable; ...and this one are duplicate messages as devm_request*irq() printsr most of the information. Not sure if there will be a patch to simply drop them.
On 9/4/26 10:35, Amelie Delaunay wrote: > Hi Frank, > > On 9/3/26 22:53, Frank.Li@oss.nxp.com wrote: >> From: Frank Li <Frank.Li@nxp.com> >> >> Introduce vchan_chan_name() to obtain the DMA channel device name. >> >> Use a dedicated helper instead of directly accessing dma_chan::dev >> so callers remain unaffected by an upcoming rename of the struct member. >> >> Signed-off-by: Frank Li <Frank.Li@nxp.com> >> --- >> drivers/dma/arm-dma350.c | 2 +- >> drivers/dma/loongson/loongson2-apb-cmc-dma.c | 2 +- >> drivers/dma/stm32/stm32-dma.c | 2 +- >> drivers/dma/stm32/stm32-dma3.c | 4 ++-- > > Could you move the driver updates from this patch to the next one? I > don’t understand why the drivers above are modified here, while others > are deferred to "[PATCH v2 2/3] dmaengine: use dma_chan_name() helper to > get per-channel device name". > Oh, okay — my bad. I've just looked at v1, and I now understand that you split the vchan_chan_name() and dma_chan_name() updates. I didn’t catch that at first glance because your cover letter hasn’t changed between v1 and v2. "1st patch: use the existing helper dma_chan_name() to reduce rename differences. 2nd patch: rename drivers/dma" > Regards, > Amelie > >> drivers/dma/virt-dma.h | 11 +++++++++++ >> 5 files changed, 16 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/dma/arm-dma350.c b/drivers/dma/arm-dma350.c >> index 09403aca8bb06..52f5242ea3327 100644 >> --- a/drivers/dma/arm-dma350.c >> +++ b/drivers/dma/arm-dma350.c >> @@ -512,7 +512,7 @@ static int d350_alloc_chan_resources(struct >> dma_chan *chan) >> { >> struct d350_chan *dch = to_d350_chan(chan); >> int ret = request_irq(dch->irq, d350_irq, IRQF_SHARED, >> - dev_name(&dch->vc.chan.dev->device), dch); >> + vchan_chan_name(&dch->vc), dch); >> if (!ret) >> writel_relaxed(CH_INTREN_DONE | CH_INTREN_ERR, dch->base + >> CH_INTREN); >> diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/ >> dma/loongson/loongson2-apb-cmc-dma.c >> index 1c9a542edc859..2f1c8c4fd0654 100644 >> --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c >> +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c >> @@ -678,7 +678,7 @@ static int loongson2_cmc_dma_probe(struct >> platform_device *pdev) >> return lchan->irq; >> ret = devm_request_irq(dev, lchan->irq, >> loongson2_cmc_dma_chan_irq, IRQF_SHARED, >> - dev_name(chan2dev(lchan)), lchan); >> + vchan_chan_name(&lchan->vchan), lchan); >> if (ret) >> return ret; >> } >> diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32- >> dma.c >> index d3ad78562a140..3e8151e2ad75a 100644 >> --- a/drivers/dma/stm32/stm32-dma.c >> +++ b/drivers/dma/stm32/stm32-dma.c >> @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct >> platform_device *pdev) >> ret = devm_request_irq(&pdev->dev, chan->irq, >> stm32_dma_chan_irq, 0, >> - dev_name(chan2dev(chan)), chan); >> + vchan_chan_name(&chan->vchan), chan); >> if (ret) { >> dev_err(&pdev->dev, >> "request_irq failed with err %d channel %d\n", >> diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32- >> dma3.c >> index 4724e7fa0008e..1ee1bd22703fb 100644 >> --- a/drivers/dma/stm32/stm32-dma3.c >> +++ b/drivers/dma/stm32/stm32-dma3.c >> @@ -1892,10 +1892,10 @@ static int stm32_dma3_probe(struct >> platform_device *pdev) >> chan->irq = ret; >> ret = devm_request_irq(&pdev->dev, chan->irq, >> stm32_dma3_chan_irq, 0, >> - dev_name(chan2dev(chan)), chan); >> + vchan_chan_name(&chan->vchan), chan); >> if (ret) { >> dev_err_probe(&pdev->dev, ret, "Failed to request >> channel %s IRQ\n", >> - dev_name(chan2dev(chan))); >> + vchan_chan_name(&chan->vchan)); >> goto err_clk_disable; >> } >> } >> diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h >> index 59d9eabc8b674..dd023a3831209 100644 >> --- a/drivers/dma/virt-dma.h >> +++ b/drivers/dma/virt-dma.h >> @@ -209,6 +209,17 @@ static inline void >> vchan_free_chan_resources(struct virt_dma_chan *vc) >> vchan_dma_desc_free_list(vc, &head); >> } >> +/** >> + * vchan_chan_name - Return vchan DMA channel device name >> + * @vc: virtual channel >> + * >> + * Return: The name of the DMA channel device >> + */ >> +static inline const char *vchan_chan_name(struct virt_dma_chan *vc) >> +{ >> + return dma_chan_name(&vc->chan); >> +} >> + >> /** >> * vchan_synchronize() - synchronize callback execution to the >> current context >> * @vc: virtual channel to synchronize >> > > _______________________________________________ > Linux-stm32 mailing list > Linux-stm32@st-md-mailman.stormreply.com > https://st-md-mailman.stormreply.com/mailman/listinfo/linux-stm32
On 9/4/26 11:08, Andy Shevchenko wrote: > On Thu, Sep 03, 2026 at 04:53:11PM -0400, Frank.Li@oss.nxp.com wrote: > >> Introduce vchan_chan_name() to obtain the DMA channel device name. >> >> Use a dedicated helper instead of directly accessing dma_chan::dev >> so callers remain unaffected by an upcoming rename of the struct member. > > LGTM, > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > ... > >> ret = devm_request_irq(&pdev->dev, chan->irq, >> stm32_dma_chan_irq, 0, >> - dev_name(chan2dev(chan)), chan); >> + vchan_chan_name(&chan->vchan), chan); >> if (ret) { >> dev_err(&pdev->dev, >> "request_irq failed with err %d channel %d\n", > > This one... > >> +++ b/drivers/dma/stm32/stm32-dma3.c > >> ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0, >> - dev_name(chan2dev(chan)), chan); >> + vchan_chan_name(&chan->vchan), chan); >> if (ret) { >> dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n", >> - dev_name(chan2dev(chan))); >> + vchan_chan_name(&chan->vchan)); >> goto err_clk_disable; > > ...and this one are duplicate messages as devm_request*irq() printsr > most of the information. > > Not sure if there will be a patch to simply drop them. > It was the purpose of this series: https://lore.kernel.org/dmaengine/20260709135846.97972-1-panchuang@vivo.com/
On Fri, Sep 04, 2026 at 11:26:37AM +0200, Amelie Delaunay wrote: > On 9/4/26 11:08, Andy Shevchenko wrote: > > On Thu, Sep 03, 2026 at 04:53:11PM -0400, Frank.Li@oss.nxp.com wrote: > > > > > Introduce vchan_chan_name() to obtain the DMA channel device name. > > > > > > Use a dedicated helper instead of directly accessing dma_chan::dev > > > so callers remain unaffected by an upcoming rename of the struct member. > > > > LGTM, > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > > > ... > > > > > ret = devm_request_irq(&pdev->dev, chan->irq, > > > stm32_dma_chan_irq, 0, > > > - dev_name(chan2dev(chan)), chan); > > > + vchan_chan_name(&chan->vchan), chan); > > > if (ret) { > > > dev_err(&pdev->dev, > > > "request_irq failed with err %d channel %d\n", > > > > This one... > > > > > +++ b/drivers/dma/stm32/stm32-dma3.c > > > > > ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0, > > > - dev_name(chan2dev(chan)), chan); > > > + vchan_chan_name(&chan->vchan), chan); > > > if (ret) { > > > dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n", > > > - dev_name(chan2dev(chan))); > > > + vchan_chan_name(&chan->vchan)); > > > goto err_clk_disable; > > > > ...and this one are duplicate messages as devm_request*irq() printsr > > most of the information. > > > > Not sure if there will be a patch to simply drop them. > > It was the purpose of this series: > https://lore.kernel.org/dmaengine/20260709135846.97972-1-panchuang@vivo.com/ Yes, thanks. My point is (independently on who contributes that patch) that the piece above may be an unneeded churn due to messages are going to be removed. It all relies if that series (a.k.a. patch that removes messages) goes first.
On Fri, Sep 04, 2026 at 11:10:54AM +0200, Amelie Delaunay wrote: > On 9/4/26 10:35, Amelie Delaunay wrote: > > Hi Frank, > > > > On 9/3/26 22:53, Frank.Li@oss.nxp.com wrote: > > > From: Frank Li <Frank.Li@nxp.com> > > > > > > Introduce vchan_chan_name() to obtain the DMA channel device name. > > > > > > Use a dedicated helper instead of directly accessing dma_chan::dev > > > so callers remain unaffected by an upcoming rename of the struct member. > > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > > --- > > > drivers/dma/arm-dma350.c | 2 +- > > > drivers/dma/loongson/loongson2-apb-cmc-dma.c | 2 +- > > > drivers/dma/stm32/stm32-dma.c | 2 +- > > > drivers/dma/stm32/stm32-dma3.c | 4 ++-- > > > > Could you move the driver updates from this patch to the next one? I > > don’t understand why the drivers above are modified here, while others > > are deferred to "[PATCH v2 2/3] dmaengine: use dma_chan_name() helper to > > get per-channel device name". > > > > Oh, okay — my bad. I've just looked at v1, and I now understand that you > split the vchan_chan_name() and dma_chan_name() updates. > I didn’t catch that at first glance because your cover letter hasn’t changed > between v1 and v2. > "1st patch: use the existing helper dma_chan_name() to reduce rename > differences. > 2nd patch: rename drivers/dma" B4 did not update it. Do you agree on this change? Frank > > > Regards, > > Amelie > > > > > drivers/dma/virt-dma.h | 11 +++++++++++ > > > 5 files changed, 16 insertions(+), 5 deletions(-) > > > > > > diff --git a/drivers/dma/arm-dma350.c b/drivers/dma/arm-dma350.c > > > index 09403aca8bb06..52f5242ea3327 100644 > > > --- a/drivers/dma/arm-dma350.c > > > +++ b/drivers/dma/arm-dma350.c > > > @@ -512,7 +512,7 @@ static int d350_alloc_chan_resources(struct > > > dma_chan *chan) > > > { > > > struct d350_chan *dch = to_d350_chan(chan); > > > int ret = request_irq(dch->irq, d350_irq, IRQF_SHARED, > > > - dev_name(&dch->vc.chan.dev->device), dch); > > > + vchan_chan_name(&dch->vc), dch); > > > if (!ret) > > > writel_relaxed(CH_INTREN_DONE | CH_INTREN_ERR, dch->base + > > > CH_INTREN); > > > diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/ > > > dma/loongson/loongson2-apb-cmc-dma.c > > > index 1c9a542edc859..2f1c8c4fd0654 100644 > > > --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c > > > +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c > > > @@ -678,7 +678,7 @@ static int loongson2_cmc_dma_probe(struct > > > platform_device *pdev) > > > return lchan->irq; > > > ret = devm_request_irq(dev, lchan->irq, > > > loongson2_cmc_dma_chan_irq, IRQF_SHARED, > > > - dev_name(chan2dev(lchan)), lchan); > > > + vchan_chan_name(&lchan->vchan), lchan); > > > if (ret) > > > return ret; > > > } > > > diff --git a/drivers/dma/stm32/stm32-dma.c > > > b/drivers/dma/stm32/stm32- dma.c > > > index d3ad78562a140..3e8151e2ad75a 100644 > > > --- a/drivers/dma/stm32/stm32-dma.c > > > +++ b/drivers/dma/stm32/stm32-dma.c > > > @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct > > > platform_device *pdev) > > > ret = devm_request_irq(&pdev->dev, chan->irq, > > > stm32_dma_chan_irq, 0, > > > - dev_name(chan2dev(chan)), chan); > > > + vchan_chan_name(&chan->vchan), chan); > > > if (ret) { > > > dev_err(&pdev->dev, > > > "request_irq failed with err %d channel %d\n", > > > diff --git a/drivers/dma/stm32/stm32-dma3.c > > > b/drivers/dma/stm32/stm32- dma3.c > > > index 4724e7fa0008e..1ee1bd22703fb 100644 > > > --- a/drivers/dma/stm32/stm32-dma3.c > > > +++ b/drivers/dma/stm32/stm32-dma3.c > > > @@ -1892,10 +1892,10 @@ static int stm32_dma3_probe(struct > > > platform_device *pdev) > > > chan->irq = ret; > > > ret = devm_request_irq(&pdev->dev, chan->irq, > > > stm32_dma3_chan_irq, 0, > > > - dev_name(chan2dev(chan)), chan); > > > + vchan_chan_name(&chan->vchan), chan); > > > if (ret) { > > > dev_err_probe(&pdev->dev, ret, "Failed to request > > > channel %s IRQ\n", > > > - dev_name(chan2dev(chan))); > > > + vchan_chan_name(&chan->vchan)); > > > goto err_clk_disable; > > > } > > > } > > > diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h > > > index 59d9eabc8b674..dd023a3831209 100644 > > > --- a/drivers/dma/virt-dma.h > > > +++ b/drivers/dma/virt-dma.h > > > @@ -209,6 +209,17 @@ static inline void > > > vchan_free_chan_resources(struct virt_dma_chan *vc) > > > vchan_dma_desc_free_list(vc, &head); > > > } > > > +/** > > > + * vchan_chan_name - Return vchan DMA channel device name > > > + * @vc: virtual channel > > > + * > > > + * Return: The name of the DMA channel device > > > + */ > > > +static inline const char *vchan_chan_name(struct virt_dma_chan *vc) > > > +{ > > > + return dma_chan_name(&vc->chan); > > > +} > > > + > > > /** > > > * vchan_synchronize() - synchronize callback execution to the > > > current context > > > * @vc: virtual channel to synchronize > > > > > > > _______________________________________________ > > Linux-stm32 mailing list > > Linux-stm32@st-md-mailman.stormreply.com > > https://st-md-mailman.stormreply.com/mailman/listinfo/linux-stm32 >
diff --git a/drivers/dma/arm-dma350.c b/drivers/dma/arm-dma350.c index 09403aca8bb06..52f5242ea3327 100644 --- a/drivers/dma/arm-dma350.c +++ b/drivers/dma/arm-dma350.c @@ -512,7 +512,7 @@ static int d350_alloc_chan_resources(struct dma_chan *chan) { struct d350_chan *dch = to_d350_chan(chan); int ret = request_irq(dch->irq, d350_irq, IRQF_SHARED, - dev_name(&dch->vc.chan.dev->device), dch); + vchan_chan_name(&dch->vc), dch); if (!ret) writel_relaxed(CH_INTREN_DONE | CH_INTREN_ERR, dch->base + CH_INTREN); diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/dma/loongson/loongson2-apb-cmc-dma.c index 1c9a542edc859..2f1c8c4fd0654 100644 --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c @@ -678,7 +678,7 @@ static int loongson2_cmc_dma_probe(struct platform_device *pdev) return lchan->irq; ret = devm_request_irq(dev, lchan->irq, loongson2_cmc_dma_chan_irq, IRQF_SHARED, - dev_name(chan2dev(lchan)), lchan); + vchan_chan_name(&lchan->vchan), lchan); if (ret) return ret; } diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32-dma.c index d3ad78562a140..3e8151e2ad75a 100644 --- a/drivers/dma/stm32/stm32-dma.c +++ b/drivers/dma/stm32/stm32-dma.c @@ -1668,7 +1668,7 @@ static int stm32_dma_probe(struct platform_device *pdev) ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma_chan_irq, 0, - dev_name(chan2dev(chan)), chan); + vchan_chan_name(&chan->vchan), chan); if (ret) { dev_err(&pdev->dev, "request_irq failed with err %d channel %d\n", diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 4724e7fa0008e..1ee1bd22703fb 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -1892,10 +1892,10 @@ static int stm32_dma3_probe(struct platform_device *pdev) chan->irq = ret; ret = devm_request_irq(&pdev->dev, chan->irq, stm32_dma3_chan_irq, 0, - dev_name(chan2dev(chan)), chan); + vchan_chan_name(&chan->vchan), chan); if (ret) { dev_err_probe(&pdev->dev, ret, "Failed to request channel %s IRQ\n", - dev_name(chan2dev(chan))); + vchan_chan_name(&chan->vchan)); goto err_clk_disable; } } diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h index 59d9eabc8b674..dd023a3831209 100644 --- a/drivers/dma/virt-dma.h +++ b/drivers/dma/virt-dma.h @@ -209,6 +209,17 @@ static inline void vchan_free_chan_resources(struct virt_dma_chan *vc) vchan_dma_desc_free_list(vc, &head); } +/** + * vchan_chan_name - Return vchan DMA channel device name + * @vc: virtual channel + * + * Return: The name of the DMA channel device + */ +static inline const char *vchan_chan_name(struct virt_dma_chan *vc) +{ + return dma_chan_name(&vc->chan); +} + /** * vchan_synchronize() - synchronize callback execution to the current context * @vc: virtual channel to synchronize