From nobody Sun Feb 8 12:19:34 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011067.outbound.protection.outlook.com [52.101.65.67]) (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 0F4EF266592; Wed, 23 Apr 2025 06:10:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388633; cv=fail; b=fkAc7CYIg0xBp3h9+N3k0JNTjBMItGaxdCKv4m3jGsY1AqZm3lbkjpxrsAob2Otpn/cpORYlQytPnWhvo2yKx/mU97UkpuHT2HJe7EgxlwBkhSYBDICz76Z+Rpe67+99MyHl+EamQj+1qtOsw/RX11ce/Evx7l9z3EB7QCoYCz0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388633; c=relaxed/simple; bh=R+E0blCnr84VOgWVUzaNmlI5G0tHD3+mnj0wlyBAGLc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=b9/7yS6Q3YuAQN4colG8FcUG9R50uhintfZn/ZUNxTNn3SCWYjCe0QlMWmPHe3yIvISiWBl/ETT8gXUBDV/hyvYp+h3Vz+9WiJUdlfsje0dnusdwmcPmMNweMGkex1tKF9mH93QO9KbFqNjjGJFT7/GvgpZeGv8gd5Gud1E12zs= 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=P9agtV0X; arc=fail smtp.client-ip=52.101.65.67 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="P9agtV0X" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fa/t43VL5ad01SkXpKzwxi/tgKGHYtR3zHREALLui495Owpa/72uVhSqXDIQDiu6kw0AdMN9+oL5hbNaQlNu9FFdvahMQUFsvEwAWrcfacke9lUmcd5F9OHwJeVFMwXdSY3XL4XW1lAGuRBRFCusbMtg4eSFdFJwvJuKUduNYe5Lr0oeGkHvzSDquntHVx6M0kNPkvMRn1T0dSVJLFm/DCA5I076MYzZAMMV9jVvMqzWRvIrRR5hCh8EGeL/gQFcIePMDhINT8WxQ6K5EssYDRArjqphBjW5CuOhFS43GOOOPPs7E9t7rLCMPJyhJgmxIHC0a+UoDwjPZp/anFLPPw== 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=Y02S8rlBWBWd96JNvkoWJWtkEdKZMHmyH/xAaK13cS3T/oon19+KVhuh8T6nMiZHEktCAEpYB/ul1QiR37lL3tBIEUEUQFZmi1f5PGQjO5buEt98AXv1HuXz4J/6s/KTNPExtG7gCLrxwqp1OowzDxIbIg0sHLghvDW6b0x7HAQdiXCnZcbZ+YuB2pLiZu8JNpdKLVa8Rg+M7MpP2AaG9CiyziosjDyez5ktp2ypl4EhjKCZAdvl5dtHVd60QmPYryWbUF8Ysq8JchZxwdtewoXwf51QpLPSD0Ty+O0CeJyklRe6xiTCwQwVeDyuwaf/gVadBlXTapoBMRtU/+DIgQ== 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=P9agtV0XxQ9S5sKMD8qLqLze43aAhSNVtmp/+uCgFbJqs9gt3ZRY9LmWd2nJd5I6Xrxmlb6l2GT51zKfmOjqrPQsWVQYKOggiNXW9H6y15s2A+uh8UbnGJ16xjQ57nGOBmj5veqm+t0LuW9Ut3kaCegMBRO8GM2h5yLE/x6lMlzqWNe750N9K+o7UPbT4XkXa3xSwcMd3OoPg/IOfd/jFV+75yOn1RdMBnpnD7VVUI4ENsZ4YG7YBMOfRhtDkMzq9X2NCkQBXJTFwuOj4UFf4ucLW0HDO51m1d4uzD7177ftM/UGct3RdG26fsbkNTx9m1WDNwbc91p76tLQCEk/BQ== 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 PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Wed, 23 Apr 2025 06:10:28 +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; Wed, 23 Apr 2025 06:10:27 +0000 From: Haibo Chen Date: Wed, 23 Apr 2025 14:11:38 +0800 Subject: [PATCH v1 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: <20250423-flexspipatch-v1-1-292e530509d3@nxp.com> References: <20250423-flexspipatch-v1-0-292e530509d3@nxp.com> In-Reply-To: <20250423-flexspipatch-v1-0-292e530509d3@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=1745388747; l=4520; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=R+E0blCnr84VOgWVUzaNmlI5G0tHD3+mnj0wlyBAGLc=; b=QD7wQJRRqPHqXnIMDoMZ+QFi5bqroDqpQ1Li+UzTf+Mpxvr+07BEzhaadK9WMKOVz3iKk7++T NBNxO8+sPpDBoXtSXvvyXP6K4faAXp0wFMcwHnLBrMm6/EI/Z6Hb3sd X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI2PR04CA0007.apcprd04.prod.outlook.com (2603:1096:4:197::19) 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_|PAXPR04MB8734:EE_ X-MS-Office365-Filtering-Correlation-Id: 975c4043-8f28-4678-8658-08dd822d8b19 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bTBnUm5mY2Nid253RmRXaTZHUXhiamdCUUl0cVkzNkFxTXpaR29mcVl0azJG?= =?utf-8?B?S0hrNnBSTWV0OUdjUUgrVSs4ejVaQ1dUd20yaDhlZkRsczEzemE1UDVzQWZU?= =?utf-8?B?dXluMnZjdDBQMHJjc1V3dG1BaXlXMitkdzg4QXU4UWU4b2QvYkZBWkRIM3Bv?= =?utf-8?B?bmVqRFlnUWVyQ3Zyb2hpS3A3SWdVYnFFbGpHYXFOb2ZVTmxLbTZhVC83ZThG?= =?utf-8?B?WWxEc3JkZHlsWDljdGVHZE92dEtrckZmdzMwZVJDdklQaEg2Sm11M2t5OWFH?= =?utf-8?B?bFVoYkMrZmFvUnVFcm13THRzQ21LTDA0NFkzNld5dlRhUnUzejE3eE1YZUxk?= =?utf-8?B?bnVpOHNZLzNhaGg0WFFLeXRGUUtFcWRPdW11OWN1TnZhL0s1aEw1T3hLSUlO?= =?utf-8?B?OU14OFlQK0tQZ2VPeHh4QWxLaHhYWmlSNTZ4T2t6ZlpQU1hxUW5EcmhJZU1S?= =?utf-8?B?Y0tmWjMyb1dHZHUyTjZwNTZrd3lxa3JBYXltd0JiT3QwakppeVJFSkNJWUMz?= =?utf-8?B?eUxldklzM01INk1CeUJ4VktET2pzeXJXbjhBVmQxM3RKbjRUQklBYXp6aUY1?= =?utf-8?B?U0JLNnVYdWIvbnRzNjcwbkE4T3RBREp2MjArdW1QemVGZlh6elJidk15R2kz?= =?utf-8?B?TXRuUG9adXF3TGJyL0pKODR3Q2lLLzYvL0R2WFI2c3duTnc0dVVDc0tsZ3kr?= =?utf-8?B?dUx2RFJsaEdCeDZabnVmU0RTL283ZGdwNVRKMGFkRVowZjIzSDI5NzVwNjJZ?= =?utf-8?B?T0UvaWFqcEF1cktqVVJkcXloeXJqSDNNQm5ZRllLbWw0RlpFWFBZNGlIcVRP?= =?utf-8?B?ekYvOXlqR3h3bk9WTHlwN2VuaC80RU9mK3JMT1JDUmVzeFFsY1A3Z0RNaFlq?= =?utf-8?B?VGFRcnJvZW1VbkJMeHhKdnowZWNHNW1peFNmUnBwY29Ha24va2NhRDNoODlW?= =?utf-8?B?N2JUMmxlNDlEVDVUN2lLc0dzd2sxQ3pOUGY5WGE1V0orYllkY3FhSHozc0Z0?= =?utf-8?B?cVhsWFVJTlpQM3BoL1FrWmRsVWNIdC9DT2lTejFTTENmTXJ0ZHkwT3BTVmNH?= =?utf-8?B?c2F3eFlPWGZpaUYwU0FHNlRuM0VacjhyL2RvdzA1RnhRVndtd0FEcXlVNFNr?= =?utf-8?B?V0ZVZ21RMkZCWHU4SkU0MGNsQ0JGd2dBRzdOV1EzSU0zTUR2dWJZSDFJclVp?= =?utf-8?B?YzJ4eHdDUjJQblpNRnc5eTBDVmtiNi9IanYwUDIwWDd1anh6Zi8yZGRNbkNq?= =?utf-8?B?cUJacTg5S3QvNzJ6VTNNbklRQW5JZ1pKY09KdTNIZVpRVUpNSlZjVnhqMlNM?= =?utf-8?B?NitDSDJyK2NYblJVdkp0YjFyK3lUUFFLTlN3TlZWcjRpQzNJSTdxa2tIVW5E?= =?utf-8?B?VVJiTWswUEJiMzRQNFcwSGJWcWNDamhSM3IyZHdHN1YvWlZPYkQyaUNHQWt3?= =?utf-8?B?UERoNFhqaHpOejFwQ0pMVjFLWVp3VnV1cHFHSjhIb3ZVV2F1MXNZL2RrYUNP?= =?utf-8?B?cXZiRUl6TlBhQmpaWGZMa2pEN1BQN2w3YllnWlVOYkNlOVE2cURJL0Zza2Zo?= =?utf-8?B?eVVNUWMzdkszc04yMnQ3VmdBMm0zRSt2ZmllRWxCWDBuQnJjUmZlZ2Y1SGMz?= =?utf-8?B?OXRPeHZ1aFhsdzlUSmsxdzQya2FiUHdqR0VLdHc3NUQxSTdoaE5KQjlvSXNO?= =?utf-8?B?eklqUGtZTHI4WCs0S0x5QzV3bFRXRDRZek5DVllObkRvSFJxOUg1TlF5N2Y2?= =?utf-8?B?M3VoeWNjQ29TcnlIbFo0eVdLZGNSa1hvR0ZOK1VjOUlDYnE5ZkhSNG9PdEJl?= =?utf-8?B?S1V2ajd3VlhneHBZclRWbGVUK3FXMUtXd3BnOHorUmNORUhFTDhxM2RHVFo4?= =?utf-8?B?MitnZ24yMWNmNGYzN0twMjNPaHU3MzI3WkMxQXVEdEN3ZmcxTzEwRmlMYUts?= =?utf-8?B?VjQ3M2ZFUHlibHFqRzBJSithWnlPZ3NoL0gyQWdJMHNBRUFSYm4vQzNIWGEx?= =?utf-8?Q?/R/+l79kk0q/yMoXvOmvVwbgcXn/II=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)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TS9SQlFIbmRNWGdVNWFlMGk0VTlEQXZocWtmVFUzenVhamFGUXc2eTJwd2d5?= =?utf-8?B?WEVEUkRWMk9ubTRzdDhSZXdEa2pyL045YTJjYlEzK0pYaUVCeXA2Ukx4QXh0?= =?utf-8?B?Qkh3SGZaS01Rc1FDMWNYaVJCaWdzeXA2bXpTVlJWQnRlYXZWYmdkR2hXUklE?= =?utf-8?B?NDU0UXhNN3JYdUV1THBzS2NiTjczd3RSdVFmV3c3QTJGam5FOExtZHFOY3p6?= =?utf-8?B?QURjOFlxVGdzV1l1LzVQWEtkKzFUUXlha1NjZWtwYlR1SlpzVGppL2gvMHJw?= =?utf-8?B?Ulh1ZThub3cydnk2aCtpWEJyT1paMFZ1ejlXTElyWE9BSHZyc0pFaWpJUFJQ?= =?utf-8?B?TmxVZDFNeGYzdHJUOHdyaFhHbzRsbkFVWFFqV0l5eFNiM3pRTDVPeHJwRnFM?= =?utf-8?B?NHdyZUd4NmFrNzNPeFk5d21iTUkxVDNwakUraXJwanpYV2l2dFVhMS9xRmhs?= =?utf-8?B?M1dvV1FnR0REdFh0Zkhmd1FPLzNhMWdISHZ6bTVNTnI1MTFPTHJvVnA2RFg0?= =?utf-8?B?b3hoZ25BeVZBL01lcFVvb1NZY2hzL3ZmTEFCL1hnRncrcnFDT2kyTjVqMDBM?= =?utf-8?B?RFdqcmFkUmdkcGJyMWtpYnNTVmJuTUtRQXFWWDUzM29ua3QrZkMxcUV0bEFP?= =?utf-8?B?R0d3VkljU2NQbTU2UzR4dlJrTzlXUFY0MUZZMnZiR2NqZlBDVlJ3dmVXRlpp?= =?utf-8?B?TnVnTGljRmtxR0RmSlVrQXg2UStGWSs4VFhocmNTTnBDdUFkbU90UVM2dmNs?= =?utf-8?B?NTBISXFRdGlZQVdBT1Y5N1B1Y2NPS29qdXMrMG84NmJKUjdwZVkzc3ZxRUs0?= =?utf-8?B?b2RGR3psVldHSExhUkpUUjJBSlpGdDNuOGZXNCtxTGI0andZNHZNSnZFcjZz?= =?utf-8?B?RHU3aDVPOUxUbVZkc0c2RFNQSDBzcWJXMmdhc0hrZ1cyWG9iZWthYmwwaHFB?= =?utf-8?B?SXROakxmSUN4UlpMNk1VZTBrV2JKYmdjYmdCM3lTVEtYZ2lON0ZQclVOd0xZ?= =?utf-8?B?aVdkRmxBL2d1Tm5ncFpmUnVOdmNLd3ZKWjVxSXd1WU1xeHozRmZzSGRkbkgr?= =?utf-8?B?YnNYMXpvRDgwR2RYTTltcDY1ZWU1UFBuYmVzUXZBbWRkN1I5YmlDcGFPOXU4?= =?utf-8?B?TG0rV1RsbTlrNklZWEJNaWlyc0ZOaFQwSlBGM1Q4MlJUZjFMRTMzeXRZWWsx?= =?utf-8?B?aERWZDdiMCsvQ3o4eHZWWGN3Z1Y4a0ZGQ3BlanBDdXJnemRNWjE4NWoxTVR3?= =?utf-8?B?OFFQTno2NytuQ3RQaVFaWFpQV05Vc2JXajB5K1pQeFNPZEh6V2Y5ZEFHNURQ?= =?utf-8?B?UWpqdk9sZG94emZjdmtpZE5VNVRGeVZCSGJ5MDRCSjVLODZSaGVqVFAxN0NW?= =?utf-8?B?MXdXN0ovTHZYTWcvaTN4ZE5UZjVVYWZWK2VOcXpHY2pyek9FTnQzTktNOGEz?= =?utf-8?B?Y2pmaFRSYkZmb0tXclNJOUhrUndSdU51b0hZM0NpRDQzRTZSczFZdWliNnEv?= =?utf-8?B?WFFHdjEvY3R5Zk5GM2dqVHVITUFVeDV3eWFkejUrN0NlRlJpaWNvS2N5c1Nx?= =?utf-8?B?ck0zcFZSN0tDRXdlRHBHVU4zdGx0cVErc3d5Q2JvMVU1VktUVGdsMnlFd1ky?= =?utf-8?B?U3FTbnZBOGJkK3I5WDhyYUg0Rm9qSXhwYmtSZlFheDArbGV5RUFxV1JyL2xL?= =?utf-8?B?Vm9UQUVYanVmM1pNcUlSUm1YT0k0Yy9TTFFDRjJnNzNOWndCbEhWMTh6aHNM?= =?utf-8?B?K3U2MVpDSmxlblF1RTVSbHhnNkk4V25wc0lyeDVrakZGSlA2ejY4dXkrUHZP?= =?utf-8?B?RGszUDZRc1BRQ2NVUHhueFc4N1NzelF3clJJc1dkM1BjbGFiODIzQ3o1dE1C?= =?utf-8?B?TnVwTmUwNktPNzVuQjh2b3VuREhvbVp2bnMzQmhMdlBhMjlpSExtTndmcEtK?= =?utf-8?B?dUJPdW0rQ0RtMG9nNG1KUVhlZGxrdVh5eHp5UnlIOXdhNTBna2Q2eXNXMjg1?= =?utf-8?B?cjgrUzdubGpSMjlRSXliTlUyWEhmcWZONXJxK1lhUTFzZURhYWQ3VGQ3bmRB?= =?utf-8?B?VWYrUjdWOGZPVklHVVVlMDdjZERBMWM5eXV4THdnUmlYVzZIRzRkZ0JsV1ZQ?= =?utf-8?Q?c6JMZPpgEym6AAPGqCabkjg1D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 975c4043-8f28-4678-8658-08dd822d8b19 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 06:10:27.8040 (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: KpAkhPblBrz494UB9Vz/BdHcbGXn4c9cRt1X0+++of8oDstkPBsIhy9d9ROAlKWvkzSStKBfeQWG15p7FD6sDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734 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 12:19:34 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011067.outbound.protection.outlook.com [52.101.65.67]) (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 3A672267393; Wed, 23 Apr 2025 06:10:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388636; cv=fail; b=cqyZsoxiHdCOH496o2XwUw9HRt6YQPZ9ckKP12ZqMSt6Xn7wukXsNCuRWWOA01cuHaC0e7yLic4KVBMrv2CMWLfpW1FOuve1R/jJdrvOHDLb4+5vTz6xxt6IHFwY9Ijk3h1hUBPsZjdp4DmD0NCuK4anvUZDGLmispuFwwAK0bY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388636; c=relaxed/simple; bh=8iYNp+JFHipH+AmfWSTSMxP+/1DcYqPBlnLSaPPHCzE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=mZNPLCovK7FoUgeykobi2JxN7RR/9ANvPHP/T6CzBKQKw+Ub7wTc2HrOhrvrKTMwwP6VZY61FVRCj84oHE7WQFKHKlmktU72XOqr1bQExewlnsVVPZ0z6bhY4IoTZ2HFCYqveNshEfJvbYLC/QdjsY/pBhG/7d4OODmhvMSANUM= 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=Wh1qHvOJ; arc=fail smtp.client-ip=52.101.65.67 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="Wh1qHvOJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AEpxfnyD8Vflzxsw6l4+FNjSuyucYD4rIf57K7qcTaKh503Ol16+rKn0Ui11oXJPXafsJ15gZrr4OFE8GKE9Kf+BATaEdCG59W8MK+KCBth2F+4j7gDBsgBMjLJpG7Imj0CmzDsjeuzTaNQCLgZJGzzlhGeN5qcRvX3uXe00UXoJ+DGfL1DmdeagCv+gwGnyzIu2+acR9gmM0NdYNI4n5jt0JBshwLNvfzFruTG3RSV6ENiuq3Db1XNn/wH4PfkgvcNLz5vq8XS3F8EvA1ucwuq6tKmvJfxY1++fmE63jOqzZll4YLIr2Rsa4p8M51stvtp8tdngfGvddEncqUoBbA== 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=sDLmNpfz/hy42XF8b2IbGlwahZ8EdIc7PMUiHEmp+58=; b=PIR8GxZjxU6B8IjbsS+kWP5w3mj3voNx/jFpsA1ze98uDG7lcVb5yyeuzgxbc3QdzHfKXjNhKtcR/MVvdfzdha7h3pH5Gn19Pcmr9HWv8IOdyMXTSYTUzasMF0bYPWq67aWO6Z6ARcZ/1g4Jmr2Y8rnZVWT1fcbkPDbMD0QMuhQ04QjZDw2AsUD5cy1Hz2DT8d37MiBNkS7ND5Ut6rTdL/5Q78wFPW8f3n6VkX9KvmIVLodXYZ70Df1pFuPomFGPeTJoxL9Xj7elLKX3f5nyjYQt1zAItbLSM8e+iYLY84onoEA4F7cBFD6+/zQOZKs6RSnKthmRGdK/b/7z+6ftOQ== 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=sDLmNpfz/hy42XF8b2IbGlwahZ8EdIc7PMUiHEmp+58=; b=Wh1qHvOJ++pMNfHKBT55bm+MkhRf79hpZMmsZulv9LqMGtBlF+J6+6z1/NXf03DVW9iCgeLT4alYK6tCkV7565ymvLGB4fXEwCsGlnw2huWNh3rjaZCBKKsi18peoec8XjwpyLHUYnmZKLUl+d11zIKugpzwB2WvlW0GjbgTYFSwYprsfqJiDhL8xPttiEbUm8AxUmVG7O6+VHJZIuvRc0VcKpTgn4O8R6y0zcpFgCWiubYmcqMIkD8Ne+PuIWy1mqzIT409dVaMa3eX70tptjgTS+6sCRDhKJiEuUp/COniBi9HLeNdIl+536mLea55a0JhxNla25Fyf91o4DxRCA== 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 PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Wed, 23 Apr 2025 06:10:30 +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; Wed, 23 Apr 2025 06:10:30 +0000 From: Haibo Chen Date: Wed, 23 Apr 2025 14:11:39 +0800 Subject: [PATCH v1 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: <20250423-flexspipatch-v1-2-292e530509d3@nxp.com> References: <20250423-flexspipatch-v1-0-292e530509d3@nxp.com> In-Reply-To: <20250423-flexspipatch-v1-0-292e530509d3@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=1745388747; l=5783; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=8iYNp+JFHipH+AmfWSTSMxP+/1DcYqPBlnLSaPPHCzE=; b=cRlsdgCxNPUMiUSVGiGSzOpzZB76wHT3K4qNe5xRXmd2rHquNKpbta9BUlpBe+g/6EL4Ux6Ua qKo3TyIKORSDrTGE7V3jWmVPFDSFL2rIKNxfZ2ve3f1kJLHMEdin9t9 X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI2PR04CA0007.apcprd04.prod.outlook.com (2603:1096:4:197::19) 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_|PAXPR04MB8734:EE_ X-MS-Office365-Filtering-Correlation-Id: 505b9f54-f894-4c47-68be-08dd822d8cdc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?czBXY1JTVEdaNGZVd25PWkxiRm15UzdoVDdOL1R1b0tCUFRtZVNXOXRNKzlv?= =?utf-8?B?bHZjaTdnMFcxYzZvd0M4TENuMm82SXhScTNTaUhBUzRwM1JueHdVbWV4QnJH?= =?utf-8?B?WTkrallZRnFHWnhRQWE2R0dMR0I5NDlNRktSZHVyV0l3dW9hS1dObC9ncEhY?= =?utf-8?B?Y1J5WVg0R0Q0YTlYNjUvR25td2t2K20vYUd4aHRwWXdmaEc3ZSsxZVlkMEx2?= =?utf-8?B?RUdtR2Q3SDV5a1p1U3RrNm5nb2d2QnJCSWtnRHNxUU5Yc2Q3cXpKY0x4TFpX?= =?utf-8?B?SThjUVl1eGZiQWFHTkJoOHdmaUhVTXdiUWJXRHZtVWJ2aDhMS3NuVUFoQU1U?= =?utf-8?B?anllQnlaelhMb1hQNmZSb21XRnRLTVFRaDdJQlFZS3lMbzFIdU5ZUVZFcElF?= =?utf-8?B?bS9kc1BMVTFoOFRvOUdmaVlXckRjRFhRdCt6M2NwYU16RVpWQkVIM2Q5d25s?= =?utf-8?B?Q2puR0lnMys4d25vZzFDSnVrdFc2Y29XWFZWR2lrcXI0Q09Od2ZleDR6ZjhD?= =?utf-8?B?Z0ZLTVcyL2lDNFhwZ2Z6emhkVEFwSks1eFErWndXTUVDSnk4V3lITmZ2RUdJ?= =?utf-8?B?OGVQNEhuRElRNlg4b0hleElTUXUvQ2FlRis1a3hEVklPTUZvTjlFV2VGdk9F?= =?utf-8?B?Y20vdERJcWdIWXlnV21reDdCR1ZtZE9meGFOdnVhK0tPNFFMT1BJSC80YTc0?= =?utf-8?B?MndlbCs3dGJQRGsxUUJHNC9GbU9xVFo4RVRrMGlhVlMwcjBGU2RsWGNTdnc5?= =?utf-8?B?WmwyYmRUalJKM2tSSkVvM0l5SlZaTG1mbnZlWThoeW5sWU8zMUE4ZzhYRFpm?= =?utf-8?B?TXNWTXAvVjBpT3lybDRqcnpFR1Bjc3Z0T1B1R1Nsd0JZWklHdjFxTFdzUVhL?= =?utf-8?B?bTJReTRpVFlXTEhNdG5ubTJlYkNyK2lHRkFvZHFudFdRUXQvRTh5Ynpuc0x0?= =?utf-8?B?RS82Rk5rTk5KTFB6QVRacHA3aGYwM2d0MklCS1V1SHlhN0lvRWRqWkFTVDBE?= =?utf-8?B?L3RjcUY2NUdQV2xyWDlERkEvNXJ3c2ZUemlqVDllNXEweFhtS1NpN1orUjNn?= =?utf-8?B?MHZyZHovRFppaXlFWFBTR1Z5QXd4Q0tWY3R3eGtoeE11N1hGUHFLUjdsTnB4?= =?utf-8?B?QXV4MU1zUUtPeWoxdzBjSkZqRzFzbWI5elFrL0pHaGtCd2JNRG1CS0xSRTdF?= =?utf-8?B?TUc4WncxY1d2OGovTCszNGJOb1pGMXRrSXY0Y0F4WFNteVQ4NXhNUFVURXRZ?= =?utf-8?B?MHJxdjFINi9CSEgwdEJLNld2dk51WFhJVUpQbU5wZGw3dlp1TGxyaEdmdFVi?= =?utf-8?B?NGd0VzhlaXc5SGdlSlRrRGc3SUNtUzBuOFBOVTR1OXgva0NtZlEwZ0pKRmRW?= =?utf-8?B?U3Q0Wms0MVZ5RkRWRXR0YzdqblQ0blF3VTJmTkxPazB6T3Q0YlFCbFlUeGRH?= =?utf-8?B?blNVN1BKdmF6empxVkFRRlg5cGV4YWQxT0t4Vjc0RzEwQjV2eW5MbFcxNUNt?= =?utf-8?B?VmJ0VDY0UjlFNE5JZE9wQUxWSkV6ZHhQRkdkWTlINTJpMEVwZFZ5dUtoUmF1?= =?utf-8?B?WCtNTWQyNzlVQkNEUHJDY2lvdEVEUk9DVUVNSGd3YUh5SnB2WWdzN3Rtd3VV?= =?utf-8?B?dk16YzMvRmVTZUd5eUs3cmpTQTNFdVVzWDhoZ3ZXT082YUwyYnVQQUkzQ2Fv?= =?utf-8?B?L3M4c2Z5QWVtNlR4cVFBWlV6cjYwZGVsbWJRT3dsY2s2NElQUmRKdUIyNlg1?= =?utf-8?B?MC9MQUc3R09Yd1V5c0xocTN3MTYzMUhTamdJQXBQeENFWkhPVGRSSDhBcmJr?= =?utf-8?B?ZmxWRFA3S0c5alRzQmJOSms2WjZ1K3NLVk1HNVRrRVpPUlVaZTNnaldJWDYr?= =?utf-8?B?MFplWVRmL2xoa3l6OEM1UkFWQm4wRXY2RUQ3V3RHd3EwdXNHWmlyUUdvNEZ5?= =?utf-8?B?SDFSSjJRK0N0N1RSRHdzdUNySXh0WmN2K2RoVUxCTmlkalQzVk9PZDNQd3RH?= =?utf-8?B?NGV5RlBva3lBPT0=?= 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)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZEwvaWl1WndCQVkxMy85Nyt2eTA0cFltSUs0c0ttb2R6aFRGVjM3WGxuTEdU?= =?utf-8?B?RGFLd1FHVEI5MnZpcVkwQURhbHZpSDdrQnNHTEhMZ2dValZRSWdid0YwaFYz?= =?utf-8?B?THQxc3F3SFBQSGRHYm03dmtKMUVJUEJ3TGl4eXZ2YkVaMTVZZStvR2syYnFN?= =?utf-8?B?ZkhjZUZrdVQ5aTZjdHk2Q04zM3RlLy8xazhWMVIvRVpSclR1c1hXUDZzZTdQ?= =?utf-8?B?cEIzR2RLWFo5anZiZ25iUHJNd2lLSmxENnVFc2RaMUptcjhkRC9tNXlsNGlV?= =?utf-8?B?RWFoa21Jdk1HS1ZILzhZR2tkVFlpWTRLMEptMWx3UXlYYjgxY25XOUZLUE8r?= =?utf-8?B?MHFxRk9SR3VQOWd2cTdIWnU2WFRtNTlXbUlFYmdVcjhZcjZVYVA0bllUUmpu?= =?utf-8?B?TGRjZGxIS0w0QlFIeGhwaUJMODM5Q1JHcko0WXJkY090N0pmOUVjbmN1MWZy?= =?utf-8?B?a0xpb1NXc3JRdWk3SWtxbmZ5cHhrcy94NCtCdzNyOGNxYnRRYlplc2hHY1Rm?= =?utf-8?B?YTFRZWFEZ045MmplYzJqTVk5aGhxNENSM0dSeXA1UjJpUTZ6M2JGbjl0YUl3?= =?utf-8?B?M2FRNjNOZ3FLRTRGNXBJaEhBN3FXOHR0OFY5by9uV0l3MTBQUjA2M1BMSk1B?= =?utf-8?B?bjFMdGswaytGb3Z1K2J4UnUxdEgzOHpNWndNRytQR0RYWXdpNnlCRjBpUm9y?= =?utf-8?B?OVJrOXp4Wnoyd3pCbVpDMFEwVkprNTkwQWlOM3NxUXVORElzWVNNbXhtVUk1?= =?utf-8?B?NG9IVk9yT28wRHFwVDJ2ZEhGbEd2bTd0dkJEWVduODh1Um4zUUU3OWVCVDBU?= =?utf-8?B?bFBMckpuNndXdEFCdjlTcFlncXFvYUdkV2VkY0Z0YkJvcndPSnkva0FYdjRr?= =?utf-8?B?ZjRZdlhMTGFSS0FrSmRHemgxR2pocTNiRzJmVlVpSlIvRVJLdWN6ZkZVUDhN?= =?utf-8?B?ekU1U1o1S2szQ3JBYmhtUm43Q2hBRjc2Rmd4VEVIR3pkU1JZV3k5TCtXOE9h?= =?utf-8?B?RlVDQW5iS3dZL2hmM1A3TWtOYjdaekhTczdMQmN4OEF4WENQd2QvVm5mUHJY?= =?utf-8?B?SDl4UmRyVVpjeUxvWHhLZnZ3RmhhNlpLMHIrSjdNSkpaRDRTWmhoYjN0enhY?= =?utf-8?B?eXdma3FGanZWT0JFVzg2MFpYVG1qOFFUUTJRQUt4YzF5WjI4L1FkTXpmR1JL?= =?utf-8?B?NHlYUHJKWDZqREdmaDQ4WEROditScktaTjZWWDVkc2xybkhoZGNpV1lXT1pm?= =?utf-8?B?ZTk1SXhYS1hQRERMNDIrMHltSTJzeGtLbFAwV3lPem1PWmtKSjQvTWZTZ1pq?= =?utf-8?B?aTBINEd2UGZDdHVLMDNtWjR1L2gwNGtPYnMzSnRJc1RFNkNGaHdoT3JYcGVN?= =?utf-8?B?aXJLcHBvTlpkM01FQ09Ta0srVVZlbnZSMS9YcnNHSWJNZStBcTg5enNSZDlC?= =?utf-8?B?S21PY050cXZ5eTY4dythUi83RGVUTlc3UEVjemxsTGI1aXpaZzk4VE5ZeGpO?= =?utf-8?B?cWhDRXhCOHFhZkFnYTB4TUtXK2VmaGNQaFp6Mnd4Rm40REZhUHhUSDVhUUVi?= =?utf-8?B?MjJVVFNvTGRqZFE5cVVva1dFcnZCYjZqK2hwRHMzT2o2RVhwOGhzL0E5OFRY?= =?utf-8?B?ZjhMV2lBalJBcktOTW1hWlFobC9WNEtPQ1MrMXJjMWliRlVKQVZhTTZLUy9H?= =?utf-8?B?YXdTQnVlODFDcnlCODdJaVh6S3NVM256akUzUEZncTEvUm8xRXdadjFJSHpR?= =?utf-8?B?eEIwSUhyOGRKRTR4bDdjTWplZDlaNS9tUXVVZ2NlOWV0UjRVUldvS3hNd01h?= =?utf-8?B?MjZnSlFjdStLY0lWVnMxMUlPQUdMQ1JHY0wwMmozUEY2cXIzK1lua2FJV2ZC?= =?utf-8?B?YlhxRnY4VTlGRXFpb1pSOVEvN0RFd3BhdnpCemI0MkloQWlIazIxM0I3ZXhz?= =?utf-8?B?UDVHcUxMa1c0ckVaMzByNnh5RzdraWp2T09DOGltSjR2M0dlSVcveUNIbzY3?= =?utf-8?B?WFg3L3VKVWdRTXpFQ1pPeFlHTENnQ1VTRndyVkR4WHM5WXY5K2k5ZVFRcEth?= =?utf-8?B?UUd5bE5RK1J4K3FueU00SWJ5OGlHeDlNNDM3cjBqU05hQkgxYUJIRGxZenI2?= =?utf-8?Q?BJH6/DD36wI3igBG0g6iZuY2o?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 505b9f54-f894-4c47-68be-08dd822d8cdc X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 06:10:30.8202 (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: Vua7amjUyZcBW48hVwSoJEDdlVjaX/g7OsnVO/u8Do/tci8MlkKPIwwe85Uo81oWHyht+7HdTDtSsKoN4qLzeA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734 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 | 93 ++++++++++++++++++++++++++++++++++++++----= ---- 1 file changed, 77 insertions(+), 16 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 00da184be88a026bf562c9808e18e2335a0959e9..23099e60b6fb7e899f95fa04272= 08b33bc5522ac 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,29 +1272,72 @@ 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; } =20 +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 */ + +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) +}; + static const struct of_device_id nxp_fspi_dt_ids[] =3D { { .compatible =3D "nxp,lx2160a-fspi", .data =3D (void *)&lx2160a_data, }, { .compatible =3D "nxp,imx8mm-fspi", .data =3D (void *)&imx8mm_data, }, @@ -1291,11 +1357,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 12:19:34 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011067.outbound.protection.outlook.com [52.101.65.67]) (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 121D72676E6; Wed, 23 Apr 2025 06:10:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388638; cv=fail; b=ooQxgocTCTMXqlrWj7RNRSbqphzoF5nlmW5bvwxus1T/P6VT6ANTDNW7vQtVytZxvndsi7NYQynDo1K8xvxpxfccRJRgaShOfO9W244IeytWksiNukDeTXCN9QlAA6EBWGpuVGkq6R+r506epNOsglsw0tvrxnRURxprdFSW9vU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388638; c=relaxed/simple; bh=cFeaoFNjKwmU5hGpWchyxAfTmDsLy1lX4PKmxseUalI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=U+B7tkxwl0IALvqfQytFIFpY7iBEy4oAZJG0qopo5DgQT1B8I3P+HV/50NsP678JToFwLqXJjOIru4u2DfT/ia1bNHseVPM4yQasGPh19KSt3jmgkLtQ1xqZN6p7GRpuKLGh1Cy12m7X/9OfZviWlImnvcnDw+Y6aGBHFnfOQPU= 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=f+8pPvW1; arc=fail smtp.client-ip=52.101.65.67 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="f+8pPvW1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T2d30l7HT+G8UTYPbV51RSZ4xhnkBWUd8QXuE7A4UL2Hj9G6fkQbVvbHNhSDmkigGAtabZ48TltBfOVCFA0ApcoP6D0LR9t+Z1gRNj+rpoGT4zkxGbz0AMfn/Mw5k2huCTbMZIyVjPGU6LNwEidKaFBLg8whzWpQi35ysDF+CalQbSdufwMNOzxMp0fd4iOIu7T6KBPbT4wt0ZbqPtz3seRuTFiLvxwk1gaDiWZZMy+1bcoDQfHysFHoe1MTghgXYUVS2Hpj/HCOgSozefIE67xeBn/x3ZmDP19fosWURDhwhT5P3iSKeniX22aK231Q535Ox7KUyAmcIq6kyWIL5A== 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=cbAp8vCutNlLewUj11P0p3ODGShz2QoawscXWAYxCRI=; b=NoiQmXsrXgj91wR73VY+WU2Zork6bOpSLG02uz1apocCFs/8J55c9PZ30bratqA/PP3cOpiKYuC8yyhNMc808KddTRoKD1lv2ZL0rt8gwDNG7n20TdQ3i6/yPOvBCYoXPR1hh7G7mjngqLhh7kiIG3gGtAUmH5oS3a8nP5KTFUiFfArVtlBM6PTxZ8EmlkdFVDrXMjjOcyqZHZ/CAruhXSJVEd0AwddEZgvs37A/2tzfAQ82lcM46bzIWTSyl4mjvnxPjOk826qoCD/81xmvckp2z4mjLfq3iLRDTa3inmMi2JLXERrWewLiNiDvAUwGLcC/ldGBJFmqKb/RG004+g== 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=cbAp8vCutNlLewUj11P0p3ODGShz2QoawscXWAYxCRI=; b=f+8pPvW12wZAVSJQu4fp5I2gR3Jwr3kG7r/sPKPOCn6zRekxjC7C+bSgqhY23BOZ16ZlsMhKYs5r2BsogQpDhTuu9gWLTElA+3ikfSorQwUJUW7Fl6eyHyYmOa+KGapvHAR2+iEbuTBclANuv4eMs1fkb7pqIX/SNSgUREjBb28oZGLBGGawl+MH8Z8CeD4nYJohqwDpwWD7clMqMUFU9b474dJwwecIj47DPSPr1+KH90d72bLN8BgRAurCwC19xNIaitgc7MoUy6OF2ePKJ0fbXhUVfysXk/DOONLlfK0dZHWd83grrcLPSsVIBYHyJcMHMPJZR2mzQvtbf5oHEg== 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 PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Wed, 23 Apr 2025 06:10:34 +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; Wed, 23 Apr 2025 06:10:34 +0000 From: Haibo Chen Date: Wed, 23 Apr 2025 14:11:40 +0800 Subject: [PATCH v1 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: <20250423-flexspipatch-v1-3-292e530509d3@nxp.com> References: <20250423-flexspipatch-v1-0-292e530509d3@nxp.com> In-Reply-To: <20250423-flexspipatch-v1-0-292e530509d3@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=1745388747; l=1084; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=cFeaoFNjKwmU5hGpWchyxAfTmDsLy1lX4PKmxseUalI=; b=AV1OoL3ZN64HadpACvaQZvxF5DiVrswwhStTwJQ99VZlPpPDjN+uAyXKVEWNkV0wJiyTgq6MH r6GHYWtfuhNBejx5D9Cof97qopCObmWqa3WVAhtI6eihqECa5wTZ5aX X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI2PR04CA0007.apcprd04.prod.outlook.com (2603:1096:4:197::19) 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_|PAXPR04MB8734:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a7a6ddd-b748-4c09-06cc-08dd822d8f26 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?U1FWMVdpVUZZWGJ4NEdzY0l5VXpCSjNlSll4b29OTUtMS0ZlRmVsUyszK1RL?= =?utf-8?B?bUlVWC95YVJEbUthZlJ6aHBkUC9NQVdPZ0VZbitBdjBrTk5keEVjSzNxVEZj?= =?utf-8?B?SHBFcDFwNHdsSHJUd09mVWJMVlN2OUYzdHFLSEtyNTZGRXpTbVpEVWN3WTcy?= =?utf-8?B?UlB0UEZlWFVFMW0yUnNZbVNlck1PbENrRk9QVXd2b3NObGhVVW44eGNka2pU?= =?utf-8?B?R1NabXJWY3hYTmJPbmpZcnZ1NUE4RFNOM0VUODg4dm1sVGlXRWVpUWRwaHFp?= =?utf-8?B?eWpzU3JRdTExVDhGK3IxUlJIVEVRTUxEaVIvQUlqUlkzb3hlRmxQZGFOMHpW?= =?utf-8?B?MkxIdExSRWYxS1RuYzhIVTRpTUl0U3FtdnVZU09OUUlPNmFJQ3hIZDFHYWhQ?= =?utf-8?B?Sis3cFV1ZUppdExlbzJvaS9yZ3lqRTBoa25qQVpnOEhXNTdPN0hVYVB4UnRB?= =?utf-8?B?YWRpdTI4Uk1va0lXKytYdEVSUUNVTmMrWjRBSHlWQUZFSVFYTkhCenFtZ3Br?= =?utf-8?B?TFNNdkxFOVBhZnpMMmg4bVRhT1l3cC8zaHA5dWN6OGVId001SFVYMVlNOEIx?= =?utf-8?B?N01KTXFJVkUxTW1XbFBTZWdqeUFFZm9wMzNwcFg2NEkyWDAvNlphSGFrcUM0?= =?utf-8?B?WXhNazBLQzRKNmkvR1BUamJMNm52UVBjL1V0MExLOUNFWUZlWi9sTGVtK0VY?= =?utf-8?B?VVIzeWJ1Y1llOG9nUkZDc2hFOVUwQzQ3U3ZJYWdTUEowTnM4WlpOZ0ZIOGYx?= =?utf-8?B?Ny9ERktQYXhYSDAxUVdUTHJORldEeEE4ZzZWeVFuTEt4ZGtBamh2TmFQKzdC?= =?utf-8?B?dHFIQTlyb2lCY2xpcHlSZDNkY2JwNG5JMzN1SWY5ODdMd3NKbE5PWWM4QkJB?= =?utf-8?B?c1lIMS9GeVZUeGNVTGp2Vml2MFFGSEN1cUx4cElFQzJDNlRDcUthZXIxejlB?= =?utf-8?B?N0h1bFFsNmZyazZmcEFHNFBuRVdWYk5ZOFJ0bHQzTWJjS1h3cSsxYjd6bDNZ?= =?utf-8?B?clpmbitUQ2Zib250dXdxUFJqaGxiQjZCWWVnNzFGM1NGREpMSEtibUZRRjhF?= =?utf-8?B?WXdHMTVQRUVuZ1ZlRkdyT0dZSmtEaTJUaFlWbDEwYnlLQUQrYUhueUp1Smd0?= =?utf-8?B?NkFiUUVON1ZSTEF6dGkveStnRXFnazh4OGJNZktoRGpMdEFSNkM1Y3BrSFRO?= =?utf-8?B?SmIvc3hOZUZVejBsNldraGJEdEtEbGVsdEcyeEVmVjJYeU9YV0ZXM0hFK2hi?= =?utf-8?B?Y0tnQ0ExZm9jMS9BUXlMUWlRb3RTL20raG92dHlyajJZcWl5RDZuT0Y1bUt6?= =?utf-8?B?azJFaVZrd1JZZkxUNmlUMmVkejF6QkMxMjh1azlYczhlMnIyRHV1YlczckRw?= =?utf-8?B?dnJtTDVNcG9Ua2djU2Zrc2J6QVJCdjlnOXJBSUVTWkxtUTBsWkViaVh3VWJS?= =?utf-8?B?NHpQM2wwYTJ1MlNXV1p1ek5WMm9lbnZHUWZNeEN6aktuMlpuN0lzU2FmUzZ3?= =?utf-8?B?UXZ2QjFmU3BwVUNSTTV5Ym9DMzdmbnA2NzdWR3pMbU90d1ZFcVJrYjliTmxG?= =?utf-8?B?SGYwVmM1TEFtQkFjS0t5R0FjRitzcnRvSFFmMmRyOXhocy9IRlJtd0VIWVdU?= =?utf-8?B?eERkZ2NWbVR1Rnpzc0p4alNMbm5hSHBoMXNlMCtzTUVVTVhqR2loZWVub2I5?= =?utf-8?B?eWcwc0hDRnNRWGxoclh5ZlFvYnhJNllNR05lN2NuNjREMUg0bmRLdnU2elF0?= =?utf-8?B?WEFteEdGb2huRHZ4TWNlUWJ4NU54bW5IWDBVODNSdWZLT0ppL2l4QmduZzJl?= =?utf-8?B?OWIxZnBpQXZqdDVWOXFZRDdXWGNNcjBmZ1B5aXJPeUVmYUlVMzVHRTVsMXk4?= =?utf-8?B?TU9LcjdIYXZSSG1NMGpHQlJIODFEdjJjV1puVXExUEtSeVVCMmkwU05ZU0Jh?= =?utf-8?B?dy9sN0E3dGtHK3gyL2FRQzV5K1RBaWtYZkhya3FvMVl3MHdVOGlPWGxWM0lH?= =?utf-8?B?UFJMYWRnZitnPT0=?= 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)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MGtYU1ZqdGdZQ1VBa3p1eEdaVFZWRFV3c1JvenM1YXlRUzB5cXZZdnVBZitw?= =?utf-8?B?MVdVeWVuN0dwWnBiZ2NZRk9CMnRvUFIzRjd2QWlsUVArSCtpeHRJUXc1aE1K?= =?utf-8?B?U0NSRFJnL3dOeFR0ejR1QzNMNHg4cktwWVVsNWRVYTVFTjI1L0NUYkNLaERE?= =?utf-8?B?eFpxVTQwcWljYTQ4RXQ3RUFXNVk1Y05jV2V2WENlYU1XQW9TZVBNOEE3dE1I?= =?utf-8?B?V3FlVmVoQS9aMWhZUE5Ua1JPV1NibmhIY0hIem1mcE96MXdRdFBNdFQ4QXNk?= =?utf-8?B?c2RuQXhuSzY1WVUyWDk3K2F2VEdUV21rcjl3Z04zTU1UZVo4TFErLzVKNGVX?= =?utf-8?B?Vytob1dlaTNPSEdyOFlTcHF5V3VDVVNXckx4UVNCR0UycE1tMGgvNGpLS2Ju?= =?utf-8?B?ZWJTdG1pdFJtckNxQ2dVZGVhREFISkdKaWZpSk9jdTVYbzlHQXAyK1lTdnhZ?= =?utf-8?B?N1pzS2JzWlErRmtYL1Y1QWY0dkNVK3laWUdTRXVuOUw4TEtqYTdUbTh3Mi9F?= =?utf-8?B?QUZ1TkE1R0VscXgzODN4TDNxNXA3Y2haRitNUGp2WldtcTVxSzNrNjBPN3BB?= =?utf-8?B?SFVxMnpFMEhoblhXRVBqOHhPam9kYm9ad3QreEhPR1lMbmQyS1dBK0JPUkRS?= =?utf-8?B?L2MvYXRBOGJPZWF1SW9acXYxdlhwcXF3cE5RSmxSVFVWVUhDUmVsWFAvSEVu?= =?utf-8?B?RGRDTFBaMmh4UnFST2pXZ2dFNE00NlRwd0tNNHlHYzVvaG1FSXFLMGhsUGg5?= =?utf-8?B?a0xPdEViZzJIWVBlbHc4ZTAyWm0zSjdUSTIvQ09STVE5MkFKdjV0cDc2QmJO?= =?utf-8?B?SXVVckkwVVA2VkppQkh2U0UvMFhRR1gwbk5oN1dzQ1ZZQnc4amFqRWJublFJ?= =?utf-8?B?R3EzQnpmQU1ldnNsamdGUk1iemtSeGVybVlHVXBNNWwzNVkwMHNvamF1VW5j?= =?utf-8?B?dDMzK293WG9sYnZKc2M5WWFFdTczK2E5amZBeVBvMXBUSDVvaTJQK0ZTOFh6?= =?utf-8?B?MHluSzR3dVpCaDFQSndRazFaVXBZaHpJYmloWDlzazJmTXJKQ3MxZjhTL2dj?= =?utf-8?B?R2dPWWx3ZUFWSWRWLzF1UzJrMUZGcFRETmp3UjkwS004TGFnYXpsV2w4V1lJ?= =?utf-8?B?ZFlGMmR3TEkwVlVLTVpqUkZRYitCTlF5TnYvcFRxdDdET3V4ME9ydDcveUNH?= =?utf-8?B?ZE5mcDFWc3hhbDVuejJ1Rm1LdCtJZ2VZWk5vSUpwMDhmUVdjWW5zK2JJYTBk?= =?utf-8?B?bE9yS1NNOWlEN2ZNV0J5MlhNa1NMYnBhQ0JjTzJDQVp6UTNBNXpVSmQ1dkNv?= =?utf-8?B?SFpMNHNRemZpN01LZHRubzhmdHV2OVE3RCtiU3crY3JqM20ycE5rc1plM1hM?= =?utf-8?B?dHNqQ0pkUGFYaExtdWpHZnExbTBtbUNpL0wwaUtmaTBHTTlSam9IVHN3b3Ji?= =?utf-8?B?bnFHVEJGWUNNR3BlbXpJK2s0N1AzS05ZbUc0YlNLeStnOWxmeVU2cUQ1OVgy?= =?utf-8?B?OVRqc2tmRG0xOXlLbjAwenFCV3hTR0YwNHV6cFBQYys5SFhpZnd0clVHdHhM?= =?utf-8?B?cE5IWGp5alhhSVlseTgrTWRyUUkyd0IydWZiaC9ydWF0OEZIRkxRcGxxbXpl?= =?utf-8?B?eStPMXlqUmxwTUlmTlhGQ2Ewek4wWUJBZ0pqSEVZeDQ3bHhLdmRJQkhhQXVB?= =?utf-8?B?Qks1TmNUR3AzS2JaaWg5TGNqT2ZPWEUyYWZFd3Q2dVB0Vmdrb0RaY3ZZcitE?= =?utf-8?B?dDY4cTB3SEVTNEVLeU40SGIrN3lTZG9EUHc1QTZoeWlkYlhUZE9HVnJCOFhs?= =?utf-8?B?R1hUQnNyak5Va2hUdllwZXdqOFhWM29Lck1RdUw4Z2NNTU1DOXpEQUZKMHpw?= =?utf-8?B?WkdLTUdFVTZCNkJnR0I4WDFqcWNXT3dsN0tobUd3dHFPY2pVNVRaZE9hRXlZ?= =?utf-8?B?NHJ6a0E5aEZheE9WTjZFbklnTTN4ak9kVEYvUlhCL1VRbGNRUG1ReC82UTdw?= =?utf-8?B?dWs3K3BWVzdIdkROR1VNbXBqNlJ2eTlYSXJZN0tWNDM0WU84emluWVF3L1Fx?= =?utf-8?B?UURFYWliWGJLbExZUjNqYWl3aHNsQ1NGMEs2V0h3TFBGNUZKLzZNQzVWQ0Ew?= =?utf-8?Q?42/ue9ArXFE7gaKQc89gyykci?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a7a6ddd-b748-4c09-06cc-08dd822d8f26 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 06:10:34.5040 (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: Qi30jiljJrsMZv15Qw7H6FPMA6qkl8bKtqFJemjcjRSBb98C9TO/RkLkorBjXGA76LOVxX6tCee+mO25X0PM+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734 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 23099e60b6fb7e899f95fa0427208b33bc5522ac..2eafd6bb819165740f7eeddaf5d= 2e90fc5682b6c 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 12:19:34 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011067.outbound.protection.outlook.com [52.101.65.67]) (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 2BDCE266B4D; Wed, 23 Apr 2025 06:10:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388641; cv=fail; b=bMX7paGJtI7mFkuDnumyNpMxASy0UqycsBcIZX51f+r+AHTQLUsw0deWiBUYzQ+gzxE1+yjO7waA/D6pWHfbZaA+apQuW0vykcPCxlKGQYiVDJZbhxX7KOk98pHakJRAeBrlTcP9yXX+ngnAaZzpCR/N5GNCn77sEyJ11baCswY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388641; c=relaxed/simple; bh=fUn5jDyhYUsXm23/ABNx1XTbcYMXnPQqJeOIadMWw4A=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Cbzoe2PEzzHsQXyiLIEC/hEVuOiX/01RwLa7T5iaIGoBSwuY5ElVL9kKaSjAOBjjTU/qviJk0ZFXajO81cFCp6cNcKn59/vq7/Ao/DULUQUD7LpR/b/LyP3El4VOPL+jq9CrQ8SwJzYt72WSaLsJnHq+GQwFdQMtoOfMawxPfPo= 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=NuB+hfJ9; arc=fail smtp.client-ip=52.101.65.67 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="NuB+hfJ9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SKMrIadI1eqA900yAiWJCPAPEQ4SwNp6gAfYH/ZIcaH7491lu1KPhd+q2pAqWMSfiHwMzCPewVXzvOHsMgHK/JlSljKvS1MA2uNG/P3ZFQ/BN7jHVPjfpwmTp0kNZe6j5+dJnTnnKs7c+A45/myTRNQAuGZC9kAx+c8VkoTAmMhdU2BpxKjZZFYCuJ3ptzK5vw31R9iJNDNybT5SzMqOzLvCtKWaVWZnUZpgCE8Zdrfn4YKSePmDitqhcd87NAj44SLg5SiOFDJgzeW47VwjmU+Csn/bq2oZQD785DOmEiIAQmKHt+SQwV3u9dgrDFITeA70PRMBsckwseiKG4dMuA== 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=jaM4Glkti3o9Y90EVkqIzQvnPwfcMdA0hPWqHJldfa4=; b=EDBcUAipSpa0/p4aTCEySlkFYrbSh3pvnwgzXftWAhV4Pwzm++9pxn2J6l+6ZhhliFWZn6kI1ppRp4zpLQagHpB2kBdxKUIWJtCiwje+EAUKPTuoy59UAjCPhB2TFv6qFtJ1iQgc/0UyVpTyRN0eMmtIE6JJVShiHQIIy3KZe6nF/sB3MvUrwItsAGfVNciVpe5Ag8y9yuq+TDkFyaQBYw7lyzG+UdtOO0HHbHv6r12R3YemuVNLLRUXpjPtEq2S57BAEDhz9pQ5DH52Pu82c1gUUqFAoeOnvhfdHEeRfTL6bXK4aHJ++KMoy5fKoYmNQhARYff4lP98YjTUaMSaXQ== 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=jaM4Glkti3o9Y90EVkqIzQvnPwfcMdA0hPWqHJldfa4=; b=NuB+hfJ9T3ij5rFlRffoAhrTAMppdfZok4GwY2ggnok1j9fApQaHjM++6XCM5uC2aBQKCIk6KEunLFHd1VDkv9uzobXHmYwGiOsI7jexISsQ+KGq4B03MINCwPJUrcL5aFHAri3nQzODz/5GBMEiIev2qRg3yZPntcp1FDEltsCC5ejIaDZtEjnFwBJQCtmnUbhxh23y+Eh7ENngToVf7zvMX1CxsMvCiSmEY0aCxbKqpqBULovWWL+2zsRZf4LBl/ybiHCrMY0TMCoIV1coDRqBMvT59MXw1h3nKZFKHyNKZERHZRJsc7eFYY8boh5Ru297cLTedeVhTmS7qj35hg== 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 PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Wed, 23 Apr 2025 06:10:37 +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; Wed, 23 Apr 2025 06:10:37 +0000 From: Haibo Chen Date: Wed, 23 Apr 2025 14:11:41 +0800 Subject: [PATCH v1 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: <20250423-flexspipatch-v1-4-292e530509d3@nxp.com> References: <20250423-flexspipatch-v1-0-292e530509d3@nxp.com> In-Reply-To: <20250423-flexspipatch-v1-0-292e530509d3@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=1745388747; l=966; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=fUn5jDyhYUsXm23/ABNx1XTbcYMXnPQqJeOIadMWw4A=; b=eVxdYdwR7re0fR/TAD0W+OZl5S/cvtN2bsy/8ntMy4h0rjmsOm65gaih5CyLgfHQTVvHPXZma pMCuloEz/ZIDasmG7ajOR0JqLNL2cvaXaS4/FT81m8yOAwK42mzI/MK X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI2PR04CA0007.apcprd04.prod.outlook.com (2603:1096:4:197::19) 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_|PAXPR04MB8734:EE_ X-MS-Office365-Filtering-Correlation-Id: 5242c6b2-a5f3-4fe9-9205-08dd822d90c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TnlwbXVTNCt6c0tFb3NVKzNVbjZZNmZ4KzhZa0haWjNHQWppdnM2K0N6NUtV?= =?utf-8?B?Y09WZW43RzJleEVvOUFYcHhuMXd2Q2QvRVVnK0dicnFCMmZ5ZkJZMHBwL2dG?= =?utf-8?B?QjdMWU9yVlZnaFBuWE9rU3VzQWc2amxZR1RwaVFFU3crSUJsakZ1ZXNDeHEy?= =?utf-8?B?UHBuQUlXVmZjNXI1dWw1elhvaUorY3lpcHBpVVdRcVduWEJlSVlHaWtodHpG?= =?utf-8?B?ZnpvWnBhakVJV014TDl5ZFM4Q1VGeEpXRnhWdm9maUJSaFJzUDQ5YTc1RTQ2?= =?utf-8?B?YzBTSUFMaTZBNEdXS3RvRnhGbkJWc0hvYngzUVVucWtWa0xrVkhmWVdwWDFo?= =?utf-8?B?bERUNTNFeE5KUUsvUkdnUkVaK0RFVVRFZFg3WkJUZjcyZU5pT2k3WW9QODBr?= =?utf-8?B?aFA3QTB5NldHYjB5bHcvQ0NNLy9VSDc4Lzh6aUE1V0VGVmNSWlBYNmMvVkw0?= =?utf-8?B?VC8zV0dkMlR1RmdDN1ZqcHNqamtrbi93bWttNmlWZ1VVY3I1RUNGOXdXdlNM?= =?utf-8?B?S0JDZzM4TExMSjVqMENLL240V2F0UjZHbGY5UDV1dGtyR1kvTy9VQW1VWGly?= =?utf-8?B?ckFpK2d3SmZPVzhWTTM4Qk9Gbm1qU3BoVzI0YUtjRGhHTUhacDNIMnVvR0dt?= =?utf-8?B?amRTRUFyOC9HNGpyUzBIaTB1SlpkeXRQL0lYK1NORjFBNUZWQU9EcXJPcERV?= =?utf-8?B?amRVUjJXTVR0ZnJPaHR5MFVhUTJrN0JZZ2ROb3liaHJnWDhlUDJ3b2hmd1lu?= =?utf-8?B?bnZmNmk4SjdJMTlkaDFNaGo5L05QSSs5SHNvelhQUy93YU5PT0dWV1BrQzRj?= =?utf-8?B?SSthaDZmM2o1TzlLS2FDMkpVYzFmbWt2Vk9oQ3ZPUEs0b2REdld0STArN3RB?= =?utf-8?B?RXpPZUcwSDV5TGxRY0VUZENrYlhtZW9BQ3dhb1pOK3gyV0E1cXVKL3JVZGh4?= =?utf-8?B?bGZWV05VTXlMT0kxclpsUkMvSjZkVW9hUG9NVXlCVUhadXpTWTFhc0dENkMv?= =?utf-8?B?VitOcWJMcmJWNG5seE94ZERFM2hITU80ZkN1c3hzRjFVQVJQbUZFOG93K25w?= =?utf-8?B?SVp6S1E0ajFyZHkvZlVFNzZaVXNLd2tkY2hnY3dXNEpTRFRJbzNVMlI3OEtn?= =?utf-8?B?VmtaOC96UFBhL3JnNURDODlnaHlydThMYitkSVhoaUNSWi8rdjJkd1MzUVJ3?= =?utf-8?B?bjRoMGFFbWptOVpnekZXLzdlSUs5UkNXejdvQzdReXFIbUxqNWpxdmMxTTMz?= =?utf-8?B?YzR0Y05GMGZmcVNseHVIMmFJaStJMnM4SmExU3dPclpSSGppdXUxQW9nNnJB?= =?utf-8?B?bnphTGJoUEpBSyt0ZzBYRmI2dFlIRmNGaDVRTEtaVjIvcFNtTVA2K3B6Skpy?= =?utf-8?B?aDI1azVTdUlIWFJKUWY2Rmd3cGRuaEsrRkZ0RlVsNkxKUW96RzBtTU9PV0Q4?= =?utf-8?B?R203MXAzRkxPaHNoYkJtYXdHK2FxM2RydUtPNHE3TlIzWkw2NnRka1ZyMm10?= =?utf-8?B?ejJHYUhBQkxoaVhvT09YQXVtcVBGbjRlUEJEbXlpQWtSU2lIeExEMXVVQit6?= =?utf-8?B?S2JkTE9saWNNRXNaditSSHVHZEdLZTYyK0hwMkhLdHFmSDBVRUNPNjdNSWpq?= =?utf-8?B?MklOV2c3MWNKZzZOekxwaFpEUVJ1VGxGRXdWcXRNbGxJMjhHOGdWeG13UUtF?= =?utf-8?B?S0JoYXl5bWU2K1pIMVFpTEV0SVVIT0pyN1ZBc0V2Q1VrM1hzdE5SR25OVTFQ?= =?utf-8?B?RzJKTUJETStQSUVmWmZmbk5ibFppL2FqOHB6a24ydmpzSkNrdFJuYldrQzNM?= =?utf-8?B?dDdPc0dBQ1RDejJFQ1k0czVLZHA0cDdZMEQweVRQWGdjSTArVEdGVml6ZWd6?= =?utf-8?B?Rm8xcFFEN0l6MWh5aGhLdHFJd3FBUXdXZjF2ZjJNSWl4RnoxeW1kVmtnWXh2?= =?utf-8?B?MXppUjVOM3o5WG4vY1VCSXJCbTB4ODh0Y1NLUEdlMmcrZVdHY0I4VHd3NkJx?= =?utf-8?B?RDFRczBoWDlBPT0=?= 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)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OWxxZnhNRlpVbVpnaUJ0bHZra2h6OFJUdmlMZEF4NmRQZmNmSTVNQmZEOEEw?= =?utf-8?B?YTMxUnpYNlJaUDB6ZzM5Qk1qcmJpdEs2VGhnMlhzbVdCeENjZmtMbzFqVUt2?= =?utf-8?B?cHE2Ym1iWGxkTmNFUy9yY2VZVGI4d2pocEpZMTZIY1A3a3F3K2V2U1Y3ZHZp?= =?utf-8?B?ZDd3cFZndms5QU11VGNhcnJJVGZlbXhXTC9lcERJVGY2U1BPT1hrUHRWQk5H?= =?utf-8?B?MllmY2c1ejlUVTZnVW02TXkwcS84dHRyMGVOcGFyYUQrRWxCeUtvYmRSc1kr?= =?utf-8?B?dmpzWExjMG15c2VVVUpCelRrd1kyanU1ZDArOFNwSTBHMFdITmlYVTNlN3BD?= =?utf-8?B?TFFpMG1xYW5FVWx4MThvL2ZlQ01hUlBDWWNvKzB1Q0JpOTRlSXlTRHdrd2Rr?= =?utf-8?B?eUlMYnhZYjB2dWZIRzRKbG54Y0JzRVh4SUxqaFBjVGFsd29ONmxJTTFDajdV?= =?utf-8?B?YzczSFRrbTJHZk5zTjFtVEJrNnV6MDZQbnZJOVQ5VVlQemo0dWN6MCtPZEpn?= =?utf-8?B?Y0FHTDJ2SWYzNURPUnp3UWxRUUdwemp2NEwwZ2RNdjBkSUQvbzF1SnNZR3Uz?= =?utf-8?B?K1ZneDUvd2N0eHhLWXZvakRmVkxjemg5ZlBPQ1RrSlp5aUkzb0JHcG16THZo?= =?utf-8?B?ZFVGdHVSd0FyMGRqT0hIQnZHMmcyeVdVa280M3lvWUp2ODhWV3E1SUpodTJI?= =?utf-8?B?MWNTSFlUYm5OL05GTVpycG5vR3dsYXRsQi9LWEk3SkVhTFowV0drbU92THBD?= =?utf-8?B?ZE9xRHB2Q2FNdjNXOWR3em5FVUhVMm5OeEd6dlV0cDRNK05QczhUNWhIQW5I?= =?utf-8?B?Yk81cXpFQlB4K0s0dnZsMWNveGxMMktnV3BaaUIyeFo0eHVkdEMwaTBXK2lR?= =?utf-8?B?dmRIVENKdmM5ZENSSWViSGZGc0FWTS9OejZnRVNsSWVzMDNBa0NLVDlxdXM0?= =?utf-8?B?cHM3cHNkVHNrMEY0NkFsUng5Z3pWS2VuMlM4QkR3QnVVUnBmVUtuWXpVOGxU?= =?utf-8?B?TC9rNXBFOUluVzNtSjE2cUN4dndFSHVRS01Fb0kxellXSlNtL2d0V1R4Z1JD?= =?utf-8?B?OHMwbTZnQVlJOS8zWVdYdlpzSW5STktuK0Vid1NvbE5mZlRvcG5CQ0hwbFBv?= =?utf-8?B?Zm5iNStxMFJEOU82ZlFkaGYvQk1zU0dvZTZhc21YWWtNVHR2dHRIczV4VW96?= =?utf-8?B?eXFoMFI1bkR2L3ZLaHpUeVE1MFY0aDZheENPY1lMT1crT3lXZmpzcjlBSXpJ?= =?utf-8?B?KzBDSmMwSlVVUnJkMWJSOVhEMFVoRlVFQ1dXNGQySE9SenRhbXFYV3I3ZWJ5?= =?utf-8?B?dFZYVWt2UWVENmZJZ1Iwcysrc1lSV1FLNnBFWngwY2hPTUhYQWJjQlQ2Yll5?= =?utf-8?B?MUFEYVRtZ2pKcnVsMmFBcm1jeGJ3QVRVK3BOamR3S1p3OHZ5S3hrRHFPRGxt?= =?utf-8?B?M09XeGphS2xKdTNweUd3dVRkZTUrRUZOUmZyR0ZRazdncXpxOVVwU2pTd2dM?= =?utf-8?B?QmZsNHFQdmJiNVdoMWUzR3RyZnlKdXc4aXA4UUtFdEprUUtNYk0rMi80UU93?= =?utf-8?B?RXkveW9SZ29YQU9Od2YzbWtralhheVdaaFhFS1N5aFpGc3BlZUJTYWl2YWta?= =?utf-8?B?OEpCVEZwVUdhWnZYVzZxQUFSQTNOaGVmNUtrQXV4Ukt3NzBKZjRtQ1RxQklR?= =?utf-8?B?ZUVreFlvRmVLVW11VGhFM0F1T1hkV3JxUGdUU1NaZ2JLdm40SUgzT3BmRjlz?= =?utf-8?B?U3Q4Unhmd2xHVW15UHp4ZWNObmZNdEZaM0Yxb2RQK1V2R3RIZmNaZERqak9s?= =?utf-8?B?Uk9MeWtYeGVFUFgvUHhuNmw3Tjdra0UrTWViK3UvU1FGbVovdklqZy9SdE12?= =?utf-8?B?N3pZaUIyekRZdnRGL2krS29qWnR5dWllNU1PM0ZncFVZL29yMU9Ia1NkZnpR?= =?utf-8?B?Z3pvSEp1TmNxeHIvTG5tZWFHeXpNNFBpOHJqMXJTZVBvNEFBa0xSdjJPZkFm?= =?utf-8?B?NXpadG41L0N6cGlwUlZ0d3dBUUxnV2wyQVdjMnlxR1BwUXYzNUZ6QVdkNzRn?= =?utf-8?B?T2dBT1hlSHVsanFtRENGRWNvTHA0R09BbGRXZWVudnpQUi9tYWpYa3hHOTh1?= =?utf-8?Q?QwWBJoshmdyzAMIRgFEafJrfl?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5242c6b2-a5f3-4fe9-9205-08dd822d90c0 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 06:10:37.1570 (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: rl1ih92RZLSNsOXnCgHVeQustFU50DXQY/d3hp4sgp64S5aGSODiP75+q593OQ7MMSRHQ+EiGvGZ87u0TWMPJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734 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 2eafd6bb819165740f7eeddaf5d2e90fc5682b6c..45d7b5fd9230ca122a61fe66a6e= 05dc4f823444b 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 12:19:34 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011067.outbound.protection.outlook.com [52.101.65.67]) (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 46317267AFB; Wed, 23 Apr 2025 06:10:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.65.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388643; cv=fail; b=uWXFUc+2ahAwKL/LD+yRUBgWVk5Vxo12h1zjbqehc1Faif8mQiNKbseTiSQbjJv6MxDzfqKR/JVfkeYFsfc9OSMsOW0nWreAgqIH3cJEtStVN4htWbYXhdods/Mr6jNxcYDY9q6mpkL9Tw91Xoz3Bi/mgR0JYQ0jGLo7U7t07cs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745388643; c=relaxed/simple; bh=7OEu7aDcTNZBTqlMwR1UBHg27fDe35Sf0beeYZ/xMGg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=e1VWrxIzaqRoP59J9SQPu+C/qj8qh+LBbiqHxN3qPM0VIy1LSTnkivjdPrnQSz8zIiiHR/Gdn0Z3e16V48R7H3sSbWPDYwxrYcAkqQvnXrw4H/0Mmqqz/Dvc81y82RR5a/sY6dwW7/lOlo0Axkv7/hUoJ0gjG3Sb5/kALtv2eFE= 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=ZXMGYeor; arc=fail smtp.client-ip=52.101.65.67 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="ZXMGYeor" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pDfS0sbZRwiS3A/Cv5ygHocXteAan09zYJ42YjNNAwr3LRaMQDhIwcefj6BgImEtfG3wj1QGzVqCJTLPjJs9R5FILgagHUODUsSFzuAg/HdAmvRKpRFtI8S0OpXBo7vm2BlJAlVhrYWD1r4yLyH0wTMojrMipdoXz1yXtZUIYbLm9/FkQeMKWiXTKBdueGe6hLES8AfzQs0a7ewi2z1TJn+F4Vh7ONtCgbqq5jc+js1MjCZak2n4ucgqLm1dyqMlndFbiaSVkqiCUYpS6MW0bcDrQgUmfFcvaUfVaXDz8G+awZG3zxbF3hc+l38JVvRvbMe7OrfVCc94X80Zg3wNAg== 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=o13BacnfkHfvICZOS7uGaToiARqOiA3zTd0p91FoY5U=; b=W1M3v6jIHPi70c2OetQJnlKUyb4VV41jqd+G5qd2d8xN4zo2jafVUOnkAM7ckhHQvuWqfEIE7WIndT6JdlYH6WZm9khaae6HviAuU+0UwSlsbtqeNGSZ8Th22T32hoJ67ns1apMhiIS6OyiAlqpiV9MTY4AO18m6554S/18Km1l/oY/3R7xSndBVLDgPhSil+jbsrwuvnlnFZfF7VNr1wvG37hbXR5LTPOBChDXzMBYY75R/Kf89lDxe/HvOCg6btZHc62VWuHFI8Rh87PlARa828ZS6AMCSkBWdnNYS9ZKJwV1DPL253nvtx+t2krFBtUpeBvcP3hCCATI6T3teDw== 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=o13BacnfkHfvICZOS7uGaToiARqOiA3zTd0p91FoY5U=; b=ZXMGYeorAKdt2e7gueKPGKjjjRz0/GijS+mys/6yveP8gSkHDOVC17qQNFnbcj/xtm3YAiWZl19J/ZSkXVqVBjeoNElq1nFgSwHRm09+5oZHSXTlpkE0fnyiFFx6YbjDY1vDUWn2x4sswxcWdf9+dABBaJI+u9XjA72IUjQEMXLpdebGINnlja0DAUiwUoS/O31kF3F9RQ11SW+zWJz27YpmtA9fnW7Mkf0vV4Okri/nBCjK/OIwPvsjZZ8ZRg1vmoCYpV3jMbtFyo1MsDQXNewcRzN7dmTRHMaRMHY35n6ACHNt4ZepoT5giwpA94+8w3nOfyJMu3/bwxBhLwLDRw== 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 PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Wed, 23 Apr 2025 06:10:40 +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; Wed, 23 Apr 2025 06:10:39 +0000 From: Haibo Chen Date: Wed, 23 Apr 2025 14:11:42 +0800 Subject: [PATCH v1 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: <20250423-flexspipatch-v1-5-292e530509d3@nxp.com> References: <20250423-flexspipatch-v1-0-292e530509d3@nxp.com> In-Reply-To: <20250423-flexspipatch-v1-0-292e530509d3@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=1745388747; l=2545; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=5lL3LkkHmuY4xCbvDZE4rLc6eGwDA+AN+svgFhE/Z0E=; b=dvVqBSVsVM6gA6pofZtOCSTmB4Yp0+msTRgw1GVzFFXXZSnAJcpsv4HKWt4oS2sYUekhyMHpW mHun2Qgh6cODT7pD5t7qzWIcEh81iomb1eQKA0YcE3GR/J6N7H8N6gV X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI2PR04CA0007.apcprd04.prod.outlook.com (2603:1096:4:197::19) 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_|PAXPR04MB8734:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ea4d4af-a3dc-4c0d-76ae-08dd822d9256 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TUNlRzJZZXFjSjBSaGFzLzNiR0dSQk51bERaVHRPdnZhNit4eG9rY0dkd0ln?= =?utf-8?B?ZGdGZGQ0cWtvbHlCeitLb0RrUWxURm9ybHV4RUFWTFp4UTYrWHhGU3VKWkJQ?= =?utf-8?B?VjFrcFhGSWhjYTlpUWNzTkc1bGQrVVZSNnh0eU1XS0VBT0ZNVko4a3dKY3FG?= =?utf-8?B?Mk5XcEU5SHM2ZjVZc1FHRTV4ZFMzQU16N1pnMVpmTnU4Y3Q0UERseTA4cE1O?= =?utf-8?B?cnNHYm1pVlJ0OUk1VjRrT0FuN09Ga2ZjMTk5OSt6MndKRHBPakd0UDliVWs3?= =?utf-8?B?KzBlWElqcVBwSHhUZ0pGbXFpUkNqaGtEWlFkaERkRXRPZ1NSMmRlR3ZjTkpP?= =?utf-8?B?NzZ6QzYrY05HL3V1L2VZYVA4eVZyM2NnMTZTdFJSMzZqZ2xxcVAzUEVzVEx1?= =?utf-8?B?S3pkSSt3ZHJ0UTI0Z3d3V0c4TjVHVXhBVENISzVKMElCb045QUhjd0paandC?= =?utf-8?B?QmtHMWRCMSt3MlRJMGlwZDQ0Ymsvc2xJS1N2Y3lqM3NpcHJVQm8welloWmlM?= =?utf-8?B?VHA4cVpUVzdWd2ZvQVg5SEY5c0hnN1B3VXQzQ3UxNGZyNEdjL3dORWVxM1g1?= =?utf-8?B?My9aU3NtM3NMQlpsZmNYK0V5cEJzOTY2ZkNxMlhRQTZpd3B1YmdGRVg4ZzhE?= =?utf-8?B?UEtzZGM2aFhOSVNwdmxOUGRNdlUxekJBeXZ6cC9ia1FCUHhXYkFPNmpqVjdp?= =?utf-8?B?NVNLWHZ3TmJqZ3FUb1VSU0xwU0FQVUd5cFl1alRjcmlGQmVwaU9Da2paZzNs?= =?utf-8?B?UE1DcGxNNkdhQzhKL213QzVCRS9haXUzdm1ycHQwR0lzdmdaWXdVMkJJbnVn?= =?utf-8?B?d2FqQ0RGSTE1QXZXOFBMR1ZRdDRxZlNsT28xM0tFMm5zdUJhNkZyTFZsR2pQ?= =?utf-8?B?MU9OWW1FNERxdWZCSlIrK2hxTzlBK1plRUlQRVh3TFZEVmJ4Z0U4QVprcWVz?= =?utf-8?B?aWg1WlVJdW9Cd0FTMTNTRjJES3p1UW43NEFZSFpqWmdkeFhPNkJiU0NQNVZN?= =?utf-8?B?c3ZqMzBhL3J0eWxaVWxSMzlZQzd5REY4bEo2YWc4NjJDSkxOYXgrd2JzWm9t?= =?utf-8?B?VlhOUDBBVkI2aFVwNG1ncS90cGh5T2lPNnh6d2JnbnBYbzdkanppL3RzVWVm?= =?utf-8?B?RVJ5b2xCbjlMOXV2TXgvN2tyS1VFTU1WTmVPWE83a3ZWa3BpRUVGSEhUTk1t?= =?utf-8?B?eFBwQjNMbjh0TzdSMWUzSjM2WTRnWkxJN2Q3akxwSllIdWdtTGd3czZrR3J1?= =?utf-8?B?UEJic0wvQlRYSWw5R1R6Vjhza0JUZlFtOHV6TzNzcC9jS1BTcHd6ZzZpWXRz?= =?utf-8?B?Q2VKcmlqWENyaUVqakkybTRHZy9FUUp6NDN1YnkzUEZLd0VVandkYUEvU0xG?= =?utf-8?B?T1RhYjNVbnJXUWx3dnVLY0xUMTBvK1dqNGNKbE4xanVwRExkdFV1MElzTFFw?= =?utf-8?B?SmhKb0sxMnVxa3NkdHBRN1ZBakEwcmhOM2czMnVWZEVLeFJINGI2MndZR2Mz?= =?utf-8?B?bGUyY3h0bEZGbmhHQ2Y0ODUxRVZZWXVoR2p2NGZXQ2hBMjhXaVMxYlNFb01u?= =?utf-8?B?RXM1UTNBUUptUlhJaGdLSjN5K1NnaTdEMk5yOE1kd3I5L0d6cGJ1N0ROT0c2?= =?utf-8?B?amZaYmJDWWlucUdvbzJNRmxKRFFwZCtmb1I0Nlo2aFdrUEduNXhsRVByaVMy?= =?utf-8?B?L0ZSdjZmZGhYQnI1cngvNVhKWHJ5VSs2RTNyZmJCTDBQYmx3dkJveHZnS1Nk?= =?utf-8?B?UXJKSkxFNnJLUzA3VnF4LzRPTWJJYmJQeDcxSEkrY0JzMVRMY0QwYm5wVEtZ?= =?utf-8?B?Y2puS0JjQnNPb3FHRHhJRVhQcld1U3B2WE9NUHR4T3dwazdwMjNzRXpQUHBN?= =?utf-8?B?bEhPb05uLzdQakV1T2lGN3FaMlhnUG11RzlIdEJRZUhpZzF3ZTVGYTNIdm84?= =?utf-8?B?bDJjQVMyb2RPSHQ1c3Ftd3VrcERKcEwvdHkrQSthVzRRV3hMTUpQdmpRVGZ4?= =?utf-8?B?Sk1lQk5DN0VnPT0=?= 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)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1FuSlVsd2pNYnlOR0dRaGV2V2lCQ0hEWTJOZGMvcFloR3ArMlo4Qk81V0Nx?= =?utf-8?B?YklubTg2emlsNURtaHBueENNa3BrRWpmamRzTzcrWE9NbVQ2cDg0MUUyNFpY?= =?utf-8?B?OUU4VDZGSkZIaUxEaGRORnptUXErekV0aFdGQUorNmV6QS9WZkpScm9oS3ZC?= =?utf-8?B?bllpVDhqMjE5MkdYWGYzanhiRXVyS0NmVHNzVDVZQnBkOWZxRC80aDg2TzFD?= =?utf-8?B?QUNIeHV5NWhjbWNMTnp1RHFZRUFGN3ozQ1pSdXZoM2d0WGlKY09ndWNDL1BI?= =?utf-8?B?cUFnS2VpUFRhMjRzckRwZVAwNk1jWmxleHdXRmpDaVFpK1hCM1RZUnFRSFUw?= =?utf-8?B?TEpIdXViMUtrd21COTVYMlo1cDJweEloc1VQYngrdk5wdmE1bTN0MW5KaVA1?= =?utf-8?B?Z3h3NUVjMi9COHVkMERGeXlVSGZlQ1VWV1lmY1BRVXQwbzZmL0VrQ1RENVZQ?= =?utf-8?B?K2lsaFJBNnBtTGkwV2hhWlVyZlZLODZ2TitnNSszdHFMWHhvQjZYcnc0UDJq?= =?utf-8?B?aHcwN1ZWWXFDbTBJakk2SmxPTDR1cmhabXQ4TkRYMGJuZmhnS0Y1UUErOER1?= =?utf-8?B?S04vVXFVYUdFY25IUWp2NTNseEwvWVo4WVo0QWJLUWtpMHY4UElkSSs2MDQx?= =?utf-8?B?OVU5emxjTGs1aTM4ZTJXOENUeFIwTXhVazhBYWxsYTdUMy9NeWJCK0hvdEhK?= =?utf-8?B?QTV4eEtmekY5SWkycUN4Mi9wL2t1L3ZlZHZDbDMvRG9qMTljNTZoYXVJRFJB?= =?utf-8?B?bnJiRUw0Vjk5RlBiWVJDRE5oUmFFeXZjdC9wektZK3Y2RzB2NjE4Tk1HTjlE?= =?utf-8?B?R0lNbGpmRGJLdUNIZ1l1UTBUMklzTEhOSkVxcDcwejBWeFc5NFRpMFloc0tk?= =?utf-8?B?WFdRWjdrRCtDT2dWbmxva2xVcnpjTis4UjBTeVUveEJOeWt0MFJvQnhvcFpj?= =?utf-8?B?dGU4L0g3QTBIVEVPR21wbDNMQ1ZLRy85RE5YSlNnR2wrWHk5bWdJREJwTnhE?= =?utf-8?B?Nzc3K1VGTTFOVTR3anl5bU1TNGZCTXYydCtvL296a1Y2c28vSnYxaTgxRk1N?= =?utf-8?B?bENsTWNSdGtFNFZHbkZkZDRLOHdTdGRMVndWTHdYM2NybmJ6dHRKL0JlQ240?= =?utf-8?B?VjdtME1PeC90dGZlNnJVVVc5NnJ1ZmFiL1lkV3FkcjNsSmVxT1BNSE10YllZ?= =?utf-8?B?TDFhWVBsTmNIRnNPbVE1ekZhRldySXdRMFFLRUxFV2xuUUQvNVMzLytJYlhM?= =?utf-8?B?dXZXK1J0eEFiNHhzK2hhVS85YUdzaktGVWF3MWd3YmxRM1pLYnoxTldBWVA0?= =?utf-8?B?Tkl6cDdZc1AwOGRUUEV0TWdLSlluenQwMm1TQjlaa2ZKTGFaTnpOb2JaYXpB?= =?utf-8?B?Q082N25LSkFQZ0I4SHBDeEZIOWVmeGNSMzM2b0FFNnpvdnZSb0hKOGx6RlhR?= =?utf-8?B?c0ZOWFRrWXBFclZSbnVPdE9sRDRxNmxpT00wYXdQVnlYcHdpMjJVZnNpS3Ni?= =?utf-8?B?K004c3ZUdFNjSGt2bHdNd1JpSEFRK0NSOW13d3krZ1Y2UEtoY295Y0ZUS2t0?= =?utf-8?B?ZzNaY0dqMGFUaTQySjVNUFlCVFoyS2p0NmZRTUtTaWtveFlWemM4WngrUkVu?= =?utf-8?B?cEFjaXY0Zk4vUVpLeW1nVERCUUhVL0pRSm42TUpqc0hkQXpPQ3gyaGhPSGRu?= =?utf-8?B?MG1mb3B4NmljYzMwaGdVd29uMHZ6WEs0TGovZUVMNkM0UjU1ajBEaDFOdFB4?= =?utf-8?B?ZnZKMXhpQ1dQeUhTR3B0M3ZwNEpnbmF3SHBYTGFkQnR3dFRKVERVMVpoNmpL?= =?utf-8?B?cmVuY0NtWVViMnMzUzM0REpJdmdGaEQ4UGhVQ2Rza1RUakNlTDlBMVJCakNI?= =?utf-8?B?SWFVbHpNWUt1cEVReU94Ri9nYzAwY3BNL0NGWnl4OW9XbW5tUkdlR3VPT2lj?= =?utf-8?B?akVEcVZOVVBkM01CK0FtZ2E2Z0FDYnhmRkNwLytvbk5UZXJLeWNzMnp5Vzkv?= =?utf-8?B?bGdGRGQ1eXMrYld3dGMyNU1MVGZrNllzSDNVMWFwaFIzamw0YnhvSjl5MjV3?= =?utf-8?B?TVIwcUFuc0p1dUFibTZKSFI4RmNNeVp5ZnFuT1FFYVo2MkJFQVVuREpQYWNK?= =?utf-8?Q?djeiEFkopeNDaFkKVZesjyKRU?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea4d4af-a3dc-4c0d-76ae-08dd822d9256 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2025 06:10:39.8848 (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: hBXUmXc0IxxDGkzHr9Z92WMUKnPWkGxpxR9fwWm4/wmX6e2BUo0YIX9a3mtkSxDols3ro/vol/zg0vCnqmoEiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734 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 45d7b5fd9230ca122a61fe66a6e05dc4f823444b..497902acebedf37bd6b4f0a5f5f= 6d8a1591543c1 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 @@ -1363,7 +1367,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