From nobody Thu Oct 2 03:27:35 2025 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010019.outbound.protection.outlook.com [52.101.84.19]) (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 E562A30F943; Tue, 23 Sep 2025 05:17:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604624; cv=fail; b=JLV6a4gMUpDM7D8z4PSLfP+nkT9uieeSAd1lruEu9K0kj9/p7fT9eXIht3HQ+dGCKEzA6mG0fahVMlO5+XafVWO0tfu2k8zGPLsUVawt3i3muaJMTwZgSemOZYIpfZBq5grQ0dazzJD1LC1QEE34Ly8XLy1X4vKQI7vkDE5V2vo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604624; c=relaxed/simple; bh=IieRmfK+zuKrH8a49WMtof7tsn07fMSp09DDmTnkJ6I=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=TUb3ik2yyGz7m+HND+G12xGRAmkFvHAF/AGwuIY/MvzqMPjqhXGw7vP5zuAaVmyQfVDuL+geJ0X/DCmYT1aoxWac1AHpfrb+bNVzKIehWDHCgrVA+2lojAQpg/88L3gvwg45x6e211gyodo+7bWBalipiQnr3lOZt3G9+HWziBo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=MekV8ho2; arc=fail smtp.client-ip=52.101.84.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="MekV8ho2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ykmnyagy/nU3fRsRVtatuHvVZkSCgx9oxERfh41vKrpS444UKylGXQSWcmEtx3FgabIpz8ACyXB/RBXsPCVsqhBm4xMcwdlx/ePkUy6wb5mAe4uM7zePjy+8hkJ4daUQTivQzS4TmNVOpidesVH2bvID3kXkeUQEb/INa/5KyiRFL5iHFLFIBAdVDZa4KO9Res0DXb9pa5Qu81iC+okjDBtXl3+feKihrQY67e8zj7DCd5bki78vdFVP0bD3UE7TvBEfIs9u9k9TBcpS8lBb848gTs7OzatT7X5ESkTXUGtKh2fIPjh64G8JL7cBkF6IQEcLuQsO04NM3Du5KPFgdA== 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=Md4v4ApetAIsMRe4ytAG2PMqtQkaqAQrEN4JU3GuL9k=; b=G2WvKOvE5KkOpkqMNnYLxb0+uAvGX8PUAM+C6xcLxEhMjZYtSENky197plOl1WsPjQiVrM0IqL2eHbiFa+rnNBSTdVm4w9R0jZ9C1Ipxo08XkFZPDg1947336FLat67JykZoe5FdmaXOOm/JvXLJ2T0FmBcS+4lYxOf3JA1uEEmQr1NUs7964fotX2ECtWeVLSAbE3CHzh0iaREtzF2d4XAmO3XIkrqdaWDaxcQTCXvDaT0vJZvSuyM3xnjJdVogZlqa7PpRiHQyQtBzsAYHcdJKX1r1C33QtqerZMNTyUi6vnV32wvJTEljZw1Un0BL9/JQ8ifBResfe0bvBib92Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Md4v4ApetAIsMRe4ytAG2PMqtQkaqAQrEN4JU3GuL9k=; b=MekV8ho2lTHohcHRr4Ky7vjYeC4c2p1okD1bgLOwoR+RUF/0Wz6JtHI0l3eDfO+ErkHF5kBdpnOI/gQSJnODrdz09mRsNNpJaEYlonOe/qKWigmtJCDDEFEtRyumeGYDnSRaOpWIWLViBobva25ODCLfTUJYoARzuxDi2kK9dXEXxWYFmMtVcQUNji7JPbufwyO7rSohNVOXfvA8XSrSL3Cwbvs4+PD7oob9OrsvMsH+i/lT6LWBAFtEn6or2JsvgmOBNtAJXZLu5LLQoJJGOJxPDE1HlEvwIvjf35Kx5k+dOs2HISO7HemaK+Wg09BBQNJbu5gMeUz9YJ6/OMW9iA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by AS4PR04MB9340.eurprd04.prod.outlook.com (2603:10a6:20b:4e8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:16:59 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:16:59 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:33 +0800 Subject: [PATCH v2 1/6] remoteproc: imx_rproc: Fix runtime PM cleanup order and error handling Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-1-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=2869; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=IieRmfK+zuKrH8a49WMtof7tsn07fMSp09DDmTnkJ6I=; b=/za5yGgJzzm2qX5acZoGTwautgjP+hTO6lhyxgd77Qk71l7NnhpA/ifG+OAR9S6SOm0k1vNIw 9kxSuo04HUzAxogpw9hiZsOXcGUelTqZEfRpLIuRvQQYt3LuAM5CBQZ X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|AS4PR04MB9340:EE_ X-MS-Office365-Filtering-Correlation-Id: 6db90596-32a0-4655-e9e3-08ddfa606be6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UVQ1OTRLdGdFSTBZYXcvbytmUytDOEFRSXlyRHZSdVZyaWRGUlZpZDR4Q0xn?= =?utf-8?B?QlJHZ0dhR2dqNDliZ0VuTlJ0NE9xS2k0OEtqTkNqaVdTVFNFend2Qnh4RE02?= =?utf-8?B?WGIvVHRBU0VUb0FscU4vNzQvc0FlZzBhaHZtUFIwRHlOckpuUG9aZVYrbmFj?= =?utf-8?B?TnNLQ2lvNUhKZVJvWUI1bDluUThOMVpXRm1NQzJ2cDZEbFc5L29JMmF0dUNR?= =?utf-8?B?RCtjM0I3Vk5lTWxjRTR3Y0JYRWZ5d2ptUndyMnBJMDBCUElaYi8ybElIbXRl?= =?utf-8?B?dXFYQkMySVlZTXdyak5WU2JNaG55azNJU3lnaW9FMk81eHJFR1l0eUJrdW5Q?= =?utf-8?B?QWdQM1AwR2FvQllYMitBMkxKbHR5L0U4SE5FOFluanZFd0xqUG8wY1VmV0Va?= =?utf-8?B?Rmt6dDVQNHM4RTJOa3NLZjA4ZUpIVnh5cm9QNjBUUVYzeElYbEZVSmhNcm9H?= =?utf-8?B?dGd3UnA1ODZ6bml1UVZGZ3RvNmQ2d1o2cnBHSlZTSzlOcm50QTA5cFBGaEJw?= =?utf-8?B?OHNkK2pYbFFRbWpVbGNGcEZON2l4bEI3aTRudkRjK1U4YWozUUVoN3VKVDRF?= =?utf-8?B?aFFpdjdzV3M3TnJkMytxVngrSEhNQ0tzWUVNaUlpRzRoVUwrL1VKRWkzdk16?= =?utf-8?B?cmxSN09IOFdVQzNUWTBsZHBNTEgxV1F6dVZvOExHdjY3eGE3VnVGS1NoTUcx?= =?utf-8?B?Zmk4dmhZTzN6WFZ3NEZJQUpDTUQ1K2NJaFMrTXlQWTV3ayt1Ukx5SFYvaVFy?= =?utf-8?B?bzJVSnpDMkszM3U0NjdBM2hnS25RNitxa243cU0vNjRVOTdNOVF5c1o0azNY?= =?utf-8?B?S2dROHdjUHhNdHUySFlsSnJERE5Qb2lFZUVKQkhOYnM2Uyt4UmVvZTFxUlVU?= =?utf-8?B?YlJSMDRyRTlBaUV4QzJRY21WSjM4cHcwbzR1dEpIaWZ5NEIzQ3pPeStuaW1Q?= =?utf-8?B?Y1NsdUQrRk4rTlZuQVdoNFZtRWNuekpMZGkrTlcwQ2N1NXBod240eW1naUda?= =?utf-8?B?UC9PUElyTS95L0pCczRqaW9PVGdwZU1kQ1FJcVV1Qi91b2R2MUlqSy91dEZI?= =?utf-8?B?ZUc4c1NSdHowUjVkWEtZQmJMSnNka3J1TGtmUFI4VGt4OXI5LzdvalVsYmZT?= =?utf-8?B?M2ZJRTRVWjFlZ1ZiTFdlalJVNlJ5N0ZQb1pLamZLdGVReFRUOWY4Nk8vdlY5?= =?utf-8?B?L3R6cVR1Z0c1VXZiekQ2ZlRsQ21zSlp2cEZ3anJ5SHVoeGFWbFhnUXlJdnFi?= =?utf-8?B?MzlhVVBBa2REUkpQTmVmNGN4cW9SNm5ya0xic1BlaFNhS1ZVS2EwbHRDa2Nq?= =?utf-8?B?clVHaFRBQXYyMXdGdWVrV3FHZnVOWS9yYjJQWVpnS0Y3OVdYdXNJalBGN21l?= =?utf-8?B?RGxCQU5TMXl6cW9LVUtoV2tDZktTZEh3YmhFTjFVWVFQbDlPU0hOWEltMFVH?= =?utf-8?B?MlFpbVNEcU9ZOTh1MG1OTk82QjJIbjBMcWZmRHRGaUpvNStydks0T2svRWt6?= =?utf-8?B?aTRtczVMd1pjTG4rQk8zQVN5VHBhZ1dFQTREK0ltYUdjU1dxWnhuY21sL2lr?= =?utf-8?B?WWVEWWFIeDBJY0o4OW1sWlFlb25UdDF5UDR6V3Q3eEV5S2tIK2NyejVCVFNy?= =?utf-8?B?YlkvRGdRakFzQTB1bk5mMS9FQXlDZ01hYXk1bzFTY21naDhNSG00QlZJOFNM?= =?utf-8?B?M3VtK3hFMlVKV21xcnI0bFRtaTlRZDJDOWU4NTd3d3BVdjhPWVVDTy9pUXAz?= =?utf-8?B?dEFrZTBBeFNJcVYyNGNtU1pwSUI2N1BTOW8wMS9xNXpzMUZNczJKVERPTDBi?= =?utf-8?B?M1lISG9IR1M3SW5veHVEV3FvbFYvUHZYUTBESS9ZdXprT0pjTXFwVVZDSXFW?= =?utf-8?B?NHI3cDNhcE5hY1FVSk40WGExVEMvZy9LMUUxcm92Sy9NbEh2VXc2WnhEWU9r?= =?utf-8?B?b1p4czBNZHFPVkVjWmJjQlhJMkxpalRScFI2Tlg2WlhDUkdhZ21UcmVYcWRC?= =?utf-8?B?RGlQZ0pZZlJnPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M2I0UDJ4T09SSm9VTlBSSy9PUnVaNGQyWTlCN2FDd2tTek9sTWp5L0lNTzNs?= =?utf-8?B?OW5wM3lEa2k0eG5adUpRVWk5T0MySHFCL2pLb1dwZFJJeFhiNXFOaUJiVXps?= =?utf-8?B?cGRPWW5Kd0FrUnZOWHRqYWtHd3lPRlFJaFVVcDBzNlRwelYxbFR0VGJheDRi?= =?utf-8?B?TEYvOEJMSHVXNmZzcGR0S3JlVXR2R0dFT3JXTVJBSmF3U1NKekRRSWRkcTg1?= =?utf-8?B?bjNIUjZONDhNMGdYWmxBdEdqK2hQL24rWFA1ZjdOL2Z1U0NtbTdKcTUxdU10?= =?utf-8?B?eXdVYUIxbDdQbWpaa1F4U2FHS1YwalJYK21IeXNWa2VlN3NaNDdyZmk0VHUx?= =?utf-8?B?bmxCUlpSNFl1eUN3YktvVHhpM1JuU1grTGZaVjVvWXhnSHl0ZkdjTnZkeWlr?= =?utf-8?B?OXN5b25ZbndkZWpIR0piMHk0eENrZmd2RGhSWnUxQjRJQWNZdDcvcVJqS0E1?= =?utf-8?B?NytGUkdKVDZPamVna3ozK1N4Z1JWa2lPYUwzMVFFOUVvQjBENk9yU1FCdEE5?= =?utf-8?B?Zk11M0hmYmJzRGtjOVVVTjhSd1VMeHlTczR1cTF2MllzWlhoRDdBTm9QYjNt?= =?utf-8?B?WGhnRVhJYW9ZNjY5Yit3YnlZTGoxN1FTaDFKeHJTRlZCT0dpRXZ4eHNMQVRG?= =?utf-8?B?ZVEvNkowbmRxdWQzVDNsd0Nob1R3ZVl3clV3aXpZZFlLa2RPWkxZaVlMMDV0?= =?utf-8?B?NFhKR3VKUXBHdlpwSVROamMxOVBJRWdUUldIRGNCcDVFYnVrL3lza2U1VTNy?= =?utf-8?B?ZjlIOHY5NUgrYVFQZjh2ZnUybGZYdHNrL1ZDSStudjFiR29ycnBmc1Y1Ky8v?= =?utf-8?B?ajl5SjczUmh6VURIVkdVcmE3d1dBYkZ2bERtVHc3dGpHVlNRNjlWYTJaVWVH?= =?utf-8?B?UU1Zb2U0SlYyZ1lsT3Y2RU1wdktoaWlTeldwY0xPeXNVUm1raElLV3Btd3Qz?= =?utf-8?B?Y21wanFZdnYySkd2UGlFK2R4bHRHNGdVaVFndWhJeUFlTGVhUnVFYUZmekN2?= =?utf-8?B?cDJpU0NCblpJem1ERXZFbVlSUFNYbWYzMGd3bVpoNUd4ZklzZ1ZDQnRPc2hG?= =?utf-8?B?VWMwMTltTitWYmpHQlMweW5YMVFLN0ZsSlNyUVpqYVdFYUptY3NYVzBNVE5m?= =?utf-8?B?OGt4eXdnNExiODhWRmlBeHZPek00ZkxEVkV6THRGWU5Ea3YyQUZuWW5DSjY3?= =?utf-8?B?aEtNK3JIVUxjVDNjRzNvZTFqaDBoMlNiUmwyQldUdEdnRTZWQXZ6Zy9McmhL?= =?utf-8?B?SDduRXdUZno2Ry9memFOcHE0VERURGE0d1MzR0pXTS9aNzhhak1DaU9VOHpS?= =?utf-8?B?Q05FejFsb0wyd0xFUkpDMGhlM3FEQUZZaVJxQjBPd002MWx6RnFCa1dCWHVX?= =?utf-8?B?L0c1V04vWitvZjBzZ0xJWGxFcmxEazNORHNrN1YwMTBMbUpGRFVkc1VQcWRV?= =?utf-8?B?dEY3WXZqWWNyZDVZSTU2alEwR0p5anVjMnZGc0pFeXR6d1RpY2g5VVBTbjk1?= =?utf-8?B?US9mQ29IRXQ0aFlFeWNxTTh4V1M1VGJlZStxMStjOTFOS1BOb1QxKzFvWTFO?= =?utf-8?B?b3BldnZZbHJyWkw0R2Q3c1JBajFheVVvWmhaTkRqalZDbGV0UGR2RENoWFZE?= =?utf-8?B?NmRhdGdyY004RU5EZ1pSU1RKQVpxdVJoN0VQbTlaeXhLYlNHeXpBQUV2NXIw?= =?utf-8?B?STZyblRSNENiWnErSFVub21GYUs0L1NOZXluaEwzUmVIaW83cXZoKzVObGtE?= =?utf-8?B?a1oydy81NkxZWFRWOEdIclByYnVzVTk4QkJhWDZrK2laOVRhWkxHQmdzTmI4?= =?utf-8?B?ZkJJMktKUC9ZeTlLUTBlakVSRGJFLzJabzZkYlVwRTgremFxQlorSmRyS0dy?= =?utf-8?B?ajBnUHhVV3krNEdpUExzQkNZekNOUnA2MkpaeW9naHZBY0RzVGU4MzJRYWNM?= =?utf-8?B?Vmo3azQ3N3VabkVlS01wV0RUSHJZS3JacEpRUnJWdGx1REg0Um9OZXZZcUFM?= =?utf-8?B?YlcyYjNURW51MnQxTlo2eUpkd2M1MVNFcHQ3dWFsQXA5aTgweXU4YlR3V1Y4?= =?utf-8?B?UUxwZ2Y1M1dCaU5aTFdZUGYydUh3dDdKZ1R6VkFEUG43dkdROVdIQkc2SjFX?= =?utf-8?Q?mcY2/KDUpauYJ6LnMq2C6Xvis?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6db90596-32a0-4655-e9e3-08ddfa606be6 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:16:59.1732 (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: z/WNQrC1hlYo9rKsOoX9JEdB1VT6WxeEkRfoSgLv3kq7vSrSAoPkE8vhKULJHRmGR7RR8s987J1P4sAMxZ4zYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9340 The order of runtime PM API calls in the remove path is wrong. pm_runtime_put() should be called before pm_runtime_disable(), per the runtime PM guidelines. Calling pm_runtime_disable() prematurely can lead to incorrect reference counting and improper device suspend behavior. Additionally, proper cleanup should be done when rproc_add() fails by invoking both pm_runtime_put() and pm_runtime_disable() to avoid leaving the device in an inconsistent power state. With using devm_pm_runtime_enable() for automatic resource management and introducing a devres-managed cleanup action imx_rproc_pm_runtime_put() to enforce correct PM API usage and simplify error paths, the upper two issues could be fixed. Also print out error log in case of error. Fixes: a876a3aacc43 ("remoteproc: imx_rproc: detect and attach to pre-boote= d remote cores") Cc: Ulf Hansson Cc: Hiago De Franco Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index bb25221a4a8987ff427d68e2a5535f0e156b0097..12305f36552fb5265b0953a099e= a0d561880e3ff 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1046,6 +1046,13 @@ static int imx_rproc_sys_off_handler(struct sys_off_= data *data) return NOTIFY_DONE; } =20 +static void imx_rproc_pm_runtime_put(void *data) +{ + struct device *dev =3D data; + + pm_runtime_put(dev); +} + static int imx_rproc_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -1125,12 +1132,23 @@ static int imx_rproc_probe(struct platform_device *= pdev) } =20 if (dcfg->method =3D=3D IMX_RPROC_SCU_API) { - pm_runtime_enable(dev); + ret =3D devm_pm_runtime_enable(dev); + if (ret) { + dev_err(dev, "Failed to enable runtime PM, %d\n", ret); + goto err_put_clk; + } + ret =3D pm_runtime_resume_and_get(dev); if (ret) { dev_err(dev, "pm_runtime get failed: %d\n", ret); goto err_put_clk; } + + ret =3D devm_add_action_or_reset(dev, imx_rproc_pm_runtime_put, dev); + if (ret) { + dev_err(dev, "Failed to add devm disable pm action: %d\n", ret); + goto err_put_clk; + } } =20 ret =3D rproc_add(rproc); @@ -1158,10 +1176,6 @@ static void imx_rproc_remove(struct platform_device = *pdev) struct rproc *rproc =3D platform_get_drvdata(pdev); struct imx_rproc *priv =3D rproc->priv; =20 - if (priv->dcfg->method =3D=3D IMX_RPROC_SCU_API) { - pm_runtime_disable(priv->dev); - pm_runtime_put(priv->dev); - } clk_disable_unprepare(priv->clk); rproc_del(rproc); imx_rproc_put_scu(rproc); --=20 2.37.1 From nobody Thu Oct 2 03:27:35 2025 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013048.outbound.protection.outlook.com [52.101.83.48]) (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 4537230E855; Tue, 23 Sep 2025 05:17:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604630; cv=fail; b=ftz/GvnE+Gg9m1VmRqUfTZvcesbIHtTMQpIAxGK08gLmTXUpWm+Z63jF93deErhw25e91gTSqHXw1KUc8bgjP6N1Nv1+l4bFtaqAsw2V0K3EfpM4JZR6IUTA5qAdeIb7SDjJbj8fYuz1So6jB1OQafWsPD9h46hkqvEohe1ld+g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604630; c=relaxed/simple; bh=eHBGbbwMKXW6Tt64gF4m2/5IPbR4bc2ekN+6KeHXBO8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=iJTbLqcbQ0nuGlPGybqQrXlSsZ9BUulDrKeloqvDGR/6HTf7PLM27lMdy11E6BcvD2H5U6MMdYqb4n7FMx/kLqk7EdrQKaAeB9sXf/1dzy0uUkGvMaEj/kDPWCYhpA0BNNpCpwcQ4BkcjBcR2QKteMnYTvlj5UJ+GwUXMnwq6dE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kUAeKqCs; arc=fail smtp.client-ip=52.101.83.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kUAeKqCs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F6+oa1/Tlbh4gwROJytRc6EjIcfSDP8nqjmtx2lY0/OS+JEXO41Vv9vFl+9qLSTbR3bCxJi9j437mog2bSc4zBtgO5e9pZ6k3WR9Nzq+5cLrUBnTdHmkRO99fPNzG05/A76bF383Tn372aoVdhstQ6npk1vpVTYPDc5ySy30bk+Sx1mviaM1qKEQvhurocCkDSN/iqY4syABXKKSnsTSt5LIGIIFY+lA1fNCJLmeDm3890tg+boOUkiTCPdrqdfkNQHeqFI9auny83MrK64HX+uLUBq0auFZQZ2MO2Ngty1Dd4NAdO+hCjigphaPjnG30fUR/Jk74JU1t4suH5ea8Q== 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=dkxd9y2vx5fluWOPImTUFvS6ZwXY79JcAC4N9a+3Q2A=; b=JwrrOmhmr4nh0uH9P5IZ7xz0nSAapSUjMe3nM66oAJY2GDHxl3JcrxIpHIDOk4A8FI+VI9IBhE/YXTiD9xrgP3i8Jdjrf2nP3wOsqgplB7zjhTa+bJSThY8c4uRd1g64hNYeRmR08wfnIaE42WPOQRrXDGHylt1JOR2mrmGQtfc4QH2PyQ9d7YTm7H8mrpNMnHCki0TiRaLyB2IT5RFGChIchbq/YL2NR/lrcrRg3VbSpKlx9VaWhbNGXhcesfhLRPLCiyDFBEpX5ySNmefht6tBKwvo304fd19oz+G7BZhtvKsaE11FykfDcxLgVkJmteBCHxlegJuCSjCmOy3E7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dkxd9y2vx5fluWOPImTUFvS6ZwXY79JcAC4N9a+3Q2A=; b=kUAeKqCsHU0WT0DnrsKRYOtwCJ8kmAAXZVpI0HZ/wwQuPdGOXMZI8ND+24WsBNGaIWRiN0ZWvqxlUZgNqP15SmX2kwOXHRQybOAd+24PNTBcfdH1KnS/n+yaRP1SX+xCD3W55QA15LfP++lnG39Z44hcO6Y43LxO1kVqMOv+aCLtVVG9VO9SmL4eP+4zo0yQvsRF+rptSHueycVFGVVP02Rdi8nQGt06cej4FGPgzanaJd+dN6jsmCTaffkwdLk4rHhq+pnBoNo0sG6pi8o6I7xiFMIK1BQBSrnY743YJ+ZUuafLWw5i9soD0wM3cVnOXWcA+ETr8QOqy0MYjAASAA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by AS4PR04MB9340.eurprd04.prod.outlook.com (2603:10a6:20b:4e8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:17:05 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:17:04 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:34 +0800 Subject: [PATCH v2 2/6] remoteproc: imx_rproc: Use devm_add_action_or_reset() for workqueue cleanup Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-2-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=2185; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=eHBGbbwMKXW6Tt64gF4m2/5IPbR4bc2ekN+6KeHXBO8=; b=DdSPYKQziWvN9QQI11VHPEYPblg/M2nUXUMK+JSZ9n8w8ks7JcJEQ/3wbWo8sAVnQN/Vsn4mF 9MOf2E1TdFwALs3hAV9b53VGASKaf8hDA2tRA1q3u1efRujK4XbDWqc X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|AS4PR04MB9340:EE_ X-MS-Office365-Filtering-Correlation-Id: f53cdd89-4906-48f0-b6ae-08ddfa606f35 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dUFxNWVBcWx1RlpmSG1adDNreXJZYktrK2RUT3lRZytKTEM4RUw0RG9iemxR?= =?utf-8?B?dklaUEN2UDJvcXZWN2ROVTZFQnhvU2JORjg0aUg0UGR2RXkwQWR2bUMwU1Vk?= =?utf-8?B?TXdpQ3BlWW9JYXIwVlQwTFJKQktXajZZMERSN0Q4TjJkYmNOSCtIb3YzVjYy?= =?utf-8?B?eWMrbUxzYjMvWFNmb3VhSS9oeDRFTE41MnBSc2JEM2JqYWlSL29KUnE0RHRB?= =?utf-8?B?LzBtV0tCdkFRU1RnM3VVT1NvNlQ4OHo5SDdJbE9mTUdtNkdhQjRSeWZKUU54?= =?utf-8?B?VXMyeERGOFJheGI3ZFcyMkc4OWNMUmFxc0RhUTNzR081a2xYZU1GOWh2Qmw0?= =?utf-8?B?K3hKTnlWQWlRYU1jL0N3bTAvSUdRYnIva2liWDVrUWI4bjN6Y3lialJNOW8r?= =?utf-8?B?SjROTXpTbHZ1VFhidDNJN0QxR01sSlJCbjRZbTZJbGg5eGFkTXlXYzhuVm1B?= =?utf-8?B?Q2xkZXczQmswczBWSWwrZXNRRGw1K04rKzRBeksrUy9sb1NiQlZvTy9NRlVs?= =?utf-8?B?aGE4dzgzMDRzRjI3YTlEUDJJSTAzdUs5ZUNrdFdFallYbyttSkpzN05xMW9p?= =?utf-8?B?S3BSODFBVDJtSWIvWDRjQkxsTzNRS09jelBhSXh1RFN1ekRkTWl4d0xBWEJa?= =?utf-8?B?YXFUSCtDeldwSHNoS3JTSGN1SG9lSTFRVUJ4RjN3YlRDeFdLY3IzT1dtQlNL?= =?utf-8?B?NUlNOHFGU0M3NTZRbDA3TDNtRkhvT2JSdkdJUTJhcG1VN2VnWGJ4M01IY25N?= =?utf-8?B?UzFNaU9mVTBNczlxczV0aXJMSkVWeWlzV1B5djNxUkxwamJNY1RDS2J0Q0V5?= =?utf-8?B?ckxvYnlncGMyME80RUhhdWh6SG94dzM1VUNyakoxaTVjTjlOWTFTN1B6dDNs?= =?utf-8?B?VkYwdSs1VWxJMFQxTWlEM054YjZlOVZxVklGWUZNMkl3RW8wMVYwZ3Focm53?= =?utf-8?B?MStqd0pmOW9QQWNxaDFOV2RlSTVzUU5HbG02Zi9LbktwSDJkdmthYk4zOTJt?= =?utf-8?B?SGk1MFF6ZzZTZXlHQ0pmZ0d0Nks1OVo5c0hUM0dtenVMZDYzbXkraGNIQy9D?= =?utf-8?B?WDdXSWZCMTV4UWRDdWp2V1FaLzJOSldTRnVRTWRvOVBYZGJlVytjb09FUnY2?= =?utf-8?B?SStxOXJkS21acHloUjVnZXd0dCs3cVBJWDF5bUJsVUU1NzZucHJwNWlqVlFs?= =?utf-8?B?R0ZLRmt0REFhQWgrMDRNYTNnWU9Fa0JKQi80aXdvVHRHcktVbmpiUERrMjNB?= =?utf-8?B?bHJUWHBjT1dyeWh2aDNGOGFPNVF5MlFsbHAvckdpRmlrT0RHZmk1RDhKTmZq?= =?utf-8?B?UTNTNUNuOEpMdnc4UG5oR01lM3lubFBzRHJhRVM1dERwbXloOUloMEtoRVpl?= =?utf-8?B?bmo0YktSeHR0OTBZUG1hYjhYVzBSbVV6Y2REU1hHOFRFZUtIOTFNTXJEbkli?= =?utf-8?B?ZEJDK2V2OE1odmlNb3k4dkkxRlhaT3Y5MDlKRWtuaG1Ickp5TXl1NEVYckdV?= =?utf-8?B?dThlbGVnZkM0aXVNemlmOVIzQU9CV0hhQzBNekxsL25YVTk4b3lqd1JFa2xn?= =?utf-8?B?bnhybjlSamN3Y2tCWTlzc3d2SmsvcHVKanFQMldCNURxdDF0U3o1SGtsOWRv?= =?utf-8?B?UWhTR1lSbG9WTjZvbXB1UE80bVVYSWx1MytIYzk5cGRBUTFEa3ltRG0zOE0z?= =?utf-8?B?SEpkczViYWlJVTJNN29qc1NTMWFPNUVMcVJjbGZUQWxnS2ljVWIrNkg3UlJq?= =?utf-8?B?TDJadU9vZ3lydXRxYWNqZmdpaE1xNHpqdUxxUlpabldNTjFmOUxVdW1iNnY1?= =?utf-8?B?cjVxeVk2V0ZBSW1HbXRucmkzWWV1RHRVUXdhdTQybVFsa01lSVNnU3BHZHMx?= =?utf-8?B?ckZVby9Wc2ZMMDUzVWc5dkNHRXF3L0dONEFQbWRrSk1zN1cvMTdYUnkxaU8v?= =?utf-8?B?c1hWWUs3T3BKYTFqSUYvbytqMlUycjJKcm9ocmFCU211STZPRjlLU2ZWS0p1?= =?utf-8?B?a1VDVHdNQ0tnPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NDR3WC9PanJpTVZPQ2ZCNEx5RWNFMVhyT0ZqNkEzQXlZbk13eXR3K3pGMW9v?= =?utf-8?B?RnpGQ2hsQjJFbWVKclNBdjdyUmJFblZhUko0TUhxbHZPeXd4aVhFcXRSdzR5?= =?utf-8?B?NEt2TlBUb1FaUllWWjNWNUpHR25yby9xeE93aDkwVHkwWTE2WWdMaVBNUzY4?= =?utf-8?B?M3M1a21uVWd3TXp1TzRFenNyQXMxTlpZRGZZL2pRMWdLZXBpZy8wK3JReHRq?= =?utf-8?B?VUkzbXc1VVZ2MkVFRTJHMWY1UU52VitlWjJXOGQvRUdOaVdpd0o1UUVyK3Mz?= =?utf-8?B?bmxnZjlaWllSaTRZd3Nsb1lRdU8ycHFrajRlNWg0M3Q4T3NSZTZZSkJoT0Vx?= =?utf-8?B?VzN5N1FrMlJ5dEcxajJhbGk1Zk5iRUU4SFJ4MkFrdVM0anpPbTZweGQ4S0dU?= =?utf-8?B?UzRmODQxZlJtRjJuOW9YWkdsUlp4WHFjWkoxSzllWW9YaFFVTDdpdG1vcElh?= =?utf-8?B?MmRDanRwcDFkTUNmRExwZmJNQW9qd2d0MDVLYnJMWWFmRU1rZTZvaDJiQTg5?= =?utf-8?B?cUtuanF1REFFVHJGSUdNeGR6YUxiTWJKSU10eFZXVi9xdUU4ZVJCK09XeXBF?= =?utf-8?B?ajd6V1VNYVp3TjY2bTBjUFo1RlQyMmZkdGZSZzh2d0FvcEE0TG9mZ0E3RDFP?= =?utf-8?B?ZW5iQ0hWTG1JWTFGYU01b294VmVwRmxwTyszb1ViT2hBV2pvWGFaeCt4UTFT?= =?utf-8?B?WTh6cEJ5dklObTFVcGV6aFFZNFVrbjZ6TlhrUTRLM1kyZVNIQlhFRnJlMys2?= =?utf-8?B?bkxhWXdQeW1TN1ZPVzNMeURmWWhxTEsvcUhGZFdLSndvclhMZFFYVUdNSE93?= =?utf-8?B?L21LUk5OMmVNOThWKzBrTEFXRHhtQnZicldTZ0VsaVdzaFdOWU1CcmFINElp?= =?utf-8?B?RVRyUC9JaVpHQW96KytydVhyRkhIN3NpREZtaTN4aTNlUHp5cXk5cmNYUG5q?= =?utf-8?B?WHYydzJ3aWxRdCtJRXBQYm1HTkFOZk92aFlIbWhCTExZK2VZQ05FaU1vc2pZ?= =?utf-8?B?UVQ3b05Vd2NoalI3eHBlZENvd0NQN3czdUNTd1V2YlFGNkJRZnRIa21IYUJP?= =?utf-8?B?MzB6NTVOcm1XRllscGQ0Z0ZQQ1F5TFVUY1A3MTBMb2oyZmhZcDVSZjRSenNK?= =?utf-8?B?VWN5UXRQakpzR1VoY1IwdVlOeVQ0OHNlOHVsZ01tWkl0eEozRTFpNXlzdXhK?= =?utf-8?B?RHdYd2FNSzNzMSsyTUd4N0tZY2x3eFZTcWlwdHFxQ0Z2dnZPYUpaSVE3YXVx?= =?utf-8?B?Y1FQVWJJcVAxaEZUQlhISG5NUWFIOFowNEQya216RmYvMEVxNy9UM3hGaXlE?= =?utf-8?B?ZS9MY3pvS3pMcGJuL25qUmk1alZrUTMrRkQvLyt3MGtZcEF1ZDNIZEFZOGta?= =?utf-8?B?cTZCbWI1UC9vZTZzcU9KWElhdW1xSTBpWm1sUGl1NGVSUVU5YjEwU2pFZWht?= =?utf-8?B?VDBqNDhRd1B6UEZ1UXhVYVZVZ083UURwM21WR1prVnJGMXU2Z1pBZ3RvRVhN?= =?utf-8?B?U3o3aFp0QlhRZTFqMWd2YWhpZXZGQmVNcFNheGJDc3lUMmozK2tEOUIxR0o1?= =?utf-8?B?YXZmZkUvcWZTVjkxVGwyUjlNUE9KbDJQcEFyTkowNGpMcEFlVmhHdDFPOXo3?= =?utf-8?B?SjZCU3ByWDJPbFZ6dndSaUZRclg4MlNVUzY0ZFpJTmF6ZkZoOVBIeFlEZ3JR?= =?utf-8?B?bWgzRW5HQnNDZHFkb0NIaHkyMkt0SVRMU1JvV0ZCYU85TzhBbHp0UDdHWi9o?= =?utf-8?B?NE1QZ01zU2NHbDBTSjBmM2I5RG4wbUN1amovYmdQemYzdTVJYjZUSEIwRVJu?= =?utf-8?B?RExHaTdkYml5RDgvUnE2S3BLMExQZ1lDV2NvY3JUejN0UjRMWTZUTlhaMFFL?= =?utf-8?B?ZnNueFMxTnhEQyt6MHFZZUdkV3NwZk10Y2dpK0s0VWpXaFNidWpkc29Ka0Jj?= =?utf-8?B?Y1VMRlNzOTJybW8xZjlGV2xlUVlENWI5RXVLYXJ6TVkrVENUVjB6SlRmWVh1?= =?utf-8?B?eFFHbWNpN0N1QUkrTWtPSUpuUTFlSUI0V3hWL0xycEpBMWw2YkJ5eUJNK3Bx?= =?utf-8?B?MFJtVFpSZjV4YXJUMW9yR1BjdURZNFBwL3BOVVFuNkpRZWtBUjlJRXVqMTV6?= =?utf-8?Q?qYo9YVFQmoYVigR8C4G1bBOvs?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f53cdd89-4906-48f0-b6ae-08ddfa606f35 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:17:04.7057 (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: C2fMmhTe7huJqdbxEV7ZmHxXZdmSgIBMVxg+CBUl9ccO1CTopAAJRcTNYHHDX1qKDfTykh6g7xCkQdkomFzwVg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9340 Replace manual destroy_workqueue() calls in error and remove paths with a devm_add_action_or_reset() helper. Ensure the workqueue is properly cleaned up with the device lifecycle, and simplify error handling in probe by removing now-unnecessary labels and cleanup steps. No functional changes. Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 12305f36552fb5265b0953a099ea0d561880e3ff..cc776f5d75f1f614943c0525087= 7f17537837068 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1046,6 +1046,13 @@ static int imx_rproc_sys_off_handler(struct sys_off_= data *data) return NOTIFY_DONE; } =20 +static void imx_rproc_destroy_workqueue(void *data) +{ + struct workqueue_struct *workqueue =3D data; + + destroy_workqueue(workqueue); +} + static void imx_rproc_pm_runtime_put(void *data) { struct device *dev =3D data; @@ -1084,11 +1091,15 @@ static int imx_rproc_probe(struct platform_device *= pdev) return -ENOMEM; } =20 + ret =3D devm_add_action_or_reset(dev, imx_rproc_destroy_workqueue, priv->= workqueue); + if (ret) + return dev_err_probe(dev, ret, "Failed to add devm destroy workqueue act= ion\n"); + INIT_WORK(&priv->rproc_work, imx_rproc_vq_work); =20 ret =3D imx_rproc_xtr_mbox_init(rproc, true); if (ret) - goto err_put_wkq; + return ret; =20 ret =3D imx_rproc_addr_init(priv, pdev); if (ret) { @@ -1165,8 +1176,6 @@ static int imx_rproc_probe(struct platform_device *pd= ev) imx_rproc_put_scu(rproc); err_put_mbox: imx_rproc_free_mbox(rproc); -err_put_wkq: - destroy_workqueue(priv->workqueue); =20 return ret; } @@ -1180,7 +1189,6 @@ static void imx_rproc_remove(struct platform_device *= pdev) rproc_del(rproc); imx_rproc_put_scu(rproc); imx_rproc_free_mbox(rproc); - destroy_workqueue(priv->workqueue); } =20 static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc =3D { --=20 2.37.1 From nobody Thu Oct 2 03:27:35 2025 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013047.outbound.protection.outlook.com [52.101.83.47]) (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 C83543112D2; Tue, 23 Sep 2025 05:17:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604636; cv=fail; b=m1oSQ9RUHSFhSUd1HVp4Qo5trGCaXMbvYQyy71m2wX1EFz+OARk+FCGYn/U1RkRaY9tOC8TlZR61ImWpvG7UWC7VmYblKhXB/QfsyMneOaZlG67Q3C2JUj/shqkHPPJ5zQyY7E2mSgMqBe4+irBHJHQbbeYViO0KNUen1Wy4SOQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604636; c=relaxed/simple; bh=IuzcQJJFvrEXciS4p0rVadSfybgYxbudeKcH4Gwbh94=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=kDQ4k6aeP7gGbxd+sDilcePMXcXVaPdWr5ffFY8dIullVD/0FDIRV4V1Lx4kxmKMFrvetDVkXCFDwak5c98DTfBUg9gW4Oi+f2+nvEO7tm/21SCRTiyOl6wEdjosVz5iTyLooggMKCeWicwlK63HRS7lQZ8zCjvk3Ku78b/Bayw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=TavVggG4; arc=fail smtp.client-ip=52.101.83.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="TavVggG4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WG0n8f7AWgxbkWnxitZfX+ky1L98LPE6N+/RbjSmpHEa2Jpw3Ujo2UurBfPZexjH9LIq+vPR3fsYJfl+AvhjIWUAXk0at9tCu3hldxVxChAO322+OYRXY1mQPAB3xqkysGuhgqk6mkWDzW3x+qEeyMAD0EKaSN6R/fzZKTxoQ6Qz/IDXT28JMQboL2saKvufrm6rzyyPV4rh3kifLtl0pKGmJXaN0fUb/k1yjIz+HsBeHaLAF1ED9L5BDl7JLlNptb77K5J7wEdB7IgZfUcNCgqX1u3QN37+1tlvzGNYuGgLD4jhQqS86YpqtP6OzxyhhbKaCiDPos4sUg01WgTQsQ== 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=Hk6PH7MIgopDEYCRIvoYjFbSYec9N63Hdt5VAuIQw4U=; b=E5ZTtzarivZMpogesy8dxh1PzIOkwO0gpJs50gBBPLOIuJbD6A1sDYpHQhuNJ2zOLXkKDBv/+LLv0bzpj5DCavX1Lh9N1eFeGZ+iNiABFXWOW3oGnvWN2wrZraqc8E4zG8NWgS+AMSn7/fPL2JBpLKVeYccaeTxwYiDnLnEMqj1ZQa5tVza5lndqBZS9QGQNC/+lG5EIo5sLxWildRZRq2ZgQ9NjnLg+FnfEX3vdSnuLnaqZ+R37YI/M9Qpc71QlXMI+FQVj0QvNdBnCpEmam5ImwXiv9NCyXFsQwrruy0xkU8V4jhH2tcxNMk5wT+db5aJ5YqjETySYyKSqcbsgGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hk6PH7MIgopDEYCRIvoYjFbSYec9N63Hdt5VAuIQw4U=; b=TavVggG4Hl1phvOwYUMaYyA9aWlj2g9ii0snrfoMBa4+YEjPiA2De/632Gtbq2PkxS269y5yq4kjwzY+lsGed3qewAh1pvKdxa4JYJ0XZW60wlhVw/x9R+WO6zIPiEOhyrsf84j91MmcTtroPicM844Bw5zjHgdWDMkRAgpSODhtN4oFOPbOD6YCbqdyRBe6e4RC79/ap5s9IuqXJvsJ6riOXi98f0IKNt8FP/wBfXnfXh+IBiL0Bx0qfvzsD7eHBQhGOAI/txfWOhkiYvIrzx///Oi3UhToLOWpUraOmUHRJdnxnY9un9/qp0SCishya5f3Sz/myhyoOw9hq2OCEw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by AS4PR04MB9340.eurprd04.prod.outlook.com (2603:10a6:20b:4e8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:17:10 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:17:10 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:35 +0800 Subject: [PATCH v2 3/6] remoteproc: imx_rproc: Use devm_add_action_or_reset() for mailbox cleanup Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-3-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=2739; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=IuzcQJJFvrEXciS4p0rVadSfybgYxbudeKcH4Gwbh94=; b=NBq+DKNAP2aSiEfa8QfFZgf/yfexAnidT/YMdR9yB33BBnhpUwv/REGWJMIhKr2JsgFOzfb0I bwTNrUhYnpRAfFW71sxoYxo8zvSfOisOIHMS/sn+X5BEWOjItCZNyps X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|AS4PR04MB9340:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ddaed4f-a469-47ed-3ac0-08ddfa6072a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MXVIQVRRREZQbDBHUzRiQURla2tPTnFEYm1Qb25XdWRKYXFVR1NlVzY3UXRS?= =?utf-8?B?V3VNYkpHK1BHNFp1YjZ4YUo1N1BDZk05V2pHL0pwSkhFMWtUN3U2VGx1M1FN?= =?utf-8?B?aTlnei9jOHFFazNlbW4vRkNqbTI4L3YvS21LUUJaQ0tXSjl1T3dPU3BtNVI0?= =?utf-8?B?SmpqQ3lYUGpNUDZ4Szd0WkxQVTQ2THdiQXZoaFlYaStrYXRVNXZYNHZ2MlA1?= =?utf-8?B?VW8wR0tIK2Z4bER2cDBJTStkUGFUVjhIdHkvNEFXa1RnM2xweUpwa2V6QUEx?= =?utf-8?B?TGhPYkp3MXIyK3pKSzJld0tFZnZybnRvd2UvOFZ5VS9OSk1Pd0hFc04xaFZB?= =?utf-8?B?N1ZFSENxL3BZT05oQWdzbmUwYlN3bU9aNUNBL1lKYlVnVjZYOXFXQURlN0d3?= =?utf-8?B?eFdlOEtnUGxGcSs4cjJzdlVYb0Z2OHRVaEgrakxQWmh5ZVVWelFJL3d4S0RQ?= =?utf-8?B?SWhCT2tLRTVBSENuWTNycTFxUzMyTkVMY3pEMlRnQkxXMHR5Z29KZ0VVMzRu?= =?utf-8?B?TmdUMGd4Sm9XUHpzeGdCdDFtOTc4eUVqaHo5ZVV4OXhtM21FbkpTU0hvMEdP?= =?utf-8?B?NFZ5c21IdENyV252NlB5bHFOMkc1NHBsS3RnaTRJNlErbmNzcmFHOFhZd2VE?= =?utf-8?B?cjFCQTFxai9Ub05mU3BHUkcrM2V4SW5ibkVMWmpEdEVBTHpZNDJsV20rRjBJ?= =?utf-8?B?TnVTSnVmdmpic1FDRHp4SmRZQ3NQeStVaStWVkFYMnA4NktCOFFoVFBlQ2JL?= =?utf-8?B?Ym1OR1BFZk9kam55SkZJWXdHTmFOREtpNzZPY3RIMy85WUI5TEphTUJDRHNT?= =?utf-8?B?NU12UEpWdWxKZ1ZiSzRtd3Z1N2FUZVVIL01IeDNPbWNEVkpNZXE4d0RkZUhX?= =?utf-8?B?cW11d1N5ZitvS1NIZEVsNmJhdkZQbi9jZ2lyendJWjAzWGRwcDZpRC9tVWtk?= =?utf-8?B?azJIVXF4MzBpalZndzRoQ1JaSCtVWGxoVW9oK25WRUowRnV2VG15d1pKeDln?= =?utf-8?B?V0p6bHRobzlUMnIzZFVrTFdOT1dzR2Q1dUIrSk1DaU9RWEFteEhtN1JwNytk?= =?utf-8?B?RTFQOVczM016K1JwS2o3WUJIcW82ay81YzZ5MngzNmZlSzRPTXQ3NjNFR3hw?= =?utf-8?B?MEUvYy90MXZCSHJJblZMcWxybEwwSGZmTFdmNjFDcEFKdkVIV2h4WDdFKzhw?= =?utf-8?B?MDhCWWVpK3dLNTVLbGZhUXU5cVVqcUxLQ3ZEYnU4UWlWNnlEa1pRT1F5RHdK?= =?utf-8?B?b3dibGhvd0dUZ3dMaUtpZm4vYUFKY1BKeFBKMjA2MHhaWm4yQTMzcnlUZ3li?= =?utf-8?B?VGN0RUFFdWh1SFBnMlpraDRTYnFHb3c4SGV0NTRmNmp4bVplbjlLMXlpc1FX?= =?utf-8?B?WXdVQ0dPeFM0OUtYZVV1TFQ2Z01NRDhONSt4Zm1CbFpibWRJeDVyYy9LTWpI?= =?utf-8?B?M0h5U3IxdW45N1VFNGZBRzVoeUdacHdCeTBHL3RhTEs3UmxvZDAvMWtrdy95?= =?utf-8?B?VmFqNDNOaXlqZzN4dmRqN2JsajFOMWdoOWhTVHMxVG1acE1aR2Vhc05IZnZo?= =?utf-8?B?bVZlVDBYUDZqQUllUVpNaEVKSldWQXA1bW9zYTA1TnpFY1FUeDdCYXdvVVhT?= =?utf-8?B?WXdDbHFuQlRTUTg2SkhwSjUrZmFEdmtqaWt4bURQeDhCak5RUHhtUGxXMWNk?= =?utf-8?B?bXZrYWFsWXdjeW5vdVM4ZWJWMS9MUS9CcFRCc0lMUm9CWTZNRTRKbzRyU3Ji?= =?utf-8?B?dUZDM0E2SXo5cWErN3N0OVE5SjNSVkY3WmFJRnlhck1XNS9CYnBhWVdEOWhH?= =?utf-8?B?VSt2TitaVFV5c0djYWcvMVJhTGZSbzY5KzM3RzJ2VDI1dEVjR1BJQnJzNjJY?= =?utf-8?B?cWVBelI2ZkpvR0xvQ3F2WDZoTDc2Y0ZPeHM0ZlNQMVp3cTdDdkk4cEt4S3dQ?= =?utf-8?B?ZTdob2o3amdSYThlNStOUXJhM0NJY2pkWW5aUWNnUFJpVVQrNXg2bGtIdEwz?= =?utf-8?B?YWt1YjlJbnJRPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?anJLcWZjN2pPZThaQmp0NlJVaDVnTHpZUnhiSGlPMGdOUnJLUkFraGZ5RHls?= =?utf-8?B?YWpjWGtkeWFFWExNQWEwL25SaS9MV09jMWlydm4zbHowMGVLNks2dm9EMmtv?= =?utf-8?B?T0E5Qk9MV1BYUVBmeDA5ZFM0aTVGUyt0L3g0cWI5dlpybHNPdTBsSnNLU2o0?= =?utf-8?B?dHhJRXVBbnRXVWJMYnArLzAvaUJVczlNN3d4MktBUkVmS3Q4Y2FSWnhJZUIr?= =?utf-8?B?VjkvWkNZS3Z5b0pBVWtWZXJoVnA1Y2RrdzRKREUrVXFTZDdBN21sa0M4SXVp?= =?utf-8?B?bDRXNENrSkw2bk4wMlA0MTVkU0Y0QnVvYm5kOFltbXVyeHR2VFR2aXl0M1V3?= =?utf-8?B?dkhxRnN5ODFkcm4rS0x1d3l1Y0g0TFY2N2MwamJ0RWIwZWluT2hvekt4SFBB?= =?utf-8?B?TUNqRUpabUxRRzJJQ3I0TTN1d05hYmhYcDVIbnk4RXhjbnlhb25UMHBwYUJn?= =?utf-8?B?NFBTcDR1RmVZUkNoaWx3eEN3QmZtQU94b2xpeXRCaGNjWFcrWS9HL3RyaTNn?= =?utf-8?B?NkpmeGlKbDdJd1Z1R1pOamlwei9vNHhLNWtoOC9BQk8vVldqUnBiT0dCTEZQ?= =?utf-8?B?bkRjWDc2aVlwbGIyOGl4S1dJU1pRdlY2dFo2UFVzVXc3ckd0aDl4UmQwR2Q1?= =?utf-8?B?YVZtRHpGRHpTNll6eDNGdFpwWklSQmJtWEtCODR6MGxuMzQ0QzJUODFzck4w?= =?utf-8?B?Wm5wcG50RU01K25pSllBLzhYcDE0YXM3c2FJYkRLVjk1SkY3RFQxbGc0SExL?= =?utf-8?B?b1NlQXhGSERHRTVadVJEaXF5RzBXNGhlaGJ2Nm80enkwU2hFNnhRT3AwRmNH?= =?utf-8?B?bnR4SUFUaDdiWHdRZzZEUDdLUUZFQStWR0ZPUUVxL0Vxbmk0M2ZDS3M5bnZO?= =?utf-8?B?Ulp0djdSWk9BenN2NnlZc3g1L2lKN2tWck15akxPY0RDWmtuWmUvb2ozOHgz?= =?utf-8?B?eWZXL0U4dVBZblN5MEZiRFo0QWU5OWl0R2RreTJWb1ZUTjFha253Z09RMC8r?= =?utf-8?B?MnplbTViMG5ma3VPR3NSc3JISjljeWVvRk1EcmZrZk9wVnNDWUNyTC9GV2Qw?= =?utf-8?B?YTdraU9IRy9tT3FnVWNtbFZUUG5WWHcyUFNrU3JObU8wMHdsV1FQRC9EV1Yv?= =?utf-8?B?QmpjemtIVTB2dDhTRzU0Mlc5RjJKSGRjMlFDaHJFWGJuUHVOeDlHYVd0Vm5p?= =?utf-8?B?S3QrQStiN2dyUlE3MytpVlF1OU5lZTVVdzFFdDJPdlRtM2ZPdDMwWnBHbWxZ?= =?utf-8?B?RGp0cGVPQXU1NVNhZk1NcDczYXNnbkhLZjc0cXRRVVBJams1RkxGTXREUy8z?= =?utf-8?B?bkNKbTZTLzZubjRzQXNSWnp3dm1iVHhrRFFKTnJmRUNIcXBiZzNzWmxmd2JN?= =?utf-8?B?NUVsaTJYZ2NjV3plRkRFNk5DNDMybjJBOHBRdU1Tb1ZaMXdGYktDZk1COXZ1?= =?utf-8?B?aWZQNUtnVENiZ2I4d2tKQmNSaWpPeVRvemlxWDdMMnpLbnUwWk81Y2NUU1Y5?= =?utf-8?B?OVFRSFc0Z2dGeGhsU2IzVmowVnV1UmVqNmRwellzeHZVWFlCUXkwN1ZXL2dv?= =?utf-8?B?ZkNZWEtQRnRtdnV6MjI2d3lGVGNndTRzSmZ6Ylk3Si93YXNiaEorekxqa2gr?= =?utf-8?B?Z3JnR1IyMTZJRWs4czFrVTJhUldTVitUeXc4akswNmI0WExlWnlKR2dvcU9O?= =?utf-8?B?d1AvVTVhNXJnN3R1blBMb3I1TEI0WlEveGZ5VWZNV1gxRk1BL1dITkxVQ2hP?= =?utf-8?B?QmcveDFCMXVSc0lqWE9aOU5YZ21ndks3Nkk0SnVnKzh0VU9Pcnhqeld5NUxD?= =?utf-8?B?cW93WE5UajVsNWRHNjhPYnY0YnhXRktkMzArUmsycTZjUU5VcGF2OVpEMGEz?= =?utf-8?B?VDlLRS9NT3dxeExkQTVtTEZHZ3VJSjF4NFRyU2JUbFFORVNhMnNkUWpkZ3Nl?= =?utf-8?B?dnhMK1EvMkFOQkxNeG5xWkVjZzFmTzF0bk9KUG9kYTE5clllZkZURnNLeXJ5?= =?utf-8?B?aTFSK1JOSktOZHgwZU1RUTYzSUIrZzREK3Ird0Zocm10S1owMjR1eWtYRVB4?= =?utf-8?B?akFYVklKaFgyMVhhWDZHbkVUOVg3NThmMFhtRFlhUE9SSTk0YW5qU2hHZncz?= =?utf-8?Q?iloY89xAkiOzcA/+iUHZrNEDA?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ddaed4f-a469-47ed-3ac0-08ddfa6072a9 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:17:10.5276 (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: tlsQpa5n2FPRMp8Ho9ZawGozndSESaxwh1pPATI2BkuwcTPY/03DigWB3PLKRWQNwA1aIuvQzl9AWroPoU0Kng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9340 Convert imx_rproc_free_mbox() to a devm-managed cleanup action using devm_add_action_or_reset(). Ensure the mailbox resources are freed automatically with the device lifecycle, simplify error handling and removing the need for manual cleanup in probe and remove paths. Also improve error reporting by using dev_err_probe() for consistency and clarity. No functional changes. Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index cc776f5d75f1f614943c05250877f17537837068..e30b61ee39dacc88f9e938f8c6f= fe61fef63dbda 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -93,7 +93,7 @@ struct imx_rproc_mem { #define ATT_CORE(I) BIT((I)) =20 static int imx_rproc_xtr_mbox_init(struct rproc *rproc, bool tx_block); -static void imx_rproc_free_mbox(struct rproc *rproc); +static void imx_rproc_free_mbox(void *data); =20 struct imx_rproc { struct device *dev; @@ -780,8 +780,9 @@ static int imx_rproc_xtr_mbox_init(struct rproc *rproc,= bool tx_block) return 0; } =20 -static void imx_rproc_free_mbox(struct rproc *rproc) +static void imx_rproc_free_mbox(void *data) { + struct rproc *rproc =3D data; struct imx_rproc *priv =3D rproc->priv; =20 if (priv->tx_ch) { @@ -1101,15 +1102,18 @@ static int imx_rproc_probe(struct platform_device *= pdev) if (ret) return ret; =20 + ret =3D devm_add_action_or_reset(dev, imx_rproc_free_mbox, rproc); + if (ret) + return dev_err_probe(dev, ret, + "Failed to add devm free mbox action: %d\n", ret); + ret =3D imx_rproc_addr_init(priv, pdev); - if (ret) { - dev_err(dev, "failed on imx_rproc_addr_init\n"); - goto err_put_mbox; - } + if (ret) + return dev_err_probe(dev, ret, "failed on imx_rproc_addr_init\n"); =20 ret =3D imx_rproc_detect_mode(priv); if (ret) - goto err_put_mbox; + return dev_err_probe(dev, ret, "failed on detect mode\n"); =20 ret =3D imx_rproc_clk_enable(priv); if (ret) @@ -1174,8 +1178,6 @@ static int imx_rproc_probe(struct platform_device *pd= ev) clk_disable_unprepare(priv->clk); err_put_scu: imx_rproc_put_scu(rproc); -err_put_mbox: - imx_rproc_free_mbox(rproc); =20 return ret; } @@ -1188,7 +1190,6 @@ static void imx_rproc_remove(struct platform_device *= pdev) clk_disable_unprepare(priv->clk); rproc_del(rproc); imx_rproc_put_scu(rproc); - imx_rproc_free_mbox(rproc); } =20 static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc =3D { --=20 2.37.1 From nobody Thu Oct 2 03:27:35 2025 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.8]) (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 B13743115BB; Tue, 23 Sep 2025 05:17:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604640; cv=fail; b=HFNKxXoMYIh9dydFsieYNRwY8BmsM4sxf1jD+3++6rD+Qw7v276Y8+d4/9fN1d/wfqwC34vfBy/92bzQKy2GrZQ410BdqJvJxh/FnViVURgVGg6dOQzf00XVod5O3bt9yhvYsD7ZUcOBWeC4E0z50bD4rx51ZiiBAZb0qv2tC+g= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604640; c=relaxed/simple; bh=XDzeXf1ckrz8GfTX3CX3VDC6Y35iLF4Bd++eK2ze6Rs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=EGSoDQFrxzRGt7QTt4iNCMpej9/bUl9GdTiOz5aKM7OnP18EXjhNlRTdEiwUm3yLpwxKEzonUNNsjlzpuQS6q9+9E7u0EGjNxkirK4KUODgPTePHGiuDkPQemJSq2p2r7fdtWvoC4LsjuSaUkRuBdkpZNQdsGk72rCLjg+PuzRw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=blLFBLIN; arc=fail smtp.client-ip=52.101.84.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="blLFBLIN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r4KKTlfwUlIfP7yqpNmjl8a0g+cimpESTieZ1rZxGa1mEuHk7/37v6jYlRVWqfu2A8uKurtXo/akxkBisTADwhaCzs5jL7ClN/HFz3gkmKXNurV8zg8hB2jf1SSTjpYmn8/74ndjLC1KDwwxH6Zmyds0eI/miy+ocLIqkefvbDbcBX9lUVfZe+hFVMW3GOQ9MJjyd/N12XAQlvh0WPp+fuVdiSzO9aY+Qz9NKB0yVFMu/jV7P4v3WkAJYcZs8oduus99EkMsF/wd21Ddv0po43VeNVidrMLZSt8JMpkExoeFJAPPDAANNBAWk5Ih6ZJGPZhHfrdmSf6CufsdIM1vcw== 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=i70RfDXxp7AIcL13e2v3jJ2cFh/9SeA3eqySQklve3E=; b=nDjxI0NBS6vbrtiRklTFJULWdha+YF/HDIhljhkCcd2k6jPR8/DETjFiI8olJZIjV1msteCa/iARz80F69Qw6xg9FdNsRka8FRMaGsou+7zjm9O7AWojyvm6faXf5N2KUfFmARfj9y/Ns4OgV4UTJBtMBlCEBDAa8m7pmwgxsvWwHUOrTGYrm6W2vRzN2Lpbj7eFi2chRczqzIPL9gEenq2XjhyTaBMrGFJKsab+n8zVvhrI8dj+bORZeL+Rc0BXu+QnjCKzpwPEoIqx8AZUAXeZ5a+qwHOJRG3CiRD61iLHTI/AjddwB2sM/s8uThtGap0IbU4+dEGGThfAhJaWTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i70RfDXxp7AIcL13e2v3jJ2cFh/9SeA3eqySQklve3E=; b=blLFBLINGzISd0iAdGwcoZ/4nuCVuJvKSEUFwyI3PXGBP+5sabkc21F3eRviezhEoSuOaMZqFywSSGkee6JegBM7leYyrO8jPZMacp4mpS0pQOpRAH3KwQX9tGWagCcl3zigCmz0k/K1KCvmiy1qLXStQHcm7OmfVdYrv2+CViWhvA64Mhf+Rv3UXsrAEQuC2zyaKo7GPFmIKg1XHQB3ZJVyMpe/XGX+GVad5KlA50lrUFgdHwwQFoQoxwfkBsOjqXKNF9vqJK1E6fdp2gMo5QrYTfYC8XbFUYBlsfkAlYhRCh0i+qftvWuPiZyQWX7e9sO5l/NO3xZdlAhHV/CTLQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by AS4PR04MB9340.eurprd04.prod.outlook.com (2603:10a6:20b:4e8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:17:16 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:17:16 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:36 +0800 Subject: [PATCH v2 4/6] remoteproc: imx_rproc: Use devm_clk_get_enabled() and simplify cleanup Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-4-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=3725; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=XDzeXf1ckrz8GfTX3CX3VDC6Y35iLF4Bd++eK2ze6Rs=; b=4KC1HW09f28p+h5nUJuUj5EROStGrtu/oWLmufpG1nYfMkSEj/B7g2rVpWKUTIXawiRls2Qzw FfIh2MjaEK+CCo/zdJK+Rk8sDHquWVmStybuKThDf/U+T1WwEv13w8s X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|AS4PR04MB9340:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ee320db-e0af-40a6-9717-08ddfa6075fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QjdvYlhmNlcvY3BpTzRBVzNXVEN2NkRMUk1hYmQyU1hpQnhHUzVWRitCM0E3?= =?utf-8?B?aWFHRURIV1hHazdIQzlMVG5Fako4aGFDb3pSRVdOQ2FJbUxwdkVJNXRzaXB4?= =?utf-8?B?V0ZpNmdsTEF1M1BCdnJiZDNKZXljcU9FcHRmRjZmUkVmb2xRaEZaRU5TTDd5?= =?utf-8?B?LzVhWmM2eENnMEZUMit3RStUVVhZVlZaUGM5bGw1ZExmdGh2b1BheGZlVHhp?= =?utf-8?B?ZjI1bUtzOUYzekNTbFQrZ0plUytrUEdnaWhNcWhBaVpXdXF4L3BrUTBHUFNS?= =?utf-8?B?TWlyUVlvUXY4c2NkdGpJWEtNQ3pTdkJ5MEZxeW9jdnZ6cXZZM1VCL2lkRU4y?= =?utf-8?B?a01pN2NrUmZDeFlPMHc4OE5LQSthem9lVjFoSWxwYXZiTlNIcTY2MjBnYUZI?= =?utf-8?B?YUtLcThod20rWnJWVHRELy93UkdoeFJRbUZOemhjSGU3SXRNOXdQeEMvUnVV?= =?utf-8?B?bmlSMGRLcGN5RkZvVThRdzdFb2lubUpyWkZYNkFnQlpST3NOTUVWcC9od0FE?= =?utf-8?B?aWptRzVNSit5M1VTQjNNOWdmUXIvNEVzSk45b01OZXhKSEh6NkhZMmhhQm1D?= =?utf-8?B?YXhrd0dYUkpCTUFnRGlJc3pTUjkxVHVQaEUwc2NjL3dNbUh1VGRDOXZFVDl0?= =?utf-8?B?ZU93NVV3NkZGamltYUtQMFgwRGVVdEhMbGprQjZoZWhCVUJOdi83NE9ud0dX?= =?utf-8?B?ZzF4ZVBGYVdPcE9RbEw4czcvVmFwM2NHRnRLV2FrTWVUZVZjcDFyNzd4SHc3?= =?utf-8?B?SmI5VTc1Q3NzRThqRmFINDZRMi84U1RON2g4V1k4am1Qb0FnbUExTmFLYVpx?= =?utf-8?B?c21xMEVSY09wUWd0eVZuZzc5eUx2cjdHQmJyQ3orMS80UmpVSFZ2YlgrenRo?= =?utf-8?B?dVpCdmVTcUkva2t6QkZLdE4zMXk1N0Jqeld5anlWdmFxWWt1aENrU0o5Sm1k?= =?utf-8?B?c3ZBZk0xbStmdkhsVkRzL3Z5TDVHNDE1STNrWFN6OHVna3k0cy8yMHA5MDZO?= =?utf-8?B?a0pIUi9EQ0pIZTBIR1Fkazl4U29UQ1dHODRGK0JYNUhYUXVnV2ZSY3Y5cGYz?= =?utf-8?B?YWIreVhsNnV6a0ZJRWRkSm40alhFZ21JTXpJaFVXbldDQVM2amVCeTlmdkt6?= =?utf-8?B?aGRVclFZMVJCRjlmbm5wVDBkb2t5Uk51clNWamJLU0VCOGs3K2VVeEpoMFpM?= =?utf-8?B?ZFdmMkdQNWdnbFNXY2g3MjdlbnQzbHRzVVVVTzBzU0FOVlVqTjdhc1Q1ZEpO?= =?utf-8?B?bWpOMUprdmwrVldFZ3V6U2xLWG5kclJUVHEzWEpISmk0V3czd3VGYUhaN2NI?= =?utf-8?B?dWlISnZGWkZYcEpwYy9wSTFDc2s2ZU1ObVJBMnk5SngxRWNRaUtYeXl0SlFF?= =?utf-8?B?dngxaG5TRUIvVGVBT3p5VEtucWlLUDVVbEZVTWlQTlZQdFNFUjk0dXVieC9v?= =?utf-8?B?TjdNZ3lya3FrellqOFcvMUVsQnpyaUwweGNzOWlQOUYzbk1YZmdLMTE5ZndF?= =?utf-8?B?T3RrMWZqaDlyNGpmWS84YTZIOWZRSWpPV1Q0NXdlSERYeXpaeEE4b3QwMTNN?= =?utf-8?B?TXUxdUJWaVRwcnVxOHZZNjk3SjJsMzdVdFlKS00rWm04alk4WTZWdytURlg5?= =?utf-8?B?UHlNSHRuSk1EMjkwN3UzWDNscmMzZG9veDg2RGM0NElSSXUzYk9OR2VXMVNE?= =?utf-8?B?bmRlUmNwL3RnNlRFNk9ZL1B0ZDNhSFZ3L1VZVzg4R3hGUVlTRkpuZlJZckEy?= =?utf-8?B?U1Zjb2hKK2wzbWx2TEdTZEQ0cE1rTlo1OWkvS0ZFMUZyWkI3bFJ6eklWVUFC?= =?utf-8?B?ekMxanZTQ05DeEpPaTRxUWVvWE5aNWZZazBsM1V0Vkl0R0Fib3hPaWxqSi9l?= =?utf-8?B?eThjMmRKQkVLUjVzYTVHWE1VcWREQk1ickM4bXZWaW80djRFN2M1SmtvQ3E2?= =?utf-8?B?dWtRVGswcHZnNDF0UmczTm9wTU9BVXdSLzY0Q2dPK005TTJxVWc1OElRT3V4?= =?utf-8?B?b1dqcERtSHZBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aFMyVlNuMFp4alJ2N2FCTEtVdXJSbzkyK3VNaHVsK1dpRy9nTlJuaFgrbDkr?= =?utf-8?B?YzFXTHVkRFAzSTdlWWpXWFNKYVFUTjNpMGRURWNGdVdJbUhuM0M0VmxLNkt3?= =?utf-8?B?NWpQUUFLcTlLaFdNZjh5THN0dmkveXYzMjc4R0xqdUFTNWsrYWM0Vlo4ZGgw?= =?utf-8?B?cFlQd3Nhak1CNmNORC9iMStBTUFEZVRXVUIwMlVMNlc1d3FuZDd5bVNOUFJm?= =?utf-8?B?TEJHeXBLMjJPV1E0bVRYYXFOSm1IV29uZHNRT0gzSFlvb3V0NHh2Rm05UFI1?= =?utf-8?B?OElBdVQ3cVBmdTI3Y1lRV2FsbXp4aVFKNm1uaTg4WkxSWW0xTjVEM3E3aXNV?= =?utf-8?B?ekVOMTBPV01nMWxtZ0E4Ukx0N21Da0h4VkVjWFFkTDY2UkNMVXBBc0NzbHdJ?= =?utf-8?B?K2ZTb1pvTHFYemtHZnErY2NkeWNaR254ck94K1BOdy9aN1ZwSjFTSm5WUktU?= =?utf-8?B?YW1tS1lmYklRVkRHTDloMzdESWg3cWpiS0VrWXlDb1hjbDg1WGFEdzVYbm9a?= =?utf-8?B?SmI2bElMQ0xGeWNIMnVBWndmTG80Z2cydS8wQWtKLzNnN0JoYzhRVU9wQWpq?= =?utf-8?B?a3lUSFI3cVdYcG5XTHhNckdvUSs2bE1sQWZWNmV0Q25uTlhFRGpRWUw2bTZj?= =?utf-8?B?NnRTUjYyaC9jaTRmK1dOdTN4M1JEZWUxaFA1RlE2VW04UFBPZ2lpbHo2OWNI?= =?utf-8?B?NHpLem5GZThUZ25wZHVoejlBbHNtaXVnRHNiZUVEQWJRenI1dlgvcnJmT0Iy?= =?utf-8?B?U0hSdEhINVFkQTBCWkpodHpvY3QwWTMvUEhDYUJaV0xEVllrM1phVWx6ZlRq?= =?utf-8?B?OHJYM3NyL2NUeFVNQmM4ZjhPSko4bklvTGNvaWxoT05ISi9FNnNhZVdqQndT?= =?utf-8?B?QVBYMDRLV0I0YVFHT1plalRxaGNBWEVLdjBGNTFreUFqVytPTU5pWWVKVlF4?= =?utf-8?B?MFJzMW14SEZrdU5TRmpCVldIMXNOY0JIYk9tUkJKd3dKcDBNWlN1UTlkWUEv?= =?utf-8?B?L2xoYzgvUXlWTDNyK3grM0Y5UVhkeGpsLzlPRVp4VXJudms1SEpDZFltYit4?= =?utf-8?B?U096N2laQXYrN2UvTU0vdUJwR1RPMm1udkh5bitTL2gvSm5sWXM2NGxyVVcy?= =?utf-8?B?WUk5RjJhMGZEdTFZVGNhSi83K3hodWgwbzhGSERFb3oxdmJnMG9vWUJTN3U3?= =?utf-8?B?d3pUdmpVYS90RUxsUXRWSHlFNm9NMTBnRjZYYWdUUmVocU5UTGNiZG93YWQ4?= =?utf-8?B?UDdGNzNuSTR1TGtzR0ZvdkRnRmE2ayt6RXV1MVhiMG9ZdHRtM3g5ZzZXbjZ5?= =?utf-8?B?c010U0JUS0tyOGxlVVNsUTg1YWxVNjBOMDYwejRwYy9NZFNzUnRSN2ExdDRT?= =?utf-8?B?SkV5TE1GakZybnZOb004Zmc4bUJZcExmQzBwYlVudDBHdXFpM29mYU9TNlRL?= =?utf-8?B?bWk1Q1Y5bGhQbE1zb3NlVXF6TnhUVVpHbW11K3lYVjZnb2VwZXo3V21VZjY4?= =?utf-8?B?K1JlNHZZcmJ0YS91bWlOanNLNGhKREpyOUFaeGlNRU1mTUwwY0JSSi9ULytx?= =?utf-8?B?dk4vMVN1YnVDbG52d1dUbHl1MXBwMFd6cEQ0ajB3akFxKytZMldDUzdIaGl0?= =?utf-8?B?NWMxQjdDQXN6Zll6U0w4REdVaHF5V1FZZmg5WnhpZkljT0hkaDh2NWpOZ1U3?= =?utf-8?B?bjFTN2pyYUZ6MGFWQ2ZWQi9vTVZMUThHbkFyM2hTY3RhQVZNckNIbC82c0k5?= =?utf-8?B?cGRKTncwd2FHcFQ1dlNwazVMVHhxVzZ4QndCTFBBQjV1NEpoNXZSZ1FSMXcw?= =?utf-8?B?akR3dlppVE9icHNWSXNJZ1NHWkRYK2ZGQUFxM3ViVHVibWlmZkZPWmFxanM0?= =?utf-8?B?MCs0cnlXbUpWZmtCYTJKWUdoZDRtMjhtMXRXb2F4UW95a3AxeFhoeHlFcmYy?= =?utf-8?B?SVZSZzA2V21aa1ZJWFQ1dFRReVpUdXIvcXZySDJjMjZTQWh5OE1JWFY1MkVm?= =?utf-8?B?ODVFNjBSUVpxR3Y5c1o2K0hWdUV1MFBUT21aWXB3dkNxNE9POTlXZ201dm5a?= =?utf-8?B?T2FLM09ha2hSMkduMGF0VjlCVlNiZnNSZDRIQjkwZ2xiL3VKSmZDVUJFUk5v?= =?utf-8?Q?tRIPhyE/cIfQguFRay0Wl2R/z?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ee320db-e0af-40a6-9717-08ddfa6075fa X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:17:16.0572 (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: u7sAeXFkuGeh35770Ko+TyiLQHY5HbHO/bkeSvi6BGOSku5P0NlUR0jKQYnTRtfmJaer8WCtRhYDX/+svWqfZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9340 Replace separate calls to devm_clk_get() and clk_prepare_enable() with devm_clk_get_enabled(), which combines clock acquisition and enabling into a single managed step. Simplify the probe logic and remove the need for manual clock disable in error and remove paths. Also, update error handling to eliminate redundant cleanup steps and use return-based error propagation where appropriate. Improve code clarity and reduce the chance of resource leaks or incorrect ordering in cleanup paths. No functional changes. Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index e30b61ee39dacc88f9e938f8c6ffe61fef63dbda..42014b42bd8d3b46b1a898969f0= 419e2e6a71528 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1006,26 +1006,19 @@ static int imx_rproc_clk_enable(struct imx_rproc *p= riv) { const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; struct device *dev =3D priv->dev; - int ret; =20 /* Remote core is not under control of Linux or it is managed by SCU API = */ if (dcfg->method =3D=3D IMX_RPROC_NONE || dcfg->method =3D=3D IMX_RPROC_S= CU_API) return 0; =20 - priv->clk =3D devm_clk_get(dev, NULL); - if (IS_ERR(priv->clk)) { - dev_err(dev, "Failed to get clock\n"); - return PTR_ERR(priv->clk); - } - /* * clk for M4 block including memory. Should be * enabled before .start for FW transfer. */ - ret =3D clk_prepare_enable(priv->clk); - if (ret) { + priv->clk =3D devm_clk_get_enabled(dev, NULL); + if (IS_ERR(priv->clk)) { dev_err(dev, "Failed to enable clock\n"); - return ret; + return PTR_ERR(priv->clk); } =20 return 0; @@ -1134,7 +1127,7 @@ static int imx_rproc_probe(struct platform_device *pd= ev) imx_rproc_sys_off_handler, rproc); if (ret) { dev_err(dev, "register power off handler failure\n"); - goto err_put_clk; + goto err_put_scu; } =20 ret =3D devm_register_sys_off_handler(dev, SYS_OFF_MODE_RESTART_PREPARE, @@ -1142,7 +1135,7 @@ static int imx_rproc_probe(struct platform_device *pd= ev) imx_rproc_sys_off_handler, rproc); if (ret) { dev_err(dev, "register restart handler failure\n"); - goto err_put_clk; + goto err_put_scu; } } =20 @@ -1150,32 +1143,30 @@ static int imx_rproc_probe(struct platform_device *= pdev) ret =3D devm_pm_runtime_enable(dev); if (ret) { dev_err(dev, "Failed to enable runtime PM, %d\n", ret); - goto err_put_clk; + goto err_put_scu; } =20 ret =3D pm_runtime_resume_and_get(dev); if (ret) { dev_err(dev, "pm_runtime get failed: %d\n", ret); - goto err_put_clk; + goto err_put_scu; } =20 ret =3D devm_add_action_or_reset(dev, imx_rproc_pm_runtime_put, dev); if (ret) { dev_err(dev, "Failed to add devm disable pm action: %d\n", ret); - goto err_put_clk; + goto err_put_scu; } } =20 ret =3D rproc_add(rproc); if (ret) { dev_err(dev, "rproc_add failed\n"); - goto err_put_clk; + goto err_put_scu; } =20 return 0; =20 -err_put_clk: - clk_disable_unprepare(priv->clk); err_put_scu: imx_rproc_put_scu(rproc); =20 @@ -1185,9 +1176,7 @@ static int imx_rproc_probe(struct platform_device *pd= ev) static void imx_rproc_remove(struct platform_device *pdev) { struct rproc *rproc =3D platform_get_drvdata(pdev); - struct imx_rproc *priv =3D rproc->priv; =20 - clk_disable_unprepare(priv->clk); rproc_del(rproc); imx_rproc_put_scu(rproc); } --=20 2.37.1 From nobody Thu Oct 2 03:27:35 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011039.outbound.protection.outlook.com [52.101.70.39]) (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 9342E30EF9E; Tue, 23 Sep 2025 05:17:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.39 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604647; cv=fail; b=Uo9MqVYdrsYZfKXeizud7jZ2wNe9KrR4gJpglrCR0xlmiYaz9Xq1Gc4ibKoGuxuOBwIpWl5e5Jtv4HdRbSOBV3t+e84n1wRNXFWLZdVfsRSlgwr0Q+9Rcd1b7MGvLbZSWdOlOrLTPzTn2mkU/qOv2g8FFECDo5Z8H1HOSzXrF7I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604647; c=relaxed/simple; bh=1d9mbsHmcu9gRNqcfXLbJ+CSpL30IViUqbopCkfXdIM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=RXBBs61GERzKZzCHNPo250dQVnrr/34ycMKzJLgo21b6J62LDPLduDrA4NjrNBG0c4A8eG4/6vmFMHhUCuvbyfGzitMiqqa0Pegqth7FqrD3nBql3l4M0Ur/K8Lvy9Y+oBbX21yD6zywxut0TUUonmJNgeGiiwbouN7EFM4zkCY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=LDJL1tqB; arc=fail smtp.client-ip=52.101.70.39 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="LDJL1tqB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qru+RZdVLfOSTNiwQZO7jkAhMefXtcMu1xXMdDdPoZnvhIgpgkbIcXGcWLstrGtvRP9G4m6SlTb91+EQqAhgsxS4jSX1wW3FkXa3PZ7MepZ20V73Nqem22scl8XGDAQJIaP9ZWxOEexLEmQ0Hd2n9re78zlm/WnkSMIOlS97/rlKgD+150jH2qZGTvPSGU2A+EKFSljNYIJTwtt/DhA8gU8anE/0ZnVByvLFvLj/MoSSGhXxidwJAXckECSzmWjYUmY22FnXZJul6aTff4+3s5t/R90LDXCYuBR6iFgWMjd1EmSSoYbCQ4xQEg1I9pn35KVYZeA7EB24c3kH8ctckg== 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=7eDUYsa3CWw6A47wTpbAneTH3Z2L6+y5nLHO17VG40E=; b=lWSrmVBipVPKpNEeaCZLN440ywOYZVwyo6V9Pb/1INV7HtOKqZsck3tgQDNM3HLFcrHQ4/lDK+R6G6mFD1/EoFw8F/hgKw2qvGZd4vc4nyAngl9K+AI+wQ5l0PeLhe55A55VSTBJVDTtVSDYencSuYXsONKHYTW5ADeHgNPblYwyZsGQ7vLlqhSO6qDMQIPBY/tuSDwGZxxwRvOQ1tPyNZObnNDK8KbeEZESjhrywWEiE5U0gFzZgd0ibmM2bpxlwxj+kPS1M0LOlsoYhFPPd4GPn3UkErypieqpkgNWgkzjUAr47ROkjp3oAKNrEZt0H4sIt2FYDJktPtTp8L46FQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7eDUYsa3CWw6A47wTpbAneTH3Z2L6+y5nLHO17VG40E=; b=LDJL1tqB39YorvdaDP4I3s0lcPXxWEfxTmhzd5DKDQVyBQdP7pYsToW0o89qM5rFkbkhj0S/gPLfFnsa9zytoa6HgaNL/AhULe/tAPxRaMDooO0vdwaORT1DLHWzSIl5DxAZGk0B9wXcKc49ODIIAcnU9AOKT3AXXO8MpUXgbz6XiWA6PRI5C0lrEOjzfW+mQMxPPZxWjl1nVst/VB9c4cnfltBOgdBU2GFQ7eeZIZq7D6PvVwu5Gw8PsGXmkb0yBQFAxK5n6mj+zLDeOX9OJmS2Pmnt9lpSKSdfy3O6OALdaTIuBdWImjI5toFi9vz/uh1JwfnFzAFGhLSGOEE4zQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by AS4PR04MB9340.eurprd04.prod.outlook.com (2603:10a6:20b:4e8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:17:21 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:17:21 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:37 +0800 Subject: [PATCH v2 5/6] remoteproc: imx_rproc: Use devm_add_action_or_reset() for scu cleanup Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-5-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=4521; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=1d9mbsHmcu9gRNqcfXLbJ+CSpL30IViUqbopCkfXdIM=; b=vgjGt1bpmO/iBPqJjpCg+8dNF8CA/AovsoDl9tU+P2X9k0I+qeKTi/IgQ7Xgy7z/k5Y8GRCCA jlhqhxHLsX1DlKGykNlMAQ3KEPU5jqak1XhxI8wl2xjneyEqTf8Tigk X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|AS4PR04MB9340:EE_ X-MS-Office365-Filtering-Correlation-Id: dc457360-1414-42d4-9713-08ddfa60794d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bEtpbDQ4NlNsK2dLZ0JDYzF1aWJmZXJwUjBwem96eStLNEdkTkV1ZFlNQUFs?= =?utf-8?B?WUVZWWo4WE9YbUozRTRGYzc0ZXpTdWZFblZ2UEMycDVMa0hYZTA1c3ZubzIx?= =?utf-8?B?NUxGUUxwandCVnMrK3d2bmVDeDIvSTdic1N1eHdzQWFGSnJZUFgrWm1KeS9n?= =?utf-8?B?dU9CQ1Iwcm50Z3IyWnh4WWFROW82bnBYS3pqQUxac245NU5rUmJVV1lhMHFx?= =?utf-8?B?L0JiQnY0aS9IdVpqMkRxaGUvWnpxbmE0NmRjMzlYM3o2dFhmS2hxdi9DaVZq?= =?utf-8?B?cTJWLzQzTkhUc2FBQ0tBUzBTSit5OG9WRWJIOU9FRC8vemd5QXdjbllkdy81?= =?utf-8?B?OUprbVdpWEMrZjZDd1IyTDhBQVM1Z3UzbS8vdml5T0RncFFodzB2Y3lPYjNw?= =?utf-8?B?cXpuTU5SeUpITHhrVzZQODZUUDZmMGQ2MGdCTHdGN1BiZzZWKzBCZWNKcXZK?= =?utf-8?B?SFpSaVFSRis2S0xFekpsT3dsVlp0M2NwdzBQM0oyUnl4SkRrU0xaUXlDZVpL?= =?utf-8?B?OFdwb2ZOQTNlUzE5N0p3R25VWktRVGw1Rm1OdEFONkRRWmw3RGdNRkpRM3RU?= =?utf-8?B?MWVVQ3ZtNGVEMUlqVFprUVBHSDc5RVFFR1E1bDlNNnY4MjdUbG1URm1sSHRN?= =?utf-8?B?YUxRdElpSkNMaXlWR1NHWERQamR6TkFsR20wcnh1SkhyeDBBRFRxVUN1TFVz?= =?utf-8?B?Q1N2eGxPZnh3VXVjN3lDL2N2V0J4ZEdqWE5yYnRxSXI5R21HY1dzWmZUUlJo?= =?utf-8?B?UzhvZjZnTTEzZUtYK3VqaWlidlA1ZDVJRHlUQno5b0s0RGQybHM4YmlBbUt6?= =?utf-8?B?cUpCVEp1N0NsZVVMYmx4RUdjZjVxNnhRQVhDektkSzhRckk4SkpxQktEeTJv?= =?utf-8?B?Mnc4UzZFVk5zeG1XaFE1VW8rdVBSSG4rSWRveUhta1IrNHlqc0ZHL0FrL2VD?= =?utf-8?B?dGo1em40enJqeFkvT3ZHVGkxTllMNUEzZmxBOXJRcGxyR2tNNVpSZ0x0eko0?= =?utf-8?B?Wk1qMnVrYmlVdkQxS3pBNmZIZUk0NW5CTFZYamM3WWJxNGNKckxXQjZOd1E4?= =?utf-8?B?ZHg4cS94djdvV3REcTdjZktuWjQxU1o4Nk82SWZhOFQ5S0JGdEVSR2FTbTVj?= =?utf-8?B?cndHdW1MNmFGL21YeG5rb29VQUgvaTlxNTd0Y2ZCWEJNTkQ2MW1hMXZ2aUhY?= =?utf-8?B?YnUvb1dVaUVXcTVScUpTd0c3NllxKzVuR09WWEk2cGY0UlZlTndUYWdBMUtR?= =?utf-8?B?cmVjR3RTTVhhR0hRRDc1TW5kMjZscmk2dHdqa24yUUpXQWc3RGhtZ1gxUjdx?= =?utf-8?B?dWFJQ0tnQTJkcEhqWEk1SEFwcHRmOUs4WUpKUHAyR3creUZpd081NXFtUkRE?= =?utf-8?B?ak1DOU1XTnRyaVhrSmV3SWo3OVlRMHdYVnhNWk1saCtVdEpMVGJ3TnlpVnh0?= =?utf-8?B?ZkIyY2dKTHlFOUNZbVNvejFqQk5qQmdUdzBlT3dJRWJkcmtwall3TjVEWUhz?= =?utf-8?B?VjZnc0grOWJidE5QMTk5STQrSUUyMHVTbEdtUC9TWWNTbEIwM1hMRGxHdEk4?= =?utf-8?B?dFlHN1BYTlRXYWdUU2lHOU5GWExvR0ZYY2gzZWhQZ2RlTFd0Y1JkQTh0eXZE?= =?utf-8?B?Z0FhYTlPN0NraEdPK2FHQXFIditsbzQ2bEdXeEtlQ1NwZGV3dTllTUdNNVdV?= =?utf-8?B?cVRMSTg4UDN4cTVXenRZRG9ZVzdIcmNIc0hpZSsxdHk5eGNQREo3eDkzRENF?= =?utf-8?B?UStCSUwxZGk4VnRpN3VLTU1ISFBLdlVHdXRjVjFVbUdHNjJPR1VMaUUzVzVB?= =?utf-8?B?NWZtNWdFUTZCSkRPODdOZWc2a3dlcW9iWTdBTUxCZi9ISFRTK3RhYWZiUG81?= =?utf-8?B?ekNCMzVKUXowdHdDQlZ0Y2ZlZWpacDI4R0Rka2p0akRDcmRaaEdvWEs2UFpk?= =?utf-8?B?L1p3T2ZVUU8rYVNkbVg1RXdEZWZLZ0hzekI1RkJZVXpvMkM5QlZZU3FjR0VE?= =?utf-8?B?Z1FET1FBcW5RPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eEg0ZnFoWmtsNWNOSWhJTzVQK0kzOEtIQjFIdnFscGNxaUh2aTJ3L3U4K3FR?= =?utf-8?B?RkZHMklTSURtbG1yLytlYllPeVN6SlZTTVlEeWF3Ny94UmRkb3NMWjAyUDV6?= =?utf-8?B?emc5ckFjVU5HV2QrWTBtb1pieGpwbFVydHJPT2tiRWhoSVRISXJqSXNzdnFG?= =?utf-8?B?OFBKdEY2d05tNlIvVnRTbkNhR09wNWlTWjBPUmpQcGFFOWlPQ0k0YWhvZTZB?= =?utf-8?B?QjVUMGttdHhZQjVNSFpxU2ZUY0ticHU3YWRNRWd2bFNsTlBsS05WbEhQdG1m?= =?utf-8?B?cU5IdEM3cjRrc3NWTjEzMmNyWklLSGpZWldmRDdIdHVrVVhvclIrUnVzYkV6?= =?utf-8?B?V01nRUprRzE2YldESzFJSmI4aFpiRnczK3AwUnpwSEEwbFcrdEVTa3VqZUd5?= =?utf-8?B?Z0N3Ty9uZSt3RlAxRnVjUVcwemVqNHQwWVhNeFBHR0FxZUs5K3BGZ3BIWHh5?= =?utf-8?B?UmlwYVhUSmtKQUsybzkrcWgwU3R4YTJxdVM4U0IrQUZUWHRsR01pQVdOcW9n?= =?utf-8?B?WnF5ZXZIZUlXSFZRMEl4L3Y5YzV1ZHdoeU1OWmpqUnNyTE5mQzhXUkNHVW9M?= =?utf-8?B?YzNlY3RhcnZDY09ucXRBbGR6emFqTHBmell6OVNIaDUxdG9RczdneXZrdTRj?= =?utf-8?B?bkVZMmFmdDFnaGRocGlCL3pjTFlQSkxMTXdsSFdIbStqMDlZSGM1b0dRS1Bq?= =?utf-8?B?TXZwMk9NMm1teCs3L0RVRmhGRjh5UWdBallUNUN0dTErRkE2UnU1bWhkazg1?= =?utf-8?B?bEdndk9vMVc4YjhlYks5djdCVlVuakUzc1h1WDlqVkxtdnhuYmZmZWZNemJl?= =?utf-8?B?S0NGR1VWRTFsTFljTFpjajFwRWVYeWg2TUt3UnNycE9ieGZCRzdQTnJoRnNB?= =?utf-8?B?U2JtOVBTaWhGVlhmdjJWVTBUT2ZHQitjdzBoeitJcU1UNi91UGlzT1Zzd0hB?= =?utf-8?B?aG8zSlZwVW5VeGxlUXd0aEZSbjNKSG50M2RtSWk0UmVjcEdlU01nY1d5U2RB?= =?utf-8?B?UkpFNTdSei9zSmgwYTRHVFR1S2NwVmlSWGZOdC94SFM3aytSNy9YMzRkOVlH?= =?utf-8?B?Qzd6dDYxNTZQNHdtL2tYN1BLT3ZRVlQ5ZnBGNGxQVDlxeU5iNit3ay9KT25G?= =?utf-8?B?UEl3a2xOM0ExaHVSaFl2a05UakNLTDZ3QXBocElsOVBGWUpscnpHZjV4c1Ex?= =?utf-8?B?VmlZaStCdnNTMWd4dnJIdTZJaWJmcDdUQUdXVEJJTHY3M0dQT0lDUXlLR0Jp?= =?utf-8?B?N1lyQ0I5aXA3NEkxaG04aHV2THFKYWRxUWNEWDdXdnlBRnZ1Mmhva294cC9B?= =?utf-8?B?NUYydExiTHl4NDRkYTMyb0RvRjJ1cXJnbW1OVFBwdmtLWVIvdlYrVlpvVC82?= =?utf-8?B?R0dyNXhrdzVwWmJ5cWljbUhQdEJUZVkwNmxHTWF5T1pJQzNkT2NoL0xFNFMz?= =?utf-8?B?eDdBdWFMWkh6eDB0ZlNHaEFVWjBkUDc3bnBkUUVNSWlKdWdUUi8zNkczYklM?= =?utf-8?B?TWZTNVFBZHdCcXV1NEJYMDIrZ3Bmbnp1aWFubXlmZmFjQ0VoTXdYY2tEOC9m?= =?utf-8?B?ejlYeGpjeTU5ZnFJay9CMGJGcU5yT3hrVnpObGJDRWZjc0kzbWpVMXRLUzJv?= =?utf-8?B?eks5VFlIOGtiVm5HOWE5TDZtWXhjMFEwaU9pSitqQlBkZi9NNkkyb3BpcnNi?= =?utf-8?B?MlF2MlY3b2hzbjlsLzRYVnN2cWk3bXpNUjJkK01uaVBLVWx5M3BXYUpCcFV0?= =?utf-8?B?SUVQNVBJTkVtZTErbXh3Y1ZCeDVZUG5Gd21yN0tpeEVwZVJxU1lsNElsOEY1?= =?utf-8?B?dWVGaTNzZ3NBUGI2YWRuUUppZ2RQVTZtbFhXLzllczdhbnlkaVpEaTRjZzJ6?= =?utf-8?B?Y0xGY1YwR3Z1V21xWlZzK0ZoUnl4bUUxSlRjVFJuMVBCcitGV1VyZlZHNEhh?= =?utf-8?B?bGJiZDMwbzRhQWNENGkrZXFwbkM1MGxyY3BzRGxrZHZxRFZnS2lJRDNvcU83?= =?utf-8?B?aUhhSW5QUVhMK1FONXJhZWdRME8yV0J5blptSDh6QUxnYU9GNlJRUTZPY21C?= =?utf-8?B?ZFVQNUlCcjNMaUd0L2dlbmhuV0kzZ25BbUE2Uk40Y2NoQkF2MFZRYkxwc2o2?= =?utf-8?Q?wIR1taVNtRj9/dKjIaD86Nbdf?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc457360-1414-42d4-9713-08ddfa60794d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:17:21.6884 (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: fVH14LBCx1IzswUVTbLt6QFzgdJEJ3Ri3A+by45qt4nxW3bxwbPgUOUTQcYxe5dMHC7C+vt9Gf/gUF0KZQl1pA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9340 Replace the explicit call to imx_rproc_put_scu() in the remove path with devm_add_action_or_reset(). Ensure proper cleanup of scu resources and simplify the code by leveraging the device-managed resource framework. Additionally: - Remove the IMX_RPROC_SCU_API check from imx_rproc_put_scu(), as devm_add_action_or_reset() now exclusively handles SCU cleanup. - Improve error reporting by using dev_err_probe() for consistency and clarity. - Drop the err_put_scu label, as it is now redundant due to the updated error handling approach. No functional changes. Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 56 ++++++++++++++------------------------= ---- 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 42014b42bd8d3b46b1a898969f0419e2e6a71528..a53ff186d218f54123e1ce740b0= 277a6fe95a902 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -796,13 +796,9 @@ static void imx_rproc_free_mbox(void *data) } } =20 -static void imx_rproc_put_scu(struct rproc *rproc) +static void imx_rproc_put_scu(void *data) { - struct imx_rproc *priv =3D rproc->priv; - const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; - - if (dcfg->method !=3D IMX_RPROC_SCU_API) - return; + struct imx_rproc *priv =3D data; =20 if (imx_sc_rm_is_resource_owned(priv->ipc_handle, priv->rsrc_id)) { dev_pm_domain_detach_list(priv->pd_list); @@ -944,6 +940,10 @@ static int imx_rproc_scu_api_detect_mode(struct rproc = *rproc) else priv->core_index =3D 0; =20 + ret =3D devm_add_action_or_reset(dev, imx_rproc_put_scu, priv); + if (ret) + return dev_err_probe(dev, ret, "Failed to add action for put scu\n"); + /* * If Mcore resource is not owned by Acore partition, It is kicked by ROM, * and Linux could only do IPC with Mcore and nothing else. @@ -1110,7 +1110,7 @@ static int imx_rproc_probe(struct platform_device *pd= ev) =20 ret =3D imx_rproc_clk_enable(priv); if (ret) - goto err_put_scu; + return dev_err_probe(dev, ret, "failed to enable clks\n"); =20 if (rproc->state !=3D RPROC_DETACHED) rproc->auto_boot =3D of_property_read_bool(np, "fsl,auto-boot"); @@ -1125,52 +1125,35 @@ static int imx_rproc_probe(struct platform_device *= pdev) ret =3D devm_register_sys_off_handler(dev, SYS_OFF_MODE_POWER_OFF_PREPAR= E, SYS_OFF_PRIO_DEFAULT, imx_rproc_sys_off_handler, rproc); - if (ret) { - dev_err(dev, "register power off handler failure\n"); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "register power off handler failure\n"); =20 ret =3D devm_register_sys_off_handler(dev, SYS_OFF_MODE_RESTART_PREPARE, SYS_OFF_PRIO_DEFAULT, imx_rproc_sys_off_handler, rproc); - if (ret) { - dev_err(dev, "register restart handler failure\n"); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "register restart handler failure\n"); } =20 if (dcfg->method =3D=3D IMX_RPROC_SCU_API) { ret =3D devm_pm_runtime_enable(dev); - if (ret) { - dev_err(dev, "Failed to enable runtime PM, %d\n", ret); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to enable runtime PM\n"); =20 ret =3D pm_runtime_resume_and_get(dev); - if (ret) { - dev_err(dev, "pm_runtime get failed: %d\n", ret); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "pm_runtime get failed\n"); =20 ret =3D devm_add_action_or_reset(dev, imx_rproc_pm_runtime_put, dev); - if (ret) { - dev_err(dev, "Failed to add devm disable pm action: %d\n", ret); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to add devm disable pm action\n"= ); } =20 ret =3D rproc_add(rproc); - if (ret) { - dev_err(dev, "rproc_add failed\n"); - goto err_put_scu; - } + if (ret) + return dev_err_probe(dev, ret, "rproc_add failed\n"); =20 return 0; - -err_put_scu: - imx_rproc_put_scu(rproc); - - return ret; } =20 static void imx_rproc_remove(struct platform_device *pdev) @@ -1178,7 +1161,6 @@ static void imx_rproc_remove(struct platform_device *= pdev) struct rproc *rproc =3D platform_get_drvdata(pdev); =20 rproc_del(rproc); - imx_rproc_put_scu(rproc); } =20 static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc =3D { --=20 2.37.1 From nobody Thu Oct 2 03:27:35 2025 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012049.outbound.protection.outlook.com [52.101.66.49]) (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 9ACF2311C17; Tue, 23 Sep 2025 05:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604652; cv=fail; b=uGFdsprnYpX60xhaw2KiPEMiidMtOQpnP3q/m+8hQVYdOaRaSv1OZWCUhXOBz2vly6QDvoxeKNdC4d0+RcU2rAIxoB/pUsKipBLFaoCa6dP4tpU95lsPWJJcV3x8g31syjXQP+lrrpkZ34PKUTHfEKqWI5OCuKzOF9QXB+n1oq8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758604652; c=relaxed/simple; bh=Vmn06J9qDOzb2M48RRKhwvGiq1Wapnk4KAxPtzIJGZM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=IeuuVAMJImeiZpkNYNWg/t4gGcfq+aqX4GxF296ccZn1l3V7XsmDi0RBwZjAPLaBqd97EybjmHK3yta1uxJejIBUfAyApyKot9d8AwifxlYFMKn/upoAw6IZlwNhBdiVsP5+jNLlWoXTFPvmoPgj3M6ubfa9M8ypvtvcxDdrfA4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=gP1UteeQ; arc=fail smtp.client-ip=52.101.66.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="gP1UteeQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IzTw3cSmlS3RcESqS1QuJ3/c52ENdeBGQaL0XDLgB1Bn5IEcNarN6IuDVohEyTj9bzCd96CaTxFpnpSYQICS8WNasRbwZAPNIH/3RribpWJmLstZg8LCFzIEgRaARP+TW55wcK0rHbb3p2e/OMxSABXqwJeSGt1kycXxouf0ae29aS9axSa7bXzDK7vFYqlpXSHvXIOTNPqwk1AcisAPCu1AD4QnDSHWcjbdqwZdxTiqoB+OpZT3+5atSxLuvoMMWBQg1Tk9svKRnhL/xsAZoqEwuOyQw/bEZ0N5y9eRVNOyE8npULgtkK2zbRCA1TuOT95pOGlAY9Mc/Aqf5MCWDA== 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=VWDUyd1lZ+G9VdPuRc1rjIYIZ0kuqfkdzocf1gWG7UM=; b=t5Z/UsGrTmJ+rUXJMPMoJnVdw4/60piTbsqEdhuiy9m9MEHO5nXU7Be4ZviFHglp8DMowGRydDDCpDk/NYK5Xk4k0b8Wum44e46WKYhhdibuJlXIqjDjbiFhH3LD7Oj3k0OS/bSxJXbSFAHvOViRTyZmXxDuocsZqd8tFTvtJEl6nP+BvfOheyP8DPRlhhEe7YFOPNCNafLRbqcw9orZNsS87O0tJW1BcJinHBuS0XiuZznijvufCxzcYPawBTgqxSqyYZga5eFCP+c1dFrxRPNWP5SXVoHQ067iWP3oi18LV7/nNB/8FK4XqQC/Nz4Bvb1FGur9lKbebfp3MWLEGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VWDUyd1lZ+G9VdPuRc1rjIYIZ0kuqfkdzocf1gWG7UM=; b=gP1UteeQSt7kxMVUlIFEOd6c6YtgYDD1+U7huHjhZnTULLpbQxBpJKgqQBumleXf8UD/SlMZTTCj1xt2FmJf2vCvaddVp9zf22xSe+R0ojz0OHzRZ70T1XDrmH4dScJ8HnT4FXo0AIUNDyrmLvCN3uswlYNb1iRdgJqJYw6iGjPXbgzOYXyfbjG30uPQHAeeYO6rfNW/ld25xWC1+kWni0w00X4739YvcD1xpEVYfrWMqbFiUGIznBvjRJO7+TlVUDtf3TZISh6gsn87xWO0tCIpidCQVZIcoA2eQXn3W9zisCoPsD7A6GSHYjk4VQDiTjgXrK7GFmpko5tWxiru+Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PA4PR04MB9367.eurprd04.prod.outlook.com (2603:10a6:102:2aa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Tue, 23 Sep 2025 05:17:27 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9160.008; Tue, 23 Sep 2025 05:17:27 +0000 From: Peng Fan Date: Tue, 23 Sep 2025 13:16:38 +0800 Subject: [PATCH v2 6/6] remoteproc: imx_rproc: Use devm_rproc_add() helper Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250923-imx_rproc_c2-v2-6-d31c437507e5@nxp.com> References: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> In-Reply-To: <20250923-imx_rproc_c2-v2-0-d31c437507e5@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Ulf Hansson , Hiago De Franco Cc: linux-remoteproc@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Daniel Baluta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758604605; l=1686; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Vmn06J9qDOzb2M48RRKhwvGiq1Wapnk4KAxPtzIJGZM=; b=qWiWQN8XUQTf8a+Bzl53xMnSDmr+7wXA7rjCm4EgUDRjkBgfReaZEearpJf/ToOd+fud4jiEU iCxh2bteifFDVzEZ5X5ZEBXVhorFEOlhcSBjA7N2qekH6dNnOWevYq5 X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: MA0PR01CA0070.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ad::15) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) 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: PAXPR04MB8459:EE_|PA4PR04MB9367:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b4a7c27-053f-409e-98ec-08ddfa607c9a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|1800799024|376014|19092799006|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eXJpQXNBTG1EQXFNQ3VTZXp4VjBoSkp2VHEvRHFWSzdMQllqL3R6aFhjTGF4?= =?utf-8?B?Q3Y1RHZpb0lOdWE5cGloODBUSTZpajExb3loTmlJTWxEbGxrRXZzbisyRW9Q?= =?utf-8?B?S0tDanVqQ1ZnalZubGl1STFsblBPRTRkdjlBVEpYM3dEQVUxYkkxWkVEQ1Zl?= =?utf-8?B?LzlqdHF4U29EVlJiSEVqN1NCZ0Ryb0NmZmtHMG1hUnVodWZ6b0dFNlJsMDA0?= =?utf-8?B?MGtsM1U0TDBOekVONjZOck1uWjRxQTBkYjB3WWJya3hIc3lOdUpTb2srVkt0?= =?utf-8?B?RGVScHMvSk40SWJ5b3RFZEpXSUo5S2ljdGcvcjRPRVJmcUp6cGx0MlFHMHU4?= =?utf-8?B?TEVMeUpSby9WUEJNcElHU24rMUdQQW8zYzM5S1hXdmJUQklYSXZ3UEsvcytr?= =?utf-8?B?VE5xSDRmcE0vbVA5RTh1NVBZeU9yS3BHT0MzdlJ3My9lQVo3V28zb1FpUU1y?= =?utf-8?B?TGtEdlc1TWxMU0Uzd2tKRGhVWTlKRTl5SWZpdVdKVlRqd2RwSEpUSHhhaTlI?= =?utf-8?B?WmtOK2JRN2QxU08wWmErRlZIRDhETVFCQUdJcEUwMGNzVHYzem41TmFwTG4v?= =?utf-8?B?eURhMTh4aWpoVzJ5SWFvVGR6ZldnZTlpditYeUFrdGk3Ym1QdDdjdk1iMjE0?= =?utf-8?B?TkVmbG5idlAySFoxdDV5cmFUVnEzcTAza0pTcDloRDc4bXFXdnhiRVpMQWxC?= =?utf-8?B?MXlmZWRSV2MwdE56MFZwYThka0RvcXpNTXBUYVFrYTlxTkNyZjlTUzdzVkZZ?= =?utf-8?B?SmJpSHpGc2RvdmxlZ00zVW4wZFBEWDJuNVhTSFVQaUtPTnYxNmdubWdXRWVO?= =?utf-8?B?aDRaMU1HTXFOelZzL0tkWmlwbDZzYisvTGVNSm84S1BCMzJaK0JNSnEvUktz?= =?utf-8?B?Umd2NmJuc2ZvWjBDNFB5YXQwb1EzQzZUY0RRMDVJUVdld3dudVJhRWljQkZG?= =?utf-8?B?WThYTzNUUTRTTjFYWmswTllUeWRBbkwvRjUvaXV0b0hZOXFhb21PdnJocmN6?= =?utf-8?B?NmkwODYveE9wUjZWMytNTUE4eTY5RldHSDNCSzN6Q2t6bERIOWVXc3BZclNo?= =?utf-8?B?M3BTUXZpVmcyRnpBaUJHRWh3Rkx5Z2JkRFAzc2IzRVI5QksxL2gxSVZDVURQ?= =?utf-8?B?ZDdaQjNGSzBSYnJxS3BYUHhOeFdTQnJ6WEVTaVZ1TFRvU0JZL1Jadk1wTDha?= =?utf-8?B?bTJjOEV5TUJpMU40aU9MalFFNUdYbHVEYWk0c0VZTTYranlWMXVIakYrdm55?= =?utf-8?B?c2dlUWZKU3dHRS9mbWdRV2pBeHdoNG1CRGdabWFXUldxbDVWM2Z1TkhlT1VQ?= =?utf-8?B?RTg0ZG90MDdmbnNpbGoreWtITVEzL0UxcG9HUXNua1NqWmJZVjRna2htcVdX?= =?utf-8?B?U2NveVFHSFFuUGNwS0NYRVhkS0R0RGRpQks3MDJkcFVjOHVva3JVZ0Y3Ulcv?= =?utf-8?B?cXc2djRoT1JyTmJETmxxdlVUZmpuTjBiNjRDVEJsRWhJZVd3dUdHaWNXdm1x?= =?utf-8?B?ZVcyRDhSZ3RNRlZyVUVNcGRJNmtKZWRJSDFXbVlNZmRRRytaVUtXdGxFVGQv?= =?utf-8?B?R2VYWlhGQUliTHdjaEh4MXkrZU5SYWNMS3VFOSs1Yi9ZVEo5aVhNY0FTcEcx?= =?utf-8?B?ZjlJUHM0VUQ0MjcvY3ZmSHdLRVV0S1ZBU2ZHMVd3Z3FlZDl5YUhDVlQwK3ZE?= =?utf-8?B?bVI4dkdiS2QxN2ZPTnVMWlBDNlpqdjVmRmxkKzVMdDVtaEl1WDhGTEc5TEhi?= =?utf-8?B?Z2hOdFhwb043MWsxOUNwNVpZa0FlVEs4WmFlWVQxRHBJcXk0bW1IVHN2UkZi?= =?utf-8?B?MVBFOVRCY214MzlHeXdzOENuc1lpWXRCUzhkWFk0aTAvMnB6Y1Uxb1Z3OFNC?= =?utf-8?B?RVRBM1VqRVpKOStBNkhUZ2Q3dTJPbE4xUVEvT1FtWk9zVStQYlQvVmNUa1Bl?= =?utf-8?B?d3Blc0V2cmw2UU8rK3ZTdWtYQ1lkcm1PemVHaW9USTc1QnRSWlhpS29ITDVY?= =?utf-8?B?VlJsYm05NTBRPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(1800799024)(376014)(19092799006)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RUd5NHdDWm9FeHFPNFEvdTJMZzlDaTJzbVZWa1VrZWZGQVJWVlQwTjd1L0dz?= =?utf-8?B?bFpORlRtU25yQjZsb1Bqbjh6SnUwRWpFSjJCVkVuNDhTajJ0L1lkdkRXYTUz?= =?utf-8?B?Z21IVmppY1gvWUFudUVKekViZEJQTUtjd1NzMEhPVDJHWkhGOFljS241YWRs?= =?utf-8?B?RFVyalFFKzl5aElteWNGamwzNnVUUllHUy9lQTRwaXRYMmsyMmJ3MUM2a3VB?= =?utf-8?B?SWl0dHBOR0ZWaVRYQWdPTFQrV011bnJPbldPM3hKYWlZdDdCMm5qTTh3YUh4?= =?utf-8?B?QXVNeXUwUXlJNWdHUi9JNC8wMVpDMFhhSG8rUzMwVy9hekc4VTRxOC9pZkwv?= =?utf-8?B?czNWb3h5QXNJOERCZGQybmVDSndrek9MVXVKTXZFbmpyZWZrZlhtL1JacDMx?= =?utf-8?B?eXZqbVFva1pOWUlBQy9kODhXWmluOXlOU0UxSnB2RkJMZWFUcVlKWTZ3NDJt?= =?utf-8?B?Q0dNWjF6UDhoNitvY3lYbU85WDgydm5lU1V1dDBHbmtmS1lCSmk5TDZ0L0xG?= =?utf-8?B?M2FvNnczTVNXUldrNTdWbmhnb2tUR01wczZ6VXZzZ3o2VVo4NzVSWUt2NHZP?= =?utf-8?B?NnkvSzZJUVhoTHlUUDRZS0pzZEFjSUkxbVhuaWZFc2R1c05GenpaYm1NQXZ1?= =?utf-8?B?dllCV2NkM2dLNjFuOGw4ZlRxS1B5YktSTFg0UC9ReTlqMGxUUEdNMVdUNmlx?= =?utf-8?B?RUtWRkdoMGI3MDRZTHN2VXFSN0Rya0QvVXJsM3FPbytvS1RqK1ZoZUhFQkNZ?= =?utf-8?B?bjI5R3VreStwRU9ZVHBiWGRvQmVBU2NHb21UcThoVFM5dCswQmFuc3FQV2VR?= =?utf-8?B?ZVVzUFFmTVZici9FNlBObElXRDZlUFF5OGVLWFJQMmVTU1RUMnBadnFjNFA4?= =?utf-8?B?U1dwSHNVZmhGbjdZUnQveWd2aWpQcWRuUWEvcnF0eXJCbmVYeGtEeC9Ic1Mr?= =?utf-8?B?dU5xbms0N2t5UDdUY0lvamxyenA0ZjB1aFd2ck9KaWpkbjdjeU9COXlLbytP?= =?utf-8?B?bWREQnVxa0s2RFFCZGFQUm4xa1g0QllWVTBwbDdtS1BaT1RHV0EzVS9CbVVG?= =?utf-8?B?ZnZrQ0NQUDZtcm93enc2aEN6NzlMY2t1aTkxN2t5ZURub2tsUlNOSGt4Mnht?= =?utf-8?B?MUlLSUJURFYxY2plS000bVRCVlBkN2Zpc1BxcUQxekd0V2FWOHZvTTg3VG51?= =?utf-8?B?Rnl1aFIwOEhPRkpjL3pwc1hOZ1NBUG41UG5kMDZvcFBRYkhlcXh3VU5hRFRB?= =?utf-8?B?eVJjRXQ4ZmtUMmRnLzlzd2FwRXE0SU1Rbk9XeDNhSk9YM3RFMmxXMk0wYmRE?= =?utf-8?B?UlkwMXhYd1kxeXVUanRxSWVVYTlIQlJBMUp4alc1WTU4T2l2b0FHUjR3OTYz?= =?utf-8?B?ZFlJajd4b2tHTFV4WmlkeW9tM2RmcVVxS1oxL1RJR3NMSlpVNlZHdWw2cHI4?= =?utf-8?B?Mjkya2ZjeEsvVWdnUHlMelVWQlRaNzZReXlYM2trMVZOQVVPTEUvSFU3RGdP?= =?utf-8?B?VWhtdUJUVE55WWdHdlowb1A4bEVUaGZPeTg0UTJ3TElZRDN1aDF4UGxHanlF?= =?utf-8?B?VnBWMnlTVVorWFVnc0FHWGpBSGlPS200MHpSZmxlOEE4UnRKdmNRcTdRMmVL?= =?utf-8?B?bHdVVmMvekNkSjArc3NMWDlXQUFaYWpKVDFBS3B2YUpSSEVZRDZMKzRLUHc0?= =?utf-8?B?MVBubW1HaDFGRTEwVkh2VkNpUXV2cHVGWFRUVDVXN2R0MTBEUWQrZ29GTEIw?= =?utf-8?B?b1c2THp5VWpYcVduTmUxZTV4NlduUlVhOTBEL3dkZk1ub0RIZ01zUUk0elZV?= =?utf-8?B?U05NRjY2U0RGbHFFZU1DM0FYWms5MnNadCtXVUhIbk1EYVlEaWpENXlnUVI2?= =?utf-8?B?QWVzaHl0UDZVaTJPTWJIRXhoekhMOG81V3RjRWhTZ3VrK2NkS3Jtb2ZJVDIy?= =?utf-8?B?Nkg0RUU5RlZGQWUrNXpqcEJGcHVCOXNjWHJYVEsvTERWajN5QS9BYTFmY095?= =?utf-8?B?S1BGWE9ZdTl4SjRxNkdFUy9oNXowdytzc3BvMFBZQ3VmUVh2dC96dEVWOXQz?= =?utf-8?B?ZWIzZEQwT0pMdUdSOVR4MTBHTSsvbDZKaDlNcmdzY09zRStrSlVCSnJBdFN6?= =?utf-8?Q?QKt38Et3ZLzOSAAzLDzoaD0RN?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b4a7c27-053f-409e-98ec-08ddfa607c9a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2025 05:17:27.2006 (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: X2ClEokzG5L+s1b08dkxKIkx00jcogRLoZSug5lA7g4a3op2IGLi+M/3vB34tcIvXEkEvqfi2cCvPzH8ETRZHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9367 Replace manual rproc_add() and cleanup logic with devm_rproc_add(), which ties the remoteproc lifecycle to the device's lifecycle. This simplifies error handling and ensures proper cleanup. With no need to invoke rproc_del(), the remove() ops could be removed. No functional changes. Reviewed-by: Frank Li Reviewed-by: Daniel Baluta Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index a53ff186d218f54123e1ce740b0277a6fe95a902..694fbbb2f34061de22a3a815f8a= 6114159585f9e 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1149,20 +1149,13 @@ static int imx_rproc_probe(struct platform_device *= pdev) return dev_err_probe(dev, ret, "Failed to add devm disable pm action\n"= ); } =20 - ret =3D rproc_add(rproc); + ret =3D devm_rproc_add(dev, rproc); if (ret) return dev_err_probe(dev, ret, "rproc_add failed\n"); =20 return 0; } =20 -static void imx_rproc_remove(struct platform_device *pdev) -{ - struct rproc *rproc =3D platform_get_drvdata(pdev); - - rproc_del(rproc); -} - static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc =3D { .start =3D imx_rproc_arm_smc_start, .stop =3D imx_rproc_arm_smc_stop, @@ -1288,7 +1281,6 @@ MODULE_DEVICE_TABLE(of, imx_rproc_of_match); =20 static struct platform_driver imx_rproc_driver =3D { .probe =3D imx_rproc_probe, - .remove =3D imx_rproc_remove, .driver =3D { .name =3D "imx-rproc", .of_match_table =3D imx_rproc_of_match, --=20 2.37.1