From nobody Sat Sep 26 06:24:02 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011029.outbound.protection.outlook.com [40.107.130.29]) (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 4C515340DA6; Thu, 3 Sep 2026 20:53:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468825; cv=fail; b=uaSQsBY8H+Pd+Y/fbZbYyvuvXrknw2iDScQaBXLWqGHp4930+a5PklNTMLGPBCPWw+AJPLTFp2/gE5kcUiMZXWS0Nx/1+uQ4yTjKMuEWVXZEjwac2jV1PRmaslNhxRgM5e55kkwsA99Fqi/SF4u5UKsCb0IxbCDBUC5Nc83S+T8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468825; c=relaxed/simple; bh=h60rf5UbjuSAb5W0ZT2gxInSKCjwoe1HMwHZDA9Wz7k=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=VlhqcAI9+qs0s2ZOMPv9QsvQvGG1uLzx0draTpDTSQtIkHEgz4fLL8oTLNvOdNDvFQ77o8N9RM9cIWepbXTdkcHfvgHkZn3VKMOJRQj55Rx0mKXQ0LTvcKekb0DpXbzmkZSsrA99cVr7/YZen8Nv+y0OwbQ2ROBqZWLFHuWQBb4= 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=40.107.130.29 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ES26CSjC" 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: quoted-printable 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 , Shan-Chun Hung , Vinod Koul , Frank Li , Paul Cercueil , Eugeniy Paltsev , Andy Shevchenko , Binbin Zhou , Patrice Chotard , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Thierry Reding , Jonathan Hunter , Ludovic Desroches , Viresh Kumar , Keguang Zhang , =?utf-8?q?Andreas_F=C3=A4rber?= , Manivannan Sadhasivam , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kelvin Cao , Logan Gunthorpe , Laxman Dewangan , Vignesh Raghavendra 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 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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?B?Nkg1bzltOUs0U1BEQWVNSGlrMjl3RWZvYmNFdGwxWEVhMUJJZXZqWUQwOU9Y?= =?utf-8?B?OWV2N25GYUpWWHdhdDZEcnN0Qk1PcUlia1ZSVkFKVEtadnpZOTJUNTI3Zkcr?= =?utf-8?B?SWMyZll1U0dMK0pCYS8yY1JsbnhraU5EcmJHS2VheWpDZjZvZWNxMmExZE5P?= =?utf-8?B?enVtd0xUejU2cUxieGZ0d3lVbElhSUhGdHVaMFdqSTJTT0hHems3akl2VHlt?= =?utf-8?B?R3pQVFd6bDU4VkY4QU1ZNlBITklTOHBEVk9IL3g2YXJDMm4xL1ZvMlBUUVNu?= =?utf-8?B?V1dVcUV4RUIzVXA0blZZWVdPcG1PNmJRaEhuVHNrSmkycDdxTWZYYXR5bjQx?= =?utf-8?B?clJhQ1ZrZ1JUYXQrY2FZRmNxNXdmR3JYRGd4QVhzdUJ1end0Q3crdGZKcDlE?= =?utf-8?B?VHBkMzhSRnJ2Y3ZuTnM1YUJtbE04Sk5MdmEvSHFSc05SOWlOOHFvaFlEamFa?= =?utf-8?B?M2NrS3JzV21MdTFudUhINm9zNERCWDJCOVZJN1M3T1dLanRGbUZVeC9vakxM?= =?utf-8?B?WVhnK242RUFDU3VSSmdhWVFhakw0L25NeHlpazVZZ1F6VU1hVVZicCtpOFdU?= =?utf-8?B?aWl3MmhvUWxXWDZqbzdlMGxwcm8zRlNnQmJzYXp2RUhaOExoei9LTUI0TFpn?= =?utf-8?B?bm5BR2VRV29qSkh0Rm5VZ3BaUXZqakh4S0s4YlpiRE4yVFRCZ1VxQmhjRHNO?= =?utf-8?B?WGNVTzNSaGRhSyt5bjVhMUsxakhhWFhWbS85VjNNYlkzU05BVFlyL2YyMHRX?= =?utf-8?B?c0ZyT1E0UmVaV0dCdEhpTXJua0pHVVZUcXRkOHpwcFFsWG90TTFidVRYZm1I?= =?utf-8?B?Kzd3bEJhWUFhRnNTZXUzdG5DVU1GZ29hVjY3ZTg0b1AyK1Q1VC9OdnJnRzNn?= =?utf-8?B?aHh0VkF4Uml1N3ZneUU0bktlaGVSTDhQLy9oV0N0T3hIZ1dISVNpbnJNS0tW?= =?utf-8?B?VEgrdzdUenpFK256RFdVVDVSdnZ4RGJaMXVPUVJpd1B2aGZqWXFjNk9aaEpZ?= =?utf-8?B?RnMya3F6bHE0WFF0SzRacm5iS1JyVXEzcWRndHV2dWhRWVpGSUFDOHdmbDY2?= =?utf-8?B?UnY1SkczbytJRVN2d1RBUVV5K1BTaXZnRkx2U2psVG1wamJ0VXJ3TjVwTnlR?= =?utf-8?B?dllRa2VFTUovWU05Qlc4ZGkwczRHL0FJalJBdkpHajlIMWJTVzNKU0YwVnho?= =?utf-8?B?L254MTQ1OC9XL1VjU3ViL244QlROZXdOdWhYVmVZTnJORERVYkFVLzhJTVR2?= =?utf-8?B?MnlHd2d6bkhmUXBaYlQrUE9nUS9xUkE3OXVrTVdWYm9YcWJ6TGN6QXdLUlhh?= =?utf-8?B?YTFvUHZnL2pqbUtuMjhKUlkyRFVuRlMwTEppbHVJRWxDRVdYQ2t6NnZCUWVu?= =?utf-8?B?NHhXWmlaaU15UWx4TXM1SGpQU3VTM2NVRitFc0RkYU50ZjRLK3l3UnhBU2ZW?= =?utf-8?B?Ym1uQ0E1akcyWmdTTEtQR2h5K2xtaXlaa1RSS3VVYkgxQklaSnFNeER4WGU4?= =?utf-8?B?dDE2ZTB4S3F0UXM0cHpVVHBpRm1NRFhFNGpHRnZyY004djlUMitpWDZaaEFH?= =?utf-8?B?ZXNSeFJCNU9nTVM3d2E3UGdrWldaUGUrR1lYTkNnMjd1cDZXLzY4Vkg5RExD?= =?utf-8?B?YXNZMnVvRXdQaW9Tcks2eklPemxackkxUTlTaHB6amhkbUdYdCtrNkhtQ0NH?= =?utf-8?B?U0I5emFFRkE3c2ljdUtwYTd2aDA3eUhIbnRpK3ViNG1QaGxVOUJ5K2FjNm5N?= =?utf-8?B?ZitKMUtGT291dTIrQnh1d25zMk4zclV4V0hSQ1NnV0M2UmlCZThhZXZzeS9n?= =?utf-8?B?cXZCZHNKNkdZa0NWbU5tRWZVcTVDcmI5ckd3bXgwZmNhb0hjR1JBUFRJTVJq?= =?utf-8?B?UnRCK3FvVzlKR1RaNG5HSXdyTU8zeEp6R1UzcUZSa3dqenQ3VlE1YkM5VE1E?= =?utf-8?B?ZVBqQ2JrMmxyUGhqdklIMkU0em9RQkpDSCtYQ1pkUmVHRXFCSlR4RHlWRXFl?= =?utf-8?B?MktQU2E1bWdnWWNQV2xmSWl5NTNaRG1RT2g4bWQ2dkRoQVY5U21NNWtOdWM2?= =?utf-8?B?MEYwdDhTYWNlNU5LdGhJNExQckdjbUJob1Z4NS9xU0FObzBuKzVKQVJEdHhw?= =?utf-8?B?SUwzOU8xUTJSdTBZUHNaNXRoS04xdWx5dTlpTUk5SkEwVzBIVHdkQjFqaE1z?= =?utf-8?B?ZTFrKzJvaHBRRk5ONnNmRy93M0g4S0ROM2NDdmtnRUQwZkpoYmg4U0Z5dXpY?= =?utf-8?B?YjNLL2VoRUxYUjY4NkZpTGtqanlpR0tsNldhOW56WHVCU1IxMDAxWmpyaTFt?= =?utf-8?B?eXlVc09VcU14ajBSRlBEK0FwQnNLcjJiV1NnemJYWExmc2V5T1JtMHV5WEx4?= =?utf-8?Q?MjeoVGgehBmLFP9nF8KFxbM7i6WAC5MjjjqLg?= 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 From: Frank Li 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 Reviewed-by: Andy Shevchenko Reviewed-by: Logan Gunthorpe --- 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(-) 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 *c= han) { struct d350_chan *dch =3D to_d350_chan(chan); int ret =3D 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); =20 diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/dma/loo= ngson/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_devi= ce *pdev) return lchan->irq; =20 ret =3D devm_request_irq(dev, lchan->irq, loongson2_cmc_dma_chan_irq, IR= QF_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 *pd= ev) =20 ret =3D 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 =3D ret; =20 ret =3D 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 vi= rt_dma_chan *vc) vchan_dma_desc_free_list(vc, &head); } =20 +/** + * 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 con= text * @vc: virtual channel to synchronize --=20 2.43.0 From nobody Sat Sep 26 06:24:02 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011029.outbound.protection.outlook.com [40.107.130.29]) (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 D560D45561E; Thu, 3 Sep 2026 20:53:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468831; cv=fail; b=DNUNjzqBr9WVMWwA64tVHi0b5QSHdccxHHN6gqWEdN29XYWzizcnXGPL4LXjFWqifhssxM6n7S6Fnychg8bVLInBbEd41tKzr5Cr2qy7dx5ShqnNJZ38sDs6H7dGtW3jn4HeMOdo7PuB16g5gxaM9slNAgqSnvZb9U2igEGHKsU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468831; c=relaxed/simple; bh=0gmZ9uH8xVk/INqqbU45P96LKQoeN9AQ8Kqlk1PeZLg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=MN2tksr8yfpzVtBOGk7P71Wbae3iB/E7hoaoHRWTl+KWRzzMgSfVTIr/ImoI+fe+RPxgzr66Roq2seRWf49qRrQxaOsCJu0W+S/qWZVX/8C1MLZb/m0PpifM86BODFQ5tNYpqkDYh8fGOPT/kHwXCr3qsgzWJcbsdl42XhEf8cI= 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=rWpHpdU4; arc=fail smtp.client-ip=40.107.130.29 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="rWpHpdU4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZjUXjXfuM7kyZZ8CAd+SMXdF6hmLQk+Bf6Cpxu4DOu4KlehVOVRDFfX1gK/g4KFfmL/DFyZCXgsY7fopjvJhMiV9ONit75ATgzDz1+WXNhY8F+7/9TpqQ9K3wcxbNWieVyp7ZAFy96A/I0KBiJtFsKEMiSsEjPEcfO/VirR21fmuTzZvZt4CwCfnbNVkR+5ZdXjKsesQ1xHWIMpFuRiBbb6lgGnzQBci7joS8QKiFWsSFyfRvrxfQ0xJ94xiK5sXNdi55dFKuZOigPvC7tGokG9BZQjpraKhOSt7YrP2Je7ESHU/WuapMIyIMzjY0Am2bkCCZlltzOXNBm8PmY5h6g== 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=8qP02nSnH5OFNSEU41007RiHO3PL9MvYi8mDl9ljJNk=; b=LvYhMQP5shLSOkbEGuN31VW4KQ+gprAnCpgE7TOm1M2MBAL4RbV6s2Id2xABV8ToP5RrpQu4cwPEaOKbGpThk0NGUxobzg4pv8xty+GfodMMN5sdYkD6DlLxZjpqr3WQJDDbfTjGpgdamwxQpe3p1Q2pBI3qPH5hgy2c97kiaxVbr0LutqeZIVqV2juARcsoYaU6T2NJldFDpQXyBMHvu4BGCNJa2IkcDUTgVIyyfEG2X5ZqRn+7P5cO8qEYxwe6zAgVV9ROoHjIe0eCrttUCGSH7NuYibb0HsGfBN50Mg+fHdQv2QFdrlMaotq8wD9EvAVESZG+zwfn++YRj3h5wA== 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=8qP02nSnH5OFNSEU41007RiHO3PL9MvYi8mDl9ljJNk=; b=rWpHpdU4bhDaNRCovK+T8Bdlue8+9JMG1x0G6luSa+IjvzHm7J8w0/iTe+8ZRGIlN+ZXpJLbwaV8v3arCuECwJJLDGkRZkcVPJwnD4pa/bcE5iMe1Mf2ihE6OeM/fZCA+TR715oZJbkcm52lhe9MXIEgd0ERg+rTtlJmsS8vEOT4cXWnVN3kN1dfacSz/8NDzPL/J1ZGyofEj15c8hTDot+Y7ALQOjn0hpXwdZ2fk2s1+QDzESYmYguJ7PCkbtb3FnkS7RyGm4Y1Yrmy15hISrlEtW8V+7UdvV/ALJFifuCsPm3c8so9/I4jAp1kLEL3cvv5tl1OaIKZF4RngLAXPw== 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:33 +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:33 +0000 From: Frank.Li@oss.nxp.com Date: Thu, 03 Sep 2026 16:53:12 -0400 Subject: [PATCH v2 2/3] dmaengine: use dma_chan_name() helper to get per-channel device name Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260903-dma-chan_dev-rename-v2-2-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 , Shan-Chun Hung , Vinod Koul , Frank Li , Paul Cercueil , Eugeniy Paltsev , Andy Shevchenko , Binbin Zhou , Patrice Chotard , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Thierry Reding , Jonathan Hunter , Ludovic Desroches , Viresh Kumar , Keguang Zhang , =?utf-8?q?Andreas_F=C3=A4rber?= , Manivannan Sadhasivam , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kelvin Cao , Logan Gunthorpe , Laxman Dewangan , Vignesh Raghavendra 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 X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788468796; l=6794; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=/qlG6GU1Acam6GOeE+dDPCJ/BECdBAfo140IcCTsq/I=; b=nBWze121emtoyk/QNAMnf7ao8O90nlhlDhu3upjnd4w6MbJD97PbPkllTSLByawWAy/hBMtqI B3BEW7EuNYWAxyO2emTQzoc0Ic4i1uX4IRdQNG50cwpctEst5jkhwxR X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH0PR07CA0077.namprd07.prod.outlook.com (2603:10b6:510:f::22) To GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR04MB11799:EE_|GV4PR04MB11894:EE_ X-MS-Office365-Filtering-Correlation-Id: b5396acf-c80f-406a-dce7-08df09fd6aa7 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|6133799003|18002099003|22082099003|41080700001; X-Microsoft-Antispam-Message-Info: wLOk2zT4DxwgLPR42hhAplfn7sivQ7ZvJgOqYTIDIjaQTL1ivTkCLK6S8VWofKL+SFi3BIQHqXk2nzUnX7YugwXljLQo1CRlXeH1MKwH0RIfQNCgjo+D6ztWPkOJBkATBs7D9mPGVSSLFO/PjFKeGI1y7JMS2gY8+JjCUjvwnIVh9MniDF9kcnAkkZwicSLzeSCMCNAzrpjbus0pI53dGvX/mUG+4eXNWzP9Rq24tBwYknnyeqLZpN0GIXGv5VtfoL7JzbSMZmwFaBXQ17p2J/StGxauR3RyOMh1SyjF+/PQ78xcmlGv5ceBcNtG946q4VOlwjvkiwaV2SxtiC/aEGoyxtr/+XzviDC5bvVF7Jshoc4DcoiJATap40H+eaEwQnE/X5JhsovGQYEs3WSagui5T5qTe82aT7Ykt9OUvIAamVipF7iwCmfVeLWYdZczdM3r9X/ArrCzOllqK0HPESt9DOwMtwXeHMAnDjR5Z4Yghdx5X9FGceFt4+LZRciK106UogGwQnu6xxgl/dltgit325OPe4D8ok/0EqG5lHcte6/C2/sh7gy1FHGg3RS7IyU5lFX38CYwQFPT06/9pn9lZBoR2kk20XnCdr6TK//DMVHUHx57ssPF9JwwkSskfpxRf7t7CnhFiADUlESESOYR8a1aCOhjKzKw4DROFCd5EREn6wyeA5X0BWYj3MjTlghHcxE0302DZptfefGWvsvQvO09xkSm+PDbpt17rc4KDNAJPV41YoLwf3N7H1g9 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)(6133799003)(18002099003)(22082099003)(41080700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TkFOMFdhRUU4WGlxeG5LY25rNGZrbndGdDFhTlVOMVlDcHovT0lqaTJzYWJ4?= =?utf-8?B?dGdCN3R6Q3gyUXdMaVJqQ283ZFVjUnVFbEV0WEtkK3dzbHFhVENDWmU4V0sw?= =?utf-8?B?VkF4WE9KeXpVOXc2TmJNZzdZNUU1NWorYWhpRkozdmFpMmpJdXZkWFhaSWZq?= =?utf-8?B?N2lxWDBDVDNMMVJQQmJsbnRnYXltaG5XOEZzL3NuZ2VkR3RlMm1vcG53ZUs1?= =?utf-8?B?YU5ta1BUay9IaitiT0xLODZpRVJkZEdjVldJUnBESmJSSjBya1M0a0dGZTUw?= =?utf-8?B?dGpZSU5yWlJnZDgrMUFCMlh6aHBnQjFBZTlkRFQySnNHNC9RSWtDSmtNajVO?= =?utf-8?B?YmN5NkIxS28wU3ozWmpiT05wTi9TSzVtUzVHMVhpTUkvVTduVjFaYWFOOUdN?= =?utf-8?B?VmhHZUxFS2g5c2tPb0pRa1M2LzlkenowV0taaXdpdkZKVHd3NWU1akgxemgv?= =?utf-8?B?Q01QUVdVdC9uNW1VZjU4WGlNbW92bzJzQkVHcjFGSmJadEtUYllSSE16UFZL?= =?utf-8?B?ZFBkN0RaV2ZFd01GNWgrdG5tTkhkRTZLR0JqbGdUcFJvVzhGNUtWYWRQUWt1?= =?utf-8?B?RldVMlRTZkYrd1ZudFZUWmt4c2NPNklnV3duUklESVRxd3dJL1pWMU1BMUtq?= =?utf-8?B?eER2YVpaQVRxRmFTZUR1a24zSSttVm9mTSsycHZOai9KRlFZQStFb0NCUU9r?= =?utf-8?B?MjFDaUIwNk5BajgweE9NN3BZWmZ3MGY0QXBoOW5NVWJLQUZZWUJqcHEyZDNz?= =?utf-8?B?cjVIdGJYdkdvZFNleDZlV2NJV1hOQVR4Y1NrbGtJbkc0cTlqOEFuZHV1WlBC?= =?utf-8?B?MXNkb0tsSmV5TTREWkMxSkNIaWZKdHRRcldadk8yelVkbUVYSWdnNmJ0RDcy?= =?utf-8?B?WXBYYmRYQlJ4dmIzbm4vbW5CZjlLbitvT0V3UmxnRE5WckdGR0I3Z2ZkT0JD?= =?utf-8?B?a01pNW8rYjZ3RlU2UDg5ODdvaWNLU0RPNTNBSW4yVFdTc0RGUEFiZ1BaRHFs?= =?utf-8?B?aFlTSnNWOFFZYVZlRHltTGVQbXlzRXRFN2kzMFc5VlAwbTNQak5MOTk1Z3R2?= =?utf-8?B?aWwyUkFZd25weHJ5Q0Y3L0pKZUxwZVI1RmJyT3VhVEpoMG1yOXJvSE5XYkRa?= =?utf-8?B?bjZpMmtPMUVXNWZwRzZKaHByL24zTDE3RTg1VVFUUlRWSjdJdEpKYnEraEpK?= =?utf-8?B?RDlqVHN2aC9URmplS0dWV2E2S1VQNU9Ga3lBYlh5YXV5UjdQaU0xdDlNYVZI?= =?utf-8?B?SVBFMk51THpHZDJaMW5sZDRDcWs3ZkFOeEFLeUNleGo3c05sbFkxY29ER0lH?= =?utf-8?B?ZkdhT2tZcmFML0xBTjlHTXpETXFNOW9JcnhyTGpkWG9ucVpWZE02V3B0L2pz?= =?utf-8?B?ZEdrNDE4akowMVJLUlBaQkVpeVpDc0dlWGd2a2JNNy92Mm14YzcrL0NJYnZz?= =?utf-8?B?T2dWNk5HWTJiUDU2OWgvWURDRzRDb1Y5TFlSekliN1lldWM2djhURkU2Q1pP?= =?utf-8?B?eWtBb05NYWlGV0xCSnVwKytUbjhmWlVXbkhDZmpDbTZFOVNrelpGd0dqTXhh?= =?utf-8?B?Y2NHMmRXb2h3OTFoVHZ5dVF2Z0U4TE0xeEVVMXJIekpkTVRYcDFoUkhjNExi?= =?utf-8?B?T0tBNWNPTjNJejN5VkRQNkxPb3F2QXZXSU1GdFNzQStZNTBwY1RucndrVGN6?= =?utf-8?B?aXBjbS9aVVExQ0ZaMG1qQTFlUGpsYnpDd3dUaGFaM0M2U2NiTllOWVFKVERv?= =?utf-8?B?UisraTFmeWdkZ0FyZkJNS1ZKK2xudmlPd3drN1UyRHVlTFNNNjZxK3A1VThQ?= =?utf-8?B?WHR4cEhGdURXRzZHb2ZaWjUvK05EZnh2R3lXV0VIN1l4RDdtT3NRd2gyeUFK?= =?utf-8?B?YjBwTTFCRVA2YThYbU13U2lNT1RPalZEbjB5aXZBS0lnMHRiakNjMldrbFFJ?= =?utf-8?B?SDZISVBjaFB2MVJVR0M5R0dnTUlzU2NZbFl2cW1BK3c5aEYyUEZxTGgwK1l2?= =?utf-8?B?R0FLYVlQOTA1WmZUNlVrRWpDUVpNLzdXQjR1Vi9HS0VGbnNnTk4yak5LVFdI?= =?utf-8?B?aVdHM0xXK0hMYkpmdVpFQzlPQ3V0MWZqZlk2ODJibGpHeUFGd2I5TGlqOEJx?= =?utf-8?B?cC81MWtBN1pLdVgrczdCRmt5KzE0K3VDWktXYlRGYjdaUG5XRUJRWDcyLzJK?= =?utf-8?B?QTFPbFpta2JiTXV2RVlZcEFZT1lsVzFqZklVZE5YVWh1Q2tpVWtRY0lxWVBn?= =?utf-8?B?OFV1VUpIK0o4M3A0Y3pzNVBoODJPVUM2dkkzcEk3R3RJcnFReWZXWHNqTW1E?= =?utf-8?B?cW81WlJoSzZhc3RQWUFMZXhNeFBKaDhsc2V0VU82amxjaE9XVlRYb0xhT3Jh?= =?utf-8?Q?vPBOgeQzGQFjyn65miyix7JeEmEMAPQP/oXMi?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5396acf-c80f-406a-dce7-08df09fd6aa7 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:33.2120 (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: nFUYRVzVhfH0YHOG+ZIeTKQkjKSD2U21DmqSEl7Oru9lfbNYhA4wmRSyctSGKR0I+FU3sekjz6z5FfbG1f5V9GaV/l2SoTay83/lvuUk+f9B45qmHpUWC+CI1DsO66cE X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11894 From: Frank Li Use the existing dma_chan_name() helper to obtain the per-channel device name instead of open-coding: dev_name(chan->dev->device) / dev_name(chan2dev()) Simplify the code and improve consistency. No functional change intended. Reviewed-by: Logan Gunthorpe Signed-off-by: Frank Li --- drivers/dma/dma-jz4780.c | 2 +- drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 2 +- drivers/dma/idma64.c | 2 +- drivers/dma/loongson/loongson2-apb-dma.c | 2 +- drivers/dma/mmp_pdma.c | 2 +- drivers/dma/st_fdma.c | 2 +- drivers/dma/stm32/stm32-dma3.c | 2 +- drivers/dma/stm32/stm32-mdma.c | 2 +- include/trace/events/tegra_apb_dma.h | 6 +++--- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c index 6070dfdb7114c..194649811d02b 100644 --- a/drivers/dma/dma-jz4780.c +++ b/drivers/dma/dma-jz4780.c @@ -760,7 +760,7 @@ static int jz4780_dma_alloc_chan_resources(struct dma_c= han *chan) { struct jz4780_dma_chan *jzchan =3D to_jz4780_dma_chan(chan); =20 - jzchan->desc_pool =3D dma_pool_create(dev_name(&chan->dev->device), + jzchan->desc_pool =3D dma_pool_create(dma_chan_name(chan), chan->device->dev, JZ_DMA_DESC_BLOCK_SIZE, PAGE_SIZE, 0); diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/d= w-axi-dmac/dw-axi-dmac-platform.c index 9c21a5479437d..7b50ba507cb02 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c @@ -531,7 +531,7 @@ static int dma_chan_alloc_chan_resources(struct dma_cha= n *dchan) } =20 /* LLI address must be aligned to a 64-byte boundary */ - chan->desc_pool =3D dma_pool_create(dev_name(chan2dev(chan)), + chan->desc_pool =3D dma_pool_create(dma_chan_name(dchan), chan->chip->dev, sizeof(struct axi_dma_lli), 64, 0); diff --git a/drivers/dma/idma64.c b/drivers/dma/idma64.c index 5fcd1befc92da..6399fd5408be2 100644 --- a/drivers/dma/idma64.c +++ b/drivers/dma/idma64.c @@ -507,7 +507,7 @@ static int idma64_alloc_chan_resources(struct dma_chan = *chan) struct idma64_chan *idma64c =3D to_idma64_chan(chan); =20 /* Create a pool of consistent memory blocks for hardware descriptors */ - idma64c->pool =3D dma_pool_create(dev_name(chan2dev(chan)), + idma64c->pool =3D dma_pool_create(dma_chan_name(chan), chan->device->dev, sizeof(struct idma64_lli), 8, 0); if (!idma64c->pool) { diff --git a/drivers/dma/loongson/loongson2-apb-dma.c b/drivers/dma/loongso= n/loongson2-apb-dma.c index aceb069e71fca..7c3d7c3273955 100644 --- a/drivers/dma/loongson/loongson2-apb-dma.c +++ b/drivers/dma/loongson/loongson2-apb-dma.c @@ -282,7 +282,7 @@ static int ls2x_dma_alloc_chan_resources(struct dma_cha= n *chan) struct ls2x_dma_chan *lchan =3D to_ldma_chan(chan); =20 /* Create a pool of consistent memory blocks for hardware descriptors */ - lchan->pool =3D dma_pool_create(dev_name(chan2dev(chan)), + lchan->pool =3D dma_pool_create(dma_chan_name(chan), chan->device->dev, PAGE_SIZE, __alignof__(struct ls2x_dma_hw_desc), 0); if (!lchan->pool) { diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index 386e85cd4882a..6b29e15b0616c 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -565,7 +565,7 @@ static int mmp_pdma_alloc_chan_resources(struct dma_cha= n *dchan) if (chan->desc_pool) return 1; =20 - chan->desc_pool =3D dma_pool_create(dev_name(&dchan->dev->device), + chan->desc_pool =3D dma_pool_create(dma_chan_name(dchan), chan->dev, sizeof(struct mmp_pdma_desc_sw), __alignof__(struct mmp_pdma_desc_sw), diff --git a/drivers/dma/st_fdma.c b/drivers/dma/st_fdma.c index d9547017f3bd6..35dbff5f9f1ab 100644 --- a/drivers/dma/st_fdma.c +++ b/drivers/dma/st_fdma.c @@ -268,7 +268,7 @@ static int st_fdma_alloc_chan_res(struct dma_chan *chan) struct st_fdma_chan *fchan =3D to_st_fdma_chan(chan); =20 /* Create the dma pool for descriptor allocation */ - fchan->node_pool =3D dma_pool_create(dev_name(&chan->dev->device), + fchan->node_pool =3D dma_pool_create(dma_chan_name(chan), fchan->fdev->dev, sizeof(struct st_fdma_hw_node), __alignof__(struct st_fdma_hw_node), diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 1ee1bd22703fb..6ee7a1435efb6 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -1126,7 +1126,7 @@ static int stm32_dma3_alloc_chan_resources(struct dma= _chan *c) goto err_put_sync; } =20 - chan->lli_pool =3D dmam_pool_create(dev_name(&c->dev->device), c->device-= >dev, + chan->lli_pool =3D dmam_pool_create(dma_chan_name(c), c->device->dev, sizeof(struct stm32_dma3_hwdesc), __alignof__(struct stm32_dma3_hwdesc), SZ_64K); if (!chan->lli_pool) { diff --git a/drivers/dma/stm32/stm32-mdma.c b/drivers/dma/stm32/stm32-mdma.c index e3bbdc9ee36ed..c274638e919c2 100644 --- a/drivers/dma/stm32/stm32-mdma.c +++ b/drivers/dma/stm32/stm32-mdma.c @@ -1484,7 +1484,7 @@ static int stm32_mdma_alloc_chan_resources(struct dma= _chan *c) struct stm32_mdma_device *dmadev =3D stm32_mdma_get_dev(chan); int ret; =20 - chan->desc_pool =3D dmam_pool_create(dev_name(&c->dev->device), + chan->desc_pool =3D dmam_pool_create(dma_chan_name(c), c->device->dev, sizeof(struct stm32_mdma_hwdesc), __alignof__(struct stm32_mdma_hwdesc), diff --git a/include/trace/events/tegra_apb_dma.h b/include/trace/events/te= gra_apb_dma.h index 6d9f5075baa3e..c38117c127ef3 100644 --- a/include/trace/events/tegra_apb_dma.h +++ b/include/trace/events/tegra_apb_dma.h @@ -11,7 +11,7 @@ TRACE_EVENT(tegra_dma_tx_status, TP_PROTO(struct dma_chan *dc, dma_cookie_t cookie, struct dma_tx_state *s= tate), TP_ARGS(dc, cookie, state), TP_STRUCT__entry( - __string(chan, dev_name(&dc->dev->device)) + __string(chan, dma_chan_name(dc)) __field(dma_cookie_t, cookie) __field(__u32, residue) ), @@ -28,7 +28,7 @@ TRACE_EVENT(tegra_dma_complete_cb, TP_PROTO(struct dma_chan *dc, int count, void *ptr), TP_ARGS(dc, count, ptr), TP_STRUCT__entry( - __string(chan, dev_name(&dc->dev->device)) + __string(chan, dma_chan_name(dc)) __field(int, count) __field(void *, ptr) ), @@ -45,7 +45,7 @@ TRACE_EVENT(tegra_dma_isr, TP_PROTO(struct dma_chan *dc, int irq), TP_ARGS(dc, irq), TP_STRUCT__entry( - __string(chan, dev_name(&dc->dev->device)) + __string(chan, dma_chan_name(dc)) __field(int, irq) ), TP_fast_assign( --=20 2.43.0 From nobody Sat Sep 26 06:24:02 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011029.outbound.protection.outlook.com [40.107.130.29]) (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 2A2614F6491; Thu, 3 Sep 2026 20:53:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468840; cv=fail; b=N2t/f2aoslwN06lKFqnML3RbddjcRPl0W/3wVXpRuZaLMUyeIcHetQVbee/xTfSkIZn5thlDQn+wjz9ONzgMWzqhi8F2UBX26/pO66YltWBHEW9FD6yDhmiOxxi1D5AJtEcAIw1Myn4hWRAFznzUX39MD2PgkKxHdtRiBjQJk5I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788468840; c=relaxed/simple; bh=iRNWmllqGzpHTZ/pND7cikRs/wKxpBewCk8oti/s5R8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=asYa8/YQ5cUvGygqyJcjTD+RxHybBckBDcG0OhjPTh55Oo9JPdvsscugj0ZZi+nwPKlwPhkmQMhIP0UbHK4lvrcKzMgUYafRDLFd9pWIsZAgUlarIJflogSqzJw8Nz3j6zhvd9ijKXSKUXuHiO1kiKcM0CWygijkX7d4hWd5idc= 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=LCHE8TNm; arc=fail smtp.client-ip=40.107.130.29 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="LCHE8TNm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ADSwT22ojeYV4ecMuGb5pfpJuZMqUaOQgrV+5gUDY6tOQspmGO0oYQJoquyPA8lImYN4jHRc70P2w7Ws1gE97WiAj2yyjBUbKvWxuLLc3RNIfcMVaBLsyQHRyUxqkUjlXNsEencsN8y8rGgj/rg/j6lExnceSf7yxJfd+8TWwM533iBNyy4aboG00Jh/au40jf6NvgzpjMlAneWCgRirhnu1A+WvGw07Db8NIQu5VrWP8q43Mo2qx1d6JouMic0FuIa2DR97SGEUf2K+0ZdFgfQ/4/nBMxYWAA/yOqk7i/plNvgI+plewM6szjaZS3CB1pkeetyX7ERxWuFT63ZOig== 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=KLoxmu5JHY9gdVSoRX4JfMuzPCjWqHeOZQ1d1gH1cUM=; b=Lg99oC4K4Ijsxjm7+KMfA6yTZCV+uvFSsAgzqeT+zPey3dzMU1elYFd1NULRRDJyldxj7yDM+q9emV0LGe4Uvd6ot8XojajkfDjkNHUetVZtxXUVOrVwNtlPbcURg0sQbDkzIpVSlBKGrhEJHWoM6elq2BEHBdb2VR2GnHUObzp4PhyzFmcvuihqup8N3oQkzyk8LLBEGR4qpsAxtGke/CJOyj6w0ybU6ij22wX9u8K0f2XZ4pboOMpHWsTPS0FIswPGwuK1Klx45sz03ZJKtVjJ2fL53EMbB3S28Eq/jm3j+B6odxz63QW26K2FigwTcS4V8dLSgT/8hD+JcxUKTQ== 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=KLoxmu5JHY9gdVSoRX4JfMuzPCjWqHeOZQ1d1gH1cUM=; b=LCHE8TNmLCTwafSQjRwR/RlBPX59I3EbwtZL/M1Q/tu/9fBL4Ml5nfDFFHIfKRpIJHpXHXA0zBL8dhBn8ZWoZ5LE9nwfLaU+Q0WVA277NAC1iRthgWcTLEKSH84SBtTw6g9wikaqvwlzDsocQnOf2lz5x+C33zndy32hGNFnXwNoUiEC5rfNbLhOTI1qZNI3oIM3WjKkr5t9OmGfJkdC19ApVyxMOyUSTbEIXZub6uwxQNIhrqk+bSaIGWfXH4eRuI/mgmyP32oM1DZT4JwgMwjjQfKm9uSBTsPmo/PGi3/ub0252yKxCJ5lesw06J2F3FAT+y9WK6kx/TWqO1uWlA== 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:38 +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:38 +0000 From: Frank.Li@oss.nxp.com Date: Thu, 03 Sep 2026 16:53:13 -0400 Subject: [PATCH v2 3/3] dmaengine: add union chan_dev for dma_chan::dev for clarity Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260903-dma-chan_dev-rename-v2-3-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 , Shan-Chun Hung , Vinod Koul , Frank Li , Paul Cercueil , Eugeniy Paltsev , Andy Shevchenko , Binbin Zhou , Patrice Chotard , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Thierry Reding , Jonathan Hunter , Ludovic Desroches , Viresh Kumar , Keguang Zhang , =?utf-8?q?Andreas_F=C3=A4rber?= , Manivannan Sadhasivam , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kelvin Cao , Logan Gunthorpe , Laxman Dewangan , Vignesh Raghavendra 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 X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788468796; l=30341; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=9sa/oAlzKUnpgqIyEpl9TaONnsm/aCzrLvOCtEchlBs=; b=+CcmVCZrdN+7xpuh50oFQqkicNDG+maIQ69vYmLewjx5dssYbJPCq1Ppvek6tRNjCfqFqEu0d zH2sU9YOsYADzDCOBNIkvizPpFBBxZRCc+BtXB+bM2ZMUTa/T8aACrd X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: CY8P220CA0021.NAMP220.PROD.OUTLOOK.COM (2603:10b6:930:46::6) To GV2PR04MB11799.eurprd04.prod.outlook.com (2603:10a6:150:2cf::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR04MB11799:EE_|GV4PR04MB11894:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f2197ef-92e0-4945-7828-08df09fd6d83 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: AL0sOQErgzvMHzq5cMnMj0Lajdc+lQrEJfpKmRaEpZyPbzbGl/s4GeY7EaKNeqedQrDvRLu/FZTqJj96DsfWuQhglQdqNw0b8Aah6PONK+TbxZi45/91bdqUsLPz68jBLq15dne8XXu5kD7rz+V0CRMcr+nJqWBhfuv5V3TBKoOPBTfH208ffdmt8H2uXGYY+PwPuy5+mi034K31f5Oiyc5PUFkuKMFQcOvsIf4pO6zSGGNl7DyDUILrbFkIOmvsxddFBiT+Fgko6zs3CxqOEsN/YNlI74jdljUCqwS/08Ez+Td56AxhQtS5mxZtNvEjpVutlP8Vrrd8iPIfL4SiWY5vE0CXZrG6nNc+r5gmFY+8IrfohEqAsnVg7/2SN8G9w9kcMf7WK2o4D9jap28YW8GNM/yzZ3sDuGJMaGaXkauFz0xpZM9qG25+LPfBGWM/ydjxvXiA+iy+5WCrgJENoRpbGqo4c5J2nwqEg+P+8GTMAesFd1ig5mPljTKd4mSFXZEkhTzlLJdt/IK4DevpVKLGpou0Ezmpv/33rVx1n9ldWl5+MU/s1Qm5xuXl5zx/fdOOsLX8xzpPW2bDql2juTrrlUHRcXzcqmx5r68z2JNDssnWtSqUC4P6Wz/jaZVcyiIM4WusqPeygH/ZBr4PRyOQhAokpYX3d1RFXLwinNtWb9F9T8tZ24Z1X1ZydP9JweIpz2PFGf8k5BSkKk7kC71Rd66alp0jK4iS4Issz4PSLMvYuwrMRbjQFL1DbtJc 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?B?bDZBaDM5SENkdmlVeVRDdHN0ZEx4RFk0L1hodEJVeWwrZ3ZGOGJ5aXR3aXRk?= =?utf-8?B?M3NBYUxacWJ4YTdkUlVPMnFMOUpGZlVYOXZjbm9wMDcySGtxek1UaktjM3Zu?= =?utf-8?B?SlU2WHpMUUV3QTNwcHdKRDNvd0kzZDlNc3IvVHQ2SUM4THhubTRlR0dKc1k4?= =?utf-8?B?azdDd0JyN0ZDUUY3MGQveUZTeWRMb296bmRySmVEVm5qU3haZEo2UHJ2dG1h?= =?utf-8?B?dEI4Rzh2NC8wK3ZoeVYvS0RadW5WQVNhN3dUVCt5cnJ4c2xmSU9ac09DSDMy?= =?utf-8?B?b3I4NFM2UmdBdGU1YVlzcDNJREpSNlBCbWNGa3VXeHpTdmxrNDFWTHk4ZkRh?= =?utf-8?B?YUNtVG10eWxHRUpCR25iNDEzcDhDb0I1cnFSdkdjVlZBRGV4aFdqejMySzhN?= =?utf-8?B?cnhYc3FIdkZHVW82Wk55QlhZTkV3NEw0MWhkTFl0eXlqZm9jNVRGSmk0aE9T?= =?utf-8?B?U2tuWjNVS09VT0pza1Fjdmo3aW9mWm5HS1h0UEozSC9hWVJQVGxXMlkwTG5v?= =?utf-8?B?QmhrYld1WkkxV0s3Q0hJMUxML3pUdlIwNE1idzAvM25LdGpHcC9PUjE4b3hK?= =?utf-8?B?REEzNys0b1BOLy9EZDhFTzMyUmRCWFdoa012NkcyNkc3TkpkQTNxYkhxKzNn?= =?utf-8?B?aDJyL1V3MmJ1WTNzSTBqci82OEtJVWdDcUtFUlAwVXYzdldiZUJUSWJWVmlo?= =?utf-8?B?QklqVU55cWJZV2tLWDdmN2w0dFZlSzZlSUR6OEJnK2tFMy80dUtHTllOaUNo?= =?utf-8?B?RFJRaVZXS2Qrc1FIdkpaaWtlRExIR1IxNnphQTh6MTFpOUVTamJZQlN3SjhH?= =?utf-8?B?NlVCMU4vd1o1eVpURHlPZzdSYmpWZzdLVXBISnpXRGVXTUlzOE91NW05L25t?= =?utf-8?B?Y0hlWWhjL20zRjR4L0krSlcrU24vbFVkWkRnbGxSVGZoRlByMEFYSTkxMzlX?= =?utf-8?B?OTltMEdkK3dpZkowSHo0aHVMUHdLQmZMaGtmSmZrVkJqSG42MnZmZnM0ZDcx?= =?utf-8?B?V1JJaTR6VTE4YjVoVzNiK1ZjR2tsNm1PUTExWXJxWG9RSVg5ZXU3WEJFaFRZ?= =?utf-8?B?b3MyaElvR1dOVUZlNzlyNmhlNmIwbmpiYVlSWW9XQlZmdXpDb2p6K0wvQlM3?= =?utf-8?B?S0h1Um4rdjBaNE1WRmxSQmd5KzNhaS9FQkZIYVYwN0VXSG04SEVKK1RIMzFz?= =?utf-8?B?cVZFOWgwS3lZTkJmNzh4ZXk2cyt2bklwaVkyM2JZTjNDWm1XMWk3STRxNzBP?= =?utf-8?B?b2RxdGppQS9Kb3FjOWR4MDUyeVFibStRYVltbHhrUk90Nkl2bG1WdmFteXpk?= =?utf-8?B?SFlzQ3J5b2ZydG50ZWpnVVFKQTJ4TzAraWNZcUVGcUdPclB4Tjl1WHI1RWEw?= =?utf-8?B?dDhoaUdVWVFMNlh4K1VFcFRiQ3BWUTA3anRyazJSZnBsY3RrNm9Nak5PaU9K?= =?utf-8?B?R1IxY056TVhXSTFEWHkxLzA3TlJiSkwwQnljY1ZQS1FGVjkxOFA4T1hrclhw?= =?utf-8?B?Vm1idkx1dEN2SWxFRjNEVDB5TksxdVBkRDdOL1hDTUtGaFZ6eHoybWRYQ0VY?= =?utf-8?B?MzEvWjlxRklQRVUrb1cyaS9CUmxrVDNoY1B4NnYxOGR2ZkoxYVNVTkc4ZFV1?= =?utf-8?B?Qnp2a0N1aFZhcFFYODF0SUVudUo1WHFKaXc1TXc2cHpTd0ZVZ1RCSk1xbmpa?= =?utf-8?B?N2ZHa1Zrd0h2YWpmL1J5OTlMc3dGLzZBa1duaHR3T004K3lwZXJZNmZZcERC?= =?utf-8?B?Q0xBVlJvMmErK3hrMGlxT0l4VUU3dEdMd2R5RXM4c1Fhc29Lc0FVTTBNeTVR?= =?utf-8?B?TVdVZEhtMVUrblZjc0J2L2xaRk5tbmJ4djJMeGhmbTlMaEF2a1JzaVo2Z0xl?= =?utf-8?B?MllDV0hCSzRSRkN6N3c4NmdpZ014ckJSd1cvNytyTEdRUWpQcGNOdjRIZEND?= =?utf-8?B?YkpNWUZ5N0xpQ3BZaFUwZEJVRmRlUk5GeFcvVzB4NjdlaWZtbFhnNXI4YUZ5?= =?utf-8?B?OGFZRGhGM1V1QVZ1b3hqYWIvbW9tTjZPeU1vOEdsdzFYQUd4MkgvVzlMS0xW?= =?utf-8?B?TmVDa2ppWmRhL3J4ZlNES1JCN1R6TGVFSEVXMVdveHhtdmNsOXVkQXFaeUcw?= =?utf-8?B?K0tBNFlaN1RKVXU4U1FWVzJONUw1eXBiN2hkQVhrc3p3RnFRSUZUNVlkSHBn?= =?utf-8?B?Q3R0OThURE1FekNwRzJmSlZ1Nm5pbGF4ZUE1VTZneDlzY0NEVjJJWVhHV1VZ?= =?utf-8?B?L3VabzFJU3RhUjZqS3FmbU13dGE1OWZ5SS80aU92elpVbGp5Kzd1WWkxQ1ZW?= =?utf-8?B?M0VDVTZGRUxNWDRIMlBpZnF5UFdvU2NFKzBHNGI4RzN5OVBOQnViUHJzTmw1?= =?utf-8?Q?2TmcrRBfK8ZP14MrGDOXwZJalEzSj6XG3vbGF?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f2197ef-92e0-4945-7828-08df09fd6d83 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:38.1412 (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: Xr4+t2nu3xs6GPOZVUDkG8tm5echsI+p9ZxiMPODHBRnLezKX90tHcWRdZXGoAfWx/U+6Cql5iIFyofoiF8Ek+LSi9V/z+H5lTw67TXNtgdxTLTRiPrgCblSDL8M3+6m X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11894 From: Frank Li The current dma_chan structure contains both "device" and "dev". So chan->device->dev refers to the DMA engine device. chan->dev->device refers to the per-channel device instance. Their similar naming makes the distinction unclear and increases reader confusion. Add union dma_chan::chan_dev to make its purpose explicit and clearly identify it as the per-channel device. After all user switch to chan_dev, union and dma_chan::dev will be removed. Update the kernel-doc accordingly. Besides its sysfs usage, the per-channel device is also used by some DMA engine drivers for IOMMU mapping and therefore deserves a more accurate description. No functional change intended. Reviewed-by: Logan Gunthorpe Signed-off-by: Frank Li --- there are other user use it outside drivers/dma/ directory. --- drivers/dma/at_hdmac.c | 2 +- drivers/dma/at_xdmac.c | 2 +- drivers/dma/dma-jz4780.c | 8 ++--- drivers/dma/dmaengine.c | 34 +++++++++--------- drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 4 +-- drivers/dma/dw/core.c | 2 +- drivers/dma/ep93xx_dma.c | 2 +- drivers/dma/idma64.c | 2 +- drivers/dma/loongson/loongson1-apb-dma.c | 2 +- drivers/dma/loongson/loongson2-apb-cmc-dma.c | 2 +- drivers/dma/loongson/loongson2-apb-dma.c | 2 +- drivers/dma/nbpfaxi.c | 2 +- drivers/dma/owl-dma.c | 2 +- drivers/dma/pch_dma.c | 2 +- drivers/dma/pxa_dma.c | 52 ++++++++++++++----------= ---- drivers/dma/stm32/stm32-dma.c | 2 +- drivers/dma/stm32/stm32-dma3.c | 2 +- drivers/dma/stm32/stm32-mdma.c | 2 +- drivers/dma/sun6i-dma.c | 2 +- drivers/dma/switchtec_dma.c | 14 ++++---- drivers/dma/tegra186-gpc-dma.c | 4 +-- drivers/dma/tegra20-apb-dma.c | 2 +- drivers/dma/ti/k3-udma.c | 6 ++-- drivers/dma/timb_dma.c | 2 +- include/linux/dmaengine.h | 18 +++++++--- 25 files changed, 91 insertions(+), 83 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index f4d0c72787d13..5df429002950b 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -383,7 +383,7 @@ static inline struct at_dma *to_at_dma(struct dma_devic= e *ddev) =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 #if defined(VERBOSE_DEBUG) diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c index 901971e8bae69..30ec996845ce7 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c @@ -326,7 +326,7 @@ static inline struct at_xdmac_chan *to_at_xdmac_chan(st= ruct dma_chan *dchan) =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static inline struct at_xdmac *to_at_xdmac(struct dma_device *ddev) diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c index 194649811d02b..c48a46b2bbbf2 100644 --- a/drivers/dma/dma-jz4780.c +++ b/drivers/dma/dma-jz4780.c @@ -687,12 +687,12 @@ static bool jz4780_dma_chan_irq(struct jz4780_dma_dev= *jzdma, jz4780_dma_chn_writel(jzdma, jzchan->id, JZ_DMA_REG_DCS, 0); =20 if (dcs & JZ_DMA_DCS_AR) { - dev_warn(&jzchan->vchan.chan.dev->device, + dev_warn(&jzchan->vchan.chan.chan_dev->device, "address error (DCS=3D0x%x)\n", dcs); } =20 if (dcs & JZ_DMA_DCS_HLT) { - dev_warn(&jzchan->vchan.chan.dev->device, + dev_warn(&jzchan->vchan.chan.chan_dev->device, "channel halt (DCS=3D0x%x)\n", dcs); } =20 @@ -721,7 +721,7 @@ static bool jz4780_dma_chan_irq(struct jz4780_dma_dev *= jzdma, } } } else { - dev_err(&jzchan->vchan.chan.dev->device, + dev_err(&jzchan->vchan.chan.chan_dev->device, "channel IRQ with no active transfer\n"); } =20 @@ -765,7 +765,7 @@ static int jz4780_dma_alloc_chan_resources(struct dma_c= han *chan) JZ_DMA_DESC_BLOCK_SIZE, PAGE_SIZE, 0); if (!jzchan->desc_pool) { - dev_err(&chan->dev->device, + dev_err(&chan->chan_dev->device, "failed to allocate descriptor pool\n"); return -ENOMEM; } diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 6ffd8bd82154a..c00641366c4dc 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -868,10 +868,10 @@ struct dma_chan *dma_request_chan(struct device *dev,= const char *name) return chan; chan->slave =3D dev; =20 - if (sysfs_create_link(&chan->dev->device.kobj, &dev->kobj, + if (sysfs_create_link(&chan->chan_dev->device.kobj, &dev->kobj, DMA_SLAVE_NAME)) dev_warn(dev, "Cannot create DMA %s symlink\n", DMA_SLAVE_NAME); - if (sysfs_create_link(&dev->kobj, &chan->dev->device.kobj, chan->name)) + if (sysfs_create_link(&dev->kobj, &chan->chan_dev->device.kobj, chan->nam= e)) dev_warn(dev, "Cannot create DMA %s symlink\n", chan->name); =20 return chan; @@ -917,7 +917,7 @@ void dma_release_channel(struct dma_chan *chan) dma_chan_put(chan); =20 if (chan->slave) { - sysfs_remove_link(&chan->dev->device.kobj, DMA_SLAVE_NAME); + sysfs_remove_link(&chan->chan_dev->device.kobj, DMA_SLAVE_NAME); sysfs_remove_link(&chan->slave->kobj, chan->name); kfree(chan->name); chan->name =3D NULL; @@ -1083,8 +1083,8 @@ static int __dma_async_device_channel_register(struct= dma_device *device, chan->local =3D alloc_percpu(typeof(*chan->local)); if (!chan->local) return -ENOMEM; - chan->dev =3D kzalloc_obj(*chan->dev); - if (!chan->dev) { + chan->chan_dev =3D kzalloc_obj(*chan->chan_dev); + if (!chan->chan_dev) { rc =3D -ENOMEM; goto err_free_local; } @@ -1101,17 +1101,17 @@ static int __dma_async_device_channel_register(stru= ct dma_device *device, goto err_free_dev; } =20 - chan->dev->device.class =3D &dma_devclass; - chan->dev->device.parent =3D device->dev; - chan->dev->chan =3D chan; - chan->dev->dev_id =3D device->dev_id; + chan->chan_dev->device.class =3D &dma_devclass; + chan->chan_dev->device.parent =3D device->dev; + chan->chan_dev->chan =3D chan; + chan->chan_dev->dev_id =3D device->dev_id; spin_lock_init(&chan->lock); =20 if (!name) - dev_set_name(&chan->dev->device, "dma%dchan%d", device->dev_id, chan->ch= an_id); + dev_set_name(&chan->chan_dev->device, "dma%dchan%d", device->dev_id, cha= n->chan_id); else - dev_set_name(&chan->dev->device, "%s", name); - rc =3D device_register(&chan->dev->device); + dev_set_name(&chan->chan_dev->device, "%s", name); + rc =3D device_register(&chan->chan_dev->device); if (rc) goto err_out_ida; chan->client_count =3D 0; @@ -1122,7 +1122,7 @@ static int __dma_async_device_channel_register(struct= dma_device *device, err_out_ida: ida_free(&device->chan_ida, chan->chan_id); err_free_dev: - kfree(chan->dev); + kfree(chan->chan_dev); err_free_local: free_percpu(chan->local); chan->local =3D NULL; @@ -1155,10 +1155,10 @@ static void __dma_async_device_channel_unregister(s= truct dma_device *device, __func__, chan->client_count); mutex_lock(&dma_list_mutex); device->chancnt--; - chan->dev->chan =3D NULL; + chan->chan_dev->chan =3D NULL; mutex_unlock(&dma_list_mutex); ida_free(&device->chan_ida, chan->chan_id); - device_unregister(&chan->dev->device); + device_unregister(&chan->chan_dev->device); free_percpu(chan->local); } =20 @@ -1290,9 +1290,9 @@ int dma_async_device_register(struct dma_device *devi= ce) if (chan->local =3D=3D NULL) continue; mutex_lock(&dma_list_mutex); - chan->dev->chan =3D NULL; + chan->chan_dev->chan =3D NULL; mutex_unlock(&dma_list_mutex); - device_unregister(&chan->dev->device); + device_unregister(&chan->chan_dev->device); free_percpu(chan->local); } return rc; diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dma= c/dw-axi-dmac.h index 039316c42f059..05524ec96bcab 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h @@ -120,12 +120,12 @@ struct axi_dma_chan_config { =20 static inline struct device *dchan2dev(struct dma_chan *dchan) { - return &dchan->dev->device; + return &dchan->chan_dev->device; } =20 static inline struct device *chan2dev(struct axi_dma_chan *chan) { - return &chan->vc.chan.dev->device; + return &chan->vc.chan.chan_dev->device; } =20 static inline struct axi_dma_desc *vd_to_axi_desc(struct virt_dma_desc *vd) diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c index dd75f97a33b3d..d5618c128121f 100644 --- a/drivers/dma/dw/core.c +++ b/drivers/dma/dw/core.c @@ -43,7 +43,7 @@ =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static struct dw_desc *dwc_first_active(struct dw_dma_chan *dwc) diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c index 311e55a97ba9f..977ab12c793e9 100644 --- a/drivers/dma/ep93xx_dma.c +++ b/drivers/dma/ep93xx_dma.c @@ -252,7 +252,7 @@ struct ep93xx_edma_data { =20 static inline struct device *chan2dev(struct ep93xx_dma_chan *edmac) { - return &edmac->chan.dev->device; + return &edmac->chan.chan_dev->device; } =20 static struct ep93xx_dma_chan *to_ep93xx_dma_chan(struct dma_chan *chan) diff --git a/drivers/dma/idma64.c b/drivers/dma/idma64.c index 6399fd5408be2..6fdc0d50964ad 100644 --- a/drivers/dma/idma64.c +++ b/drivers/dma/idma64.c @@ -27,7 +27,7 @@ =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 /* ---------------------------------------------------------------------- = */ diff --git a/drivers/dma/loongson/loongson1-apb-dma.c b/drivers/dma/loongso= n/loongson1-apb-dma.c index 89786cbd20ab5..03c8081e4b9a9 100644 --- a/drivers/dma/loongson/loongson1-apb-dma.c +++ b/drivers/dma/loongson/loongson1-apb-dma.c @@ -91,7 +91,7 @@ static irqreturn_t ls1x_dma_irq_handler(int irq, void *da= ta); =20 static inline struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static inline int ls1x_dma_query(struct ls1x_dma_chan *chan, diff --git a/drivers/dma/loongson/loongson2-apb-cmc-dma.c b/drivers/dma/loo= ngson/loongson2-apb-cmc-dma.c index 2f1c8c4fd0654..69914778ead9e 100644 --- a/drivers/dma/loongson/loongson2-apb-cmc-dma.c +++ b/drivers/dma/loongson/loongson2-apb-cmc-dma.c @@ -136,7 +136,7 @@ static struct loongson2_cmc_dma_desc *to_lmdma_desc(str= uct virt_dma_desc *vdesc) =20 static struct device *chan2dev(struct loongson2_cmc_dma_chan *lchan) { - return &lchan->vchan.chan.dev->device; + return &lchan->vchan.chan.chan_dev->device; } =20 static u32 loongson2_cmc_dma_read(struct loongson2_cmc_dma_dev *lddev, u32= reg, u32 id) diff --git a/drivers/dma/loongson/loongson2-apb-dma.c b/drivers/dma/loongso= n/loongson2-apb-dma.c index 7c3d7c3273955..94f4364fbfb56 100644 --- a/drivers/dma/loongson/loongson2-apb-dma.c +++ b/drivers/dma/loongson/loongson2-apb-dma.c @@ -163,7 +163,7 @@ static inline struct ls2x_dma_priv *to_ldma_priv(struct= dma_device *ddev) =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static void ls2x_dma_desc_free(struct virt_dma_desc *vdesc) diff --git a/drivers/dma/nbpfaxi.c b/drivers/dma/nbpfaxi.c index 05d7321629cc8..4dd87cafc5e0a 100644 --- a/drivers/dma/nbpfaxi.c +++ b/drivers/dma/nbpfaxi.c @@ -1202,7 +1202,7 @@ static irqreturn_t nbpf_chan_irq(int irq, void *dev) =20 nbpf_status_ack(chan); =20 - dev_dbg(&chan->dma_chan.dev->device, "%s()\n", __func__); + dev_dbg(&chan->dma_chan.chan_dev->device, "%s()\n", __func__); =20 spin_lock(&chan->lock); desc =3D chan->running; diff --git a/drivers/dma/owl-dma.c b/drivers/dma/owl-dma.c index 7c80572fc71d1..ab7531a3a89c9 100644 --- a/drivers/dma/owl-dma.c +++ b/drivers/dma/owl-dma.c @@ -294,7 +294,7 @@ static inline struct owl_dma *to_owl_dma(struct dma_dev= ice *dd) =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static inline struct owl_dma_vchan *to_owl_vchan(struct dma_chan *chan) diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index bf805f1024f64..69d60b587c2bb 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c @@ -152,7 +152,7 @@ static inline struct pch_dma *to_pd(struct dma_device *= ddev) =20 static inline struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static inline diff --git a/drivers/dma/pxa_dma.c b/drivers/dma/pxa_dma.c index fa2ee0b3e09f8..5398b47fec370 100644 --- a/drivers/dma/pxa_dma.c +++ b/drivers/dma/pxa_dma.c @@ -149,7 +149,7 @@ struct pxad_device { ({ \ u32 _v; \ _v =3D readl_relaxed((phy)->base + _reg((phy)->idx)); \ - dev_vdbg(&phy->vchan->vc.chan.dev->device, \ + dev_vdbg(&phy->vchan->vc.chan.chan_dev->device, \ "%s(): readl(%s): 0x%08x\n", __func__, #_reg, \ _v); \ _v; \ @@ -157,14 +157,14 @@ struct pxad_device { #define phy_writel(phy, val, _reg) \ do { \ writel((val), (phy)->base + _reg((phy)->idx)); \ - dev_vdbg(&phy->vchan->vc.chan.dev->device, \ + dev_vdbg(&phy->vchan->vc.chan.chan_dev->device, \ "%s(): writel(0x%08x, %s)\n", \ __func__, (u32)(val), #_reg); \ } while (0) #define phy_writel_relaxed(phy, val, _reg) \ do { \ writel_relaxed((val), (phy)->base + _reg((phy)->idx)); \ - dev_vdbg(&phy->vchan->vc.chan.dev->device, \ + dev_vdbg(&phy->vchan->vc.chan.chan_dev->device, \ "%s(): writel_relaxed(0x%08x, %s)\n", \ __func__, (u32)(val), #_reg); \ } while (0) @@ -396,7 +396,7 @@ static struct pxad_phy *lookup_phy(struct pxad_chan *pc= han) =20 out_unlock: spin_unlock_irqrestore(&pdev->phy_lock, flags); - dev_dbg(&pchan->vc.chan.dev->device, + dev_dbg(&pchan->vc.chan.chan_dev->device, "%s(): phy=3D%p(%d)\n", __func__, found, found ? found->idx : -1); =20 @@ -409,7 +409,7 @@ static void pxad_free_phy(struct pxad_chan *chan) unsigned long flags; u32 reg; =20 - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): freeing\n", __func__); if (!chan->phy) return; @@ -454,7 +454,7 @@ static void phy_enable(struct pxad_phy *phy, bool misal= igned) if (!phy->vchan) return; =20 - dev_dbg(&phy->vchan->vc.chan.dev->device, + dev_dbg(&phy->vchan->vc.chan.chan_dev->device, "%s(); phy=3D%p(%d) misaligned=3D%d\n", __func__, phy, phy->idx, misaligned); =20 @@ -483,7 +483,7 @@ static void phy_disable(struct pxad_phy *phy) return; =20 dcsr =3D phy_readl_relaxed(phy, DCSR); - dev_dbg(&phy->vchan->vc.chan.dev->device, + dev_dbg(&phy->vchan->vc.chan.chan_dev->device, "%s(): phy=3D%p(%d)\n", __func__, phy, phy->idx); phy_writel(phy, dcsr & ~PXA_DCSR_RUN & ~PXA_DCSR_STOPIRQEN, DCSR); } @@ -491,12 +491,12 @@ static void phy_disable(struct pxad_phy *phy) static void pxad_launch_chan(struct pxad_chan *chan, struct pxad_desc_sw *desc) { - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): desc=3D%p\n", __func__, desc); if (!chan->phy) { chan->phy =3D lookup_phy(chan); if (!chan->phy) { - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): no free dma channel\n", __func__); return; } @@ -592,7 +592,7 @@ static unsigned int clear_chan_irq(struct pxad_phy *phy) dcsr =3D phy_readl_relaxed(phy, DCSR); phy_writel(phy, dcsr, DCSR); if ((dcsr & PXA_DCSR_BUSERR) && (phy->vchan)) - dev_warn(&phy->vchan->vc.chan.dev->device, + dev_warn(&phy->vchan->vc.chan.chan_dev->device, "%s(chan=3D%p): PXA_DCSR_BUSERR\n", __func__, &phy->vchan); =20 @@ -617,7 +617,7 @@ static irqreturn_t pxad_chan_handler(int irq, void *dev= _id) spin_lock(&chan->vc.lock); list_for_each_entry_safe(vd, tmp, &chan->vc.desc_issued, node) { vd_completed =3D is_desc_completed(vd); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): checking txd %p[%x]: completed=3D%d dcsr=3D0x%x\n", __func__, vd, vd->tx.cookie, vd_completed, dcsr); @@ -640,7 +640,7 @@ static irqreturn_t pxad_chan_handler(int irq, void *dev= _id) } =20 if (!chan->bus_error && dcsr & PXA_DCSR_STOPSTATE) { - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): channel stopped, submitted_empty=3D%d issued_empty=3D%d", __func__, list_empty(&chan->vc.desc_submitted), @@ -694,7 +694,7 @@ static int pxad_alloc_chan_resources(struct dma_chan *d= chan) __alignof__(struct pxad_desc_hw), 0); if (!chan->desc_pool) { - dev_err(&chan->vc.chan.dev->device, + dev_err(&chan->vc.chan.chan_dev->device, "%s(): unable to allocate descriptor pool\n", __func__); return -ENOMEM; @@ -749,7 +749,7 @@ pxad_alloc_desc(struct pxad_chan *chan, unsigned int nb= _hw_desc) for (i =3D 0; i < nb_hw_desc; i++) { desc =3D dma_pool_alloc(sw_desc->desc_pool, GFP_NOWAIT, &dma); if (!desc) { - dev_err(&chan->vc.chan.dev->device, + dev_err(&chan->vc.chan.chan_dev->device, "%s(): Couldn't allocate the %dth hw_desc from dma_pool %p\n", __func__, i, sw_desc->desc_pool); goto err; @@ -786,7 +786,7 @@ static dma_cookie_t pxad_tx_submit(struct dma_async_tx_= descriptor *tx) =20 if (list_empty(&vc->desc_submitted) && pxad_try_hotchain(vc, vd)) { list_move_tail(&vd->node, &vc->desc_issued); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): txd %p[%x]: submitted (hot linked)\n", __func__, vd, cookie); goto out; @@ -809,7 +809,7 @@ static dma_cookie_t pxad_tx_submit(struct dma_async_tx_= descriptor *tx) else vd_chained =3D NULL; } - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): txd %p[%x]: submitted (%s linked)\n", __func__, vd, cookie, vd_chained ? "cold" : "not"); list_move_tail(&vd->node, &vc->desc_submitted); @@ -832,7 +832,7 @@ static void pxad_issue_pending(struct dma_chan *dchan) =20 vd_first =3D list_first_entry(&chan->vc.desc_submitted, struct virt_dma_desc, node); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): txd %p[%x]", __func__, vd_first, vd_first->tx.cookie); =20 vchan_issue_pending(&chan->vc); @@ -852,7 +852,7 @@ pxad_tx_prep(struct virt_dma_chan *vc, struct virt_dma_= desc *vd, INIT_LIST_HEAD(&vd->node); tx =3D vchan_tx_prep(vc, vd, tx_flags); tx->tx_submit =3D pxad_tx_submit; - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): vc=3D%p txd=3D%p[%x] flags=3D0x%lx\n", __func__, vc, vd, vd->tx.cookie, tx_flags); @@ -891,7 +891,7 @@ static void pxad_get_config(struct pxad_chan *chan, *dcmd |=3D PXA_DCMD_BURST32 | PXA_DCMD_INCTRGADDR | PXA_DCMD_INCSRCADDR; =20 - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): dev_addr=3D0x%x maxburst=3D%d width=3D%d dir=3D%d\n", __func__, dev_addr, maxburst, width, dir); =20 @@ -925,7 +925,7 @@ pxad_prep_memcpy(struct dma_chan *dchan, if (!dchan || !len) return NULL; =20 - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): dma_dst=3D0x%lx dma_src=3D0x%lx len=3D%zu flags=3D%lx\n", __func__, (unsigned long)dma_dst, (unsigned long)dma_src, len, flags); @@ -974,7 +974,7 @@ pxad_prep_slave_sg(struct dma_chan *dchan, struct scatt= erlist *sgl, return NULL; =20 pxad_get_config(chan, dir, &dcmd, &dsadr, &dtadr); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): dir=3D%d flags=3D%lx\n", __func__, dir, flags); =20 nb_desc =3D sg_nents_for_dma(sgl, sg_len, PDMA_MAX_DESC_BYTES); @@ -1021,7 +1021,7 @@ pxad_prep_dma_cyclic(struct dma_chan *dchan, if (!dchan || !len || !period_len) return NULL; if ((dir !=3D DMA_DEV_TO_MEM) && (dir !=3D DMA_MEM_TO_DEV)) { - dev_err(&chan->vc.chan.dev->device, + dev_err(&chan->vc.chan.chan_dev->device, "Unsupported direction for cyclic DMA\n"); return NULL; } @@ -1032,7 +1032,7 @@ pxad_prep_dma_cyclic(struct dma_chan *dchan, =20 pxad_get_config(chan, dir, &dcmd, &dsadr, &dtadr); dcmd |=3D PXA_DCMD_ENDIRQEN | (PXA_DCMD_LENGTH & period_len); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): buf_addr=3D0x%lx len=3D%zu period=3D%zu dir=3D%d flags=3D%lx\n", __func__, (unsigned long)buf_addr, len, period_len, dir, flags); =20 @@ -1080,14 +1080,14 @@ static int pxad_terminate_all(struct dma_chan *dcha= n) struct pxad_phy *phy; LIST_HEAD(head); =20 - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): vchan %p: terminate all\n", __func__, &chan->vc); =20 spin_lock_irqsave(&chan->vc.lock, flags); vchan_get_all_descriptors(&chan->vc, &head); =20 list_for_each_entry(vd, &head, node) { - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): cancelling txd %p[%x] (completed=3D%d)", __func__, vd, vd->tx.cookie, is_desc_completed(vd)); } @@ -1177,7 +1177,7 @@ static unsigned int pxad_residue(struct pxad_chan *ch= an, =20 out: spin_unlock_irqrestore(&chan->vc.lock, flags); - dev_dbg(&chan->vc.chan.dev->device, + dev_dbg(&chan->vc.chan.chan_dev->device, "%s(): txd %p[%x] sw_desc=3D%p: %d\n", __func__, vd, cookie, sw_desc, residue); return residue; diff --git a/drivers/dma/stm32/stm32-dma.c b/drivers/dma/stm32/stm32-dma.c index 3e8151e2ad75a..5908782e66705 100644 --- a/drivers/dma/stm32/stm32-dma.c +++ b/drivers/dma/stm32/stm32-dma.c @@ -250,7 +250,7 @@ static struct stm32_dma_desc *to_stm32_dma_desc(struct = virt_dma_desc *vdesc) =20 static struct device *chan2dev(struct stm32_dma_chan *chan) { - return &chan->vchan.chan.dev->device; + return &chan->vchan.chan.chan_dev->device; } =20 static u32 stm32_dma_read(struct stm32_dma_device *dmadev, u32 reg) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 6ee7a1435efb6..78358d3734493 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -330,7 +330,7 @@ static inline struct stm32_dma3_swdesc *to_stm32_dma3_s= wdesc(struct virt_dma_des =20 static struct device *chan2dev(struct stm32_dma3_chan *chan) { - return &chan->vchan.chan.dev->device; + return &chan->vchan.chan.chan_dev->device; } =20 static struct device *ddata2dev(struct stm32_dma3_ddata *ddata) diff --git a/drivers/dma/stm32/stm32-mdma.c b/drivers/dma/stm32/stm32-mdma.c index c274638e919c2..a7ab77e4ebbcb 100644 --- a/drivers/dma/stm32/stm32-mdma.c +++ b/drivers/dma/stm32/stm32-mdma.c @@ -278,7 +278,7 @@ static struct stm32_mdma_desc *to_stm32_mdma_desc(struc= t virt_dma_desc *vdesc) =20 static struct device *chan2dev(struct stm32_mdma_chan *chan) { - return &chan->vchan.chan.dev->device; + return &chan->vchan.chan.chan_dev->device; } =20 static struct device *mdma2dev(struct stm32_mdma_device *mdma_dev) diff --git a/drivers/dma/sun6i-dma.c b/drivers/dma/sun6i-dma.c index c248c2dec956a..3d5ca27b6e9d2 100644 --- a/drivers/dma/sun6i-dma.c +++ b/drivers/dma/sun6i-dma.c @@ -215,7 +215,7 @@ struct sun6i_dma_dev { =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } =20 static inline struct sun6i_dma_dev *to_sun6i_dma_dev(struct dma_device *d) diff --git a/drivers/dma/switchtec_dma.c b/drivers/dma/switchtec_dma.c index c133535d37656..ebb734f807a3b 100644 --- a/drivers/dma/switchtec_dma.c +++ b/drivers/dma/switchtec_dma.c @@ -406,7 +406,7 @@ static int disable_channel(struct switchtec_dma_chan *s= wdma_chan) static void switchtec_dma_cleanup_completed(struct switchtec_dma_chan *swdma_chan) { - struct device *chan_dev =3D &swdma_chan->dma_chan.dev->device; + struct device *chan_dev =3D &swdma_chan->dma_chan.chan_dev->device; struct switchtec_dma_desc *desc; struct switchtec_dma_hw_ce *ce; struct dmaengine_result res; @@ -851,7 +851,7 @@ static irqreturn_t switchtec_dma_chan_status_isr(int ir= q, void *dma) list_for_each_entry(chan, &dma_dev->channels, device_node) { swdma_chan =3D container_of(chan, struct switchtec_dma_chan, dma_chan); - chan_dev =3D &swdma_chan->dma_chan.dev->device; + chan_dev =3D &swdma_chan->dma_chan.chan_dev->device; chan_hw =3D swdma_chan->mmio_chan_hw; =20 rcu_read_lock(); @@ -1009,19 +1009,19 @@ static int switchtec_dma_alloc_chan_resources(struc= t dma_chan *chan) perf_cfg =3D readl(&swdma_chan->mmio_chan_fw->perf_cfg); rcu_read_unlock(); =20 - dev_dbg(&chan->dev->device, "Burst Size: 0x%x\n", + dev_dbg(&chan->chan_dev->device, "Burst Size: 0x%x\n", FIELD_GET(PERF_BURST_SIZE_MASK, perf_cfg)); =20 - dev_dbg(&chan->dev->device, "Burst Scale: 0x%x\n", + dev_dbg(&chan->chan_dev->device, "Burst Scale: 0x%x\n", FIELD_GET(PERF_BURST_SCALE_MASK, perf_cfg)); =20 - dev_dbg(&chan->dev->device, "Interval: 0x%x\n", + dev_dbg(&chan->chan_dev->device, "Interval: 0x%x\n", FIELD_GET(PERF_INTERVAL_MASK, perf_cfg)); =20 - dev_dbg(&chan->dev->device, "Arb Weight: 0x%x\n", + dev_dbg(&chan->chan_dev->device, "Arb Weight: 0x%x\n", FIELD_GET(PERF_ARB_WEIGHT_MASK, perf_cfg)); =20 - dev_dbg(&chan->dev->device, "MRRS: 0x%x\n", + dev_dbg(&chan->chan_dev->device, "MRRS: 0x%x\n", FIELD_GET(PERF_MRRS_MASK, perf_cfg)); =20 return SWITCHTEC_DMA_SQ_SIZE; diff --git a/drivers/dma/tegra186-gpc-dma.c b/drivers/dma/tegra186-gpc-dma.c index 64cedef1050ae..e36111e8a76dc 100644 --- a/drivers/dma/tegra186-gpc-dma.c +++ b/drivers/dma/tegra186-gpc-dma.c @@ -1537,7 +1537,7 @@ static int tegra_dma_probe(struct platform_device *pd= ev) * the channels available and registered for the DMA device are used. */ list_for_each_entry(chan, &tdma->dma_dev.channels, device_node) { - chdev =3D &chan->dev->device; + chdev =3D &chan->chan_dev->device; tdc =3D to_tegra_dma_chan(chan); =20 if (use_iommu_map) { @@ -1554,7 +1554,7 @@ static int tegra_dma_probe(struct platform_device *pd= ev) return dev_err_probe(chdev, -EINVAL, "Failed to get stream ID for channel %d\n", tdc->id); =20 - chan->dev->chan_dma_dev =3D true; + chan->chan_dev->chan_dma_dev =3D true; } =20 /* program stream-id for this channel */ diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 640b8a218c9ad..33811e7ee6552 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c @@ -256,7 +256,7 @@ txd_to_tegra_dma_desc(struct dma_async_tx_descriptor *t= d) =20 static inline struct device *tdc2dev(struct tegra_dma_channel *tdc) { - return &tdc->dma_chan.dev->device; + return &tdc->dma_chan.chan_dev->device; } =20 static dma_cookie_t tegra_dma_tx_submit(struct dma_async_tx_descriptor *tx= ); diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index fb21e0df5ab7b..4fa6e81ff5a86 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -422,16 +422,16 @@ static int navss_psil_unpair(struct udma_dev *ud, u32= src_thread, =20 static void k3_configure_chan_coherency(struct dma_chan *chan, u32 asel) { - struct device *chan_dev =3D &chan->dev->device; + struct device *chan_dev =3D &chan->chan_dev->device; =20 if (asel =3D=3D 0) { /* No special handling for the channel */ - chan->dev->chan_dma_dev =3D false; + chan->chan_dev->chan_dma_dev =3D false; =20 dev_clear_dma_coherent(chan_dev); chan_dev->dma_parms =3D NULL; } else if (asel =3D=3D 14 || asel =3D=3D 15) { - chan->dev->chan_dma_dev =3D true; + chan->chan_dev->chan_dma_dev =3D true; =20 dev_set_dma_coherent(chan_dev); dma_coerce_mask_and_coherent(chan_dev, DMA_BIT_MASK(48)); diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c index 4fc5119854ec1..f414e41d90013 100644 --- a/drivers/dma/timb_dma.c +++ b/drivers/dma/timb_dma.c @@ -93,7 +93,7 @@ struct timb_dma { =20 static struct device *chan2dev(struct dma_chan *chan) { - return &chan->dev->device; + return &chan->chan_dev->device; } static struct device *chan2dmadev(struct dma_chan *chan) { diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index fe33a20abc614..0fcec3f21390b 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -325,7 +325,8 @@ struct dma_router { * @lock: protect between config and prepare transfer when driver have not * implemented callback device_prep_config_sg(). * @chan_id: channel ID for sysfs - * @dev: class device for sysfs + * @chan_dev: class channel device for sysfs, some device use it for per-c= hannel + * iommu mapping. * @name: backlink name for sysfs * @dbg_client_name: slave name for debugfs in format: * dev_name(requester's dev):channel name, for example: "2b00000.mcasp:tx" @@ -351,7 +352,14 @@ struct dma_chan { =20 /* sysfs */ int chan_id; - struct dma_chan_dev *dev; + union { + struct dma_chan_dev *chan_dev; + /* + * please use chan_dev, dev will be removed after all user + switch to chan_dev + */ + struct dma_chan_dev *dev; + }; const char *name; #ifdef CONFIG_DEBUG_FS char *dbg_client_name; @@ -532,7 +540,7 @@ struct dma_slave_caps { =20 static inline const char *dma_chan_name(struct dma_chan *chan) { - return dev_name(&chan->dev->device); + return dev_name(&chan->chan_dev->device); } =20 /** @@ -1805,8 +1813,8 @@ dmaengine_get_direction_text(enum dma_transfer_direct= ion dir) =20 static inline struct device *dmaengine_get_dma_device(struct dma_chan *cha= n) { - if (chan->dev->chan_dma_dev) - return &chan->dev->device; + if (chan->chan_dev->chan_dma_dev) + return &chan->chan_dev->device; =20 return chan->device->dev; } --=20 2.43.0