From patchwork Sun Mar 2 14:47:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 870104 Received: from mx0a-0024c301.pphosted.com (mx0a-0024c301.pphosted.com [148.163.149.154]) (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 EEC1EEEC8; Sun, 2 Mar 2025 15:06:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.149.154 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740927966; cv=fail; b=PhvVLietQxpVfaUunRjm2oIa1QftvgpbXKk3Ruct6FJgxA67jeOeGTFf/pTfLvSKtI9wAd4WDZFqCCWR2vj6VORzGCjDyByXtJYDwvt1UmlWTMAyh5P+kOnIq8b/KO01PSMuLD5FB9jB/Ub+MfiVqqnoPaZGl09t+Aaky4huopc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740927966; c=relaxed/simple; bh=mGDVwJ6XyqNwXA1CMoyo4Ur45INoV/fvuRnly0t+dPI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=JPU5XGhmVlAgCxbglaPo6uMmSy8ly2SBcJwA4T9VeOJsMfpxM3RbVQLUp39ouIrHLJD+WcflHAHAdzD0bDeSyo0apXsW18CUcprmgViP0SdYbaXLOxG8XeTyXVJ1PyRCC2k57HbvWEDhPAEeRhzKZjruCk8pWUcg46Of1cYhEbc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com; spf=pass smtp.mailfrom=silabs.com; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b=YpUp9t3p; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=FacZRWFP; arc=fail smtp.client-ip=148.163.149.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=silabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b="YpUp9t3p"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="FacZRWFP" Received: from pps.filterd (m0101743.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 522EItXY010648; Sun, 2 Mar 2025 08:48:15 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps12202023; bh=mGDVwJ6XyqNwXA1CMoyo4Ur45INoV/fvuRnly0t+dPI=; b=YpUp9t3p2neH a9guoJ9A1HvXqjYZzDlejc4Gnru1j6qR3xZo+iqo+9byc0PsT1plhW+CsjlNuuB2 /0YEwtB+b+P6a7Kau70lu/QQVAajS51ggfVBR5hEOpHgedWPIRqw22DydWhFvjbE NnpF2MMa79UOag7lKpXe7TQwbHWOm/qEUibnzuGyXVLVKUvte8rcio6rhvGO1APg /+J4mRR+UINSGb9UoIcPgpDW2Y6alLIkfMhYwLW5EE5UYP4YH/qGyzgSG5sb6LFQ spnCf0S6uNxokt3a0dDdxf4LhUEMcUZilVz9HwUlS3tvb8dvFphPndTh04sRiHHX f0rnY/ntGg== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegh96p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 02 Mar 2025 08:48:15 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JSQwIQUQeXxzW7m9pFMWxiyqDQNPA6myoADe55ocDitUEC6yKBNFQY3SQxNEuCcpd0F2vmHXrrBw8EpXUbAX7FEVBdiC8Z3xV/8tz/PtMgCNTqcc+t47CODGznCzQA61u720yUbhQZNATTI9p3CpOl5M6CPU62Ka+Q/X1PglXx+2rNEvIzzAPPMDRmiX3fqE0H08VJ8m/1fVXzhSvI1DKs8B59B/LZ8pyqqwpuhsrRaG8kbNbDlFOJvkSAePim/z162espPVJ0OJO5SeNj3O8W8lifsIFgLIPLkp+HXWd1n6NmxvSKNjmr67dIKsDMz0ICMJAMYpU27Ik+qHJv+KWA== 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=mGDVwJ6XyqNwXA1CMoyo4Ur45INoV/fvuRnly0t+dPI=; b=N3Vqu2Csrcbr983yarTalouEGcmWglNmfmAeN3C+927ZuNR4QY+cJZbRqUg7uUo/MW4N5rPxaarlCNg3UwciW5c+zuIDXJgzuOOztfSu794I93szZKg3ByYeZD1LlpUEMEWAOEvVGIz+JaqeS1SIbnV1n8IxdvdUTJCgkUNqtugT9Nd6mHVAk4rnnQY8RpQTs5vd6APuhnY6aTcUFN635zBDX2gSjj5n0Yp8fCgu6CgLT0lyJhBfnF0LUVbBVq4R2gIVdHz8rkGTQhtjAF59FTlZGp/zS7Hu5SMyhBl8HyL/GuKGV7dpUcYx8EykVLFUKoWlSHZ7A87JVlvgPFadDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mGDVwJ6XyqNwXA1CMoyo4Ur45INoV/fvuRnly0t+dPI=; b=FacZRWFPTyZUb2gH4XQSJmE4UxaAX+7h43dtVRY6Q1GiQzh3gKhJ7/Yu271xQVR9f6bwPxhGXc4xZaWQP6rHR/Q/pFyJIH8rl/AHWUnMsByD1jHBcq8lM3JWHrPf+fxUR5iHb+7YEZmMiUlhyLObI9qOeWEb/hCZg9tUOFU5ZeI= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by DM4PR11MB5312.namprd11.prod.outlook.com (2603:10b6:5:393::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.27; Sun, 2 Mar 2025 14:48:12 +0000 Received: from IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005]) by IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005%7]) with mapi id 15.20.8489.025; Sun, 2 Mar 2025 14:48:11 +0000 From: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= To: linux-wireless@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Kalle Valo , linux-devel@silabs.com, =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH v2 3/5] wifi: wfx: allow SPI device to wake up the host Date: Sun, 2 Mar 2025 15:47:29 +0100 Message-Id: <20250302144731.117409-4-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250302144731.117409-1-jerome.pouiller@silabs.com> References: <20250302144731.117409-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PA7P264CA0241.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:371::7) To IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB7773:EE_|DM4PR11MB5312:EE_ X-MS-Office365-Filtering-Correlation-Id: a9b1c49b-4e64-452d-bf93-08dd5999415d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|376014|1800799024|10070799003|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?q?0T3zLn8/+EnN8fijcOr+6ZajJLSW/eP?= =?utf-8?q?27muggYdeV9fC2goBjP5Ut1oqT/H6aZbYjT0qdrGZNr33d7M6QWbLjxEw4127/+3c?= =?utf-8?q?6x8kLQxg/21kVqY+9jjIW4FIxlzNatidXQL46fOD/131Aye1QTW+Ib9ZJs1YMEP3g?= =?utf-8?q?mRkN0LxP32K57I/pJea/bznCnd5OwdMCshwxeJOk9niXiCY0GHTOV9tGU8NIE2rPC?= =?utf-8?q?4LzZGgQELWDCkDdkkmaKFSqfhWLZbzwdwXC97Mfcg95YIbksi4IpxjvuH1Mf2OFUi?= =?utf-8?q?qGAcvFolTsxfPoffv9p8sidpwfgBznFMN+bd9tLZq8dHGjRBqz+H3VrkD1EAW6T59?= =?utf-8?q?tPLT0vpknTAIvoyLlO6cek0VCY7LCVsloptkwrgqrhD+v2Rg3d4VFTaCYPcHvPGHL?= =?utf-8?q?SP+O8AipulxOp6iVCSGl0hyK4WEchInPskLPfLNeu460YEVGcy/7+sUK4VuWuDjRQ?= =?utf-8?q?2EVQkmkjslLX8uo5K8tqJxL+ZLWWlNrVLgFdQXVOkomy6zx3bq/zhvqADIR2++tPO?= =?utf-8?q?S2fpWUmuZsS1CiNeItNYTml8oIM2rvs6sj4jSJIs10sB6UcJQTsWzoUyW9zSz2ZAW?= =?utf-8?q?1dtU3C4NR8tpsiBJtUS8c2FnvBaVqHjwIn56ao6DYno33NMEKAv/0cZqi36WPrTRV?= =?utf-8?q?s+mSZ6HN0C8AuUsN8mEHGAj3Or0z0lCPRnEFWji5jS7k7bE2GhcLCrNkJVF63xZWV?= =?utf-8?q?MrdjJLnddZ+4Blz12xzA3SEDT3DzivbazSGHheXmc0ospIikI3V0MgLDabZdK0MId?= =?utf-8?q?q0UOixmEimeYrjYUQWmzBOwjMkYTPST30QJ8jZXZ1TFU+JpJLovAj/u+oUBU/JjAm?= =?utf-8?q?Kcx5KQMPIT2BrDL+apxcjwPy2Z9XInbQ4b77tIh0bCcVTzFuCVlbnRb25hz6Bzvku?= =?utf-8?q?ktRVEJI0aET4G0hQvW6g9NwRHTeYbvRlvuYv+ZcUc9wISqgJctSRA4PO+5Q1HrKUz?= =?utf-8?q?eGXSZDeiNPN7pKP4HBYR/sNrGMTvli8jze/5atnN3cg4JpCRDZcvgt+/zUTBOkiG0?= =?utf-8?q?Gb3vP+iOSpY3n9aVH1RWP48OX6mEjBS03BLeOnSvetkVtDDRwa3Dn0vcv8SIW3wMD?= =?utf-8?q?sEslzG4YUTCj5u9BdjxiCIticbj+RM8ZVdSp+Hsy7kYMJBkBMLpExZKeOrnRW9PXR?= =?utf-8?q?nncTvzSzkepIhQTwLOi3JcevqbbtFEDB3dNPlwsxWvKxNji+NaDzLWDsFi3gutE78?= =?utf-8?q?QEZsuEBoaGabQwEnEpkaZUmsMHj5rFc/o3lFIQfsA1hng0ZSQ75hl/fUDi8+FIY2V?= =?utf-8?q?FBtJ2YhZiYOW02ei01o6YHIY3Zv9u1MYe7TL+9QlIEpr4m0cNs7k9kqvZqUcpFB8g?= =?utf-8?q?DILnNv2vzoe+?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR11MB7773.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(376014)(1800799024)(10070799003)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?8Rz0g0kaWMGU6hkzRoOvH0ZFyDPA?= =?utf-8?q?RIXpo0EqecrN2jWrpb5YULMrgbMaPUG20Kvg3MOWQvefOQd4f7+4AjFH4Ut40dF2Z?= =?utf-8?q?/dklOvbkcvmZL6nSUkOhdbAnLSN2hP25cI/Qln2bZQWfrutavKhjs7f617BtxQg3d?= =?utf-8?q?PDZ+m8y3Z+zh2MxVBTSqyTg/L4Z2GiSHlS3gaWrJCImIdF4UcybWfg1Y1YAYK4FZz?= =?utf-8?q?fBe5eCH3MG98StbsTkaJDIWqRXkIxLp5HW1Sgx1YPPs2OJI8S/UG59BvIZCibAjU6?= =?utf-8?q?N+zlCLl0wz294Nsg4H0Dfo7lruhdEpLvJOYgQhVnuHILdwHrO1R3mNtpYn+Pe02dh?= =?utf-8?q?xUmTF7teheaZOrU+CjK77ZZ3G8hJ5Lj6li4jDah30PeMVF957sRJ8FtRgKnOvP256?= =?utf-8?q?isGn40vCLzjN+/DGEe/o/r2B9+Y3TDRSyp9s5WmD+zPwMICyOOKGPMYqSZgU2L0cA?= =?utf-8?q?NOkGJgG8k9kFCWBgCO+zYz8AtLXrGGZfp4jjPJkTsNTcpI3EavFsRN2ZVi1LfIbz5?= =?utf-8?q?OVmes7BHZT7glsoK4YldbtTRuO7lZDLpsMfgAEzbnf/CeHYlqDAWBU+W70d1BfnO2?= =?utf-8?q?n8xbKWdLl2UvxuVPDVmamNr5CAtYtRpFXQTcuEA9Hi3O6KPYWZ9797Ya41pHRhy13?= =?utf-8?q?C4AaF3uxAcIjZ0G45cDtz7btirVGksT59W9tEPcmPH2tigz3VhzHWpn6bAXzP5bwy?= =?utf-8?q?d9yQMOIWdOOU6mdS7soyKD2mSPxDsmNcyaTXiORz/re1Ci4/aWKwBhTcJ/9/PWiu5?= =?utf-8?q?BRkehYfZVkgXAGgVEjhrJ2LXAMTDJaek2a5caMexEb3ShLQpdFmMNq61D7wS6Mpnk?= =?utf-8?q?kn3ddEb+Ymt83QcG/FseQwnAagU0gTFoLsbd7NOPz8/acYZhZP+icjgAYXffyoGTc?= =?utf-8?q?93ypJ7ImsXtek4kkOgZaMBAc4QAXXbdEa6K3fQW3UK8T+T9gcLiS/y+gmOpNAl/d7?= =?utf-8?q?vUYkVlLp/c4/Uet/vo8Awg1fKFB2itxPXMOYQFEG0uE2EEnVV/yZ38xYPYU4pcmrk?= =?utf-8?q?N12ghC/yj0b/RKw8svJRQODMkhPBBgRy6WmjjN9n+QL5u2oagyuinVoPufikRaMPk?= =?utf-8?q?TfdI6h+vMhtbvrQdfnyG8F/NlnrhxdUfXCbbrhDQrwLn5pbCEG7107cMhuXSmrIyy?= =?utf-8?q?uiqLElYX6CfGoD/HtRnXeW4Lw1jLrkDOBJYy1fi6J01WJQ+82QI6oX3VNzd0pX2FA?= =?utf-8?q?CSs3mlVf3ebkWYdjusmPF71tOB89mVf4R7mSZ20ng9qrWrJU1Mjv7LRw48ummYyXo?= =?utf-8?q?w/CM8OoTzbSoHQ35THGdDEZdVfZf9wCq7tYntDIeHnzH7JF+mr329blf4G36zR2hd?= =?utf-8?q?WdcKLi2xTKCnBvegMfJRmmoM8NnScxsYi4saQpi9h8+ID5IjuWg4fvdrSrBmhclJV?= =?utf-8?q?u7AHFz9qWmuGWfePdl+8lXPjPr+oF866oScA3/BoOu6kamqssH/HKBuHq9CiLBwjZ?= =?utf-8?q?PaUIFEGOACrImN85Snim/L2V4/RxR07mvW+sivlsKsbkj4VB9mB80rK4awh/9YBGj?= =?utf-8?q?lN1VBxahPX5XW9phIsGwPMCOzFkSKrs3tLRPWoMF1GtlIbz5AQTtbWOKCuAy4F28G?= =?utf-8?q?xB3h9YX32n+?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9b1c49b-4e64-452d-bf93-08dd5999415d X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2025 14:48:11.9006 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tV410Dm+j73tG/KqszDHwxeHKHRyg8hQ+QJaN4twkgj5u/xSztvCcymJroRK8sE9EE+pRFDETSX1kUXqp4ZRJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5312 X-Proofpoint-GUID: Z6r_Q_qsXa9OeHT_rXABiVbC_hChzU68 X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c46faf cx=c_pps a=gaH0ZU3udx4N2M5FeSqnRg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=2AEO0YjSAAAA:8 a=y8Il-FFEXRI_uRj3CQYA:9 a=QEXdDO2ut3YA:10 a=SRgmj7pJOxBPWxSGtsjD:22 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: Z6r_Q_qsXa9OeHT_rXABiVbC_hChzU68 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-02_04,2025-02-28_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 mlxlogscore=874 impostorscore=0 clxscore=1015 bulkscore=0 suspectscore=0 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2503020120 When the host is asleep, the device has wake up the host using the usual SPI IRQ. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/bus_spi.c | 31 ++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/silabs/wfx/bus_spi.c b/drivers/net/wireless/silabs/wfx/bus_spi.c index 46278dce7ffc..1d6bf3525f4e 100644 --- a/drivers/net/wireless/silabs/wfx/bus_spi.c +++ b/drivers/net/wireless/silabs/wfx/bus_spi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "bus.h" #include "wfx.h" @@ -189,6 +190,26 @@ static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = { .align_size = wfx_spi_align_size, }; +static int wfx_spi_suspend(struct device *dev) +{ + struct spi_device *func = to_spi_device(dev); + struct wfx_spi_priv *bus = spi_get_drvdata(func); + + if (!device_may_wakeup(dev)) + return 0; + flush_work(&bus->core->hif.bh); + return enable_irq_wake(func->irq); +} + +static int wfx_spi_resume(struct device *dev) +{ + struct spi_device *func = to_spi_device(dev); + + if (!device_may_wakeup(dev)) + return 0; + return disable_irq_wake(func->irq); +} + static int wfx_spi_probe(struct spi_device *func) { struct wfx_platform_data *pdata; @@ -239,7 +260,12 @@ static int wfx_spi_probe(struct spi_device *func) if (!bus->core) return -EIO; - return wfx_probe(bus->core); + ret = wfx_probe(bus->core); + if (ret) + return ret; + + device_set_wakeup_capable(&func->dev, true); + return 0; } static void wfx_spi_remove(struct spi_device *func) @@ -273,6 +299,8 @@ static const struct of_device_id wfx_spi_of_match[] = { MODULE_DEVICE_TABLE(of, wfx_spi_of_match); #endif +DEFINE_SIMPLE_DEV_PM_OPS(wfx_spi_pm_ops, wfx_spi_suspend, wfx_spi_resume); + struct spi_driver wfx_spi_driver = { .id_table = wfx_spi_id, .probe = wfx_spi_probe, @@ -280,5 +308,6 @@ struct spi_driver wfx_spi_driver = { .driver = { .name = "wfx-spi", .of_match_table = of_match_ptr(wfx_spi_of_match), + .pm = &wfx_spi_pm_ops, }, };