From nobody Sun Feb 8 02:34:42 2026 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2061.outbound.protection.outlook.com [40.107.103.61]) (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 EB37921FF3C; Thu, 24 Apr 2025 07:32:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479925; cv=fail; b=QmXMQQja+A65iNSmBa8c84GAUkvyjisY4se/yEOoDzpAUYulWPRKFmMWug9FP/xIImuEAj6r05ItJDH3V421DEFpk+eJP3H+RxhDjInRH+HiV1AbxvXVrU2Edm8V/75ziE3oF6LaEKZUMtp8+0gkltJ6LZButdaehPTEuK4k46U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479925; c=relaxed/simple; bh=R+E0blCnr84VOgWVUzaNmlI5G0tHD3+mnj0wlyBAGLc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=sCaYx8FNaY2BsMjhpljQtcYqli6ljVcjBqRyUacfvZVD2VIKJalPlIaR8vxhfqMJ5kpcCyv1C1gkqj9SWjeXsNdCxsWMzNPrES9UcIgW5QcSzogRsxCaaqqyYb0RYkokgYkFZ1xtwG3q83FDj32N8p093s/H3XJqt0HfGR1EKnw= 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=YCsuKRPZ; arc=fail smtp.client-ip=40.107.103.61 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="YCsuKRPZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PMmboskBjVtXodqExxEIY3w36yJTjAnicAwMQjE9+0AGQvMg8UJYg4iGu98dlvWOjRyk9zpVH1CaKs+J6C6wFkCPjOP6V5HVAW0N0cA2+COXb8nNLbHC7yGqqQN9zJ5Shkr3RicmLIwIyZ0H9fSupCIOpM+oDKb7Y3x92WHIyhN1lH6YRL4J9UMLyeI1vjS+ikZzJUqrg8/lyo7m3PdmUka81HsREZd13suD5QPxzxQGtyRyVLs5rWnRVVi49hk9S2tv0D6BFGN67fnH1Exat25HlRiaHgqqgi9Qe/YLsE233tlTwAoDE7HWjNac5ski28CWKcaS+9C8s8NjGceg0w== 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=rkoc45T7BYUh7B6StD6VS++pbiV1SAITGBvZZWupjxI=; b=S9w3dGYpfAlZBWFJ2d/3YAvGKeOY7WHG6xEZgX3pM5twWHxBsHcrtZoSIznBo9fusVh55+uWF1/nyffWauEuaWoWL2++F9r06RspM2Nic7qjbTmq9RMHJIWdf7cx363f5MNJNlq66L/XXq6KvUrfjo2Dsrk+85l4/ZGJ3GCx2p64a18pg0gBHGUe/DE6Z0382PhTYpL2MReP+WDub2g3Psz/vuQMgEXRpSQ6ez/WjTNe6CaSzCa6lpaUjey/anEamhCI8mMhZMNl1a6xTqwF8VaheCnDDpo4KGLY5NqiNi/1PWVdxsi72gSctp5FAsMqqxg2s9MMHZiU/y6QCiB+nw== 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=rkoc45T7BYUh7B6StD6VS++pbiV1SAITGBvZZWupjxI=; b=YCsuKRPZFrf4Pi4TbDFEqvLIleoSSgpas5y7yZnnuvy63y5DofqkRkEYIHATFt699JfrWz/DmfHI2uSaxGTIAFrOeyCaG8X4WElLHTmGNlNlpGEAzJG3cF58oPio6rSv4lGOVa3G16XH4MaBENhf3S6uR4K3+4mdeQM70Df8qcQ9084UZUlCSaEd5q40pesCMjqoQ+1LCzWGjg2PDsss8rT9+RLIx3Nc1lpbiuRNY2yY5woUQXRHoF8Bwpf45aJUISt1WT2NUuDCCWXIGQgVYVGC+HHiYCqyDgXroADco/4SNEZf2FMccBN0RGN4gBlQNPL6s5CSymnhWV6y1tyItg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by VI2PR04MB10594.eurprd04.prod.outlook.com (2603:10a6:800:26f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.23; Thu, 24 Apr 2025 07:32:00 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334%5]) with mapi id 15.20.8655.033; Thu, 24 Apr 2025 07:32:00 +0000 From: Haibo Chen Date: Thu, 24 Apr 2025 15:33:25 +0800 Subject: [PATCH v2 1/5] spi: spi-nxp-fspi: remove the goto in probe Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250424-flexspipatch-v2-1-e9eb643e2286@nxp.com> References: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> In-Reply-To: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> To: Haibo Chen , Han Xu , Yogesh Gaur , Mark Brown Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1745480038; l=4520; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=R+E0blCnr84VOgWVUzaNmlI5G0tHD3+mnj0wlyBAGLc=; b=VLw7pidXB8Jqsl+z6xMnvl1vH/mrPU7Ni3qayDG8iuJR1492g6x4/2V6ijAIKepo9O5K2fErL 7UyZaT71w0uCnfYwYpMVvnv5Rd2sFWVdV237z1sYnjisccNtitrO2Js X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0055.apcprd02.prod.outlook.com (2603:1096:4:1f5::16) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|VI2PR04MB10594:EE_ X-MS-Office365-Filtering-Correlation-Id: dd2e8777-9105-41e5-9cc3-08dd830219ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Z2YyOTNHZEFYRG9ZSWlhcjJPUzhpa29LOTVzS0pjYjU5Y3dGYWlQUmdubUhS?= =?utf-8?B?Wk14ZW5CNjdlSXEyKzl0Q2FFWmNOaFlaWjkrYmV0cDZzVlJqQW9rUHBTMEk3?= =?utf-8?B?YnFZZ2ZCM1ArU0c3OXRBdFFXMnRPTlZiQVNvQmtwVG4vVkNZSlFxdGZVT0F5?= =?utf-8?B?TXhMQTB1Vy85YU9GSEFnQ3hSRk4yd29hUkJiNE5LclF0VnBWeUdQcnZ1elNO?= =?utf-8?B?TlR6UUlJdFZnWGQxaVo1LzdMdGpmd05kc2d2ZStzU3FuN1dHTW8xU0dUOVp3?= =?utf-8?B?dDBHUTZIS0dlbXo3MjloTmpFdmorWStjOUplMjk3ZjZTdXdGMjRySmVZM05R?= =?utf-8?B?NStMbExLOTc3UVZaQ3NWcm0rTWdUMDd0SnJpU0JoM3RWSUNXWUg5VXU0T3kx?= =?utf-8?B?TmZBblNxbFEvVkR2YXFMR0pUVXVoZG01VnBSazdIQ1FMZUM3VHluWW9hMmo4?= =?utf-8?B?bHN2dTNmRVJ5YzcvY2tYanJTcUFaM2tWVFdkYlhvV0dGWVE2eXZacTE1ZzY1?= =?utf-8?B?N05Ma1MyK0FkZXZGZ3RSS2lqcE9RNzV3TjM0Y284ais0TjEvemJSQS80UWVy?= =?utf-8?B?UThmK1Yycm5ZNXNuTEs5QmtNaTduNVRqQmRXUTYzbWp0MFo4alBocEdNcnA4?= =?utf-8?B?Q242R25HVkpNVjBUT0JNanFGRWlmRnRJYXhkZWo2MWtITW1ESFkzeUhRWkxM?= =?utf-8?B?b282ZHZHWWhrcCsrVllXR1F4QzdxeHM1K0hSWGFwV2kyWjE2SzNtTlQydkNt?= =?utf-8?B?T0JIcGtRM2dqcE8rdjNOQU5TUWNhVFd3a1NzWFVVdVhWSGZFWENQL2ZYM3lH?= =?utf-8?B?QW14bWlub2tFekpTSWlBVmt3cG1oMHMydFJQUmpkb1c1ZmErbmlYZmFIY2hQ?= =?utf-8?B?Sm5mRGdKU0J6ZnBMZWpzT0QwdjVqT0dRZlljN2wvdW5qeUZ0d0pFOWllc2VQ?= =?utf-8?B?NjI0amxIb0hRUTV2Qk9uRzJ3Si9DYmppUWRkSjJKZVhvWHE1dDM0Q0ZTclI2?= =?utf-8?B?NGRNSGdTcjFQdGpzNzcxYmhORXBRdXg5NzZrbDRYOVVPenBFQXAvaHN2cEZE?= =?utf-8?B?WkxYWEJ0ZGZRWVZ6V0kyNExYS21UMm84TXFReVdCRjFPbnRrV0I4Qzl0d1dl?= =?utf-8?B?MFM2TVdlS0dnVnVSMVB0bTgyRFl0VEE3b0prSjd1OE85SkFJNjhjclpGdlBO?= =?utf-8?B?OHl3WE1ocVAycjBZbWtNTFc3eEsxanZPREN1enh0LytJQThRcTh2djNiRXNy?= =?utf-8?B?UlRHTm1mdklFM01JUnJ5QkFjaytkcTdEd1dDT3FpUVlFTGxDc1VPa2pPeVU0?= =?utf-8?B?ZnZvejdZTHVkNk1EVEZPTk9BaFVOd3dXOHo1OE9kWU5ZMldSemdsRFE5bGMy?= =?utf-8?B?Ui8vVVRwZEk2VUtEN1k5TGtUSTYxc2JxUjR6YzNObHRRMWdMNjh0TEYzVWth?= =?utf-8?B?ekJaU0RGUjUxUjYzR2s3a3kxc1FrVUp0Rk5DZ2huRWtGOGpoSllRZVZ0a2sy?= =?utf-8?B?MFdRWE8rbStPYVNvSm54dTdwZ2ZuOHpXUStKSUx3K0JnSEVta1J0RWxabWN4?= =?utf-8?B?VlMydU5Ib3d2YlZSNmRLU2tQcXdOTXZyVWR6SE5kQ2NycHVweDFQYTI2Y0Fv?= =?utf-8?B?dWNENFlpa0ErcnVQUUF5V0JFa2RiY2FBRXZqem56L2puT1VYcEZ3TUJ5L0Nx?= =?utf-8?B?ZDZieEZRNmNVNWRYbi9CY0xFTG51bWs5d0hKdzc3ZWxzN1VybjRkdUhad1NS?= =?utf-8?B?V3lvanNKc295QnljM1JRU3VtOUZYNDQ0TDJrUGNJbkoxVnM2c1lXbngyM3dp?= =?utf-8?B?dGZCV3pIdkRTOTFzUEhjd29TdHVHa0pLdU5tK0dLaEFtbktnbWI3dGN5ZDFD?= =?utf-8?B?eWtoZnJzaUd2RDhySTdsc2t0dWZHTzc0WE1FTUJzZUJZSDd6OEVxMTZJUHlk?= =?utf-8?B?eWEza3BKcVBMeEZTV0dDZWwxTXdTSWJRZGdiMWJ4aDdpWW5md1hBUXBpYkRC?= =?utf-8?Q?JNDQtjyU++kmxHWCOesztxDjScLq9I=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3p6SUhFUTh6VUJUODkrVDFqY0ZsNFRJN3BxV2tiK1Z3S3Nla0lrbXZKd3Zz?= =?utf-8?B?VnZSQXNMVFgvL0F0eEswRTdtRDl3NDMyZDBCeFVvbkowdnQ0L1VzNmlLT2c0?= =?utf-8?B?UG1ncjBsTEJQMlJYWWZ0dEd3UnFnM01yeEVlR0xhaG44UlAzN3hpd0l2cFpw?= =?utf-8?B?TFdUYWc1MWdkUXFYMGxaa1lIVHFLem9TRGkxbkVMM1hjdzNPd01vTWdYYzJz?= =?utf-8?B?WGpxcE1uQjJLc29kdmcwdGl5N2ovV1B1VGF0ZWM2d0h4MTZmTHRCU2lqeURW?= =?utf-8?B?Q3dueWd3SXBwMWc4c0VoNzkyR1JXeWZpaERPYmw3QkkybUQvWVFWU2o4VlRz?= =?utf-8?B?M1NaVVJ5T2RkajBrcmlVNjhxZTkzYmEvd0NiTHdUMkdQWVFNMUJYZUtTQ1Ry?= =?utf-8?B?dXY0ZnFuYjRPelhsNXI0bFFDSFhoQzdJNkNHOGJGVnpJelpnMVJXQ0tqRUpx?= =?utf-8?B?RFpaT1BaOHVkN0Rjb2VhQVNvR3lJSEQrUGw2c3Jpb045V3NyYkpJY0s3QjZn?= =?utf-8?B?a29SYTBxcGtjUFdEd1FOYlFEajdwZmcwcXhpdHpnKy9aZ2RRcDZmS1RSK1RY?= =?utf-8?B?eXZlclFCWGg3MWJKem9tUmk1bU5NMTZwelFhcktOSXpLTU5uNE1VMnlDV1dp?= =?utf-8?B?VTR0K3VPU291QUlrcXlLR0ZoVk9hd0dnS280UTd4QnUra0dVN09VN1NIVHhy?= =?utf-8?B?RWROb28yVlBpUDRFSEtLUEczanp6bWFBK2dtVW1wSFhSZVJsKzdvVTRDS2R1?= =?utf-8?B?VENJeE5HcUVDTmxwSDR0TUlXSzBLc2VOenVFMGdLUnplY3dBVDV1aHA0cm83?= =?utf-8?B?Q0cyV05ZTER5OWF5L1FIa3ZPeTNlUGl6WEZGUm85OHF2SjQ2MzB5N2lEbHAy?= =?utf-8?B?WVdTaW4xVFhZbFF0aUhzVkw0Z3hOS09iZlU4U3ZMbjhUWkxRWnZaekFRVHBJ?= =?utf-8?B?YVNzVnRTL3NjOGwvQm9nbmVNeTNWSFFxTXlRQUNVYjZ4cXdGU1laYjRMVU9i?= =?utf-8?B?K2I3WVY4TS9zK2FhaW8xdHhPZTNadEZ3eEZidXFaVEUyaGdEMzRJYmhtN3Yz?= =?utf-8?B?TUlEalFlSGZqWkJjZlVGRVUrZEhpOUZ4SE9Za3l2VXloMFdINGpoSlI2QWlZ?= =?utf-8?B?VmtsNGlnUGZMbmFjNjROQm1GL2xxSWhyc1pKaGx1Q0hhVWF0THNsNktMNGlw?= =?utf-8?B?clNvampKQ0lVUTNPV3A5cW1tdGpmVk1Qck9kNEs4NlVOcko2bTZZN084Qk43?= =?utf-8?B?UWxucURsV2hBY3FuazhVVFAwS1NsWndhbHU3TDl5OVIrRThDdnpoVDdwemFC?= =?utf-8?B?L1QyN1VXa21ENVhncTl4MnhaTmlQaTBZZXBMNFBGWTFWRDdqUGdUOHZ3RTU2?= =?utf-8?B?MjlJVWs2d09vR1dRdExXcUozc2QrRC9iVFRGZHppbnltYXY2YWViK1gxL2hJ?= =?utf-8?B?TjdWQmZNKzNRN01xbHRONm5zVVR4ZzQxMnhwWWN4QmVQUEFiZ2dNRVVHenpK?= =?utf-8?B?WUp6QkYycFgzVDl1TnE2YVhBUXQ2a0RkNHhVVzhCNUdvNVpqUTBydnREVExH?= =?utf-8?B?U0pqUUs5V0RkSjZWbGFtSmp4QVh0c0pmLzhvbGk2dTdyS2IxbG55VStqbDJw?= =?utf-8?B?alMxeW9SdVVyVmJ3UytSVmZSRDdRODFlaHFta2RNNllnOVJmV1VjR2FiS2px?= =?utf-8?B?TUxCdEZLbS92RWlUQ3NHcUdKMm9yL0xtYllGS3NRZ2RRQ2JzQzE2UW5SUGl0?= =?utf-8?B?ajRaT1ZPNlp5WlFiSmxFV0VUK3lXWmpSWmNPeEc4bmVSQWhwaWl0WUdEZWNk?= =?utf-8?B?Uk1qUk4vVFZHQTVqQ2M3MGtBVDEyVEpSWGJLa0FKV1BBSzNneHFYWFMycUpC?= =?utf-8?B?eHVrMm9lS1pva3NjMkpWQlVrcityRU1NS2x1UWlKN2FXY08wYk9CUWZnNXhO?= =?utf-8?B?WFZZaU1Pbm8yV3pYVzljSmJKa1l2bWVjeGtzMTRYYVBlWW8wV2wzbWQxY0Uz?= =?utf-8?B?MlZhd0RtQWdwRHh1UVc3RjVHc2J4ait3RXZXdHlMWVZFenFsNUVzalowSW1q?= =?utf-8?B?ajd0dEdKYU5XcTl0R1B6YXNLYk1WZ2gwS1BrRHZXYnJmYitWSGxteXpTTW5v?= =?utf-8?Q?eUidvn2cxF5AtyAR3YfkDrV7t?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd2e8777-9105-41e5-9cc3-08dd830219ba X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 07:32:00.5228 (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: PeJwCQlTihRVTkLHoQMhhcx439uBwfox2+2iQgAXFLc3Q2oARuTOPOpOLHQtioDHXC7DX1CyHjThZMCZuEJtsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10594 Remove all the goto in probe to simplify the driver. Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 87 ++++++++++++++----------------------------= ---- 1 file changed, 27 insertions(+), 60 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index bad6b30bab0ecb90d0aaf603b6de5bc834d19de6..00da184be88a026bf562c9808e1= 8e2335a0959e9 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -1161,10 +1161,10 @@ static int nxp_fspi_probe(struct platform_device *p= dev) struct device_node *np =3D dev->of_node; struct resource *res; struct nxp_fspi *f; - int ret; + int ret, irq; u32 reg; =20 - ctlr =3D spi_alloc_host(&pdev->dev, sizeof(*f)); + ctlr =3D devm_spi_alloc_host(&pdev->dev, sizeof(*f)); if (!ctlr) return -ENOMEM; =20 @@ -1174,10 +1174,8 @@ static int nxp_fspi_probe(struct platform_device *pd= ev) f =3D spi_controller_get_devdata(ctlr); f->dev =3D dev; f->devtype_data =3D (struct nxp_fspi_devtype_data *)device_get_match_data= (dev); - if (!f->devtype_data) { - ret =3D -ENODEV; - goto err_put_ctrl; - } + if (!f->devtype_data) + return -ENODEV; =20 platform_set_drvdata(pdev, f); =20 @@ -1186,11 +1184,8 @@ static int nxp_fspi_probe(struct platform_device *pd= ev) f->iobase =3D devm_platform_ioremap_resource(pdev, 0); else f->iobase =3D devm_platform_ioremap_resource_byname(pdev, "fspi_base"); - - if (IS_ERR(f->iobase)) { - ret =3D PTR_ERR(f->iobase); - goto err_put_ctrl; - } + if (IS_ERR(f->iobase)) + return PTR_ERR(f->iobase); =20 /* find the resources - controller memory mapped space */ if (is_acpi_node(dev_fwnode(f->dev))) @@ -1198,11 +1193,8 @@ static int nxp_fspi_probe(struct platform_device *pd= ev) else res =3D platform_get_resource_byname(pdev, IORESOURCE_MEM, "fspi_mmap"); - - if (!res) { - ret =3D -ENODEV; - goto err_put_ctrl; - } + if (!res) + return -ENODEV; =20 /* assign memory mapped starting address and mapped size. */ f->memmap_phy =3D res->start; @@ -1211,69 +1203,46 @@ static int nxp_fspi_probe(struct platform_device *p= dev) /* find the clocks */ if (dev_of_node(&pdev->dev)) { f->clk_en =3D devm_clk_get(dev, "fspi_en"); - if (IS_ERR(f->clk_en)) { - ret =3D PTR_ERR(f->clk_en); - goto err_put_ctrl; - } + if (IS_ERR(f->clk_en)) + return PTR_ERR(f->clk_en); =20 f->clk =3D devm_clk_get(dev, "fspi"); - if (IS_ERR(f->clk)) { - ret =3D PTR_ERR(f->clk); - goto err_put_ctrl; - } - - ret =3D nxp_fspi_clk_prep_enable(f); - if (ret) { - dev_err(dev, "can not enable the clock\n"); - goto err_put_ctrl; - } + if (IS_ERR(f->clk)) + return PTR_ERR(f->clk); } =20 + /* find the irq */ + irq =3D platform_get_irq(pdev, 0); + if (irq < 0) + return dev_err_probe(dev, irq, "Failed to get irq source"); + + ret =3D nxp_fspi_clk_prep_enable(f); + if (ret) + return dev_err_probe(dev, ret, "Can't enable the clock\n"); + /* Clear potential interrupts */ reg =3D fspi_readl(f, f->iobase + FSPI_INTR); if (reg) fspi_writel(f, reg, f->iobase + FSPI_INTR); =20 - /* find the irq */ - ret =3D platform_get_irq(pdev, 0); - if (ret < 0) - goto err_disable_clk; + nxp_fspi_default_setup(f); =20 - ret =3D devm_request_irq(dev, ret, + ret =3D devm_request_irq(dev, irq, nxp_fspi_irq_handler, 0, pdev->name, f); if (ret) { - dev_err(dev, "failed to request irq: %d\n", ret); - goto err_disable_clk; + nxp_fspi_clk_disable_unprep(f); + return dev_err_probe(dev, ret, "Failed to request irq\n"); } =20 - mutex_init(&f->lock); + devm_mutex_init(dev, &f->lock); =20 ctlr->bus_num =3D -1; ctlr->num_chipselect =3D NXP_FSPI_MAX_CHIPSELECT; ctlr->mem_ops =3D &nxp_fspi_mem_ops; ctlr->mem_caps =3D &nxp_fspi_mem_caps; - - nxp_fspi_default_setup(f); - ctlr->dev.of_node =3D np; =20 - ret =3D devm_spi_register_controller(&pdev->dev, ctlr); - if (ret) - goto err_destroy_mutex; - - return 0; - -err_destroy_mutex: - mutex_destroy(&f->lock); - -err_disable_clk: - nxp_fspi_clk_disable_unprep(f); - -err_put_ctrl: - spi_controller_put(ctlr); - - dev_err(dev, "NXP FSPI probe failed\n"); - return ret; + return devm_spi_register_controller(&pdev->dev, ctlr); } =20 static void nxp_fspi_remove(struct platform_device *pdev) @@ -1285,8 +1254,6 @@ static void nxp_fspi_remove(struct platform_device *p= dev) =20 nxp_fspi_clk_disable_unprep(f); =20 - mutex_destroy(&f->lock); - if (f->ahb_addr) iounmap(f->ahb_addr); } --=20 2.34.1 From nobody Sun Feb 8 02:34:42 2026 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2052.outbound.protection.outlook.com [40.107.105.52]) (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 6155222256A; Thu, 24 Apr 2025 07:32:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.105.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479929; cv=fail; b=m4VrX7mkxrQunkkNJ2ewtalBpCy/DCrdMeb/9mpyE6I3jYQMNf5QE1aELxaUD9JfdIsb1NJ/vc50AAlGiwTzISgocoUkXHR/1fuYYtB12BY/g/XfhvteWIN50qQqiC9wI62gapc0fV+91ErP+C7QwPKm7lR088Gl3TAjMFlr/Co= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479929; c=relaxed/simple; bh=OI4iSGXxyD09ySKPaTnSNkXPT4xN/jGSL4XikQ038Tg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=OEDmLTh5mSlmyh9dQBPsNcu6sjOCZfi1cgD7JB6ddxhM/NbEZkAzFrlMpju92IolQnciRtuR6oBnW0qOfTBQefYzmJyP7rAjEAg6xh6x6qsTbsNcB3xCYY1/5zMC58c0KOTSltKifaE945dQ/u8S831n0KW0H/IJVbLUiRJeztE= 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=jmClFXHt; arc=fail smtp.client-ip=40.107.105.52 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="jmClFXHt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CNum3iNGKL94Aa3Vr5xbRJJ6vE2lpt+aEG09wMcTKWvgLKV52xjLGbFLl3Pn7oQuicopPipQzqWOYT6ZcCKD1NuTyyi1wnJnjuU5zzuxxHoNxuIG8wTIwVkDwE8LHzUyhFoc3uWtmPnDUfYvrfPlkbtsxyF1a+DOOqjChq8Q+12J1vCbna6sMwCeOw/6hMW9ngVyzGG5Wv4DDSZOxwmQlNbZBfemF3TTQaT+Xu8hRMSsJGkCsPnj8ZKzv8GALnxRd9/KJen7LsbY5xB9hiKTEkBVew3GtZauOh06pDlvzmUStBb9yAOnb4wluD9lPq8KaUdpGgMUBW7Loj6FmZ4x8g== 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=liHQmwLVebmz6tdOh1EehsH6ZtR+3rvjh9GQwIhvxos=; b=IWQu7SA5aT2IboOWiNBW1B46qvoWioL421WCWOTKqBIkqNmaga+28OAampprmEfESwuhTZw0cwXu/76hqBb6dGT3Gp/QuwD9AutzL1B0K1itTuxMwYM3WgekpXUyIIdkzLEBPN2jDrrrtokyX+JduNIcMfwImB4l5lWkCZ0DhVDQFo0NQ4/IjhK7/xC61FBs7q0SafX4dZ5iRAWVHvtedvUk91AYjd2wvgU3+C7oAQAvuncIZlbcombArsPLif0X77/SFSY1fXgpihjg+ulRUBzenVsc3J0aYADEA0xpIoI8CwFfUCkZmsgLjzK05XJAgZvRRR5KdzRCpwCji0Pfiw== 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=liHQmwLVebmz6tdOh1EehsH6ZtR+3rvjh9GQwIhvxos=; b=jmClFXHtIecKuQpktA47xvhpL5jAQtXE4WEZMlKi9dlfsaKz8G3lKC3f2KX4Yh5nFs0l4AHWEoQ12U/nD3/H+rD8ayo2ar83GRczTP5gbWgPqO1+uwSGB+laj6n2Dr8RGIM46u6O3JfHIvRIwv4fKOKo+MbX/cDshbROiTt2vmE6Uf7qJhXd8vB3fJ9If4Eq2YXKS5MYfxWV5GKhO31mBnHogyWzGQoHsaQPV2zDUIEsD7ADfxolqZjHq1MjJG7ALsYZ+OW+vjzk577TCSECxVOBkrG/sTlW/x4eDEAA15SgSFbh4/ZCN5UZBm0jK/g2l2O8Pf34VztLJnZS40emQg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by VI2PR04MB10594.eurprd04.prod.outlook.com (2603:10a6:800:26f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.23; Thu, 24 Apr 2025 07:32:04 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334%5]) with mapi id 15.20.8655.033; Thu, 24 Apr 2025 07:32:04 +0000 From: Haibo Chen Date: Thu, 24 Apr 2025 15:33:26 +0800 Subject: [PATCH v2 2/5] spi: spi-nxp-fspi: enable runtime pm for fspi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250424-flexspipatch-v2-2-e9eb643e2286@nxp.com> References: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> In-Reply-To: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> To: Haibo Chen , Han Xu , Yogesh Gaur , Mark Brown Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1745480038; l=5768; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=OI4iSGXxyD09ySKPaTnSNkXPT4xN/jGSL4XikQ038Tg=; b=BusK+8s7WH2wxjAPfZ66YvTu6soiMc/s9g4inZMg3Dc3FarF/DhUeBZKMVf85El3tsqHyKTic K5nu/SgFP0qAmvc/GPgAOgZ2jTZL30iE+0ABTirD85ON935Kwbhvkjm X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0055.apcprd02.prod.outlook.com (2603:1096:4:1f5::16) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|VI2PR04MB10594:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b86aafd-4598-4501-1f45-08dd83021ba8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TjVRUnZxYm81cTJDYk5hOEprS0hrM0oybGJDdVIyWFlWR3JLNm1KQTNmZlU4?= =?utf-8?B?WDVEVW1qSWkxS01IQXJsYUxTSnRiTWt3cGtvZ3JremNsRU1FdlZmN3dLUjNt?= =?utf-8?B?cTdYd3RVeEp2UGpQd0NDTDFNZjlWd3Z2MS90bnUzWnoreVlVcVF4RWJhZ2VL?= =?utf-8?B?VGQwa0JnVmpFYjlkd3lxbWc1d0ZkR051VG5vRStJaW1oZmxYc1VOSFJRYzZj?= =?utf-8?B?bnRQaUlKdjZXSFcrcUNzcW9UdzlDRVNjazBoMlV2WCtzMWVMZ3ZGRHB6K1hu?= =?utf-8?B?MG9FTG16anNVc20yQWhvS3hpbTBlSEZnZnYyeFU1YzNyY1RkdHBqcDZpRHhM?= =?utf-8?B?aUVqZE52V2Y2MjVHVVFoZmV1d2JvMlVYYUJBNUdtSDRDejcwUTdQVGlrSTky?= =?utf-8?B?S1RyTFZRanJUVGhRY3pIY3B1dWJqUWZkbDFuZ3NkYUNMOFFvR3VyWGR5TTBH?= =?utf-8?B?ZHBORE8rWlpkbEJuQ1VaaGxmdi9QK1J6dk1qZTRwYnArcit1S2RSOGRneG5P?= =?utf-8?B?bEN0Zjk2U0M5L0FlWnE3Q3pWbndLZmlJUE4zUUpvSDJIdDRJRUdCS21EemJR?= =?utf-8?B?M2FJS1c3NzljcHRPNklCRGppUWF3MWE3ZWJxUDBsMEsvRG1heVNySGRaRTBW?= =?utf-8?B?eUZYTVNJVGpNOFJoazRtQzhkUTdkTnVpTG16MktpNDhLaEZmNkRVWmpNc1BW?= =?utf-8?B?alFmbnlqUHU1MEpnaWVtbWpzR0RjdUJPbWJDUXFObjU4RUFBNWZBczkraURq?= =?utf-8?B?dG5oNXU3TTJCMmVocUswaTZ0aWJXeGF1VjlGUlFOUCtsNW9MSHRBVUVkSS9l?= =?utf-8?B?SXNTWjhCNm9ySFMvUE4yUHFJTjgxODdkOGZBUmduYndnUEtnaEFpYW9GRVZN?= =?utf-8?B?MkVNUHZyQkVUenBJN3J3SGFVR1NQTWpPWHJBSVFGV2FxYUthcHVma2duTGU0?= =?utf-8?B?ZWVQVkxjcWZ1d2V0aGF5WGw0Ti9iQnF0N3BNMysxQ1g0OC9wbDhqNWMreEs4?= =?utf-8?B?K2tyNjVja3ZnUEVVQ3ZCSFVCaldEVWQ2cUxSM1ppUUFhWEFsMUZnUmRvdnRi?= =?utf-8?B?NnZhUS9zME5lN2F3eHF5TkhCak5mTk5ORFZwVXNFNS94Z09WTWQyczUrUlph?= =?utf-8?B?UGMzKzFTcWR3dWNxdTZ0dnFQdDByUzQxeEwwMFlNTEVUQlJsNnZQUGZSWElX?= =?utf-8?B?N2s5aTNmUWUzZmRCTjEzZ1BjSE9WdVAzcEt5Mk94NFFMZ3ZvdWtRQ0RZTFpa?= =?utf-8?B?OStyV2NDYmhLUW1SQjRzNVVOQnRad2JMWlM1eU05byt1OVQwZVRPVU1pZXg5?= =?utf-8?B?cmFXaCtrRkZuV1h4Wm5Eb2g1YkNQU29wOGExcnhWQ2dQa3JzYlF4eG1TZ0xa?= =?utf-8?B?YkpNcnpYbktISGVpQmUvU0FIL3dJdno1L0VjUnUwL0dQMWo0TldyRlVzRmZG?= =?utf-8?B?YjdBcHRwTEdROGpURDFDbkMwd1ExajR6c1AyaVBGV3ZRZXJVUzE4bGFTLytz?= =?utf-8?B?RUZPSEwxTG9BM0cxck8vZkpwdUlJTmZ5VGJjRG5pRW5SRXdVSVNSemtrcGFK?= =?utf-8?B?dE8xVXJwLzlLcitwbk83eGhJa0FLU3ZqZmwrQnBZZFlsYnptRldISW9xNnpF?= =?utf-8?B?L2RXNHFaUzV6bitubjM4TUtscm1MeGo4ZTFkOEJHcFFqemZSVnpRQURISCtm?= =?utf-8?B?RndqNWRBd1FHM0JYdWxuaW1OK2Y1UURVUFNKQlFWbkJCUkJIR05RZHg4MlIx?= =?utf-8?B?OS9IODVRdnFGMWNUb2pFODVFMGtEQjVUaUxPUHAxOVFZeUpGS240SndtUWd4?= =?utf-8?B?ei9FZEZrK3RpVUtObW5meExQbzlPZjR4RVBIeEFGTkthQVR4NVNJR3FaNTIr?= =?utf-8?B?bnVsVDhKelpHdm54ZURYd0txZkluQStvOEtWSTgrM05lbjl4cFY3bnA0TjlJ?= =?utf-8?B?eklzZzA4Y3RSZUpFbnJXYSs5RHoxM2RuMHBHUnZkR0llcVUzZXVVWVQrbVdo?= =?utf-8?B?RERhck5udHVBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T1pRcGk0SFNOQnhoRXNkRHBsK2pZUU8vbUhDZnFhVXZ0aUpHYWp2TFJkVlZU?= =?utf-8?B?czJLTWRMZm9MV01IQVZpZ2hMZzV2d2FuNEozdkk1eTFhbDlBS0E1dGppMXo0?= =?utf-8?B?Z2NoOUhOZDJmVHlQOTM5ckdUcmw0VlkzZUljcXZYV1BPZ1JKVHIrNEM4RkJr?= =?utf-8?B?dGJvZXJrZHkyK2lsdXY1QmNWWWNKWWVnUm15dllsc3BJUzNtZlY5S1QySFFN?= =?utf-8?B?VHExUWpnQWNMNjVVdHozS1FmVkFrb01QcHNsek1XNXhpQTUwR3lVUlJZa0Fx?= =?utf-8?B?dndhUSsvRjd0cmt0MU9kNHFsNk1sblFnSnpPdDhhM1BrdHFRVXZ4N04vUVAz?= =?utf-8?B?bjNxTjBnSWR0WUluNGRORUp2aHBJL3pQSThhdjR4NGZ4VzFwRVd2Qm5MWVJu?= =?utf-8?B?WmRjWGo5S0llVnp5a2UyRUhFTmQ3czJpblF6emtBbWpqRnpUWWtzaElObUVk?= =?utf-8?B?QWRZQmthT2hhRzJSc3RPZFVvOEhmWUZFUW8zZWhRcXlZRUtscm93bWRIS203?= =?utf-8?B?Y254dVR2SGNablY3VW5DbVNDYVcxdVRZZ3VnNnZpZERDK0pyb3dkWXJqaXRO?= =?utf-8?B?a3pHSDNtVW12Z3dUT2lTSmZNMTNkcm5mTmt6YnNyUEFpS0RNRFYwSzYxaGN1?= =?utf-8?B?RVk5UFF0ZmhCUjF3K3pvZ0ZWYXlCT2QvU3lTdmZWNU05SHU2amtGZVFWRHg0?= =?utf-8?B?L0xSakFobE5sVHc3Uk96ZElIbTYrMHEvVUwvTUtReWRURi82cHNrMVpmVmFs?= =?utf-8?B?TkJkSEM2YjZjaHUrWWh0ZFZzREFlYnp6VkJLWTgyaXVIb0pneHovQnByb3d1?= =?utf-8?B?dGFLZGpLZHBiNmhVQ010Z3NpRTFRc1Q1S08wZVNNY0RTOFZuekZYaDRQdTN6?= =?utf-8?B?ZzJ3Tmt3OGphQjMrd242UlQ2a0E0aGkybzRyQjdaLzRBeGRBS2ppeEhhbUVB?= =?utf-8?B?dCt0ZWY2em92eWtWWk8zZmExQlh1U1ZCY2RMMWhGdHFWaWt6d0tFZWIyMG81?= =?utf-8?B?citYK0FGVXppV3NDY1k2ZjNaY00yK1VodHZHTWwvYVB0NCtlSmZESElQeUow?= =?utf-8?B?cGRlckpvTnZ0cGxQZ0lHc21DQlFPRDdBQW1KSzVGcmJ5NlM1aW1oZUtlVFBR?= =?utf-8?B?QWFjdzl3cDJvRnZYVjdpeFpYQmpsRHpqT3J5TVp6Rkk3K1cyUUNsU0RuckNN?= =?utf-8?B?WXQ3L0VqYW80YXVFWTVWUEVnclF1Znhkb0c0UFI0NHJTeXo2blN0Q1BwcnJB?= =?utf-8?B?M1czOXh4SnFkUFVDWnZHK0w4YmNZZnI5ZVNFYkIrb3ROVjRhcHBxU1l2d3hJ?= =?utf-8?B?cGpqSkY5SW1TQ20rSmtYSzdBZ00ydGFYME0rY2J6YlgrWk5IUjRxWU11WW55?= =?utf-8?B?QzlESUxOSkZGRHV2RkpNV29Jei80dTQzREJzU3AxN0M3QVgycC9JZURQOTZX?= =?utf-8?B?SmZjUHFEbFRaVTN0eUp2RzJETithT1dpWlVoTzVPQUZKNUYyMGs5cU12UVJr?= =?utf-8?B?ZGdObCtyQUk5amxkcW1qUEFnUytOYXJ2ZUt1QnhkSFUvWUUrVjQ1RElsblFI?= =?utf-8?B?c0dFYTJaUVE3OFJBc0JaQkZzSm1waEpYanFoQXlZcEFSWjBJNC9LTU41Mnlk?= =?utf-8?B?ak9kM1k0QnlMaHNROUxGd3Vra2pHdHBYVWYwa0tCRWlzcmU0TDhWS2tzK3Q3?= =?utf-8?B?dE4yRDBWd3MzcHhwNVBNQ2g4U1hjYjdQc1hYdzZCMklEZ0lDMEl4dlR5N2hI?= =?utf-8?B?RGFiOENTTFFoMEYvNE5CQVVoRktBa1RzNWZkUGpFWWl6ZXVIbm14RjJQMmRT?= =?utf-8?B?K01wL1RZVGI2VTZtaTkxRmZ3RGJvLzFlUllvb1BpS05QYVR6WVpnRTJpSnV1?= =?utf-8?B?YjgwcHJZem96QjNDVWpKNWsyMS9seEx4UjI2QlIyNTRJK044S090cHI2Ly9N?= =?utf-8?B?bUpNM2RoMlRjWVFrK2REMEkvaGhqRTkvZHVHKy9nU0VKTmFKdmY4UkVIaFMz?= =?utf-8?B?SkV5aXByWTNaMjlwS05MbjdmYnNJdmNnekFvajVjWFNublVFUmt4N0FHU0NF?= =?utf-8?B?S1Y3WGRiamNQdDBPZy9reCtJKzRYVmVHRUZmWTJRSnR6WmxPV21LVHYxNjAr?= =?utf-8?Q?7o9gQ1GiTf9PzoXInw66RK9Zy?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b86aafd-4598-4501-1f45-08dd83021ba8 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 07:32:04.3679 (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: qYWBmGpeK8mJcRi78BRaB3tNUxw9uA/569AHca7uHpus5/bS+B2k169dAjzdvFcoTJ9tS6dPdSN7uJglUsCncQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10594 Enable the runtime PM in fspi driver. Also for system PM, On some board like i.MX8ULP-EVK board, after system suspend, IOMUX module will lost power, so all the pinctrl setting will lost when system resume back, need driver to save/restore the pinctrl setting. Signed-off-by: Han Xu Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 95 ++++++++++++++++++++++++++++++++++++++----= ---- 1 file changed, 79 insertions(+), 16 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 00da184be88a026bf562c9808e18e2335a0959e9..438a9c103c5969bcae06b4e02d9= 8397ffdcaa345 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -48,6 +48,8 @@ #include #include #include +#include +#include #include #include #include @@ -57,6 +59,9 @@ #include #include =20 +/* runtime pm timeout */ +#define FSPI_RPM_TIMEOUT 50 /* 50ms */ + /* Registers used by the driver */ #define FSPI_MCR0 0x00 #define FSPI_MCR0_AHB_TIMEOUT(x) ((x) << 24) @@ -394,6 +399,8 @@ struct nxp_fspi { struct mutex lock; struct pm_qos_request pm_qos_req; int selected; +#define FSPI_NEED_INIT (1 << 0) + int flags; }; =20 static inline int needs_ip_only(struct nxp_fspi *f) @@ -927,6 +934,13 @@ static int nxp_fspi_exec_op(struct spi_mem *mem, const= struct spi_mem_op *op) =20 mutex_lock(&f->lock); =20 + err =3D pm_runtime_get_sync(f->dev); + if (err < 0) { + mutex_unlock(&f->lock); + dev_err(f->dev, "Failed to enable clock %d\n", __LINE__); + return err; + } + /* Wait for controller being ready. */ err =3D fspi_readl_poll_tout(f, f->iobase + FSPI_STS0, FSPI_STS0_ARB_IDLE, 1, POLL_TOUT, true); @@ -955,8 +969,10 @@ static int nxp_fspi_exec_op(struct spi_mem *mem, const= struct spi_mem_op *op) /* Invalidate the data in the AHB buffer. */ nxp_fspi_invalid(f); =20 - mutex_unlock(&f->lock); + pm_runtime_mark_last_busy(f->dev); + pm_runtime_put_autosuspend(f->dev); =20 + mutex_unlock(&f->lock); return err; } =20 @@ -1216,9 +1232,14 @@ static int nxp_fspi_probe(struct platform_device *pd= ev) if (irq < 0) return dev_err_probe(dev, irq, "Failed to get irq source"); =20 - ret =3D nxp_fspi_clk_prep_enable(f); - if (ret) - return dev_err_probe(dev, ret, "Can't enable the clock\n"); + pm_runtime_enable(dev); + pm_runtime_set_autosuspend_delay(dev, FSPI_RPM_TIMEOUT); + pm_runtime_use_autosuspend(dev); + + /* enable clock */ + ret =3D pm_runtime_get_sync(f->dev); + if (ret < 0) + return dev_err_probe(dev, ret, "Failed to enable clock"); =20 /* Clear potential interrupts */ reg =3D fspi_readl(f, f->iobase + FSPI_INTR); @@ -1227,12 +1248,14 @@ static int nxp_fspi_probe(struct platform_device *p= dev) =20 nxp_fspi_default_setup(f); =20 + ret =3D pm_runtime_put_sync(dev); + if (ret < 0) + return dev_err_probe(dev, ret, "Failed to disable clock"); + ret =3D devm_request_irq(dev, irq, nxp_fspi_irq_handler, 0, pdev->name, f); - if (ret) { - nxp_fspi_clk_disable_unprep(f); + if (ret) return dev_err_probe(dev, ret, "Failed to request irq\n"); - } =20 devm_mutex_init(dev, &f->lock); =20 @@ -1249,28 +1272,73 @@ static void nxp_fspi_remove(struct platform_device = *pdev) { struct nxp_fspi *f =3D platform_get_drvdata(pdev); =20 + /* enable clock first since there is reigster access */ + pm_runtime_get_sync(f->dev); + /* disable the hardware */ fspi_writel(f, FSPI_MCR0_MDIS, f->iobase + FSPI_MCR0); =20 + pm_runtime_disable(f->dev); + pm_runtime_put_noidle(f->dev); nxp_fspi_clk_disable_unprep(f); =20 if (f->ahb_addr) iounmap(f->ahb_addr); } =20 -static int nxp_fspi_suspend(struct device *dev) +#ifdef CONFIG_PM +static int nxp_fspi_runtime_suspend(struct device *dev) { + struct nxp_fspi *f =3D dev_get_drvdata(dev); + + nxp_fspi_clk_disable_unprep(f); + return 0; } =20 -static int nxp_fspi_resume(struct device *dev) +static int nxp_fspi_runtime_resume(struct device *dev) { struct nxp_fspi *f =3D dev_get_drvdata(dev); + int ret; =20 - nxp_fspi_default_setup(f); + ret =3D nxp_fspi_clk_prep_enable(f); + if (ret) + return ret; =20 - return 0; + if (f->flags & FSPI_NEED_INIT) { + nxp_fspi_default_setup(f); + ret =3D pinctrl_pm_select_default_state(dev); + if (ret) + dev_err(dev, "select flexspi default pinctrl failed!\n"); + f->flags &=3D ~FSPI_NEED_INIT; + } + + return ret; } +#endif /* CONFIG_PM */ + +#ifdef CONFIG_PM_SLEEP +static int nxp_fspi_suspend(struct device *dev) +{ + struct nxp_fspi *f =3D dev_get_drvdata(dev); + int ret; + + ret =3D pinctrl_pm_select_sleep_state(dev); + if (ret) { + dev_err(dev, "select flexspi sleep pinctrl failed!\n"); + return ret; + } + + f->flags |=3D FSPI_NEED_INIT; + + return pm_runtime_force_suspend(dev); +} +#endif /* CONFIG_PM_SLEEP */ + +static const struct dev_pm_ops nxp_fspi_pm_ops =3D { + SET_RUNTIME_PM_OPS(nxp_fspi_runtime_suspend, nxp_fspi_runtime_resume, NUL= L) + SET_SYSTEM_SLEEP_PM_OPS(nxp_fspi_suspend, pm_runtime_force_resume) +}; =20 static const struct of_device_id nxp_fspi_dt_ids[] =3D { { .compatible =3D "nxp,lx2160a-fspi", .data =3D (void *)&lx2160a_data, }, @@ -1291,11 +1359,6 @@ static const struct acpi_device_id nxp_fspi_acpi_ids= [] =3D { MODULE_DEVICE_TABLE(acpi, nxp_fspi_acpi_ids); #endif =20 -static const struct dev_pm_ops nxp_fspi_pm_ops =3D { - .suspend =3D nxp_fspi_suspend, - .resume =3D nxp_fspi_resume, -}; - static struct platform_driver nxp_fspi_driver =3D { .driver =3D { .name =3D "nxp-fspi", --=20 2.34.1 From nobody Sun Feb 8 02:34:42 2026 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2052.outbound.protection.outlook.com [40.107.105.52]) (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 E58461E3762; Thu, 24 Apr 2025 07:32:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.105.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479931; cv=fail; b=XzP6o1oyiRmffp6GPAfgTJBlNU9zIngM2toBYKWmAj6zWjy22LuXTvc6oBIp40khTtBl9176C4DtIEGPC0zwZ5FUelZiRncEAPDQzLAYl6FkOmWJPfzbRafOBoqy5owFtxVIdLClpGUHVN/RVI3ktmPLXj7lK3hD0UwnNXNDrLA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479931; c=relaxed/simple; bh=oBJ82+NG8LtwoiLe8wZ+jLWUQXd6W6zIG9Nxp7D74UI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=r+sfhzSy61qACTALUgA7YbrHHASUMEzJNuCHy3/U2QnxvW0fHDH9ngx0gYqgqKgfS8cYSnQuW5cFCEGwl2NFMak6BCc9AK4Xn5/XRm7xoeuzK8h9vqQBQAEL+Pvmg9+RrXbwDbvahl+Pll11ylBn1kzzzJv2xUZWCfTpQEN0qN0= 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=ECrJCSOm; arc=fail smtp.client-ip=40.107.105.52 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="ECrJCSOm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HrNK3YZw8D11nH6A4H/Fa535gS4UM7Xbkz3ljTZi7Ha8Byc1MWsuodE95qoRwOJP2Xn4e5p0erCZZ5XWyOudJfpugy9tnteE+6MVtyJKbh2D1d30PhgcK8b01mW2luKDIeu/o8seAai4wXwh9DBUqHHTGuC1Jt74Fn41SjKl8fiEsUWE2PQx9GJlMK/x1tJWy6VqQUYA4OWRCZPIPSs/JKtxpqwPfhfQnqOw/LRvOPwy7ZXR18d3LbEg6oigkkJ7OqCrsrr5MTOaHDtDI70f6QL2sJrxPRgULyZc/QQqcq1zd6oLy+MCH6Rnlq9hBnziSWnz4SLfCtv1yApvSFlu3g== 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=uNjoVXGwlM2Irn33wK4CYGndsJ4GRQEha2lpgQVQtqI=; b=r9I5Y4u9vE30XKBSgLmO66jXZtFP0hzgvOn0zhpjVLR9WVDrzKLMCxNzKzGWnVJp5LXSuWH35Pxr3e6/h/yHlu0Rie+BMeBdR0gipH4HgV6NEQ1Iq8Uf1R96iTVBFbAi4P8FeFbD+Wv7i9/1uzB0JHOjn4mnZmV43wtKH+kS4fIE38x8HCnKPaProNM2g0yol5vI1iKSmfwnHmwWQ4gLSuJk3mx+AxiU7oYHheHf5MgXevMp56cinB7/aQjRj207xGjBLabkCUUzpcN3ucPR6w2yNMMxtWUVTbNhUJ+N54+DLJi0BnI6EsMwyUD5jDEcGrjBfKLYbdH4JKJNwzndVQ== 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=uNjoVXGwlM2Irn33wK4CYGndsJ4GRQEha2lpgQVQtqI=; b=ECrJCSOmm5gsCrspQ/OWdke8Dip7ndXk23PxGq2+lThMjvv6vUmAlene8K5nQ47TFeU5MSobJhz4uL4J2DFFXqKPS3McAjFHKQdsqDhts3T+n9osUrhCVjH5HsTPKgp3mdgGKcNO/ltVt6BsHbWR0UGXSL6qysIfSY16rpE270XsFFXtbHtAyq3RYHuneSigMuDNi4lTlQyvYrfv7M2+Dk2Ci9y1UinkK87e2KNGqBaZygF4h/fa7RU7LXprP6kRnFSrFsR4iw4MbZMEwU4sxYHFHvEmzIuZ6OvQoZD0fSIySwTTuIAlOrO6cCCh+C35tipZv0cOLGYQKaGo8RuyMQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by VI2PR04MB10594.eurprd04.prod.outlook.com (2603:10a6:800:26f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.23; Thu, 24 Apr 2025 07:32:07 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334%5]) with mapi id 15.20.8655.033; Thu, 24 Apr 2025 07:32:07 +0000 From: Haibo Chen Date: Thu, 24 Apr 2025 15:33:27 +0800 Subject: [PATCH v2 3/5] spi: spi-nxp-fspi: use guard(mutex) to simplify the code Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250424-flexspipatch-v2-3-e9eb643e2286@nxp.com> References: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> In-Reply-To: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> To: Haibo Chen , Han Xu , Yogesh Gaur , Mark Brown Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1745480038; l=1084; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=oBJ82+NG8LtwoiLe8wZ+jLWUQXd6W6zIG9Nxp7D74UI=; b=Xlf12cI7D8hVlUD20ZD5r/teW4H+u89c8DtBO+z7cdOWfoKgEkA9Xhrb2M7zwbkIBFZMJ/hkJ ymGB4n/1DZNCzz7tsJSHE2upC+HBB0Zi0tc3l6Y2umTps1KuNPnTbqq X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0055.apcprd02.prod.outlook.com (2603:1096:4:1f5::16) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|VI2PR04MB10594:EE_ X-MS-Office365-Filtering-Correlation-Id: 92fc5d97-6ef1-4f89-0e45-08dd83021ddb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TkZRN0tFUGZENDEwWmZzK0FuUVk5VFN1YnFRbFk5WmUwQXk0ejNZK09ReHJR?= =?utf-8?B?cGlodnh1OW9KOGlzSmw2UGlTQWl5MGZ2bmN2WWcxNzBIbm9lZVRUVlpiMDVo?= =?utf-8?B?L0dEWWNTUXJLWHBra3VFUXNibjYvMVFsWmdLKzU3d21QYmNCTld5QXA5SlFv?= =?utf-8?B?bUVYSWV0M25EWXRTTmQ3dmVpMjEyZmpuTlhxVFByLzc0YUFNY1VXVWU3UVFZ?= =?utf-8?B?Z0graHFNaUVQVTM1bmFWSnFpU0RVQXNBd21DMXM4Z1UyTE1XTEpkaU9VN1NG?= =?utf-8?B?SlYxYzhMMmVjSDY5K0FDTkd6UmxmYXpIdXE3Mnp4RndZYjgrMnYrN3NVVHdk?= =?utf-8?B?Yi80ZWVKTDVyZU4xVXJWWXZNOFp1Y0xDbVc1OVI5Sms4WU01bmhmYlI4MllH?= =?utf-8?B?bmp4TU9Ebjg3VGRYdWpZZUZIS2pVV3pnOUpLV2JYV2h1V09HUDdZZlRCY3Ji?= =?utf-8?B?Smt6WDVNVTlIb3JCcGF2MXQ0eHVoZWVOOWpTc2xUY0RlYlNaNUpjZXdEL3Bi?= =?utf-8?B?M2kxMTVoODlrVlNXbkdLMkJFcUdCV2lhTzhFUzNCSGZ4SDU3RzdoNnArY1ZS?= =?utf-8?B?SDZoUDFSbmpoY1d2TDVESlEzRS91OGcxY3N6T2VRWUtpOVdhY2hXaEtkdnM5?= =?utf-8?B?ajh1bCtBWXBZa1FFNThQTldmNHVJZVY1b0FlNDhNTStsbXV4ZU90VzRLeE43?= =?utf-8?B?VWRMaE95UWxOc1BwRHZvU0hNd3d6UExHeTRyL2h0cG9xdzNsR1BubCszUkRN?= =?utf-8?B?VlI0T3RDNVpnelFxT2wzeDR2bkNoZU0xVFJJMDBHYmd2SUJwdFRJdHZ5VjdO?= =?utf-8?B?dWRJdkJTQ2ZpZ1JyYzY1NzMyMkVyVWh6WmI4cVoyRjRqUkc4NmJqcGlmUUJ5?= =?utf-8?B?d0hOa0JaY1Z1UHVXS1Bkb0ZpS2hwL1NRRERjOWZhMjlCYXI2STc5eVNuRDVE?= =?utf-8?B?SjFOOGZzMTRWcXRJczFjWWpqQm56T1hoRzdvR21ZaG1TeHl0N2MzMGRYak1R?= =?utf-8?B?VVc4eFplSVl3WldMNjA5SkRteE4xa2dpREJDSGVpdnd0ZGQ3NXZ3Y0Zsalor?= =?utf-8?B?SnhNRU9uMlBucVFRZ3NlSHVGazVxNGJ4c2lEdFYzVFNxM3puUHlmTzh2QzVs?= =?utf-8?B?NVFmT1VWaVRRd3JkMStHTUhiMml1SFlNVW9WaXM4d3N1dkNNREVpVlR1ZlNn?= =?utf-8?B?YUtFR05WeGxXYllpS0xVZVFQSjVwUDRiL0NYN0JuUFFTckxlTUovN2xGMzBo?= =?utf-8?B?emh1SFJ5TUZqbG1za1FyVi9RWHliTnFTU3RQOFlUYjRDUkhseXBSL0tISjc1?= =?utf-8?B?ZldMZnRaSWVOdXozc1UxK3hneG82SEVEQWc4dStkbnVXVVpWbkRuVVdFZkli?= =?utf-8?B?UENvNElNVHdIV1J0TDJyekxBSzVTZ01YamN6R0hFY2swWEhCeUJLWmEzankr?= =?utf-8?B?VEY1VnZUZW11UWU0Wk1QY01qOXBLQXhlNWpmZGZkM3Z4N1dwcFVjK2hlRnQ0?= =?utf-8?B?djg1WUhzalFyM1hidFBvS3VHdG04clpqSjVLTElWdlV2NGp0UmRBTzJURXNx?= =?utf-8?B?N2pvOG0xVDEyV2tSWElSb3VsR2ZsUTJNeVh6YlNwZWJOVzIvRjcwK0ZtTEdX?= =?utf-8?B?RUFIVEpUd29NblVHcjkzYkZNVE5Kcjcva2FwNXdMU0c0ZUVCUzV1cXNEM2Zl?= =?utf-8?B?blFOeFYvRDVaQis5SERPbytTa3FaRWtlK0RNQy9vV0VPVWZSL3pKR3pHekRF?= =?utf-8?B?OWZLOC9mZFJJcWhDcVpkWVRoWTdFNXVCWnVhTTM1UGJoTEV3RFpabXZJMEtN?= =?utf-8?B?MU9JRVlrb2ZTeXNZWnZQdUlNUDF1Q2d3bVQ4NE81cmtua0RKNUlMU0hLMWFD?= =?utf-8?B?YitVV1dnWTJOMlUzRWJuSU9NR3MybkZEOHVrZkxJbUVpbE5pSkNwTXJjNW9l?= =?utf-8?B?V0FEbWZXUTltRkRQUENQRDVxSXl4YStOWkNkeVhoVGF6NmdIbm1FTGZCeFdS?= =?utf-8?B?OXNZeU5BNWh3PT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVM5d3ZZZzUzTGJQcDJqRDZFR2NiMnZFOU9HWWVoYlIzMlNuRU9xd2R3NVdF?= =?utf-8?B?UjhGc0JNNGQ1ckx4L1lIbFJhL25hVkJsTDc2NTdqVkxZWStVR3puMDlhRXFu?= =?utf-8?B?dTZZZUxpVGhJL1NDQ1pIQUp4YktHdUMrdUdRbDYzRlVOdlNXNUphRDFybmhT?= =?utf-8?B?dnVGR2thL1N3MllXa2txZWZaWDd4QzFTWmFXTWhMMzJ6Wk8xckprRjQyYjd4?= =?utf-8?B?TWcvbkxHdGFvN2tPdFRqeDdJdWNiVkxremtzZ0pXYWlIR3l6d004eEtkY1NG?= =?utf-8?B?SEZ5RHNtNW9TTHRmdENTNlgvZ3UvMmZZcmdqSFVkajBZMUU4aUpNcmhYMnpx?= =?utf-8?B?YmVsbThrUlRTZG9wSTExVFZyeWhuMitlVFFuaWYyVjBBZkMrekoxUEtyQlht?= =?utf-8?B?K2xYMmdlT3ZuOTBZWFpLdEhIdG5jL0VVbjVsU1lITy9Kb09LQTdtSDhxbE8x?= =?utf-8?B?RXI3b3lCTFVjZjdVL1BFcTluTFh2ZTZlQWFxd0ZIZVM4cngxNjdDekdZcE45?= =?utf-8?B?RHV4UG1IMTdienlHc0IyQWdpMTRZb3kvOXl6UUtiYU1wWG44VU9lMWY3MVRq?= =?utf-8?B?SWJyWjZheHA0VG1vSDdTa3AvWC90LzhSbkg2N25IbWZ5aW9rR2N5Vm0walg5?= =?utf-8?B?VjQva0NPeVJYQklQd1ZBNlJGT0V4U1F1aTJiZENFUENrRUIwQlpqWit1MWJY?= =?utf-8?B?cjNhaTM3M2YxYzNrcGF2b2hSV3VNSmdEREo3Z1ExclVuZ3M3MW5IazdIeVZS?= =?utf-8?B?ZTlFQTIydXM0aW80MzF6Q1d5Y0R5ZFFzcmszNytrYWJucmJCOU1yYUo3bVB0?= =?utf-8?B?NytQenBsSnQ2T2RPcXY0Y1ZCT29pSGdLZm1IdnJMOTFoY3grQkJ6YUtDQ21I?= =?utf-8?B?NEZyekVqeEJVMDRmdEtXeGhJaVNIYjZ5N01hVDlIQ21RT0NPRmg5NXVFOXdU?= =?utf-8?B?TXJZbGxIbTVBVTFMZktDZmlwM3B2SzkwVHUvWnFDcGVqYTdHZDc3Y3JnUGVo?= =?utf-8?B?cUdHdDdGditmWVU5eXplUWFaMFBpWXM5ZDdkeEt3RnNpMjRJZm1ZaHROL1U1?= =?utf-8?B?Ryt6UThSbjFLY2RuS1RqUkthUTRrYmsyR0NyelZMbUJSYlU2UCsxRlJiZnE1?= =?utf-8?B?T2VCM2pSTWhlZkNzWjRjV050WmpLRFRpaWZHbTAreUkrMVZHdzh4Ymc4c1RS?= =?utf-8?B?MUdsVkNtVWVwcHBBSnZMVFdNRFRvV3lIbjJJTG42c3NSaGZVMEpsNWdzekNE?= =?utf-8?B?ZGN6MzNtTTQ1MGt0dkdQTjlwQmNnR2tTYkRJdHZSMHVGVXhpQnJYOVVWb3h5?= =?utf-8?B?UEV3cUE4TUVCNW1kUVl5Q29oSmcvU3dkV1VZVDM4ZVVkT21zUVkxT3R5MzhW?= =?utf-8?B?WFVhd0FZZ25tME9PMDZHMC8zSzhGOWhWUk80Y1BHK2VYdVlQajZoYjBZWGFK?= =?utf-8?B?UXVaSWJqRmdhTDNWTnY3RytUMzZOZlVKays1THA2c3dtU1IzTVVWMDhIcE9n?= =?utf-8?B?UUdMVnNpNytMSDVtUnZRdm81M05lWXdzcHlEM1JXbDV4cFVFZ2l4S3hWTjZI?= =?utf-8?B?cThHUDIwbzVjK3c5MmFTaGZHVU90M1VUUnBOMnVvVGViNkhaa3Z0RXlIcHds?= =?utf-8?B?OVFCSlRsWnZybWZVNWlwTVRvcG1TRjg0UXg0OXlmeUFsaUdTUGdPbFMzRmFt?= =?utf-8?B?djJRL01JTE85OXUyai96YVd4Ymc5V0VwWWxERTBmbG9TZytVNEZmakh4c2pI?= =?utf-8?B?Q0M1WHZYZ1RRTTFJb01sQjdkUGhJNUVaZlc2d3lOM2dxUHRqZDg1aVE2eHBP?= =?utf-8?B?RDdvQkViVWY5VVVVUDFucUJucDZJK3Q1SjhkU08wRkVuNk9lWTl2NzhEM0F4?= =?utf-8?B?OTRQNHp5eUlyN0p1TnlaR3U0a2pBaDc1U05zRmhIRFo5eUxzZGQ5M3dSanFZ?= =?utf-8?B?aUdWdjlxSFRiQXVCcjlxQnRjVzhQK2U0cnY5QmZVUHBEMnhNRXpNR2VWOGdZ?= =?utf-8?B?YloyRWp4WFQ4alg3NW12TDFKTjNibGEzeGF6VmdzdU1zRXVKY1hDSEF5Nm9q?= =?utf-8?B?cmdiRWNiYnQvcWhLUGtKeHJjb0hhbTlRS1hkY0FvSzdmL3AvNitnTFJGMU5C?= =?utf-8?Q?6IMIpUYRnYAp1UB7NENGIjIby?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92fc5d97-6ef1-4f89-0e45-08dd83021ddb X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 07:32:07.2499 (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: AiI2hUKZEjxRPI2nqUnWhCgCSPeaY7Q5b5JSBh58QNTSgnkKPCBU6W9wPrpAVQ3T327QXhk0jZi7QVZSH4AxCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10594 Use guard(mutex) to simplify the code logic. Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 438a9c103c5969bcae06b4e02d98397ffdcaa345..e001c7241269ec8d3fcae25cb6a= 36b5e47600066 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -932,11 +932,10 @@ static int nxp_fspi_exec_op(struct spi_mem *mem, cons= t struct spi_mem_op *op) struct nxp_fspi *f =3D spi_controller_get_devdata(mem->spi->controller); int err =3D 0; =20 - mutex_lock(&f->lock); + guard(mutex)(&f->lock); =20 err =3D pm_runtime_get_sync(f->dev); if (err < 0) { - mutex_unlock(&f->lock); dev_err(f->dev, "Failed to enable clock %d\n", __LINE__); return err; } @@ -972,7 +971,6 @@ static int nxp_fspi_exec_op(struct spi_mem *mem, const = struct spi_mem_op *op) pm_runtime_mark_last_busy(f->dev); pm_runtime_put_autosuspend(f->dev); =20 - mutex_unlock(&f->lock); return err; } =20 --=20 2.34.1 From nobody Sun Feb 8 02:34:42 2026 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2052.outbound.protection.outlook.com [40.107.105.52]) (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 33A71223DC0; Thu, 24 Apr 2025 07:32:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.105.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479934; cv=fail; b=tttBkQKLPWU9UA+k+SIuz6Ljg3fSyrNxs2Fb/+62gVTP7T+C9T8MidFhsqmLNzExGsfIqkOxqHT8iRZ5VfAAiydO9bVyw+Aur/OOTkBcEk7v3ih0DhwO1zuKi/BQSIZh+7JgNEcQdGSMTu6qjqOxKWJprLkIsYyJ2raALENQLrM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479934; c=relaxed/simple; bh=IP3p/KtBzS5yNgxKYF3tz8DY4yRZ+scAAK7FWlHzYiY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=UeAsvp/W1AzZW4dPj0I4G36FeLjFTw3dqW4Yg2C1BYMKq6PE3WaTPEGhp8B7lc5iAC9eF4EHahr5blUh9exikpDQSleSqD5SXOmZbgX7bj6g6J3LqkHhTvEgabTO6nE2siKcbc/IjEnTpkoSEoEkWNmivN2SyzlDOZXd5Zbhhag= 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=TZv8Qa9S; arc=fail smtp.client-ip=40.107.105.52 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="TZv8Qa9S" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mE2gnatWV+KgdwGf8wPX6sYLn6bvPcRaSaN8z7Upx6uPMfc10qT8sdwZ/e3T9cUrHM+gw1wqyd5n7Sy0IQrYUgf2t9hkbdv3F1QgQH8HNz0Aryplu9MaC7I6fZop+tkQhaR+XC/ZcpppY6avA71E+li23sq7rpSqu2IzWZFsdQLVA54g5wfUqYJJUcO7Csd1UgFt4dnbfVaGO+zoE5dx/UYWJb9IUOJ2yckGHOd79PcvB3dyBbU249bnE1dEN6qzCp9s3ce4yaKSYrxENFXstcqxmit8WkwCwJVrhLx4fLqU11SGi86acdOtx6qlvrU/LXGSLESFi51zDiUMJHcZRQ== 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=1dKCRkh0xRvmKLB+F++gZPJINuURNVf2TYJdNTjAgLU=; b=jxqBKENCR6ZHgWj+RPtp5LcgqxK6bgROFdA61hUBbFx8oBeHJi49YGI3ruU+5SzYOb13RjfHldbTM9pFrus7hIBKbemmozDGjqozacsm51eN3a7pK+i1JNhBS4y4x0ao/45LkXvbuDy3eL+kKnXT8yWooPlglZp13qkirxcouTDsj/nvtVqOosHPebngdKmx9ztWpMOH5ovqa4Dz+CG+WSm4nsb30/lHlsX5iZK8bnd3AqRZj4oUOYprTWQJKR0bcYqkmD/Ho0YTuBKb6Fd+JE985e0HyK3N5Hg2UY3oGDbV6adCOrQL1f3EE+xHTu7wfwPSC/wC3TovvAHnPlLMUQ== 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=1dKCRkh0xRvmKLB+F++gZPJINuURNVf2TYJdNTjAgLU=; b=TZv8Qa9S54ce6WD8fWqTijhz9g6xjvdxcW4Bb0Ny06VS3iCkdOuONVKv7LKpMA8gi3xQfiHmA6S9oordTi8pKG7BfpW85NpAt3QeEC1CaYjfrp/1pGqmu/Mz4cLtFg5KqkJrjYoCBgIAokx7DEIWJQ9hJJP0PUup4V7lCtFgrEz1aPZbNmeLepPEXTroREUcJe4F2ZAHrgrhAz33jYJmjj5rsM6vR8h0H1EyXjGV9AGCf4nMQvxT8NqMSfXFqZFxhbzHEvpNafaiie1KuCt2mRdJHJl8RZMQUZg7TFNCtiqKIiRhqVCgKU200l+oaR4boB2SZdJY2jp0iTclFBZ3Ow== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by VI2PR04MB10594.eurprd04.prod.outlook.com (2603:10a6:800:26f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.23; Thu, 24 Apr 2025 07:32:10 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334%5]) with mapi id 15.20.8655.033; Thu, 24 Apr 2025 07:32:10 +0000 From: Haibo Chen Date: Thu, 24 Apr 2025 15:33:28 +0800 Subject: [PATCH v2 4/5] spi: spi-nxp-fspi: remove the unchecked return value for nxp_fspi_clk_disable_unprep Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250424-flexspipatch-v2-4-e9eb643e2286@nxp.com> References: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> In-Reply-To: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> To: Haibo Chen , Han Xu , Yogesh Gaur , Mark Brown Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1745480038; l=966; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=IP3p/KtBzS5yNgxKYF3tz8DY4yRZ+scAAK7FWlHzYiY=; b=CkDNKGNajKz3+GFiCnzI1n78rSewxFIJdlOCqM8Y+xTrhYhxcncNp3d0E/oD2pVYs34zeSrXU ULjwH3y4hdrCOaJDK1Jsll8DiOTUuhb0lD1oiCIzeyUj5OcmGF9LOwO X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0055.apcprd02.prod.outlook.com (2603:1096:4:1f5::16) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|VI2PR04MB10594:EE_ X-MS-Office365-Filtering-Correlation-Id: 69843582-a00a-44a8-f66b-08dd83021fa4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?anVOYkFsSnN4b3oyRWRheUR0dHppcjZlci9qTFB6bnIrbHUxRFZZclk1d2s5?= =?utf-8?B?NjV3Y3o2Rm8xUWtQRnYrVWNJcjFqNnFjcENZOVVFcFJrdmF0NkFTdWJvR0k1?= =?utf-8?B?bThtMzF2TUNseVM2YlBhcjBRblg1Y01JVVdMdldjbWM1U0VFK3g4cEJ6WkJq?= =?utf-8?B?bFlEUk9DSVlRYzFabWdReXNTWHpVV3AvVVNpY25SczFJaFhOYXc1MXowRXlR?= =?utf-8?B?QXYyYkxpTGtZTk5vOFA1REsyV2lWZithS3pNbEFGYURxc2gzSVlhblpBNmtP?= =?utf-8?B?VHgvSGNWMmJra1JBcFZDTzNCQmQ3d0dBcmpsVU15K2N3MkE4dnZMQkgyVzk0?= =?utf-8?B?OElCNmxMeUdwQWxyb3JGS3h3ZXhVT3dQamQ4eDJUek93SkJadFhJUHdLTFVK?= =?utf-8?B?eFNsS01IWGFzS3c0S0dXUmRiUlV0emtITUJwUXkzcm83YjdCcnhudWNVUHBk?= =?utf-8?B?S052UnY1dGg4ZlpPNzdOM3A4Wk1QZVk2N3FBWURLdnBkVWVnZGpuOG03TXp0?= =?utf-8?B?RUlDZnJkd3JCcFo1UnFZSElDV1p5dmVqOXgzdXd1SVFkZy84NmZFSHVwV0dT?= =?utf-8?B?a1pibUk1SjN1K0t6VE5jVEFYZk1waGtwTERVNU5GZ3FkeTRtRTd5M25qMmxt?= =?utf-8?B?aXJrY1d1KzIzQnpOY2kySVNnREFqcnFCOU01aHQrRERrcWVhTjdTZlJSVkha?= =?utf-8?B?eWhNeDdXcDVUTU5NMXEzalZJaUo0eE9QM3VOYk1LN1RieXg1Q2RxSmlpMmlO?= =?utf-8?B?cE9RTHF2UVR5RnMwK0NzNnppS3RBdlJvZXhkWDdxUkNOM3JtZzZXOTNKTFJY?= =?utf-8?B?ejk3SXpic0ZmVi9hTy8wTkhoamdVVW0yRW9teDBkUnA4YVlLb1lqTnh5TFBE?= =?utf-8?B?allPdllvVDBjVzNEZjliSGJqK2tRbkRRb2x3TjUvSEl1WE1nTzN3VkZlQVg0?= =?utf-8?B?blpDNTFpN0RXM3VITWE0Vy9vZzk1NTN3YmZHUGk5RlV1Ykdqd1ZxSmFLRFcz?= =?utf-8?B?bXc2Q0s2cEM5V2NhbVR1bEU4TW1jUndoY0U2MGUwbk1NbGszY0NpdTJva3Y3?= =?utf-8?B?OWpzQnpVc3ZNdy9MY0dXbnI0SHNaMlM3NitsaDFYakxUYURUOUJlSVdwcENP?= =?utf-8?B?ZVdGTkk5RXhGUFNqOVZEYXoxTXRWY3VBOWdkWS9wT1hYVDd3enlvcHVWQzcx?= =?utf-8?B?bFFLRHRrc0cvL0hkN1FXUTdKdUJQVzlGc3JiQ1RBQk5CdjJHTThZNXU0TEhz?= =?utf-8?B?eG8xZFA1anlhaEl1QWlJUko3QVI5eFVEK3F2eFU5VjBBYmxyVEV0TFFoRVpl?= =?utf-8?B?ODc2dEpjTVFVU3F4Tm1BREN5bHNad1BVc0Ivalcxa2VicExvVmw1NGhseU9B?= =?utf-8?B?VnN0M3FVdURFNWlZenUrOVphM1FDaEh6d3d5LzVLeDkycWdReUh1Sm1TRmNq?= =?utf-8?B?OEI5S3crbWhQL3cvcVF1VE9CY0hvOWg3aEJ4aVh6OHNxRjg0OEwweXNSQmpo?= =?utf-8?B?MzdkakFsUnNoVzd0NGx6VUpxeDZFWXUrVjdUVTdpU0djeVFKaklvTU9SYTNn?= =?utf-8?B?QXFSdEMwT2dLbkpOazdaamloUWsxVzVsUUdkREwwLzJYQWt2WFN1dXo4Mk50?= =?utf-8?B?YXFzVG1oYm9QcWE4Y2UzdFV3TGRwVUh4aTVIY3JGVkJOSGk4bVpQQStsWFNI?= =?utf-8?B?MU1qWVpaTmFSYzIrcWZaMGo5aTBoa2o2Uzh2dG5TQ3NqYnNSUExoUENFV3Jz?= =?utf-8?B?NGFWMXhJcEZCTTNSQjl4T2kwenROWm9LUzJJdlVOUTBFWUpFb0hxWTI2aFhJ?= =?utf-8?B?ZzdEMEJDRHZqaUQ3b3laQ3ZERmhPS3kvc3M2OGh6azVPc3NrZjBCTWQxWDhv?= =?utf-8?B?b05JUWhaUW9CR2JHR3F5TERjM01MRjIzWGNCaUNsYzNJZFAzRm9FWjFZaVhn?= =?utf-8?B?SlJNRWUrQzVZQlVzRUlTYkRZbFBJMTVTdzVNcEdrbTYzMUhvZU13MjJCb3BQ?= =?utf-8?Q?GRazrGzCQCLMY+rEXJlqMveo8Pj3RU=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WFpxMGY5eVNmSVRDd09VOFdySlQ3WmVQbEVRWmtmUkt2OC81MUZ6UHdKMHVk?= =?utf-8?B?MFZrVUFNM01LUVQrM3VVc3JldU5LKytjakVMMVR6S2t3R0RCYjN3aTJzTmhB?= =?utf-8?B?SFVOSXRxSnJLemU2akdwZmR3ZVZ5THRnNURWVTBKVVlnOHZZTWRhUis4OHRR?= =?utf-8?B?L2QyQnQ1dmxWQVoyWDFPYmVnY0MzYkc3UUM3cHg4b3FVVjk4VmFkeG1YVklM?= =?utf-8?B?L3VqSkIvS0ROb3czTllqMktmUWF6Z2NJYzhhZU51Vk1Jd3NDZiszektOSjYw?= =?utf-8?B?SGhWWEtHVk9mNHJQRFdpZExEWmF0cXFqemdnYkkzM0xXemlnSTZrNkgrMHBV?= =?utf-8?B?c1A2ZHdiVGR4a3c1c2tzdTVXbXlXdzFBdCtKcXJkM3JWbVJ4NmFwaDY4cHdB?= =?utf-8?B?Z21KWlhha3U2WUo3N0dCV2lFbkswK04vbHNqR2tTS0h3dGVwdGRQVS9LVThM?= =?utf-8?B?dExhdG1VQk1nWWljNDlEVjBwZklhYWhDdmhpb1NuT0tLei9IRFUrTCtVTUdJ?= =?utf-8?B?TjFmazJ0K0d1Y2lubUc2MEJ2Nm5kZ3lWYXlNaVluWnluU3lHdmNuTmFWcS9L?= =?utf-8?B?eEJLR2hYbGh6cFlwRlNjWFV6ZnJiSVVSbWxiV1gvRmdmeit1WVdYcS8waDU5?= =?utf-8?B?OGJqUHE0VG5CdG9FYXRWRHdqNXpZRzVmcnRvcnFTWnhBNDAyQzBvK2QwMkJV?= =?utf-8?B?NkRtQWpEUE9XMGVySnFkdlM4TFJubStaYjZ5VytDSDJoZWhFNi80RWJ2b0RO?= =?utf-8?B?RFpSUTlaMFpZd0tOUW10aklITHJiR1ExTThOYWRvb2VwNlJrdzRUWEVod1RT?= =?utf-8?B?UWppU0IxUnZUdlJSSDdQT2paQ3dwdzlLenZVbkEvU2VNWGNLZzhxQkxnb2hG?= =?utf-8?B?bklOVFRsekJTL3Z6OVlrWFVsRGJQS25QOWlrSTJBcHNRY1ZWR1Z3TnlDc2Yx?= =?utf-8?B?b1ViUmJmNGFLQTlBOHNCaVNKVHRKNjRMeEl0aDI3L0IxS2k3MFA0NVh5Vjgr?= =?utf-8?B?VFZYMVBUYU5xWG4xUitNenJjb0VValVhVjdXaXN5U3RPTkF0NWNwQkZlbEM0?= =?utf-8?B?S3FzSXBiNmxkNnlmaTc2UHNOQzUzWFMvcGVMV1RuY2F1eTFlVnZ4bFo2VnZx?= =?utf-8?B?cnREMFRadkd3bG9sc1ZwcVhkUDVGNXArazVPR1JEYjZxSEE5RG9FV3M0eUVO?= =?utf-8?B?TW1vSFpVc2Y5WkYvUEFOeTF2bXlrNTZ2alJpc0Vkdm01U3pLakdpQVJSdDVR?= =?utf-8?B?YlFIZnNBSTRUcytOaVByZ1FKaUY4OUF1OHZ6SjlEOUVWazZzc3hYZTc4MzVx?= =?utf-8?B?VllhK002TVpGUEl6d2ErM28zVm5xWG5uekxJNUh3NkxuU3lkaXhPeG1XYmRK?= =?utf-8?B?SUptazNORFhHdkNQbVJYQnVya3J3SzJIVmVQeEJMUXpPeC94ZnZVQ05iRU82?= =?utf-8?B?b1R6SStlVkhsR29WUVNIWnhSaGhUVWVheFp1bXJmUnZlK2ZhL1RPTFoxQXBi?= =?utf-8?B?SVJ3cHkyQ2lYSlFPZmVtekljbzdWaGh4WUEweXozS0NnV0dTMTZaaE5TUWpK?= =?utf-8?B?UHpvcnBIQlF3djN1THJKYnFhZVlNMUdjWU9KRFVoUDVaNTNrOG5KUHMwalp1?= =?utf-8?B?a294VWlqalJmNkNaa004TlZKQVVVK1NzdHdlSjJBRXB6VDZ6cVdSVDJaTm9u?= =?utf-8?B?OWhIREwzTGlTcHlNV21neHdoV1ZkRiszVVlGZHByVGZqOCtJanBTZFR6c1lT?= =?utf-8?B?RGlCbGtSNGpONExtM1Vsbm5CSk5KTVoyZW4vL04venJSQmxHR3F3M0hiRmpG?= =?utf-8?B?cnpTVlpwbXA0Zk1iUG9EK0pPMk5UeG9ZVFZ4L2pBenFXdXN5bFNkanN0c1BY?= =?utf-8?B?ZStoOU1Dc1BRYmRaaTdra21uY2t6U25wZi84NkFGMm53ejRGdUJQcW0xSU8v?= =?utf-8?B?UXoxQXpIOEgzN1Q0R0diL3oxRmhMVk9OUU5qRllnbjF3eWlFaTMvMVdrK0Jp?= =?utf-8?B?OHVNNlhEenZnNkdwMWF0ODBuYlUyMXhCUkhxbEhNY01nZy9tTHdlM0graGlY?= =?utf-8?B?SmdUd2hsZlF5aUplMU9vdlFuUG9EcEpId3g4a0h6dG9Kd21wME9zQ081RFN1?= =?utf-8?Q?D37OoDzKtW7/d44gFbfqCxiCQ?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69843582-a00a-44a8-f66b-08dd83021fa4 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 07:32:10.2445 (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: POv7VojfOuCEYcoSsZkRAls1FZuuJLQPnDfYARKvB3hBDQJ+B3H4wSycEvXFXaFf/46bzCiw3XCnNg/ic5e2vQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10594 For nxp_fspi_clk_disable_unprep(), no caller check the return value, so remove the unchecked return value. Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index e001c7241269ec8d3fcae25cb6a36b5e47600066..5be7809b4a494e22ac79c07b99c= fe8b2fa430ebe 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -634,15 +634,15 @@ static int nxp_fspi_clk_prep_enable(struct nxp_fspi *= f) return 0; } =20 -static int nxp_fspi_clk_disable_unprep(struct nxp_fspi *f) +static void nxp_fspi_clk_disable_unprep(struct nxp_fspi *f) { if (is_acpi_node(dev_fwnode(f->dev))) - return 0; + return; =20 clk_disable_unprepare(f->clk); clk_disable_unprepare(f->clk_en); =20 - return 0; + return; } =20 static void nxp_fspi_dll_calibration(struct nxp_fspi *f) --=20 2.34.1 From nobody Sun Feb 8 02:34:42 2026 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2052.outbound.protection.outlook.com [40.107.105.52]) (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 66A35224AF7; Thu, 24 Apr 2025 07:32:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.105.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479936; cv=fail; b=h9KP7PzniMI6V2dJ5xOmJuRsX2asskm0o/M7AhQ0gcgeEu2BgUdWtzppnvQHqqfex7xcMyd6zTE9NPXTCVnlV3aEwcDIjSexriOOpVv7yw1M1IVG5T3xTzdqt8vOiNNe81mrP8PJ/zJOkrDkBfYSTfdlUEXD0ijVeZmu2XRZGto= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745479936; c=relaxed/simple; bh=UO2CF2T4R+GBDa+q0lxOzRC6Kwy3H7zH55tkSSNRgyE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=eMBZ419JhAjnJDwx+gn6TvAJ49rUB8Q7Q0kC9YTQb4LchzKk11ypfQCigPRQKxF7Kk1zOCj+jzy4pkr4ik0c5SeSH6Li+TOj5ZoadrnoeA+cqab+eGEJb8Sro35JogwQDUaa5ZbabVskrCD5oJw8epYBQtxfpjDebgmn7zafrGw= 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=mTaMnGYg; arc=fail smtp.client-ip=40.107.105.52 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="mTaMnGYg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BOuWlfq++eDqy4dDABf+LMGNBr/vuR4xCfonIPaNLpn8NVKlDW/Z8JFU/CDmFLgzFUiZFAc1f12fVqLj/ekqylckbajFJZ/+uLEJzX2GrJLavjKpCgNAJCN3SIsnzDnuFi9XljJNLvzZ35q1FeItF2Art/2aH9qnMGa10ursT3vGfgaq91mGYOVKFpuCZEQADgRi7somkWE1sP7ZQxfEtw2Iv8UWSC8JbwjTpqy8zifUr6O759DowgxgJPGPUE5fbeU1752GNMYWicaa8Js7RiaIEnqmSoNuwgqPWgUYwunPlkn9SUjIoMvLo5r8AVBavEnqZzAY0+siyUCQ6S4ahQ== 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=iDVEtT+ghwB7UYmNXOMxNtqKDgs/p1o6yr5FXZMUYbs=; b=Vns8vuHgBrtZGjzjVsRnAEo+e7Sb7DMVr0xHNu+u0aMB27fCqtmP0N4KzzkJLf6aVQgtMpV2f029SZofaiVkluyF0mDzH2kQsXiwt36sCDYj7HO+I+NlIiz0yeml2oAH+xOeLNhirzzQUWREXiiZEPOdq85q79t3TbuBuenAt9B/BTupGDJD7/Ebzun9fjNmDSQEvjvEw/CHFbj61lNF0OfXFVQoyP7nAgP6/HWcoNQzYI+9HbSa+qrpzTcc78jUtf7xcX7xDzqmP29rQNhYMgjDJWpezjUaUWUsd599TjuDTrRgnzDAHRgrt5PXb+19XGoJFPuFk6XM0X4tXkZrQA== 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=iDVEtT+ghwB7UYmNXOMxNtqKDgs/p1o6yr5FXZMUYbs=; b=mTaMnGYgjdDv++OpF8meHqAOkQAY7IKs2MYBCf9rBgLJRX+oBX2BHKwS8kHLCF/8yz0gAQy1QOfdUGhZQKYqZxe3IVwT0lxi8k8E29wEAJwnsMedXLlOlToeczM+H3I4RAUalV1QPCi8pj4HOZQgmgk3EyS/22+HL57e2CTeulx4/AFAkwBfxCQJjIMwz3KlSGODyruYqkBSuzSO7mx3tsNsOChZCleZVYQZyFk06Y0V+U3Br8rIgL8BC8A4FpPFlYRoNdmrQr6xgPVmBw5fw3iMhcSXRTLdLLrLX8wlHSIAAHibayZtXfp1oPFqO7qnQ2jV04wkJrn/+sAhrAeXcg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by VI2PR04MB10594.eurprd04.prod.outlook.com (2603:10a6:800:26f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.23; Thu, 24 Apr 2025 07:32:13 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::4fa3:7420:14ed:5334%5]) with mapi id 15.20.8655.033; Thu, 24 Apr 2025 07:32:13 +0000 From: Haibo Chen Date: Thu, 24 Apr 2025 15:33:29 +0800 Subject: [PATCH v2 5/5] spi: nxp-fspi: use devm instead of remove for driver detach Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250424-flexspipatch-v2-5-e9eb643e2286@nxp.com> References: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> In-Reply-To: <20250424-flexspipatch-v2-0-e9eb643e2286@nxp.com> To: Haibo Chen , Han Xu , Yogesh Gaur , Mark Brown Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1745480038; l=2545; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=J8Ud1vZfwI+2gILbpmyg4igG8KXXP6V/mjMQU/4wy7E=; b=6trq19sOhlpxlG8D52TqKfV++AZsvV18RtSepTIjv7y9dTimzKGSFGTG9CKb69k5IVOH3qvi5 8vwYsUA+V/DBLoDBhPVl1Es5LAsQhwU1oCcDQ/Wc48cvpfhYYbW3efm X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0055.apcprd02.prod.outlook.com (2603:1096:4:1f5::16) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|VI2PR04MB10594:EE_ X-MS-Office365-Filtering-Correlation-Id: 25fb4920-7f9f-4e4a-afbd-08dd83022139 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cFUvMWJkOEtCaVBXTHQzV3hxTGFWVG1XRk9pZSswV2Fobnl6Z3F2MnFzMEJx?= =?utf-8?B?czNqYlY5OHZsc292ZGY5WU1hOU0zZzJRK2Z3c2pBdmQvaGlHa2ZpRFN5ZDg4?= =?utf-8?B?OHNuZmNDc2lyenhOeEtTWmJEbjI4aVZyZFk2OXVjcFdvM1JQbCtEdFMwVVJq?= =?utf-8?B?U2kxTERhdEFLZkhWY3JnQmtnRDRXNmY3OXoxcXhQVzJOUU41TXpLWDlTQ3Jy?= =?utf-8?B?cUMwd2FWNkNMSWIyOXJ4a3kwb2JrMmFJbWJCTHZ2ZERvSFVYaWVJMC9CaEhL?= =?utf-8?B?dEFiSGcrTXNKQWdNT0hFZkhIdnlsbnlYMDV4K1JBbkhFK0J4LzUvOUozcVVl?= =?utf-8?B?Z1k2QWxTd1ZpaS9LdTFCakEwTmZMa1UvdDRRNHE0UVVKK1pZYTNiWDJIUkJC?= =?utf-8?B?MlREZkx5eVlsaGNnbzMyVWN6cWhGMHFINHZONjczMWdPak5XWlFsSWluL1pw?= =?utf-8?B?UkhENHl4Wk9OSVhZNTRvaWpnYVg4QkVJQ1prbVhPQzR2ek10SEc0d2FpVmRr?= =?utf-8?B?dmN6ZndnTUlHSWVCOG5PaGZmOTlGRFFkcDBLQk9SQ3Yza0d1OGNBbElmbkgy?= =?utf-8?B?YzljaEZUeStWckY4WndvQXU2ZDNVOHhIRmJoaGVGNFE4NEN0VDc2SFM0bDRq?= =?utf-8?B?Qmx5aVh2d1lCcEZzUkw3bC9ZNHVYeEsyci9qWkZhRUNGVC8xblVMeVY2R09u?= =?utf-8?B?SXlNWHMxQWVMaGl0L0F5KzZQb1dVaGRTWGQwcnFEVTNBdzdCeGdaSnl3WjEx?= =?utf-8?B?NUpheUc4cUZrazB6bEpxQ2ozZUhmOXA4Z3FRWW9XTjFpRG10eEdSalJGNEdz?= =?utf-8?B?RlBlSk1KTC90bmRMNTNOVklFZHU1bGEvOEZwbHZGbHVHcURnQUtrOUMwME0z?= =?utf-8?B?N21weVJTOGV1K2Y1MXBtTXpaMDV5RGl4dlpkbiswZTVKbUsyUEpxT0oxSktj?= =?utf-8?B?amVPNGxlanY4TW5aNjZOc1Q0cG1OVkJ3TFVXMTdPbVovZS9GaFNUODFDRWUw?= =?utf-8?B?WENyRXkvZHdxZnFSNDJlbkpCVlBLekJTbzFYYmhyTWpWelZaRGNzb1J3TWFl?= =?utf-8?B?anZZTnVjSkh2Y0grOTFmL2RBVUh5TXhtUEJrb0Z5cXJQbWJuZXp6WXNmYlhk?= =?utf-8?B?MHpzZjBMdHdMVDJlSjJ4NEI0Mi9GOW9sRU83UHlSY0ZTSW5QZU92cVpESDlB?= =?utf-8?B?b0NmbWh1bkcwSUhVcHk0VWpoZmgyRnBaeHdSeHR1NG5QWGdSQ2ErSWtlWU4r?= =?utf-8?B?b1IxODVBYWkvWGRmOFZBZ3pCck02M0dNYTQrQWd4ZVF5WXZXejR1NDdqL2Rt?= =?utf-8?B?S3orQ016Z0lpWHYySmZvYjhLZ0NrQ0d2NDNQc1N0ZlVybVZ3UHVWcHp2UG5q?= =?utf-8?B?YWxseXk2QVR6elNsRndEcTNSMktxOEd2dEtPeDNWQ1lIa3puMjJRMGUvMm5F?= =?utf-8?B?ell4SFFnRlR5QWcyOHV6U1MxTytHNmprYTNjSmR1UEUxSnlmM2tybzdTa1Fs?= =?utf-8?B?NFVmRmdZVFVId2FxcE5YNzZnSkc1bzJJenNvdzRQQURiYndXQ1NmbVRZNkF0?= =?utf-8?B?ajVLTkQ0RTJ0ZEJPaFMxalpnWk5iWFFzL2VkWWRUcGN2dERIWkU4NE1hd3J0?= =?utf-8?B?a3NhZk5DR1BLd2twMmQ0ZWlPUSt4RWpRY2V6bGtZN3dYMmpxV01vRVY4K1VX?= =?utf-8?B?SWVEdkg1QlBtUkpYOWYyR2JPNVFrOHZlVE1PK2VwaG1JZUNxdlRKcmFXT0N6?= =?utf-8?B?UHlNV2Q3MjVxVHVSOUg4dXZvNmJpMTlFUmZKMUFWTW54M2pIVGR5Q3lxZlBl?= =?utf-8?B?ancrM2kvaUM0QXVrNFNUbkFMbi9wM3p1dk40MWRxYVZRb21JOGJLTStNSXha?= =?utf-8?B?ZWx2bFQ3V0dLK1IzLzkzTnpIVndnUUNuZ3RUMWphbmU3VXBnVG9YYkdUcFRU?= =?utf-8?B?WXhSWEVGUG04OVJlZEptTnBuMkdYSFdJSjJFU0ZUaE5VY0F1di9aZm9zeU9R?= =?utf-8?B?TklJMi9MbjNBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bFYxK0ZhRzlSWk5vT0t0aUsvekoxdUhJdnJRNUxnNlhBc21ra2xwWTZERHF1?= =?utf-8?B?TEZKQldObTZsRWNIcG8wN3VuQVJaR1JFZWtwbDk5NUY3S2RMbUFMdHowSGxC?= =?utf-8?B?dDlhU2J6QTJHNktxZllsU2Urd2tNeXJqUko1ODJpRjNiYUFNbkltVzE2THc2?= =?utf-8?B?VmtOVUJDMlhTM01TYzZmNzhqbDRrZ3JqUjFoY0ltVlBRN09OZ2JGT09LUHdC?= =?utf-8?B?L053cnNqTGd5ZW5FWmVBUis3WU0wUkZvV3pYVEJTK3NGakFHNnRYM20yMkNS?= =?utf-8?B?Zkl3OXZQcjRuWnQreUxkS1pTSG9tVVIrY3d4aFp6bFBtOVVxQnp6MjZidTBV?= =?utf-8?B?d2RudXJYRzRrWW8wQ0RXOER3VjI2cmlIazAxSGlMWkV1SXJ3cFo3L0tOVEV1?= =?utf-8?B?UDdyZTF4ZjRiQWlrNmtiSVF4UVNDNUYxOG51SVVEeGJzTDVZWVA4WFN1NEhI?= =?utf-8?B?VmtPd0xlZUMzdjJXVUE5YXduQnBIOVF1SEs3ZVR3YkREYWNXOXVpd2JHd3VN?= =?utf-8?B?SUt3TmRkdFJpMjg1czJyYUtrLzRKdzNrVVlwYngySmp2V0NwVkt1N2pqSHZv?= =?utf-8?B?MEU0K0hiOUo1S2x4bG5OMFN0TXAvMlJGdUhKbXI4TWVZTUE2ajZtWHdCTGlM?= =?utf-8?B?dVNJQkVGc2U0VjRoV3pyR09WQ0dzb05LSStIYk9SVElNa1JXWGtjZWE0QlNU?= =?utf-8?B?aGJ0Vk8zVGVON0ZaVk12NVUzU2RJeWJyNit1L0Z2SngyYnRwUjZPT3BFRThV?= =?utf-8?B?cmZ5RE8zMmJSRTAvQXpQMVJIWW9WR2NlTE1tOFFieVJ0YWd2UUN3UHlBc1VX?= =?utf-8?B?RWVIQm9qallCanhZNTBZVGtUTFE5RE1zUWZxSFM2TXc3ZzU5Q0FqK0p2bzZj?= =?utf-8?B?Zjh6RjViS1Q1RUdsOUZNRUdBNEMvNVRNaEYyMmtCVHVVVFprcjFRWGZYMGc1?= =?utf-8?B?WG5pYmJsVGVSQXFwa0IySjVQbFREZnI4NWFPVWxBellTQnk3WjR5eXNNanJw?= =?utf-8?B?VitFM2VwWDl6cWtJMEYvL3ZSNzQrZzh0bFVFaFJ3ZXZFTnl2eG9mcStoOTc0?= =?utf-8?B?MWEwYVVxZXVqcE1HRlJKcmFuaTlYQ0ZZaVJlTURDRHdLNUFQeHM0R3cwSWRw?= =?utf-8?B?V0NQbFFzcTB1WmZJWnZkekQyZTRxNW1LTllUUVJpNWtHSDRLSXN3aXVMTlJG?= =?utf-8?B?WFpHMjFqeWh3K2ptS2Z1Q2o5MHpnZGJsaTdxeEVUZVM5ZGJwNUpRQ0ZQR01S?= =?utf-8?B?VWt2L3RLVzQyTE9QVkFMcEg0eEZidUY0SjVzUk16OVBnMFJBbU8yckxyRUJT?= =?utf-8?B?cWdzdmRIWlRKTllvNys4dTZLeEE1Wkk5bjdPRTMydWtnbitIL0ZiZ3VIMW43?= =?utf-8?B?YUVQc3lIeDJKdlhvN0ttU2t3Skwyd1RYcm9uN0RSam1pKzFmcWpxZllwRjRj?= =?utf-8?B?c2FjdGVVb1FHYnJDR1JVeS9BNWpGREl5Q3draWp6S3Vtc0N5bWRiN0Vhc2pq?= =?utf-8?B?YXI3RXRVUlN0TGVVdHE3T1B2cHdKOGtsNlNFZTFERVhoWTVpR1c4TGxla3Rt?= =?utf-8?B?bWZQM0FJODkwbUhsZTBwdTlVRUZiREFLYnE3TlF4K3JTbmtqUExUbXFwVDk5?= =?utf-8?B?eUhNNWVWenhSVm1mRk9tUXdwT2lVdlBOQzBORFZTR1UyVUlsS3dndk1ZTjkx?= =?utf-8?B?eXhuQ2tycE9aeHlPMnpvVkhkNDJGYnNqZkFzVkpXUVY0QzBJaHovSkUrTXZ2?= =?utf-8?B?ZUhzYzdrL01DYlhvODhvMVpuQ0FDSVpUNUk5eGF5aDJ6Ykdtcm1zYnFGWjBY?= =?utf-8?B?RmI0S1pLTCt5TVpXc3ZsbVp2djBYcUw0SDJVcXNLMUt4NTdpYTRzRTQ0UE53?= =?utf-8?B?eFJhL1FCTkhsa2ZuQ21zTVBzdzhXMmM1Y0NlNDBhdVZseU54TFFsVHBZdTAr?= =?utf-8?B?a1ZvM2cvdWE4R3M5eEdxQXhRZGlZQjNYREFpSlhFUmxGUWtSd3NZa2ZGRTl0?= =?utf-8?B?UVNicWdKL1hXTmZzZ3BpajBHVDEyU0xSVjVsM3FucllidHp4OHBpak1CeFFX?= =?utf-8?B?MXRYNERHdW9aaTdyNUIwRHdkV2R0NWVEc2NnZklDc09HbzAxOFh2dkZzZHg1?= =?utf-8?Q?1ReyqyNHl5hNg/xT5MSPuGwUf?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25fb4920-7f9f-4e4a-afbd-08dd83022139 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2025 07:32:12.9788 (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: hasNsyEoOO6GUGtyE7+y9uQd0R7YnoA0A6lZsegLm4kFduNlGstduRsYyKEJAU1UNI9XV1Bso4yng5r0upDmEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR04MB10594 From: Han Xu fspi driver use devm APIs to manage clk/irq/resources and register the spi controller, but the legacy remove function will be called first during device detach and trigger kernel panic. Drop the remove function and use devm_add_action_or_reset() for driver cleanup to ensure the release sequence. Signed-off-by: Han Xu Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 5be7809b4a494e22ac79c07b99cfe8b2fa430ebe..15dc32b7a830079764520df10a1= 43af1f2feeb43 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -1168,6 +1168,24 @@ static const struct spi_controller_mem_caps nxp_fspi= _mem_caps =3D { .per_op_freq =3D true, }; =20 +static void nxp_fspi_cleanup(void *data) +{ + struct nxp_fspi *f =3D data; + + /* enable clock first since there is reigster access */ + pm_runtime_get_sync(f->dev); + + /* disable the hardware */ + fspi_writel(f, FSPI_MCR0_MDIS, f->iobase + FSPI_MCR0); + + pm_runtime_disable(f->dev); + pm_runtime_put_noidle(f->dev); + nxp_fspi_clk_disable_unprep(f); + + if (f->ahb_addr) + iounmap(f->ahb_addr); +} + static int nxp_fspi_probe(struct platform_device *pdev) { struct spi_controller *ctlr; @@ -1263,25 +1281,11 @@ static int nxp_fspi_probe(struct platform_device *p= dev) ctlr->mem_caps =3D &nxp_fspi_mem_caps; ctlr->dev.of_node =3D np; =20 - return devm_spi_register_controller(&pdev->dev, ctlr); -} - -static void nxp_fspi_remove(struct platform_device *pdev) -{ - struct nxp_fspi *f =3D platform_get_drvdata(pdev); - - /* enable clock first since there is reigster access */ - pm_runtime_get_sync(f->dev); - - /* disable the hardware */ - fspi_writel(f, FSPI_MCR0_MDIS, f->iobase + FSPI_MCR0); - - pm_runtime_disable(f->dev); - pm_runtime_put_noidle(f->dev); - nxp_fspi_clk_disable_unprep(f); + ret =3D devm_add_action_or_reset(dev, nxp_fspi_cleanup, f); + if (ret) + return dev_err_probe(dev, ret, "Failed to register nxp_fspi_cleanup\n"); =20 - if (f->ahb_addr) - iounmap(f->ahb_addr); + return devm_spi_register_controller(&pdev->dev, ctlr); } =20 #ifdef CONFIG_PM @@ -1365,7 +1369,6 @@ static struct platform_driver nxp_fspi_driver =3D { .pm =3D &nxp_fspi_pm_ops, }, .probe =3D nxp_fspi_probe, - .remove =3D nxp_fspi_remove, }; module_platform_driver(nxp_fspi_driver); =20 --=20 2.34.1