From nobody Thu Oct 9 04:46:25 2025 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010031.outbound.protection.outlook.com [52.101.69.31]) (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 1A7FB1DE4C5; Fri, 20 Jun 2025 03:39:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750390745; cv=fail; b=oeQU8A/gaMZUzuTGlQ0HO5cQV3gB16n07ARmWdRliJLBxexG0Hg6tZIGxicq7ZFT5xpAPGo6shxQfb6wHXXeX09oTc1AFPaHH2njzyu64mcwl/RKcmlQ4eTAG5vRyKYkrvYutRBVX5pNqbXELt9IHI2sYKCU4mpgPnh5SI8/2Io= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750390745; c=relaxed/simple; bh=HmzHgGJk+JM+vAE116K2wfbtF86nHz3XFKlWuZtfpHI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=YMf42YkbFS5/TWmGsO4tcJCsT01U99bKhHDT1DLYJLimN6F0o7JWEtpKsxCVCBRAf6T+UEiCBhgUjjbDBX9MhabAwcyL323vpRq23yniClrzCiw/cuT26OWo/0eX6ammqulyZl9aeZyhyJjdX0lciBW7j7hYuvnDHBo7aB3ZwOE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=tc61JB9A; arc=fail smtp.client-ip=52.101.69.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="tc61JB9A" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QVqYyXFjytbIAvEUk/IcAmKTNU5mvsNxvImVN8MflQFAdM8KQn0OX+zpPAge7CB2DDwuGGj2SWYw8YeQGHZ21S8w0OfRdQZGAAmSzVeBduANLfiW9LJlASXDtEaTZ0as5tp/vxFC4j33O8NPMYVkHhYzuvpOF39nLg0KHJ+GI03u9ZV8YX1fNWiglIJbbP5X1s89VjnP0W57cn9DwFTJSUybunPElOPqF1QQm1CWhmlbMVbTLVCBLMGq/fHcaPIyIFpPVINJ8SDDrUn/rT9rgDDCPsLo71hwsukUiQB/btssXx+ecH5r6FhPkqM7oqNb+a21EFExdjkoY1LCKLEuPA== 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=szVHSC5xpU7/GKrK3OMt4XGipxTCcnvAj0Y5/D31qhY=; b=h0ioJOpSz0sj1LIOuFKOUq/J7/W1tG7AX6m4WDdM506/zLqcaa/rFtfLnboiOZyg4q55algAfcYWmL1Bn0hqld80DKr9gA6IBZptgtggGI34gO1nOiHcnk9I89kza06j3DFUyRprLNGopnm8jS5zSaWOLxA/QjY13TpjZ6aZgc1NdKkFQk+xdQPw/wjSNN+aMB5VNfo9iuiFATxJntwsg0qhEcXR3R6gKCEyfU9QT1f6cTrp6jCMpUXGQBksw4YV16ZII6/Wu76VAmPkSf5VTkN8DiwFua6i8qDfVxwtt/jutkainc8xUTBZTumU5e6ELsKg7tJDjtreKVQ+vbn/YA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=szVHSC5xpU7/GKrK3OMt4XGipxTCcnvAj0Y5/D31qhY=; b=tc61JB9AghNzDV47FcWiOFaW3OkH7lwrwy5DNuRuIEiTDMjZJcBoUjOlJAzTM1M5GxTIKn4txaQ6kTC46duwqWEz5y6c7Td0VSqwE2HyVSeCkesSz9lTZxwPre3GOL5eIla97ajKr2EX2vL/z52xxMPZLUmEURLoNmp/3d8O5qd8fbcxnOz/gUw7yiQOYEyrWW8Ol2r1mRpewm/2tyMBeUuZySCCQhTI1fH+16lbbH7ylLdSRggHddS6tncjf8gH1Fo7ST/Od75kGFUJ6KeN+/X03KpCQyv0KGQ0e9F1ZDNlXJYQG82h0pAAj3PIhrjgIdAUIJMfFOjLi+3JvXXPMw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PR3PR04MB7369.eurprd04.prod.outlook.com (2603:10a6:102:89::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.25; Fri, 20 Jun 2025 03:39:00 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8857.021; Fri, 20 Jun 2025 03:39:00 +0000 From: "Peng Fan (OSS)" Date: Fri, 20 Jun 2025 11:37:13 +0800 Subject: [PATCH 1/2] firmware: arm_scmi: bus: Add pm ops Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250620-scmi-pm-v1-1-c2f02cae5122@nxp.com> References: <20250620-scmi-pm-v1-0-c2f02cae5122@nxp.com> In-Reply-To: <20250620-scmi-pm-v1-0-c2f02cae5122@nxp.com> To: Sudeep Holla , Cristian Marussi Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ranjani Vaidyanathan , Chuck Cannon , Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750390643; l=1852; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=LMghJZrfvKXKbNZ2kf+WRtqaW7cOykumzI9k3cqHJbU=; b=mzXxnLpipbn4qOnG/aQSx5rhg0v3sGZq2KWnW8t+1ulx4PqqrvYJS3qlWQkKt0e7sgRMKHUjX FK3WZr53MLOBzSCAUI0uID+izeWJfIwHIi1e0fRUzK2aPZl/qt4n5ln X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2P153CA0007.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PR3PR04MB7369:EE_ X-MS-Office365-Filtering-Correlation-Id: bc016974-30e9-4482-0db0-08ddafabfe86 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dEE0eW5iZFV3VEVtWnVsUXpIWkgxRzZsMUl0c0EzYlJ2MDNQVUhkNy9IeEF2?= =?utf-8?B?SWVDRndJcUF0V3pYYkdBU01MT0t4RzFyZUhvcXozcGZONG5SNnZ2SzE1cFE2?= =?utf-8?B?RUsvRGt2QXBnRm1TYUdkRzRWajhpZXl5WklTdTdKdWIrNnBnWCtldFJDOGJy?= =?utf-8?B?Vys3Z3R6WXNHUlpWMHFURDducVI3Q3V0WnhpSjc3NXB2NFZ6L2ZXdllqQlFq?= =?utf-8?B?cUdiMjlxTjN1d05kUEJTOW5mRTRpaDd3V0xmL0x5Y0VpZ0xDMnEwOG9QcWYr?= =?utf-8?B?K254YUg0cjk4QXBEclV5ZEhub01FZng5SlJIK2tXYktsUGdYTGk1Ulg5NUZk?= =?utf-8?B?Ky9uMUJZVzVHR1ZZajZOQ2RScWhNdTJYN1VJY09IdEpad3NlMFlRZXozUUxs?= =?utf-8?B?ZW9vOXJ2eDIxVnBrclBHelFYNW9IZ0ZNUEIrdkpUcUJDcDArMyticENPNy84?= =?utf-8?B?d2pjRENxa1JCd3FBelhTVXB0TVY0Qjg4eTZ0VnJuN05aaXZqdGY2VHFsNk5z?= =?utf-8?B?ajBNZ3FUSHhCZHhhU3UrdjMzeFhqVmZEVEp0aDY4UkFZc1BLZGV4S1pTNGE3?= =?utf-8?B?bytiMnBYdTR3N25WYjRvOGhBL0JidEJ5SGdkZjV5Q0N1OUR4djBJSndFVnl5?= =?utf-8?B?ZTdtYmt0YmtBVzdKUnVqTVRINkViWHFmL3JBN1d4cE5OK2VvVGRnQ2VWdEsw?= =?utf-8?B?eHJWWlAzM3BiNjFwdnBtcXNiaHNCMmtWSnIvRkp1UmRVWXh5RGNwWWY3R0E1?= =?utf-8?B?ZExvWWZ5TmkxUVB5ZmlOQ0VYU042RFlDdTJYYUR5Y3hkTWxuK0hrYmVSVENJ?= =?utf-8?B?Tk9qWHB4ZWJNK2JNUnBveDlKKzhYOWY2WkJHa25nTHphNnh2OVBrTkk5Y29r?= =?utf-8?B?cWdEd0s4UVhmdElySmpxc2tUYk1sdkZjTEVkc3c3RkQ0OGtyVWVLdjVvcFVP?= =?utf-8?B?WE5xcGx2bytHU21ELys3Tk52SVR1VGxtMFRsMXdkdTdFZFNyNGI1MUQ5THlL?= =?utf-8?B?Wi94aDd4YkZ3bXpPL1pXQm9FMTBHcGVVYXFpdjFUT1phM3VyVW56YVlSOUpp?= =?utf-8?B?dHVwVUh5Z3g2N2RIM1paU0VHN0UxNzc1cHduOVVQMy9sbm5HRlRzbDlrbFJG?= =?utf-8?B?TnVKdTFmRDlPMmZqQ09lekZpSW5pd1YzQ0RNWFd1WHpMTmhSVUhRYjU5bkRU?= =?utf-8?B?dHRUOG1GeW1FMmR0eFpkY1lCRG1RTGJBYTlzdytMcDJvVUhRaUxCUjViV2FN?= =?utf-8?B?S0ZWS3I0djhnVzFpMytFcVBGRmlManV5Z1o4SEY5WHY2N3JXcTZMU0FFVUJG?= =?utf-8?B?Yi9VQ0kwQjRjTHpvWVZtaUY2RjhSc3pQcTVNeDlZTDBZVTJqb3RnYU5uQjZH?= =?utf-8?B?TE1wWjJTeHhHeDgyeTFTczFackc5eUR1VzFRcHNqS2pJK3RvN3lodFVLKzNM?= =?utf-8?B?K0JDQUdLZzE5VFp1R0REL3dkUWQ5RHVsdHcvekk0ZUVQeHRLSERMZ05WYTlt?= =?utf-8?B?NHNyUGFPaEhSa2pEdmgvTjkxbENQdVZSVFBqMVg4dTlSS2g1SmJYM2FKUjEw?= =?utf-8?B?ZCtJdlVXcmU5MXhBTWdjRUUwYWVndkRNT05Velg2SUMyeExBcWh0d0tBaEFa?= =?utf-8?B?d0gyd05ZZ2xkajZ6SW5aem5Qa1NmV0JZcFBLem5SczlyZno1UUlYRkVVcVB1?= =?utf-8?B?MXdSczBkckxOamZKNjlqSURtdmp2ZklBcHJyclFmSzFTVlgxMHZ0ZFN3VEpU?= =?utf-8?B?dXI1cmNBMm96YUpDK1h2ZkFNaVMwc0xlN3QxUk5uS0RrcXVTZ0pYS2JiRVlK?= =?utf-8?B?aHJhYjd6TUR6R3A0NjRZcDloWFZLZWtIZnVjN1daQjBqZUhvL2xEcHJ5UTk2?= =?utf-8?B?M3Q1c05ob1gxbDA2SlgrVzNuMmd5U3ZLQXZZWndxYmd6UjhuMXM0eXFsWFFC?= =?utf-8?B?THNSUDdCWkEvL0x0SnBBdG1jT2ZSM0FPaHhtbmxlRTVBUW5hclV6MVZwKzdm?= =?utf-8?B?eTBjdENjcmNBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M0VDM1lQODBHaE9wd01CTnNmZysvTHl5OFBVQWxSZ05kQzZlTWQ1ZUZGNjQr?= =?utf-8?B?S3RpVFFkaWY1ZEZIdU8vcDRQQytRWFJldy9zcE5BUS9keStDeXc0WXRIVDlG?= =?utf-8?B?MVhHc3NXZmxNVU1INHo1dG13QlJNbjlsZGJkcE85OFZqMGZ3TjJlNjg5MVRn?= =?utf-8?B?djkxQW1YeS9KUXBtNE9uVFVNQ05GVzN6dUJUVlByQlorajFyWWdsT3IveU0y?= =?utf-8?B?YjZMTVhVMkZSSm1LakV6REhkUTUzMjRMM1lWMUZZSFRnMjNwQmQyNXhWTmV2?= =?utf-8?B?ek1jZkpybzZMQUc2RDJsdnphMHozU2NyYVRnNDJNVXNNSmVWancxVFA5MHIr?= =?utf-8?B?ZERUVGh0SElzODRLQmNIc2JuSGdHaGJwOUR4MmRSTmNNc2tlUXBTcUhRblk1?= =?utf-8?B?VkpkeXpWQXhvMHVIelhGNDYwekFoWkZUdmlCUUsrRkRZcG54SXZ6ZDhPWWZm?= =?utf-8?B?em1NOHpVcXA5a0R0NXA3YTFlMWc0Y0puWTNzTHBuRzQ3ZkNpcWJhMG1HSmtG?= =?utf-8?B?ZXVRRVd6Y2xJdHdVWXNmd0d3dmFkWDVHWU5sNDFjV3dNREZKU2JrUTVhbG9s?= =?utf-8?B?YnU3RVk0Sndvd3JBdmM5WEtYN2RrUWd5SXd0QzBmOEdsRU1KeUR3RkJYYjcr?= =?utf-8?B?NmtqaUNTNkhucElySk9EMzNCYjJBNTFoQjUwMmxQbGRWd05PT3ptUC9EeHpT?= =?utf-8?B?ZWEyRG8zSS94RW8yaG52a2gwOTA1eGxLVHhIcmpSK1JFQ28wQ3ovUjRyTU54?= =?utf-8?B?NW1zcCtzajI0dFJ2bnVTWHNtbnVXVmZkaW54eDdqd3VkYXhXZmtXM0FBZWZh?= =?utf-8?B?RUV6aGRPZ3o3U0IramdxSHlzY2RQdmpkcXY1RGVVK252YUdQNjVIcEdnRTdQ?= =?utf-8?B?dFJSODlRVmdNUHltaHlkLy9rV2pDdnZlRTJrS2lrZC82MEZMY0k3Rm5md1JM?= =?utf-8?B?WmROaGlhbVUrcEdPRmxjZjhNUW9zNG9McmZ5M2V6WGtOVzYwTHlMYnBxVWdF?= =?utf-8?B?Z0VRU2lUMG9hUlJ0bGd3eDdmRmFOWGpjVzh4UGlDWEFKRG0xSDJFRTNjajFP?= =?utf-8?B?TitwZWYxd3VPTCtwRWx1ZGdsbnRhOG0wN3E2MHA0SkxORU42Rlo0Vk4xL3du?= =?utf-8?B?bWZKaXJYOHRxNjVCNnp3SllqZ0xaL1hiNzdoMlhUN0JSc1BiOVpVUndFY2sz?= =?utf-8?B?VGsvVzVCaTQwSFQvR1NDdDVKZVNFQXBreXhTYkpLdENJbFU5V3F3S2h4ZVkr?= =?utf-8?B?Q2crNXZRNjlGcHl4SHIzQ3ZzTjJnOFBVRElVdkFJdXZ1RlRCTFUrYTkyVGRl?= =?utf-8?B?bFVWMzBTUGZQUzFHekVaY002K2xEdDVudDJlT0xUZUI5RlNlVWV6Q3g0MCtM?= =?utf-8?B?bUxocGNML2hURzd3OVVqL2p0Mm5LUGpVZ2RVdDkwYVFXYmdGQlVnOTRUa3pY?= =?utf-8?B?VUJUeW9wSWxib2lGM2t0WCtHWjV1Q0RqTytNTXd3YkQ0TVVrU1ZMV0RWc1Bw?= =?utf-8?B?aUJKWnF4Y3pzdXNCa1REbzZNUDlqaHZ6eW9ISHhISTlhdjhRYjl3L3YxS3NK?= =?utf-8?B?bUxDbWQ4clVjUzltdDk2aVNsaE8rZWptaFJMMU01VTBxM3N2UFJrdk9CdTJo?= =?utf-8?B?dEZTazBudjZpaGFNNzBINnorZWJzK2NzUERVdXhEY0szM0MwMEdxY3NWQW95?= =?utf-8?B?R1FjSDIwYlBIMnA2Y2ZIT1FqOU0vTXJZVjFmYXdpY0pZcEg2dDVJZHhaQU1O?= =?utf-8?B?MnNXQy9RcEVPSWllM0RIazR0QW9lc0Eyck96NjFMSENKN05SbzFxL2xtVlZ2?= =?utf-8?B?VEhweDZaNFdFOXlyejBwcjdGN0lOTEd3Y0diOEJGUFpaZFFMb1oxTnprS2Zl?= =?utf-8?B?bTEzck0yTnhVNkQ5Z1ZSOUNQV1UxZUZITHZUVXBTOVVEVDVZNEczaWZzcDhl?= =?utf-8?B?dVQzZ0FFZk1SNmpQbXMwOHMvcStidkhuSFdjVHVGQkdGMElZZWVWVE93bFRX?= =?utf-8?B?djRwWVlEaTFpUmQyektka2VLUzRvdENEZWZDd3VpZmhPbnFSVTVrZkE5dDE4?= =?utf-8?B?Nlo5NnlWZWpRNU54cUprV3V2NUl6aTYwaTZCN0Fic1h3dEwreWRTalQybU4y?= =?utf-8?Q?7t4k4Wg8CWE0XOv/Y0JQO+yc9?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc016974-30e9-4482-0db0-08ddafabfe86 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2025 03:39:00.2098 (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: maIUk+T0IRzq0NtmvLB4lLI8uLnANkMREKq5AxXILuU4/vGtu4XzIvXHZK3x8hRHZLhgk03dz4MZmYUDf8LAOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7369 From: Peng Fan Take platform_pm_ops as reference. Add pm ops for scmi_bus_type, then the scmi devices under scmi bus could have their own hooks for suspend, resume function. Signed-off-by: Peng Fan --- drivers/firmware/arm_scmi/bus.c | 45 +++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 45 insertions(+) diff --git a/drivers/firmware/arm_scmi/bus.c b/drivers/firmware/arm_scmi/bu= s.c index 1adef03894751dae9bb752b8c7f86e5d01c5d4fd..2d1ef73cb6d39ac611afa5d0008= c46515e297b93 100644 --- a/drivers/firmware/arm_scmi/bus.c +++ b/drivers/firmware/arm_scmi/bus.c @@ -323,6 +323,50 @@ static struct attribute *scmi_device_attributes_attrs[= ] =3D { }; ATTRIBUTE_GROUPS(scmi_device_attributes); =20 +#ifdef CONFIG_SUSPEND +static int scmi_pm_suspend(struct device *dev) +{ + const struct device_driver *drv =3D dev->driver; + int ret =3D 0; + + if (!drv) + return 0; + + if (drv->pm) { + if (drv->pm->suspend) + ret =3D drv->pm->suspend(dev); + } + + return ret; +} + +static int scmi_pm_resume(struct device *dev) +{ + const struct device_driver *drv =3D dev->driver; + int ret =3D 0; + + if (!drv) + return 0; + + if (drv->pm) { + if (drv->pm->resume) + ret =3D drv->pm->resume(dev); + } + + return ret; +} + +static const struct dev_pm_ops scmi_dev_pm_ops =3D { + .suspend =3D scmi_pm_suspend, + .resume =3D scmi_pm_resume, +}; +#else +static const struct dev_pm_ops scmi_dev_pm_ops =3D { + .suspend =3D NULL, + .resume =3D NULL, +}; +#endif + const struct bus_type scmi_bus_type =3D { .name =3D "scmi_protocol", .match =3D scmi_dev_match, @@ -330,6 +374,7 @@ const struct bus_type scmi_bus_type =3D { .remove =3D scmi_dev_remove, .uevent =3D scmi_device_uevent, .dev_groups =3D scmi_device_attributes_groups, + .pm =3D &scmi_dev_pm_ops, }; EXPORT_SYMBOL_GPL(scmi_bus_type); =20 --=20 2.37.1 From nobody Thu Oct 9 04:46:25 2025 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010031.outbound.protection.outlook.com [52.101.69.31]) (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 9E08B1E0083; Fri, 20 Jun 2025 03:39:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750390747; cv=fail; b=VN7UUKwq+9tLDmvzIV2Hy65/5yKjYagfUBgbRfWHJwGp/wXFtxJzSjXD1tOAW9693+Xyt3x7x3JoPir+7W6SXsemPc35OeLQF8hRe3ZfRIWsY37yNS1q5X6GfGKT1cDgJTCo5JY+uF/v4sWhh/S8OOn0S2v7azzkJ3VBFVytBQU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750390747; c=relaxed/simple; bh=oB5uxUsUBQ3VxFWfOJzUM2uug3sw+Tij3at0LdiTeaQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=JLfFPdtqNDEwVffzESK2RG3WAepTn8Nry49LQyN9LcB96/LbtSxaPmxfTCHJSVepUWuBWLqgSQnsvMQr2EewG2Zda0PTsVFgEEouPmtpRJoPzD2ACN9g0jDotJs3vf1QsOsbjDw95N/FrgqzZrH8Fy70MzLmpWJPTzn5VKEz5wE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=RONGAyS7; arc=fail smtp.client-ip=52.101.69.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="RONGAyS7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wgyq5YX2ESQ7fpNk4CH0qQfmoQNokR6kSYuyvY3PW9+aNmdIGkYhpfH+vUmju12iWiZOLnDbmp7yyXGUcVzpNifpE8RvLboTH3hzxzOVoCu9ab402s09alX2NHevU5Jh/xETQKVu+ne/TFvpmmRVAaczAQ7IuW6Bh7nZuIJ8cPFsWCwzKEHoFEWnxyVNgtzwz8TBhXx1bEiqtWY2aQuM5jG+YQLMw6Mh+faMZNg5gyUiHQhuCogziuXfdwsV2EANVynXjmUlG7kqq/Vsb3jUSQFZ9cfirAEPyyHBdcPWFAXND91G3t/mreXSsTcg9f2t4spdeJhku60FoO6u/CQ92Q== 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=Oi2yql1G222Vh9MjFsDjzwuPX7MpEivkSj9iNwD8HT4=; b=MH0K9xE0KuGkoCVnAKab8XJ050bSp9+WcAW11yXw6HJRNft0Z9FsUBHOV2NtPa2xFlDRDEJM7+bt6MIonQzJNZNwNZMSdDqM0HdckpIlWZqPTKG9N0B1ilaZ0q/EcsgLidEraHJ1ux/TEZg7BVyGttnU7SbkmtZv6pmiMQ0mYJOr9NR7/OQQtfnUCKYIiS+CoHJmZc2dc2xUxUd9DpgVEFQ3MqrzbIn2t6rINS8c4XSM32svzC2Ma+rUQNppZLjnOIb2xVWo8xcZrQRKhFgXHWRJJfz/FJ6hEXz5VwpMeNVFaGkCpc/lX+KGQqRq/bnxTMzsFQtyUCLQNof8NSiUpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Oi2yql1G222Vh9MjFsDjzwuPX7MpEivkSj9iNwD8HT4=; b=RONGAyS7x5ntih+pR6ZKLThhFI82V1I1mdaK3p2kKFPExQ7MWF3bWT4yWGCxwe5VeK2PTGEVstY+j5cGW/LdHaHrImKCa70L6l5P6LgAMZy1ILAKPSlpjIRKJrusPUHg7NE/Jz9QlPSK1UMW7go1UzRIo4n5L8oq0I9pMLOVwILL03zqJHIHl/V5NP8qgT5WBwslL5hyWqDnruzx6bGFCYn7BZCXnY6ywQntDfn1LAEAd1DYPLEsKJ9zCTY8ZsFLJqJGtCwsjdcSJu5KWQMoodN1e9no26ZJsO38uHeW94fyG6xlG+OLlyAfwOaEz0jtlxMt9ANmJj16LHtDGMsPkw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PR3PR04MB7369.eurprd04.prod.outlook.com (2603:10a6:102:89::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.25; Fri, 20 Jun 2025 03:39:02 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8857.021; Fri, 20 Jun 2025 03:39:02 +0000 From: "Peng Fan (OSS)" Date: Fri, 20 Jun 2025 11:37:14 +0800 Subject: [PATCH 2/2] firmware: arm_scmi: power_control: Set SCMI_SYSPOWER_IDLE in pm resume Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250620-scmi-pm-v1-2-c2f02cae5122@nxp.com> References: <20250620-scmi-pm-v1-0-c2f02cae5122@nxp.com> In-Reply-To: <20250620-scmi-pm-v1-0-c2f02cae5122@nxp.com> To: Sudeep Holla , Cristian Marussi Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ranjani Vaidyanathan , Chuck Cannon , Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750390643; l=3223; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=53EiHQO36rV7mp8zzOuJziYffuE9HybhQYrgKeb/bLY=; b=6awx+PawC6w+W7YcuUc32m8YyeiK007/myuMFp8fxC0nN9MkHjr90NqW1+Ob9FPhlo2h3D0cq nILJpUd3vi7AvaTIA9PF+zdWPAWStAWupcPi9x2Wxd8L2sDtC/M35fu X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI2P153CA0007.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PR3PR04MB7369:EE_ X-MS-Office365-Filtering-Correlation-Id: 9dafaa96-349f-4e4b-7a92-08ddafac000f X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TnhYek5rOCtkSVFNR3R4UjVzOWY3dFAwNnMweGppTTE5ZVNNbnNMK3FXRVZs?= =?utf-8?B?U3FVanQzWitLblRVVXRXeVBtazU1d0JyOUN0c2ExaG9sMldCMkUwM096VTND?= =?utf-8?B?bnZZNXAzdGN6MkRMRWM0UEVkSHo0amhKR2dwZEJ1YVcvMGc4dWtVU0lZUzZP?= =?utf-8?B?SkNaU2hNY0JYMWxPclBIL3l0T0Fsd1B1NThUcHdzVlRqU2x1ODQxUjhUSlpM?= =?utf-8?B?ZnUxYVB3ZzE4ODA5RmdPVHoxZjNuYmtiUmY4UGRHaUI2MDRLUTFuZnZLTk1T?= =?utf-8?B?UkFqZmdlWEhpbUJ5ZWZLYlpTSXJhVS9XWU1TUkpUcFJ5RGpHWDdZSUJxSTZ6?= =?utf-8?B?cjNHTlRVSmNWYWdpNFFiTDkxc1RFYnBBdnpCQWIzbHBZYnJxYlNqaVRlWlpQ?= =?utf-8?B?emxDbE01WDkwbFAvUzdMazVPd24zRHdzd0pSZmRXMjYyUnZVc09MMUlZWEp4?= =?utf-8?B?L3lUcnRUdEJoTXdWWVk2SCtWTGxKclVpdWFKbmtCUStKUDJsb3NiajZMOEtI?= =?utf-8?B?dnBPb2ZWZnYwRzNlODBJMXhVbHNqZ1JWaCs2L0RsU1pUa2JYTDVVUVU0TFIz?= =?utf-8?B?c3FuZUVJVU9ZL0xMV3lxNk5id05ORjdnRFN4SFh6QWFLL3RWTi9IZElVeWRX?= =?utf-8?B?aDJnRFRzc2ZCUndNdHc3OHowcXlIUTNZam9aVCtXczQvVWs3VDR5OVRqZFcv?= =?utf-8?B?ZmEvbUlqek5VQmpmVENjOGFPcU10dnhsTW9kdGRHMHpNeTlGWGs1Mk1BSDFI?= =?utf-8?B?Q2I0QWlndE82ZGJoVHl3VlVCbWg3cW95clpXdXFOTlNJaWphS0FCSFVBV215?= =?utf-8?B?c2F3V1ZqcE8xZmFTMWx1dW85Tnl6UWpQTDNQRFd5b2pRZzYxbkVvSjRZbVF6?= =?utf-8?B?Y0F2RytFMEtlQ2x3Q2pzRVg4WTI3eTBGT1hocUVEUmI4cC84RFVSU3JxSW5y?= =?utf-8?B?NnNYYWUxMmIxZzIyc2poUUpaYUNoYTZzVEtmRUZWaFUxRm03RC8wL0NSSnpn?= =?utf-8?B?ZGNNTVo5OG5YOG04TjBVR1crUWRMa09YbUZ2YWNnRVBYdmU1aWhxZ3lDWDVN?= =?utf-8?B?OXhNd1RjMlVpUFR0SXB4aDF3QmNLS3lRYmY1Q1pHYzlNZnV5ZGZFalFLK3RT?= =?utf-8?B?Wm0vRFFOVEZaY0h5TGl0NUs1Z0NNaW1MRXg2Q2tUNHAxei9RUTd3cklRbFNi?= =?utf-8?B?enlCQW4rRzVJNHQ0MXZWbVRNSDRkZ2VxNllKVFB1Vnp3T2hJMU1EVENVb1pG?= =?utf-8?B?dnRBYWFQYno2by8ybVZMb0pMRkMxNjcxWTJyZTRTMGJCaVJKY0JDZjFJTWxi?= =?utf-8?B?VndDQlRHWC9CSml2ZHUyTjZSL3NuT3E0Q1B0elY4RVk4VzhUMlZDN1JETDZh?= =?utf-8?B?alJhYlJLeDJZaGJqTzZZd1lNazJpY01TQUtYZzN5RmVBZlAzY21sNjZ0ODNH?= =?utf-8?B?dFcyL3FhazRSQ2E3ZXFYTE5oelFrcjNSTjMxSThmVnQwQ1RvM2IrekhMaUE0?= =?utf-8?B?aHlSK1NlRG1ucmN0eWxJeGdUWUpPL2U0YTBOLytCNnpMWHM3Z0xaS3FzcXJu?= =?utf-8?B?cU1BL3hWSHRKdFB1U1lIL0VxaXo4dEl1enE4dStkL1pJM1lsYTk0VjUvWVN1?= =?utf-8?B?ei9JZjk2MURaNDNtOW9XZk1xNm1vTWJLVDVYN2w4VnU1aFBSUmoyRkJkWEVh?= =?utf-8?B?SWl6TmJ3cHR3TVU3STRKdURQcUJ6VnFXVWZaWlBpR0RMK2pyODVGKzdBWUor?= =?utf-8?B?VlM3Wlpla05FcG0xK2R1cWw1L1czT1ZldGJWeHNFT3lIb3kxb2pqTWZxdjJX?= =?utf-8?B?eEd5K05EMDdSVVRZZE1IUU1FZUp3RzRHU0pmWkVXTVk5cCs2NUNQZWVDZkJC?= =?utf-8?B?UzNqSTBETGtxWGkrYzFEVU52MkVuMG45K2krcDdxeDY5K3JJRnVYNEtJODRR?= =?utf-8?B?RmFkSXk2V3hZcGpBVk5TazhxUGI4RUwzTFJvNTRVRWJZT0toanVTMG91ODJn?= =?utf-8?B?SG05UHJMbFB3PT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?anhqM04vZ002RlgrWmFxS1liY2JTK1JubWhsNDEySTFBU2g0bkw5YWNKSVBo?= =?utf-8?B?UzAyeEhRQ3MvU1ZYVmJLTWtxdDNSQkErQTdrbS9HcGJOT05ScFFCTy9IWnBK?= =?utf-8?B?N21yMVU4TnF1T09LQ2dJcFVlRldMSWFRRXd0MzFBNEphcS94Sk5KK0RqV1hp?= =?utf-8?B?akpXczRqZTVMbzJTQkREci9mRXU4bWZDWk5tdldiVHNRbGJHQWN0M0R2VUFv?= =?utf-8?B?ZVlLYzRPTXhvOXFpTDVwRnA1azZhbG85RC9FeVdMbzY3bVZNbk9iZExMVDFT?= =?utf-8?B?Sm1jWGw5emhsWk5rUWVuZzRPeGJ4eS9KWjhMNXZxZm9Cbm85K29qeXBIQ3dW?= =?utf-8?B?SjVSYlk2c3NiUnFaRlViQlVVV29wY2RLUGVmbjBwWCs4SnpNWUVYakovOS9n?= =?utf-8?B?WGt0RE1pUjlGdE93QnNZWVFpZXhnT2Y4VjFqcGsxREVUekRNWG5JWGlxS1N3?= =?utf-8?B?NjFPZmVRTG9KckwzK3dBdWFnSDk0R1JwaHpKYXh0Q2dMNjIrVk5MQkgxOTYv?= =?utf-8?B?ZEFCM2tnbE1hdmEzYm1tZW5wMXJaRHVvYTFyb3lUVitZd0RqQ3NLNnd1Nkda?= =?utf-8?B?a3VQTDg5T0VRTzEyUWllV25HRStJWXhvVko4eHovdTlqZlhhdFFHUXBTbGtH?= =?utf-8?B?YjhpRURad1d0cmkrdURRc1NPbVExeDFDczRBbndMd3l4WlMvQ1BEaFQ4c0N3?= =?utf-8?B?MVAyMmFYd256dHU0R1lhSGt0U1lOVjllTmxkUWNFWFl1bndxdVVpbm81dDYz?= =?utf-8?B?cStCZ3VHc3duVXhEbWgySXF4Uk0xb2pNanZnQ1UveGg1czFQMEx5dkZJcXJJ?= =?utf-8?B?ZkM4SkJlNUtkMHNJSmFEODJyWm94OURxL3I3YnluRlNtK0RxZEZoLzlBby80?= =?utf-8?B?NFdZd0QvaU56cUhPTEY3RUx2bjRteWdJa21zQnZQRU5ESDRnYnRwUzhGZWcx?= =?utf-8?B?WTdWSDlaQVhVbEdkUDBmaTI4WjNjOFF4TVVOUXNVOUhxOXZSUFJxUDdheFpQ?= =?utf-8?B?emJ3Vi95UE9aSEJhSVluYjZjWGFRZjJIN2t1Q2F2MjhoMXJCcGE3b2x5RmFy?= =?utf-8?B?NEdMVG9aK0ZWSk1RNFpXQWtjK0daSnVqODdZMFUzdWRHRzVMYW5aeTA4QnUr?= =?utf-8?B?VElMVDZ2UFRpU3AzdDZpVUJtOGZibTlEK1doeVdIam1CUWFhcDFFaVlCWVky?= =?utf-8?B?ZE9PaUZaUlB0N1RJdk0rM3RWKzlEZkFUcENHbTI0ZWlsSlc3OEhrQzhWUC9K?= =?utf-8?B?TDZyMWVSMW1aaGJKL2pyM0ZadE14b1o0OGJvNWNFYmtrR3hoNVB1c3BpdTVx?= =?utf-8?B?NWZTbXBsVHZwZXllZldKejF1WVdyZUZrT2JWWFVyYkdsK3hlbVB5dzZ2S2dH?= =?utf-8?B?UFR1alhhQkxQNXlNYklMOGZhVWt4YnN2QlZWVG9iVVNKWm9uMVFGNWlUWWFz?= =?utf-8?B?ZFpYQUFzdC8yb3dWeThnOEc3SGVpWW90NjFVYzF6LzhUVHd3NTAvaHNERkw0?= =?utf-8?B?LzZPSHZCd2NKMXBTWmg0bDM1d0RNajR5UnJTRjlQbzI0TVd4OWV1cjhWMzRy?= =?utf-8?B?U0Z4K2lxTmxyMEdsbmZwNE42QUV3WjlWd21JaG5RQ3VBalh5cCt2dllFejBS?= =?utf-8?B?RzNTYUE1OXV5VXZUcFFQOFZNb0s2S2JBSGN0MGx6UVFTdmFhVVI1bkVPaVNW?= =?utf-8?B?Wlh0YTRJL2x5amlCUWpnaVF3MlMyY0ExOXdrZ1RkaWlscWJlMmFhRzE0OTdO?= =?utf-8?B?VjlYVHd5K2FsUytDd25PVWlScHdCYkRKZ0w2M1hTU2VxRFRmTmVhZkhsUWFD?= =?utf-8?B?SUI3ZmVYdGRDRzVubzZ1cXNlYkgvWEUwdXJJZGV0NkNjbjRiYmdwS1lPQ3R4?= =?utf-8?B?RDdaVTViWHp6UHR2L2s1cVVEVzhUbC9pOU9ycGxMNUFKdG04WU5nSlN5eGFP?= =?utf-8?B?b2E3WDB4V3lNQkp3aXpTWWUrV29hWU5RZFhtbm5YTjMxTmJtR2RMdy9Icm43?= =?utf-8?B?RzBpRE15TEtyQ3BFUHdYWjFCMis0ODFhdDFNTG83NnJXeUVLVExaL0RQYnJQ?= =?utf-8?B?TlBjYWxzNUVyZ1BpamRyNXR5RVhJY29abzhjbzIremVSaERwTndhaGw1MUc4?= =?utf-8?Q?9Ool8c4Ywiu3zMPy3SuCA1VRX?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dafaa96-349f-4e4b-7a92-08ddafac000f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2025 03:39:02.7752 (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: eJs3UgWtCFUshMEPWKdtclsTgWU8EKfT6/HHNj3oPeUognjCBHZJT6E4cJ+rUz3JTlEJaqp9B1/gN2H7ew4p5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7369 From: Peng Fan When two consecutive suspend message send to the Linux agent, Linux will suspend and wake up. The exepcted behaviour should be suspend, wake up and suspend again. The ARM SCMI spec does not allow for filtering of which messages an agent wants to get on the system power protocol. To i.MX95, as we use mailbox to receive message, and the mailbox supports wake up, so linux will also get a repeated suspend message. This will cause Linux to wake (and should then go back into suspend). In current driver, the state is set back to SCMI_SYSPOWER_IDLE after pm_suspend finish, however the workqueue could be scheduled after thaw_kernel_threads. So the 2nd suspend will return early with "Transition already in progress...ignore", and leave Linux in wakeup state. So set SCMI_SYSPOWER_IDLE in device resume phase before workqueue is scheduled to make the 2nd suspend message could suspend Linux again. Signed-off-by: Peng Fan --- drivers/firmware/arm_scmi/scmi_power_control.c | 24 +++++++++++++++++++---= -- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/firmware/arm_scmi/scmi_power_control.c b/drivers/firmw= are/arm_scmi/scmi_power_control.c index 21f467a92942883be66074c37c2cab08c3e8a5cc..d2cfd9d92e711f7247a13c7773c= 11c0a6e582876 100644 --- a/drivers/firmware/arm_scmi/scmi_power_control.c +++ b/drivers/firmware/arm_scmi/scmi_power_control.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -324,12 +325,7 @@ static int scmi_userspace_notifier(struct notifier_blo= ck *nb, =20 static void scmi_suspend_work_func(struct work_struct *work) { - struct scmi_syspower_conf *sc =3D - container_of(work, struct scmi_syspower_conf, suspend_work); - pm_suspend(PM_SUSPEND_MEM); - - sc->state =3D SCMI_SYSPOWER_IDLE; } =20 static int scmi_syspower_probe(struct scmi_device *sdev) @@ -354,6 +350,7 @@ static int scmi_syspower_probe(struct scmi_device *sdev) sc->required_transition =3D SCMI_SYSTEM_MAX; sc->userspace_nb.notifier_call =3D &scmi_userspace_notifier; sc->dev =3D &sdev->dev; + dev_set_drvdata(&sdev->dev, sc); =20 INIT_WORK(&sc->suspend_work, scmi_suspend_work_func); =20 @@ -363,6 +360,20 @@ static int scmi_syspower_probe(struct scmi_device *sde= v) NULL, &sc->userspace_nb); } =20 +static int scmi_system_power_resume(struct device *dev) +{ + + struct scmi_syspower_conf *sc =3D dev_get_drvdata(dev); + + sc->state =3D SCMI_SYSPOWER_IDLE; + + return 0; +} + +static const struct dev_pm_ops scmi_system_power_pmops =3D { + SET_SYSTEM_SLEEP_PM_OPS(NULL, scmi_system_power_resume) +}; + static const struct scmi_device_id scmi_id_table[] =3D { { SCMI_PROTOCOL_SYSTEM, "syspower" }, { }, @@ -370,6 +381,9 @@ static const struct scmi_device_id scmi_id_table[] =3D { MODULE_DEVICE_TABLE(scmi, scmi_id_table); =20 static struct scmi_driver scmi_system_power_driver =3D { + .driver =3D { + .pm =3D &scmi_system_power_pmops, + }, .name =3D "scmi-system-power", .probe =3D scmi_syspower_probe, .id_table =3D scmi_id_table, --=20 2.37.1