From patchwork Tue Mar 4 15:32:20 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: 871166 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 93943278168; Tue, 4 Mar 2025 15:32:51 +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=1741102373; cv=fail; b=CtVKWnUAb5eVQ476ViusOtwHFhe1iB8McZyGG2Gzc65/nVHcKboFdOviWaQr5UtbDemJC6r8XprjZuLfyx89PDu3JZlHVa+57ud9WYmbBiVJh2uk/oLC/E8K7Ky6sXeapr+aans9Pmq+Q0jBOrGoVuOpoHKEc2ZhPinvRHB0HjY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102373; c=relaxed/simple; bh=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Et+xZamds/yNl/282QpH25dfHyRcAkpST8dkywa0rvrEu6HNvvdT8wqB5/xGzk8zhd3wbCfVHudoILCRF++9/yrKT1MwhXvFRP2+SYK3sArXjctWoiAQgv3TdRW91ybm5DItyU/LFUkNGZCu6nd+QG3/7H8BoewuBsJ0tNc9fYE= 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=FAFQcEQ9; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=VuMJ/nue; 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="FAFQcEQ9"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="VuMJ/nue" 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 5248TYa9028076; Tue, 4 Mar 2025 09:32:37 -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=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; b=FAFQcEQ9JCF6 Yh0Wu0IXIHkJtZvBAdCuIPYnlRHPamakApIheCjjQt7N3KR8Jhet+30m2/V4yO0z CLBklRMUq11kMCLm6tMvHreEBfEFWX9Q7EehbxGbANRB+3rmF4TpMiQEPlM7moay /C5xQMqlJFxIXDIeSCm3Bj6T8MW4C8DCXfImhfxXmldhgVPWCGkU5Mkh2yVqR4qU 1KTLupWVavrDoZ/V6TvzJpmnRR258GaZqBKCTFDGEH7WKbQc8DwQZ2RRynLgi01h cdIwaa9mrnEtcz19Xp6WNcaYcS7f7NwUKHND4aqr5wzeSWX41ldQ99U38Uo2lX9H Vw/jLLvcZg== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2048.outbound.protection.outlook.com [104.47.58.48]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegn158-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:37 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yShPtVOaWUNSv3gbFl46gYezMeIxPEK0ABmJvTjn56kzi7+4juNb1Cp5RO8Ne9Hx5eN5J/2DW+XH+dlPZpMUBrhILabRRe2uRJrlReZD3lNlVzMnFgvJDdB+gI26QrXt/v2cGu6DtsX3cXTnJzr3j3SCimJO4JUpZm2ySFMj/yo4MZx5lub+Slo1DwqFjdCtwVrc0wG5aPrxjnysn73pVhBTPwcU6uxr+lpGWKJ7mqhTnwF7EWIX0XfPFxlZmaa87iVsOtqtwySFxQLV2GX+2uCJFKb08jTbiglbmu4vX4osfvec7Gi6WTWxIrQ0TAv3PhUtFEtvmqu9q0aKhvCoRg== 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=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; b=x17X1dpVgRZMpKbMKwt+pJBp2KaCAGphaaiiG/AuJye6pCjkLD/TEGJhDYx3wmi8weCsHoT74n9+Mt6sf4VC8wKc4y3HY8jk7+FnSAAIha0wziK1QiAYw5lSYkm4Q/4Ag+HJfRO6sQeUofjYW4lydkpCymKAU1YYtKEcNvFVRtXyJFZGKKt8UN49hqSRavMu8lhI4tV+/bZN5l0av0cs415uaKUtP4qDHqU2yIlhGY8NiTJkfOhR73iMz6+MIL+L0gtV0LWkw/sRmshVGpkXpg59UAWS7zYzP63Zuj0sKtg4dYaxPz7Ge3TfEWqD+7rC61clC3qMMN5tirIS9EaBeA== 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=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; b=VuMJ/nuecSa/TuFt6RV8OU3Pfw2QwA8D7B1XBsEH1b2I5e6p4wW8KH+/tq1IuRH7XHTOtpKc5XQtoIfaVcPb9cC7rEp7U5pxKzT9gGYwOETrZWIxAuH86gQE3PGnbIEom4NwtKC2yHa7P7NPAyBGQlEU7/z05FzulBzzfZ8YvD0= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:35 +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; Tue, 4 Mar 2025 15:32:35 +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 v3 1/5] wifi: wfx: align declarations between bus_spi.c and bus_sdio.c Date: Tue, 4 Mar 2025 16:32:20 +0100 Message-Id: <20250304153224.39083-2-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) 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_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 3beb7b84-fa94-4ee6-45ce-08dd5b31c980 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?2BIbrSOtlfFT3jriL1zjHzxoMoS/oOp?= =?utf-8?q?FFxTMJsBQk/sDCBeI+yE1kmsy1LSc0QoSW5lSentrWDQffA7xf1qP+X2MtX1g9sDe?= =?utf-8?q?Sn98a1NlB0yHcU7/ncnW1J5ns4d/356Qs6r3a+7/hz6yc2mMA8+LNDIcc8pIcDRmu?= =?utf-8?q?r5elh3JofWe9gR3g9QBYWTTHdEE9nyv0uP3+l6f27kgU876iq7YjgDWAkiGuV0pnY?= =?utf-8?q?zUqt5tvL3i/sGhMwdd2WF9yqWgkaRYePMA5D0i5YOXm+LR2iwIQNuptSvkUkeBM1r?= =?utf-8?q?ZrM5V1E6RkKcqn6BYRPN32McPiwlEqjZ7yABVpmXs9nMzfD927T0Ljq57SEllUvu9?= =?utf-8?q?PuIS/78HdTl9viLn4t+zuk/0Zm958D71oC1ddNHfUIF7eBuabrwwhY5m/C8z47xN7?= =?utf-8?q?qcud+jFMmIkjvE7h+7k1WJRHwUhiJjhShqJdQ6bSKKhdGWx1uBxCOlzulXLhhGwPA?= =?utf-8?q?n7vTdbfDpIpzcunEw/PeJ+2pHbs60X+Z683c7f18NUlkwPm0Go7zomoi/CnLkqW0p?= =?utf-8?q?D87pWHTIKK72f91IMrkyYXum5LoCiLB0lg7vOsSSYd/ELei9ONiKMRja9opKCnqO9?= =?utf-8?q?OxM4EoBiBPMeqg3nXiiE/Ym57QnlZM8ttKCXb6udqblO2eC8qoQEe3IaeZIYDwzZb?= =?utf-8?q?2/WskxMFYf1hHOpdpJ8pALQlOYVGKy4tfxZuBQZJ2KjQCpU0uRYv7vN2YEhsXBcS7?= =?utf-8?q?hgDKQbHilZSwSC2Zo6T0kvm0oiczwk3HagBBzb2kESkvncHXw9FcByJoP3DI/NaKN?= =?utf-8?q?at+eDgVnKtXBF63JR8Dd/Gozrn5x2g/Yt2Dw03yhoJrB9tNaumbt/ZOMRS3Gyizc6?= =?utf-8?q?uxaSkOdtQzrZL+OHI43pDHaLUtLFUikXjedlCG1bR8GylstCzjHfHqXdqszbI6+DX?= =?utf-8?q?Jx7EJEC2T9mJJKJEyZTlaipfRi/fAvfzaIO41z2KMG7/Q4AkAU42ZvMTIpyk3l5FN?= =?utf-8?q?+taB+wadIyjTl61UPvj1ytJZPL1+EuFdLJxaBEu5UqHeZYrJqDarg5tjibgSCLN79?= =?utf-8?q?sEPZwkDku2RFS6ffOe9LIX8F/iIqxWyRyb63Hbi/A78QUuq/LGK6ObrrJ3dqCm+P7?= =?utf-8?q?O/AoxRPiG/5DabqP4kRsLWJ5pKu7JZJyD9fe7gu2ZDjCR5Nke5wBEtT6I7VuOTXr4?= =?utf-8?q?l8NhKio6sssMQePQ+dedCrL062Kd2caH2dixKahykAlFWaWR5q853cyZWlo6QEH/c?= =?utf-8?q?QUPKcX977B3Abb8WEVZILG5S7TRexIBGufDYJBumCo8jd0JDzWxLtuA3jsFWRbZse?= =?utf-8?q?MPVNEBNQuLkzF1Ld6fXDZeB3VK33EvzLEL8DBTyTsfW66N8BBNjcwDOcZlK1fK/6l?= =?utf-8?q?bDOBJCjrgsM+AT2vHrVSw6zeD9klQrPBnleeel10+svwwr2nHhvqvmU=3D?= 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)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?u9KcM7ErvZ4C+5BBj76bJ0AIUBj7?= =?utf-8?q?uULquOjMEZSJ3gjGTbi4K7wmIAX7z2/+AUVzsxMGDTTgfVdjqU/nw5VOkUu2kgNSE?= =?utf-8?q?wWitq9uINvE/NzR+3ZhY26YYDkNuJmTke7J5Yx1hQThtot7uSJUc7i+1dhxDweDF8?= =?utf-8?q?Bw19ay7ev0tr3uUpd/1WUUIm+NXnz2+ukwi50aISAc6NmUdFd1N1Mva7Hz26sf9Hp?= =?utf-8?q?brnlIaA1UvSGkmGuJZ/mVijOF+mHlcDTg/kl5OwBuH1cUiO/ZXD/IwJNnGaqO2rAs?= =?utf-8?q?7vvY2LStWYWZloBqHAoNrahBnluigtHN3rHB+Te3wKOMiFGmh9YDutoNbZEAixVYV?= =?utf-8?q?L+325UFQJ38BCvSq5xvnpFtza7U1d09oL4HNbI/xIRRTdrY8CBqvwH9Fke1RUADuq?= =?utf-8?q?5m+fEpGDPgc1hpxonuCz1D0nWA3L/1KAbvAxq2k10Ky8qv1YDmbqs0oKHb1US7XZ+?= =?utf-8?q?lBqyLq8IDahZogJuT6BD7/pYZZR2b8PNCSbryIzSiqEJecxRCIQJPe859QkN3wi14?= =?utf-8?q?SIuXdSWdBlrKuD5Lcy31smWjNEIW9WJ94NGUqyG94sefV06YVB8O1RX70UXyVolAf?= =?utf-8?q?xPbnqghRvuGbc7qL5BBcw09HXktgMJoGqke7mxT9TPljwx1TBYLx9mKFWwOZQf0AJ?= =?utf-8?q?CEEgtdl2fZ5H/r7a25CZ9CdcuFQ7E22Hct39saDHLEFm4Fc8iDAVD5zw6FeoMZMk3?= =?utf-8?q?XscbZOLPHb/19z845Z5VTYwaMExtKyp2ucsGScZsz9D3+HFtDzg2LulTDSXNJKfuc?= =?utf-8?q?eMzNOWB0DJK6gC+Eapol1lO3QVEn5NMjWwNqe5fEs7E6krugKHEwBkuzospoKKYO3?= =?utf-8?q?YObuI34hX0tCXEYkqFz1QiL4eVbXtRB6Rr3ZHhrcXAKSMdSeCS/D2gl4Abxzi2eR8?= =?utf-8?q?eQr2shRJZTYDMGbvKUIUz/Hp7/3Go2w5dCkn3WzUf7EigEWugDv3l5OgVO3glH0ku?= =?utf-8?q?1DHVuIz9ePf41Pn0VM8sxew1+k/QdBO65gLAwkbrCxOfhRqVZbIRH113pfHV3K8wc?= =?utf-8?q?t8HxlZpExFa2WgST7g8bBJxI6LBkZewS1fMTV8ADTrH4RaRmo6bBNT9Twy227tdj0?= =?utf-8?q?FnEGzAsRUOqcRp1l9OvvpBh6OtWmTSWcpYBsLsc99y/ooV2D6Ur7xzJjnK1drCw41?= =?utf-8?q?ztLNz/s8RbUej8E5Oxtk2Kq0ePKz4umQ07WQGHbWWZWLJZuBm/KXU/3haVNKQc9af?= =?utf-8?q?Gtg2kMpvrl6IW1TzJf0IWzJWAcGDCtMmvAHBF49zmzCDOAlOflm26HwRZVn2/t2Ch?= =?utf-8?q?LpzuthQSl6QMj/dFNRCdxwOLMZXBeD01PavH75fSWS5tFna321sFgYSLDGCcak2XH?= =?utf-8?q?dF+IcErSbp7NwJ54uPUMrTQZvGpMlvii6LZsDF89ItzspyniL0/kWYU7dGQN0HXl0?= =?utf-8?q?+6UVOH3997LVMEUQZ/BqwcB6hknP8yT1TxsIIbk9O20iYEdg8Sp/xMZC+0d5WBHIA?= =?utf-8?q?oZ1eE52HFfzEOpWC5CRkbWvBi6shMndb+V+CC4KGjCxBNNOALGl/BIrIKYHOIduEo?= =?utf-8?q?VN3IITEVHs5e?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3beb7b84-fa94-4ee6-45ce-08dd5b31c980 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:35.0832 (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: ckOtcyfuP/nkbLV2GBpiNg1/f0An6jXIjj+A0ZRN7Enk7mANbwp/hEeqdfEO37+14e5HdsaxByMD4DkWwaCJ3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Proofpoint-GUID: _2LlDO7XIwQeMqJIObW0gKG1IYVL2X-2 X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c71d15 cx=c_pps a=IJ1r+pqWkCYy+K3OX67zYw==: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=94Nz2Nw6my-I-Yvh_ZUA:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: _2LlDO7XIwQeMqJIObW0gKG1IYVL2X-2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,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=624 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-2503040126 Just declare fields in the same order in bus_spi.c and bus_sdio.c Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/bus_spi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/silabs/wfx/bus_spi.c b/drivers/net/wireless/silabs/wfx/bus_spi.c index 160b90114aad..46278dce7ffc 100644 --- a/drivers/net/wireless/silabs/wfx/bus_spi.c +++ b/drivers/net/wireless/silabs/wfx/bus_spi.c @@ -274,11 +274,11 @@ MODULE_DEVICE_TABLE(of, wfx_spi_of_match); #endif struct spi_driver wfx_spi_driver = { + .id_table = wfx_spi_id, + .probe = wfx_spi_probe, + .remove = wfx_spi_remove, .driver = { .name = "wfx-spi", .of_match_table = of_match_ptr(wfx_spi_of_match), }, - .id_table = wfx_spi_id, - .probe = wfx_spi_probe, - .remove = wfx_spi_remove, }; From patchwork Tue Mar 4 15:32:21 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: 870479 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 8FEA22512ED; Tue, 4 Mar 2025 15:32:52 +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=1741102374; cv=fail; b=s12GRxEt1RrEqTloNxOihcF772PjrVcPwirStmTwkKd/aXEbwSixrRubvVdhOMyIHrgDp26Sj9/ZaSo9cPvtmVyacRVvE1opxvwKYpkHUkWhqTyRnX97iMi28GAlYGlsepvVVL1UpxGBEnAZuS/Gs8C+qUs4/3ufsWaHG/s63DE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102374; c=relaxed/simple; bh=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pNTgm7Edihdt3A9WCM8wJbIZ7llgHoDjOI/41USkAFrBKfgZ/Mfm92J56Qe1G/fGhu9qr+7EDmOIbpvdvGUxBGlEQ0mn59nUVK1YyAPrf8QZdY4BaQoSzLxD6BbvTXdAtyCwFBR1P7Ztq+bjsrJpsq2SrodPoMon3TArM4++CjI= 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=Y3hAIwha; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=TVFAeVH2; 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="Y3hAIwha"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="TVFAeVH2" 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 5248TYaA028076; Tue, 4 Mar 2025 09:32:38 -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=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=Y3hAIwhadgU4 uVAL74+Oxb4vLfwS+Yp+KQxX2Z0wLHAZEMP9NOVJXfbkNkfKW6YE6hB24BY5MNBa kO5i7FpcXQ0iIDjv7MldiL9esCBJbuitZOLPQoHuMvoWvFGnIPdyXzPfsdolFvls oCdlVqQCt1VWb9OqhP7XgE+cWPni/MHVY83y7NsRCkGEcbKN61WSAt809cRV64Dl jGfS14dgwSFFSZ2vj9WPGIDUE8Fvk+gecS4b0HVDRO7lzgerwkzP7l4uxdOy9SnS PXV9+BjcBZ5I9hKaWNZmZDqH3p2ImpWL/Rg40SnDU9lDVDPvp0lC15YxK6UqoCk3 rvkMLdlajQ== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2048.outbound.protection.outlook.com [104.47.58.48]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegn158-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:37 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZESpdGoz8dKDSgAX5y2JGX8RyZfjAoGCVHdGDv59xYMCbBXrX/Xtrj+J5ncDpPkd0FlAnrSHyMz+z70LNTok/kap7UdCdT/8TeXAsSH+TVgAOCaRsyiFyEV5RbIjKOav1dcNBAndcUFJJOch209rqNKAZBBtbgBdJKQ1II0oOZZSG/HWqDnCP8GJ2DaiSHUQHt63RYJeH/c+26WvIVLD8YEfQrIVHX6VPXZ4YIZhPfb7wOMpz309Ylmr7F6jmhZlH4+eMBIdiG1pIJMQh7iCInvn3jZ5kBcPes+K5DFrqAA6WLoBlGkOEkWIuO9eMZC8dOckeT4lR7EG8smR3+/fig== 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=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=AThszUmXnCR8mTI/T8BJDXHi6ywUenoMwopDIijqGjMb0/odrMBonFgw+hQ3/N9OWo2G2eGKTbNKfIUwUG8e4wqjc2tXFD0iAo+nuw+9/HyIt2ZKhyL/XiZS51dzjXclAmAYvLcWQXdhp69vw9gAXetIpI3NenT0iH0Qc8vGL3H30Nk4UwT4LwCTpP7PatPWl086WYUvLiOesz+AgCubirtc3/qKRAkobyv4Vdvx4f4zCblRGUKZB5k+PM9dSSWV8uEmPRFiNSagbRgktmEVDxz55mCiejiJ8pVQNVioWZnQplC8AMGxZAX+krIoZzCT8dbRZMxKqVhWsppE9yEHkw== 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=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=TVFAeVH2Q+d2OJBOS4DYHa5h1Prik7xUXxMTs9w43J8qDaCfVlMt9YTNARZIauzZZWRO3+3Bm7PcYm25sjdIr5kAB7Ja1F2eMtbHV6sVENcWOKCB821dEqPBugVK+JVq9ar4A5+V+3PRv1ZaBMCS/3jfLgcBTHpcNkGSx5p1cjg= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:36 +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; Tue, 4 Mar 2025 15:32:36 +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 v3 2/5] wifi: wfx: declare support for WoWLAN Date: Tue, 4 Mar 2025 16:32:21 +0100 Message-Id: <20250304153224.39083-3-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) 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_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e2fb430-0ba9-49b3-4052-08dd5b31ca26 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?1NZLkDjA/USsUXyUA+UDlktbTFWuSaT?= =?utf-8?q?WmuYis5NPsd7g9BbRZh0yQQnEtlcOMMx+Z5UliOxbv+UPS809ck32WK8WKE6Q8l7w?= =?utf-8?q?HZTReNSLtpjC81eryY1hnDzNSzYCZ25kFIoeeqvyON/NZhg8MlxVvWM9echLfvvqK?= =?utf-8?q?iVXCf60iB6oVe0sMNb80vtogXUQBIRHbvfEx7SUsmyxeYZ96UpLcQlB7qw5FnYbIk?= =?utf-8?q?DR7zUhLacSYJo+uWg7iZtj/cGDP2vY3Xlj0jCBZbLoDTLib2B4jT6w2hklR0e3x4V?= =?utf-8?q?gG8ENP40Zx/P8PHC5+NimURcaUUjNG9f0kbdHlpoi/Lv+Dg2u4fmLF7ldQHAfZKt3?= =?utf-8?q?KQdrWkuHsni9DNrTzduQKoWu8e42y3S4ekSA8KrRR2LGxvEVKV19xm2h1n5cujvgF?= =?utf-8?q?VI5L9xPT8hlSDYrYk14SkgNjujnMymXnchsm42kV2EckjXU3mYG5iLUtTDsS2AZ10?= =?utf-8?q?qcZIPq1YSx9SfnsQMkbDrEqdYfwcEmQOdwvW0tAL63C06C2fkhbhsx5cfubN3Tev7?= =?utf-8?q?+RuNEM3AcXFJmjJW+ddPMobCaNuKMTvVUi+gI6rSjQrIZgel5pZtzcKd6MjflQDew?= =?utf-8?q?l8tBZTEKDM7a/UjyPadsN6JOPIv1yaAFLJU54LE5gNKtEUU8IPHLAt/PTnKHyZssk?= =?utf-8?q?gytdpJR3l1mrxmT8EZPWIo4zF8QVnw0OFi5MG5evGGfJfyTc0+5mMz7/ZfNGiYZpu?= =?utf-8?q?3hPCtbadfjCxt/XLRlSG9j5kHSofG4EjxYRMGvo1Xxp1z9E9zCakD+qar/AK7gboE?= =?utf-8?q?i8EgEKufCl4fwKLQgNIqCuZwre7l/M5U2SpaVCkL2d17edkoM14+U4boldgzXAzoT?= =?utf-8?q?bCsUEbvh4c0Tcn6Sd7NJwHiXP53jqb66IWqEd89qfnzANAo8YdVeN/TIrk2lV6DHP?= =?utf-8?q?1D4GzeVzL2T8sp2sVyNMEetXUQAO8W75dqOgCDqtZfX7nMYp8Zu3iZ52IyI94UBK7?= =?utf-8?q?fcBeRoJsn5z6IzftO8AoGgaLskv3phoGXT4S53lKlx3VoGvOBx82boFi5Ig7LPpRq?= =?utf-8?q?6TTuswKtsslPztnKyXhPllycRgApyrnhSFNM9rcHC8mm6CgpsGOczEllOennjFVej?= =?utf-8?q?KeyjwfTaDUXHGb/57EZA84ksFtM6TOig0xWz6H4ZAhjFIG3cX7ppFJeTIvKxHmyTP?= =?utf-8?q?Sy3d+t2AQkENaWxggcErTN0SlvRW5tSN6EcadgUD+SjMhFjfJiD7N27GQOEjSmKbP?= =?utf-8?q?MpCJ8BPp/V7xvSvsFMF7PVNiFivHobYZsRaV1KDYYDFvI1uuag2W+qtYSiyViGskN?= =?utf-8?q?/YUVT6ul9hlnMDRp6O8RV3K/YT999I1ihbi08sAiDH8rln/rht3d8WY1f/Gg0S8cJ?= =?utf-8?q?ceXUTgXhpLtPtl5qgIuSuNf9KZnX4QG29wO39HNEnIiaH5Y0L0ynlDXitkmx48MAZ?= =?utf-8?q?Xl9w488+ddM?= 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)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lrrCZDn/1FM5cQfMV92IYT0HoecT?= =?utf-8?q?HlBMvjlJ62oIsxaFXmVJUp6H2UD5IL+rJuRtUWg9JFAL1DIIENwxGhmMTXXpws1N3?= =?utf-8?q?FeoIdWl4UdiV99IzKBMbmQJ+GqfwJpaLzQ7uupm+UQuT2e7yEyAzcuDblCFs0VTrD?= =?utf-8?q?RI5yB9Xrud6tyqQ9PIpiaLf827euBtCn/7zkAMyllzb8gTeyLXuZxr3glgmPgFd62?= =?utf-8?q?ffwGfYeFxZINqfdySSzmPAr3gAn5/jVVvNF80FGf8NulxdU9V4T5MWNqtuBkc0JJf?= =?utf-8?q?yynL5j1HebMsSWe7QckDvlrQNSqIZn+QzwqdT9r6v0Pd5s7WbogjuasJkx10yIzF+?= =?utf-8?q?xSDPQRfTxx7Vq2YUXRO7sJYfGMMkR1hzKNkgmiIqJgzZtGelvFGv4RVFJPONCCnB7?= =?utf-8?q?sRqZJmCqDtmOBqwrWUcr8B22IYvwqPj8oE3IUUaqcG37ONK+clVQp0Txs5qktsA5G?= =?utf-8?q?Zec72fhkwrVSWTiBmrKF2B5ugFnmvY4XyoAztcwEDLoczEvQLiG6xaZecx8fqKgxa?= =?utf-8?q?ZL6z4D6tPSV/MSl63VMJVw+6CRKlCAnTFmXM/gYxCZNQg4wUtzb2GAn42SnNsjZtH?= =?utf-8?q?/bqf24aH35LL4E+WlFBaU/VnmYg48EojxFGNpBfYc5DaJkCJu1O3s5/Y8J0lfs5P6?= =?utf-8?q?hUYBwYQbcn+GvIyS64O4ReBJscwApKsEvEIXtO3BR0zioMNO96ok6M/M/FRF4wJ0k?= =?utf-8?q?wNbk/g5NiqQJG7axylodrKY6YX+ePc+VWa8mtXC3Bjc2RfS1Wy+JS6KqXrpujvSJM?= =?utf-8?q?Ix3LuR8DavxW0wMhPIdNL5kPMnU5R7o53U2lLHeVUx7Ave+3Uz7pAOqDpSSui/llZ?= =?utf-8?q?0+rackYDca/FpGhdgNxnWk2ku/NVIkNs1/F48RnYLbUn/PQDXv/iuXEv3DSmPKaVF?= =?utf-8?q?2HjxKe4s+AlR93zdSO9L7KOLZ9vyFvs3W+fZUxFDYaMzjBuIseZ/4jQduJBcowlFX?= =?utf-8?q?1luiijbTE2nlcqD4Lk7wPuOVD11W4NGJZRuMhl2T+Y/TaN9ptYqEIarwHZldMEv+S?= =?utf-8?q?AXWC7N5VAs/0l3B6S2Bda0eT/ZQ3LpJlLCtAyep8usPmA5rAI0z3FcWRwpLrievux?= =?utf-8?q?lQWMidDNaoJdcMuOe/MiXm3pRd9YLB07ImdCEAT1PcaulKylCDD1aPI/HXJxuajGq?= =?utf-8?q?pWOAUa9WQChiP9hMbeU/bRogQ142WgPoECrIbw1M8+33mulQiUFWurhx3UiMdNSmK?= =?utf-8?q?YgmXqnG9uDQnr0pDQOt9Vu0fYSpscFZYigQAm5V357ktZgL8vORcBcD4FviK/z+4A?= =?utf-8?q?+3frMRuiXgGK/Y9VuyjWszswIfGNf9AQMBxr3tvK+nwPGVYCJaZp9kb2nuhhfC+m9?= =?utf-8?q?VehkbpZm3PdvLQRP4A5XOkwX9Z7sLJYg6h0hASy4tonQlKci7Rokmou99NGL2Plxg?= =?utf-8?q?byRSrDSrDWujxeefQSNJUjx8zNdtVyKdcRlQztYHp9ts1clcy8DYX9x3w7s4mY6U4?= =?utf-8?q?z5Cgjk76RLfhNslwdiNRfTfDdjvW+wXDSf9KyOuFbr2+rI3pErdh5BLVVuWK/h1Ap?= =?utf-8?q?lSqEsMB7Cqln?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e2fb430-0ba9-49b3-4052-08dd5b31ca26 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:36.0576 (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: 3hEXgo8Us/C30sYJuCOEnCPozcm/bkgHwo6oN5AJVt7DYew6JgUer43EVClvbCNsU+9ztATdVo/IkUattWepaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Proofpoint-GUID: QGizQOS8ziwvmCL7UQxVU8GC9_HEkn6h X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c71d15 cx=c_pps a=IJ1r+pqWkCYy+K3OX67zYw==: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=PNO-vrL7TU_s0Guw4cUA:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: QGizQOS8ziwvmCL7UQxVU8GC9_HEkn6h X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,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=999 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-2503040126 WF200 is able to keep the connection with the AP alive while the host is asleep. So, let's expose this capability to the user. For now, we don't provide any way to control the device filtering features. The user has to allow wake-up on any received packets and on disconnections. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/main.c | 13 +++++++++++++ drivers/net/wireless/silabs/wfx/sta.c | 15 +++++++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 2 ++ 3 files changed, 30 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 64441c8bc460..55573d975cf9 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -121,6 +121,12 @@ static const struct ieee80211_iface_combination wfx_iface_combinations[] = { } }; +#ifdef CONFIG_PM +static const struct wiphy_wowlan_support wfx_wowlan_support = { + .flags = WIPHY_WOWLAN_ANY | WIPHY_WOWLAN_DISCONNECT, +}; +#endif + static const struct ieee80211_ops wfx_ops = { .start = wfx_start, .stop = wfx_stop, @@ -153,6 +159,10 @@ static const struct ieee80211_ops wfx_ops = { .unassign_vif_chanctx = wfx_unassign_vif_chanctx, .remain_on_channel = wfx_remain_on_channel, .cancel_remain_on_channel = wfx_cancel_remain_on_channel, +#ifdef CONFIG_PM + .suspend = wfx_suspend, + .resume = wfx_resume, +#endif }; bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor) @@ -289,6 +299,9 @@ struct wfx_dev *wfx_init_common(struct device *dev, const struct wfx_platform_da NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P | NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U; hw->wiphy->features |= NL80211_FEATURE_AP_SCAN; +#ifdef CONFIG_PM + hw->wiphy->wowlan = &wfx_wowlan_support; +#endif hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD; hw->wiphy->max_remain_on_channel_duration = 5000; diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c index 7c04810dbf3d..9e06f8b8b90d 100644 --- a/drivers/net/wireless/silabs/wfx/sta.c +++ b/drivers/net/wireless/silabs/wfx/sta.c @@ -803,6 +803,21 @@ void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) } } +#ifdef CONFIG_PM +int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) +{ + /* FIXME: hardware also support WIPHY_WOWLAN_MAGIC_PKT and other filters */ + if (!wowlan->any || !wowlan->disconnect) + return -EINVAL; + return 0; +} + +int wfx_resume(struct ieee80211_hw *hw) +{ + return 0; +} +#endif + int wfx_start(struct ieee80211_hw *hw) { return 0; diff --git a/drivers/net/wireless/silabs/wfx/sta.h b/drivers/net/wireless/silabs/wfx/sta.h index 7817c7c6f3dd..70ccc8cb7ec7 100644 --- a/drivers/net/wireless/silabs/wfx/sta.h +++ b/drivers/net/wireless/silabs/wfx/sta.h @@ -56,6 +56,8 @@ int wfx_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *link_conf, struct ieee80211_chanctx_conf *conf); +int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan); +int wfx_resume(struct ieee80211_hw *hw); /* Hardware API Callbacks */ void wfx_cooling_timeout_work(struct work_struct *work); From patchwork Tue Mar 4 15:32:22 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: 871165 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 641DF27934C; Tue, 4 Mar 2025 15:32:53 +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=1741102375; cv=fail; b=K1hZPEj9JL0WaEIxLgmD4qgo9Iw8ojNeujPo9MM1IJEWNBGpOu7B9ch22xNyrYUkxEt1a2ujnXicpIijY17rPdrEGfuu9+wWdy/fvk0hsOv8g1pZOQ+GvFISoG+1FZpUAu1ofcqg2uYDuckmStt+WmIwK1ffnZLyMDSizt2A/vw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102375; c=relaxed/simple; bh=fVucF6//r7qDmwqroBbj61dAupJkMsP/J6Dq4pa8v7o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=OQTmelT0sI234QqmA+GofNzXZDE+KQtDfwNZMpbMxOoRcnDJ9u6WBk9wRW0lQVynUJaQOnhhV8UGHqLnLKH6qPlrtOI5kl4qQxyDDwVVwwMmhs4SIuxOVm23zKhjCmVVbsF/giYP5UCu/xyg0vm4GO08oiH5QAeUalIlHEUDt+I= 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=PIHhX85G; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=ZjvfHfOU; 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="PIHhX85G"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="ZjvfHfOU" 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 5248TYaB028076; Tue, 4 Mar 2025 09:32:38 -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=fVucF6//r7qDmwqroBbj61dAupJkMsP/J6Dq4pa8v7o=; b=PIHhX85GN+n3 VJEXahLTCPGTsPHIFBGYgkdPafJWt+3VaKVuf7p+Ui9zzFvfGGB1wUolU7sU3OL4 y2Y81ign1bRugNlZZvXTKfOmRLBa1zV7WJ4oHbDqWvnywb3Ay2FO7eRaoso5PaiY CXQCuWJkQZ5g8ADC6PD1/TfMjmWuLEhS7Zxibz2jdziyCqQR8BVJUWV0xgaFooOE ng/+AoYlH8j3HLaSiGVaq6/bGK5AnGN4Mk4YYNnpKu+okpElOeizoLKn0OvyydzN /oHSanOJbcJQ+qSM1HrygPcNF6cgbVT9A4dlZK60HNFkn05fwMkQlFOJw1cn7QGT YtF3qEq/HQ== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2048.outbound.protection.outlook.com [104.47.58.48]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegn158-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:38 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lyk6L3wbI6pU1sa9hcxstbDG9uxxe1cSGVZPbGx/wOPVZfc3qEakmu7GcTO/od0+rSGxGgIJgw2ecz8769MB3D3ifC5cYrKqGT67upw9Xq7q8sOFB8jo1z9ovk59Px83+eB+C43WR9wLC2/aW5q9XnbwB+FjvGU2GAMGi5NO1nOJQhi/q9MGW9HmNcAS7WtEWYHX9m1T6i/6dXztjF74NJ/Zvf8G/yINBv6iOJSt7FGadjIuoQqM5isHJFgvgao3LwIPxEPTvKm8GEuEIrSPpg7W1FsiOGBpW8qawlVY09Fz3FhbWtX9uQF7532eyVoR+Csod5VHErzUPoXRqpYuUQ== 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=fVucF6//r7qDmwqroBbj61dAupJkMsP/J6Dq4pa8v7o=; b=Hr7W0w9xFGlV9PTMcOLQj0DsKyJN2x8STKYGQAGerIlIaXva4gUw48mioeagmeY40v+qtem6r/1NMdUgAlzdRsed4ARwvHM+IXc1CHgv/gPcMpEsefHUA7tLvtA6fo4w47fIohXx+vqHbZ+HjZrTv8c3KsdCzBvU1LZ6RDKWpC8pNopVXafSn/ZUtLUqBI5/kbYCRPpcLnSrD2Vz4bqa5gnglJcfmTyfAAxxDsnqpcKJ0cMQ0aAg4IsTN5h/U95BfCFKuM1ij585nnYFQkQLu7d4dvoDfUxYYGvmsg32/CdWOZyJydZf4AW/2VspWTtUSjohJSIUETtAkBghMh9Rmw== 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=fVucF6//r7qDmwqroBbj61dAupJkMsP/J6Dq4pa8v7o=; b=ZjvfHfOUUUDgXoBjuGXHEDYW54at/QaXn5O9ONeBid7yL75LAmYa3UH9KjRQ7U195hHgKe/URov7hGvkPMZdt4tWGEAbqXaf0g7T260o1IVgOBBXlqI9RtvFl9hqCsjnbzwnraZUHlvp0xFaakw/rwVigFfz3PK10BrvC4otT0M= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:37 +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; Tue, 4 Mar 2025 15:32:37 +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 v3 3/5] wifi: wfx: allow SPI device to wake up the host Date: Tue, 4 Mar 2025 16:32:22 +0100 Message-Id: <20250304153224.39083-4-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) 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_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 56b713b8-ea56-4060-9111-08dd5b31cabc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Sz1csyKbkqC30x6h6xIBrzeh/Aaq5v+?= =?utf-8?q?LDY45gM7J4dbcBmMNaegbhmpXaaeEEUesP44zCvc1dvfFadN0EG9wV6nJJfegsk1H?= =?utf-8?q?i2fLVDIXbHb9dTZ/sgKogIDos4WuWUWQkDXhAv37EKZr8d81W8gclmy4kCyrPSsj1?= =?utf-8?q?qIRK/p0xBAl7l7dOsrt2w0RDhaPeC+IqKETDYDynsjPQbsIih1S/3xreGOS12+mB1?= =?utf-8?q?eHnkR+kl/7KTD2tL5zPrN5Mw1xdpYIs7oUDBSuSUQcuK3qRha91Hjtf1ICL1afKH4?= =?utf-8?q?ABQNs5XhDMkjxx0KbTBoprgjZ6/ZGuJdXLwAvjQzHjw6vsBW4fnvxMUOAK/y+nPuL?= =?utf-8?q?nZC6rgtg96ybrStky7Xvjbmpi2xT64t2KoCE/tZXi48uJBRdkN+tuyyJyNaP8M+UK?= =?utf-8?q?DJhFcnYeU4v7y2h9blvIoh4C2l+g5JvZ/dq7umZwqBafiv79TM/WaLaZJRgu1jbQH?= =?utf-8?q?RgEwQQK6KehEdvvBxsLoyaeXIuXTGFAkdNnhxX/bbqZvN5cM/ZykmdL7JJ9K/TEd0?= =?utf-8?q?S0OjnH5dLbf2XjzIrUy0KshPb05vcEwl9TLL6NS6xlpXhBzzd0YYdOP2+MGji6B7O?= =?utf-8?q?hOIl0aR34LeU5p+4SuSWIOp2GgcuL0sS91m/evjAIrRHx3goCjbWc/DXTmRytlY0q?= =?utf-8?q?rPWbGJMAZqMq4co7zZcX9cA1NbXl6xRjVfsIIhBQXUzOm+s6KVgO1ZkjvFyHilyx+?= =?utf-8?q?sNuYxz+O7XKZOezZtPj6kqWYRiPA7sjOk/jPnDOm13zLhxa3If5US4ZL6p4P8gC0G?= =?utf-8?q?bzQRHuQQZsHfxConi5mxphFBWzRG3PQ9+5vEe1OtVOzCcZxfAhW4fE1iWcy7xIHxZ?= =?utf-8?q?qw0ehdHQiFz7XA7MsCZskjlkm1Mx4AkE7nlIbXWdzNnTUr0dn5YatV9ImCrjm9c3D?= =?utf-8?q?qRyDZtJScIkCtwAa/OtLapiyxIp9aCKApzArTpnEXtmhL9ftYAPizgNV3hQ1os7Cf?= =?utf-8?q?rAk93of6obaDsBzGe5XF/G4jN4yNqBq9c6WCF9h9HMyrakYOF8b4zNYV6KyjLCE2L?= =?utf-8?q?Os6qz+OGRgNZ0gXJGCXSEF97KHHRifBRsG3Ege8UK7rJ3y1cQW8KvCBtih/kzfYgl?= =?utf-8?q?rpTBqu2J2WeE1z86Rjf/h71fFeX4p/s0pXrzLDzimCJ6+j0tGjvTOCqLxNDBmAWuJ?= =?utf-8?q?vq0RE+R3UsG2dx/xwTIKjRihJr32GtCUsHzE08Z4n0OF+hQ0ebuE9wUA+vcN3d6kP?= =?utf-8?q?NqC9WHmDsLaid7K5LtHlvHMKh0X5jDlODld5tXeiHuN7DrRAZ7KUJPwJSKDjmSnjj?= =?utf-8?q?hzFFX2r4iM+2eNn+Z7oVXNYnT831SeXpqCkzmw4F1j+PACF6zFU/3AqqjILgBw3Ek?= =?utf-8?q?wynHWklm9mGF9EhdCQVwUUk31t38IpEuDWS+bnkC5pkztTq4vDin/d33cBTC+Bsg+?= =?utf-8?q?CaE5g+ZppmH?= 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)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?sjvlwmqxqMPa8ktZsXGH6748r0kM?= =?utf-8?q?Z1i7V9fNbpzT5u78iPE2PKvsy3taLQtM5GStKfEw0OFXDQPw6P1Q1cn6PubCeYAlZ?= =?utf-8?q?DeBccELL5V9F6AmX0VutUA3/vg8wNCAdRRIHFTCx1/dXaWJ5sd6mCsQckNk60w5Qk?= =?utf-8?q?xuQlJfOHLR3/Hm8AzViWGeaQHKxhtQ3fI4WMSQCbZHSKHvIkV+y6C8oETz6k7S/N0?= =?utf-8?q?/0Rj06r5D3Bj3NvX7QaK6RbloMtxJ7yZ00PLMtUt1Ye6k2NKhM7EJaxYHz4dqWc3d?= =?utf-8?q?G5Q1XHp98w9Vu21GGQpVlUjEMi6KIszIAiv3pgKYeB8taWgT1osFBdXFszHrHGFKa?= =?utf-8?q?1L9eelTxgKbJnexYnNfyjAb6ujnCUCQTbT6sK2NE6YjJ/n9xh3w1n39DuIQ71yEHN?= =?utf-8?q?4Jv8pyEA1zzNZWeIFxo3mLtSXZNkz9tdFj5caBZ8o8qPoTtpYMC2HwsxEKZBeQTC0?= =?utf-8?q?DSvprfbly483K0EDP7PLy5Qri9ir95zjzQ/n/4duU6cLC4s4LfhE9bLMuKUad9nfs?= =?utf-8?q?skdZeD//qctGC6vsdVqgmfGW2VSfidXsu5GTF2COeAPTeEzxWhs5q0+cn0PPFZwbb?= =?utf-8?q?ZHv7JRD9eGTjjBUsTeRFLLGI+PvV+TuaybrSapuYi1YYcZjyDXpVNYKFXH3c/I5Jy?= =?utf-8?q?KF9yE7SmIcabhJ1Qt4O5aJoX5WcBEZXiQjCkdKX3r6qWF3SYrg4y3U3woCUW2OShW?= =?utf-8?q?Bjg//gukDc2CoC64oeiOuT8uNb+hi/BLXS+YinKZ/K9wsJYemL1+w/ZV5W5xbfcAz?= =?utf-8?q?yAiX0cFXrrAf9TIs8WPduVzeuw/cY2/UTRmd3gJZ295SZULt6j8+8QMmj47bc0EIC?= =?utf-8?q?IVHsWwvhlgjeebbQL3I6961TXtOr0tBshsfSZu9F8Vjhf+3wLHSvx8lBD5CsTISBX?= =?utf-8?q?1TfaR6TSAyDGR9U9c7/rEd1Br+C3qyjbREnLPZhJnCgXq7Kb6R1rSMNUn1gVg3HlX?= =?utf-8?q?qXr2U5mR6KMkkys6KMHgAw40jIx1nLW3TCCsE62KoChKUj3qTlShV/Qf8jdt15KRO?= =?utf-8?q?5HSMK1+rQGgWaOLiq1spyqTLGgHAp148ud1EFwN0MB2nailQ+TdzPRsQQZv3TKqVZ?= =?utf-8?q?DPbez0sdaB+u6Ko0jI7l9ytQmtqEFG2v9fTOWMHuchnrCnHAWistQx0XpC4FKBUQ6?= =?utf-8?q?QwRUTb+6jYxW2H8aHOCB+YkhrESbt333ZF+g1/tXf4qMUlFz4HGLKX4VGUeCs4giV?= =?utf-8?q?0ymn9C2RpUJXwW1jqckMJfMLy8FX9h0YRuY3dedWcpvCGr0SFu4zUtBXmYjT2e5Cq?= =?utf-8?q?rXgVx5waEYibJNR4p2BCCHcDElqP5TU/3OUR8urgBPUMJlhXGU2rmZXenK9RK2+sL?= =?utf-8?q?TgyHf6ZlNZDLukpR10B2ruBmbkX1YMzPO3mgugDyyVJWaMbvUwopMVLa+241XJr5N?= =?utf-8?q?ClGjhew3Hf0yLc5u7LsnL4WIY0KALiPw1xhVU7wbE/trDo76e7ZiUHHAGxmM28Xxv?= =?utf-8?q?vUUQeDJq7kH648F/Ka/fhC9sFGBev9g/zqXk/0gICBEp63ScKrovXcXmzPy4IRJba?= =?utf-8?q?gQz0T9QRAGfz?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56b713b8-ea56-4060-9111-08dd5b31cabc X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:37.1532 (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: tYWiz9Uu9ZDtUCW3uZycINBuxNCPS2hSIysCuo/6QRWx4pL7WYpY65MatHPjh7Z95RBTCjAYQrmsQXLcQa4rfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Proofpoint-GUID: e386ap-JiqGBCLeoeCzVCb6LOK1FHVLu X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c71d16 cx=c_pps a=IJ1r+pqWkCYy+K3OX67zYw==: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: e386ap-JiqGBCLeoeCzVCb6LOK1FHVLu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,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-2503040126 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..20b9c016b40c 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 +static 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, }, }; From patchwork Tue Mar 4 15:32:23 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: 871167 Received: from mx0b-0024c301.pphosted.com (mx0b-0024c301.pphosted.com [148.163.153.153]) (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 81D0920A5EA; Tue, 4 Mar 2025 15:32:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.153.153 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102365; cv=fail; b=mpthu4BcYJT/zJPVubTwe0nowq1Usypjnh+F0HyJXG0U9DE18Tj1GKhXyDmui5skFW2HizCsc/+daBm/irRV6+A/y6TyVLT5MzABgo8se7axDXDF93zk9hZtZsjTgMD32Yj885Zu6wYSVb8LjRnEIlyp26dridA4ePJhVxVVRQk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102365; c=relaxed/simple; bh=jXTMqQayNWK+OVT8qiUBwW+haAwrrcI8uj0NoGtLn0o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=dWLbHfEi+JAqTBEvaShpjodoZnFEoxFA20Ycchrzrrl4bk4zBuOsJ9LzWjS0bjGf0/2atpGX8Lkzxgqod/LtTX6d0LYIVhreORqQbFrBedaahvsFLCZidPCWq/Rh97jq8r2LOCgTEuKfzJ+SRqe86gZN41l/8Cj4jqfS/GpzMU8= 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=o3jRqqCb; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=SiI2JcAd; arc=fail smtp.client-ip=148.163.153.153 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="o3jRqqCb"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="SiI2JcAd" Received: from pps.filterd (m0101742.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 524BF7h9031961; Tue, 4 Mar 2025 09:32:40 -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=jXTMqQayNWK+OVT8qiUBwW+haAwrrcI8uj0NoGtLn0o=; b=o3jRqqCbKzR9 ZOc3dZ7JZaUTICrRoLXP8v8wbDjIZIfFclUbxnZkvRp8TN0aeCiX/fL4By8eLlBh +uQHnvwl6xyib0ExOsmhu3/XcX/PHwCLYqiUWVt9GtQGvRbtqJ0rsS50xQYMHbBK Oymm/ahbsss02hhoVjBHwnoJHTlWUA7CEZ0TTnYzsW+7Lr9/UFZD/kzYovc0xAZ8 k96kO4rml5XSsdrP6fbzMrFDB+2GyKoefbt6NLyc62JgZyPj+9BFjqf7HqnE8Kae dCuk6iFF+TWvbEr1asuZgGeGv/QK94ji7GhseYHtAZr6wNac5gee7LnBICX5M8xG NtTztg6xvQ== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2045.outbound.protection.outlook.com [104.47.58.45]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 455qchhcus-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:39 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=haYMwz5JfYqnkDddV4bKac2GZmnTzR7DrMRc3xY4L+3hoFoVyX9XZOKt2JksScqu3C6Y/P5wtuPzhd4OK/d14drxCmGa27Oz0cqB7dS2tTn73WXh7LzgJPdW+KA+4YNur/goppNlyxJ9amPtnHnVtEIbr2x3QkXkxcLpEt7fNK8L3KhsWCw6CADTJpYWahpAhORdYDx/dYnzclWC5rIBg8BHEdLrZwXGz35XEFHQ6Rh0Ac83swjRp/eTyVQbqsRADcaOXvmQr/nokJ/sLh8vvqKlFjA8c5qC2MRWtl7AKNqUaa5Vzwn/6AL7E0yacN1DLrK75pqBXOhj+wjN5ArKdg== 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=jXTMqQayNWK+OVT8qiUBwW+haAwrrcI8uj0NoGtLn0o=; b=eMtF4aB2AHzfdalvXRyQ4B4+N2XRTtC/MebiBqo5wD6LNnO0c/7a7f2TScArQarQoxHvMBiuMGpOgcSC46RVFzjp9YRSOhteMSYGsRKQ1KJ4jn9hbAW/GEOhyl88N335j/5qtB8u8lWWZTVkbdAqHztPXfh3+uqyzjXul7eXxfqaUoIp7svhy5Fd+TGCT4pFgYGkCW4VEAfuhnaGW6zN4KZ2ekxr9cGlfx+Sp98bVuPHVa16qg1rPlnpckFL2vcxYqaJ0Sv7PO/6G/hkrSu81+BYohT49ZofPsaHKL43zllsOBSYuQkC+TLhAFk1UD9r9bSsik92qfXyUqc3Lm6eZA== 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=jXTMqQayNWK+OVT8qiUBwW+haAwrrcI8uj0NoGtLn0o=; b=SiI2JcAdGeH4AtukaVNYO/cpeLm848k1/P31JYx3O9fHLD4anRIydDeKdKFXcnhjQIMZlA3J9yLnDIHGQpnSBr+ruxSjP/SagF3Xeu6/IUqi9QHYt34sw3ZpSOfyWrRcXa2BX4i/0KdM94KPMb/D2DzQ5NwRWge3wJF0PfYI4pQ= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:38 +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; Tue, 4 Mar 2025 15:32:38 +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 v3 4/5] wifi: wfx: allow SDIO device to wake up the host Date: Tue, 4 Mar 2025 16:32:23 +0100 Message-Id: <20250304153224.39083-5-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) 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_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 4652ac87-b24d-462b-8cd3-08dd5b31cb5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?fendLNTezTtHnqpBqXMFycPpTj6j7i8?= =?utf-8?q?+vALRTeG3g/swHinUPMwnZqdl/ZP60btFMfuuyVh2sX4Adlto0AV6p6qw7ihfyAgn?= =?utf-8?q?wMGxtJGCZveijXhYM6U0v9zs88W0oiW4Xq4jRNS8P355IjXWAsHFUggsdKKoJB3xW?= =?utf-8?q?xK85xkuqtHu5hsq+xjfBLHfsq00Ye0llwLnTN0etmNVCb4gRI2wNx4iIQU4HsRaDU?= =?utf-8?q?hEym7Jh3Q6ghqxf0DtzlFpd6n9I+ZU7rdEhM8jWLnLSdfUm14glMyOAgRuP49EU0c?= =?utf-8?q?IyiyvgjAitSwEk8C1OTIhzdzXH0cBr1uoWVqYo31U5g7iY0C9Ttys4muqe/0OZoQU?= =?utf-8?q?HcrsUJsaGxBoQemLIxJVe6etZHc4PGfmk8tggUeAWkAxLGjA4FPDJvf+X4DXHjgEM?= =?utf-8?q?09lNqmKay+UfT0SDtj5S9lFmX9N55mGyvBDDO8WwpJ4Nngqb9AtdbabGx0ke5Tu33?= =?utf-8?q?QOmy5O7A2WG9/YJRK0UvWqszuqfGcTv7yc355f9LuFgrPwcSg4Y7ogI+Vk9kcRhQP?= =?utf-8?q?u7UrdFpYS37D2/zIoG+T6llNqHzNz1wzqYAF7is5Csd2fa1PTMNhoPL/kfM6IkG32?= =?utf-8?q?a/E5+657liQxJqmpKDkG72jHLlTG4qSh/OjYbQKwuWZbIXGvmyqKnib5lU+TCAZ2f?= =?utf-8?q?slNXnGDB7u/axYmCphiQEt4hakJ1OtC+k2OG5kH1S9gdrGOWkvItIyODZQ2Hv10JN?= =?utf-8?q?/U8yclCGfxLFRmY9zoVts2sEC+Kh6D8jvsPWq3Wae7DkWes4ol7wSok7Jr+qG9Ta8?= =?utf-8?q?X220S82hvNoka66zw165tEDswOH0MP3eDtV/A07QGOZsL3NHrMi+6AlnXBmmzGJIg?= =?utf-8?q?GTbrlCix7M/OJBczx2uYAJxSPYuIOCPE0MSqXzP4QmvfiwHKu1KLuE7hLNCohbx0P?= =?utf-8?q?wl+t0x0reLWg1uxcNVRlynrEftxI7d3Ossg1t7xqeVuwDyN7aA+4wq3lmCALiGqWb?= =?utf-8?q?vUelLq/gpIncmulqy4H489U12f85Qt25OnIUW1NXj7bEDV3PUJlJ3Q6ZubQzsIycU?= =?utf-8?q?KZAvBTV5vy9gPEJtK+SV2GsWyJ42ZAtJrrMeYt7KgX33YULmRSb9ZDVkyrXvzbwsF?= =?utf-8?q?pDwADQVJ2CXI0ieAXi/1d27QGOrIuFuh5Yu/Z12jetfw8g5il57QpzDqS5GWSatps?= =?utf-8?q?+RSVlrIbK2dXYATnLqlJGdqCpHtStwDTyvp0Hbub3sITDFnrrmyXrWYCZzxlfG2ZN?= =?utf-8?q?def4MB3psCpUzT1bxnjZvHV0SreOwUwzwSPL0Cp1IpPHc2Xk9De+HCkZ0ZZOfha+/?= =?utf-8?q?B0QTQ1SdWmUzEYKeSTCfl30bhYqyeI19q3xs2te58RX4FpNQ+TT2HddnBk+v6rfd4?= =?utf-8?q?ezlH5CWqJK2prvMEKXNoj9kcjVDWrEDphp4SipZonCbC3yNbDGnOGzaAYKZEZvat1?= =?utf-8?q?UQs7Lq5eA0i?= 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)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?1ureY8i4EPli936bXqbpj15Esz/q?= =?utf-8?q?FzXHtLeMwUOdg6PS5WMi4ibqwgVHmc1HVTy4p5BhoEiYnTdPzKJUC5fR94fsZSP78?= =?utf-8?q?X2KOIZAoLxZfuic/gxUWyHz2jV7wvcB8mP72OZFl7McvI3Aiz2GmMWTJEn/OHMehK?= =?utf-8?q?eeWJ8QNDK00fEzPi58VPYjhzsJz2nKGaJU8SUPiW6/nalaL7WmuLZV117+qAzDlJC?= =?utf-8?q?H9ZTplpYUHQGrIv1OGobHiHpQZUPcrh8mQyilY42Xwj4gLfHnPtN0SM7Vw5aeMazq?= =?utf-8?q?6EvWlwBvz5I+UISt4RRNnoT8WUYoOd+VgK5QTLZLdQDwRUHTf/ZtwyRvlsNEnxp4r?= =?utf-8?q?lXfdF8H4b2ci0WXhr9nvlUCwOVpekPdIqV6Ad0a27b9GtFija0JwqR8LACXoHyJ7V?= =?utf-8?q?SM1YLeNV45eTpfFPtOohNzWeyx+amD4uzrtOMFLhUdNOsiDLKldhohk8sMy7Ztgk9?= =?utf-8?q?lfcgyxV/UjhGaOZBTM6SOGZE+frlwsVvko01kI/vQEQQpvP+oRlgePBBuIe5fKgD4?= =?utf-8?q?psrktOjUsV467cAsX2gcTVm5y5qvRxngewkOz1UcsuwrF8Gyrs244F7Uj/IO21fKr?= =?utf-8?q?q24euWhMQvGSciNV5TKdF8a2IuAGf7OFKsOd7oT0nFZDiiUqxcqCQQhre1MRGa65A?= =?utf-8?q?QuyefDjVWiWOLelgvLQBOVk7OQdWIsLyaVcg16g3/w9wnM+SZAgnxp7FXkWHwBf6i?= =?utf-8?q?GRtlJK6Ij93NuAulKiukiedgqEUEsj+7e26ZTxZhD84zbeDSwt5wSDqOn3FFmpvZQ?= =?utf-8?q?RFloHDVw7WOlBHGQIppP7ensUGph7+a7MNwRtiPRnqTrEX+8wOQTAPe1jd0b0epom?= =?utf-8?q?X5dQ3zACRoMy7h50Qb5SZmWyMsSjRfESFMOABcdxe0SdHYHG15xIu5L4rO6pkdF+a?= =?utf-8?q?sQVW9f3mgEC4twT0BEU3qlb825j8u7Pjcyti2uQ6IGKcDoQKiZlih/KQNK3AvI36S?= =?utf-8?q?M+EaOC+kSRoT5Aik3jq3GRq+4lxCMdL5sx1bDHe32TUkXfaOksnLzdN+3KUkTd3F/?= =?utf-8?q?ANKKfaBbILalq//TrCHbMFqr2R9TF8Pf09QDb8yAmGmracE/r5Wk/ThOS4Vv0WyKB?= =?utf-8?q?ZixLuYMrkxiUxlY6bNQEqSPNUYdCBqHbRQIhKwgsV/XMLkNaeJ0lWT1AwuzxJDgAF?= =?utf-8?q?j+qSlFCm03I12AynZtr5TGpjOJY+MvbvSIVzOwLwvygeg9bhUpYvFPuSP1hVAyDxf?= =?utf-8?q?fPjfFxAWFaIO++BMK4cmWY+ocdOBJlXjB/2QrmKMgZjlQbmlF8gx1YsRsMCPCBQ8P?= =?utf-8?q?/UqOA/zU0w4ax+J1RgAsBC9rMngsaoO7++abJcvs4JnsFW1eJ3YgBJXpUAr0NhJZT?= =?utf-8?q?JeDHPZRP1eJjbk2dKoUQzru/gn4FIELZduob9qDT9miOt0/c1lSiDbOo9A5/CJ/he?= =?utf-8?q?IEAIGYcxuGGh2uXvJtuEF1QTl2Tpin0qao3j8TWT65Q1YiWYvzejNqWgeWTRnyH8P?= =?utf-8?q?RMYaOzZxVdrlDZyr7eq7PXZRBZEpqHjeaovVjNF0CQrnAvzu2ZEcwsqYkX+MIv387?= =?utf-8?q?trjtwN3WWuCD?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4652ac87-b24d-462b-8cd3-08dd5b31cb5f X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:38.1916 (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: BOnZNeNlkkfW86bjY1blahLVnmAr5St0ElFQ0vLp06s9ssLNPGORkzOoISdVH5XjIQmRDPzDyxjvqwul3Lpvsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Authority-Analysis: v=2.4 cv=DPN14zNb c=1 sm=1 tr=0 ts=67c71d17 cx=c_pps a=Syk5hotmcjzKYaivvMT4gg==: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=_bZ_Ugej2YiJM_EvIRMA:9 a=QEXdDO2ut3YA:10 a=CJgG61vzA6yyTBTLYZUp:22 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-GUID: bkINjzr3vwkjoCMCgPK-fTzNjrKbpR9M X-Proofpoint-ORIG-GUID: bkINjzr3vwkjoCMCgPK-fTzNjrKbpR9M X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=830 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2503040126 If the device is connected with SDIO bus, it can wake up the host using either the SDIO controller (that requires MMC_PM_WAKE_SDIO_IRQ capability) or the out-of-bound IRQ. This patch allows both. Obviously, the SDIO controller must be able to keep the SDIO device powered on. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/bus_sdio.c | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/bus_sdio.c b/drivers/net/wireless/silabs/wfx/bus_sdio.c index f290eecde773..27c5d7f534a4 100644 --- a/drivers/net/wireless/silabs/wfx/bus_sdio.c +++ b/drivers/net/wireless/silabs/wfx/bus_sdio.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "bus.h" #include "wfx.h" @@ -191,9 +192,48 @@ static const struct of_device_id wfx_sdio_of_match[] = { }; MODULE_DEVICE_TABLE(of, wfx_sdio_of_match); +static int wfx_sdio_suspend(struct device *dev) +{ + struct sdio_func *func = dev_to_sdio_func(dev); + struct wfx_sdio_priv *bus = sdio_get_drvdata(func); + int ret; + + if (!device_may_wakeup(dev)) + return 0; + + flush_work(&bus->core->hif.bh); + /* Either "wakeup-source" attribute or out-of-band IRQ is required for + * WoWLAN + */ + if (bus->of_irq) { + ret = enable_irq_wake(bus->of_irq); + if (ret) + return ret; + } else { + ret = sdio_set_host_pm_flags(func, MMC_PM_WAKE_SDIO_IRQ); + if (ret) + return ret; + } + return sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); +} + +static int wfx_sdio_resume(struct device *dev) +{ + struct sdio_func *func = dev_to_sdio_func(dev); + struct wfx_sdio_priv *bus = sdio_get_drvdata(func); + + if (!device_may_wakeup(dev)) + return 0; + if (bus->of_irq) + return disable_irq_wake(bus->of_irq); + else + return 0; +} + static int wfx_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id) { const struct wfx_platform_data *pdata = of_device_get_match_data(&func->dev); + mmc_pm_flag_t pm_flag = sdio_get_host_pm_caps(func); struct device_node *np = func->dev.of_node; struct wfx_sdio_priv *bus; int ret; @@ -235,6 +275,9 @@ static int wfx_sdio_probe(struct sdio_func *func, const struct sdio_device_id *i if (ret) goto sdio_release; + if (pm_flag & MMC_PM_KEEP_POWER) + device_set_wakeup_capable(&func->dev, true); + return 0; sdio_release: @@ -261,6 +304,8 @@ static const struct sdio_device_id wfx_sdio_ids[] = { }; MODULE_DEVICE_TABLE(sdio, wfx_sdio_ids); +static DEFINE_SIMPLE_DEV_PM_OPS(wfx_sdio_pm_ops, wfx_sdio_suspend, wfx_sdio_resume); + struct sdio_driver wfx_sdio_driver = { .name = "wfx-sdio", .id_table = wfx_sdio_ids, @@ -268,5 +313,6 @@ struct sdio_driver wfx_sdio_driver = { .remove = wfx_sdio_remove, .drv = { .of_match_table = wfx_sdio_of_match, + .pm = &wfx_sdio_pm_ops, } }; From patchwork Tue Mar 4 15:32:24 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: 870480 Received: from mx0b-0024c301.pphosted.com (mx0b-0024c301.pphosted.com [148.163.153.153]) (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 C62FB209F42; Tue, 4 Mar 2025 15:32:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.153.153 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102366; cv=fail; b=dnLq38zxxm6Pdv0Fa0ag3YqXSlwck+bEGGaPkM1dIdUAYmZCHKx4rhQc0ytUikPFlmAgn7BBFucWrEEbzEPP/aev0TW0tEqrt17tBGQzpR+nDIpxlO/UQxKp3BLOIdfdfuYXs44zrBnPez0zUutgKipf3yMLouM3hOF/o2BV8ss= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102366; c=relaxed/simple; bh=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mqIKZEtYNoBEhQlPWs/8fS8kjgQlubQXV0nqtusrgmOAFoOJO8Dj5m2k2A8tltcExX7Zr4Q2B0Czz5+SKGTXGxjp/J7EEP5SYRRLux42AHswTxtbO+8xdlMDSfjnZEMrXoystinIo44ZGfzgdg5V1RsgVFxggTw8JiP0RStqR2k= 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=PHDFBn9D; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=bYj4xbq5; arc=fail smtp.client-ip=148.163.153.153 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="PHDFBn9D"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="bYj4xbq5" Received: from pps.filterd (m0101742.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 524BAL30032344; Tue, 4 Mar 2025 09:32:41 -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=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=PHDFBn9DGfgO UTWxhTDnkUmvYNS1Pd637QXoWgOO4rvec8XBKUdKVzgWZFx/CgPMPvMm5KHdFN+k CyzP4B3Nsq5ayhnhmSFbh39k6N+0zzeVWc7hD0ThpJec1AmSbHMJ2E58niX7XFpT 4ZUm2qMC4yPvA+wIPYYhwHehd0BwXR7khFMzycubD+RnlmMamPpFfmKhKo+KGtdn y28ddOsq4yAwgMtVJ+ekPNstMiQyd6yb762XzCpQHdimrsugKUUkJuNyCzMl4sEz 2HSN7fejmCeEac9qWEPqanTT4r/hmElHkMGU9dDrNEQpQc9Y8hKpekzlnxCZn867 CVo+ZgY5hA== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2043.outbound.protection.outlook.com [104.47.58.43]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 455qchhcuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:41 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gLtSOkFJE4uoHQj/PTXjNLDPvkgnuscRJaDQRCO2qETcOCGi79PscRpwc8n9VTG+2t6zzyPuxJqqxlbQE86oCaCHJWxKGbmswJDD0SWsG2te2ZOCgCLY25udk4wkJLQ4aen+r17MHL7v/BJLIxDG0geqtFzx7+Mgwm8OmFFzETUGh6NUKPYfHQl6/QvvjNMJkyOfQwW2CS95QWQHLAtOKe64TiSDx5CjzDZjXJXeuYGaT7MQ/O8DulEZSy3DxiskKqI2eTjnOgCPe5vlpWrujs/Yoh1eYxzHiMhmXxoSFsMbFj0BLTJBtG40KxexB1A5JNw4vlEz4FlfKzbe8uiDPg== 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=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=esel+vOnKKsD8dohstwiwXt1jiGiCY+RgE5Tyc/5VjPSHHnYgUWxkZ4nr2ohKaioBc1zSOVAuqQYmzD5pV2efxORhYcNJ1tkG3IAAkzudtVe6oa0VJ4BPoFoBLyThOhlFK1xeq8U05dxuthCg3Ie2/d87v5pwlFENXZflCgx/gqCwRvwT8/8qzzlakEA3ozJSL8X7Z+L8TgwF5vzCleTpOaRmwNir2JbqXdyhi8TsSNtD0N7qWe9/fLWB+4RAKGrqUPlkSR6Yfeoibshgo/97/Mb5vOljIPKUHe6wrGpwFbsGnyO+iClwrgzAjh15dJbvDb8naA1zH/adW5DCXsxYQ== 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=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=bYj4xbq5llFrtrg8dzEw01Q6xoeu9pCTZiiBnfxQ3RiYmq1GRJbx0MoPftOHu8/6hYD4piUhACEGCmA9SWNOsFeQgLungh8ceIdRr8xP0f1EAhtWOH6nSn5yqYBUNe5YxSNUhx2sqok2dikwOnfeSguVQfndyE1NQnSEJi1QFGg= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:39 +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; Tue, 4 Mar 2025 15:32:39 +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 v3 5/5] wifi: wfx: allow to enable WoWLAN using NL80211 Date: Tue, 4 Mar 2025 16:32:24 +0100 Message-Id: <20250304153224.39083-6-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) 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_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 24875544-bd23-4576-e076-08dd5b31cc05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?yRk5xLkwn6LfnkMsS6d4aNWremBGqIf?= =?utf-8?q?F49MR7tpBe3YAB2S/2cwdaa+lWaGPXWbVzDZ/GC9td6e6AKizwhwqARxXzr1bnFfy?= =?utf-8?q?1J+/J6EMQc0Hg/grOE7H5L5I/ESrEKpt5vaM5SoFzOXeVl4KTexuQew5rnwQSE772?= =?utf-8?q?5UFjetU65ryGYqFDoQ7PTBmeuJ8a6a/EX3HMBAzAVSidv3G++p3BvUdCaD2RAAjD2?= =?utf-8?q?+RXzKzeFpV7VHEjCCj4JqZUpXZhy5OM2DsYHUvgnWPNtaG0MUvpC/qj8CxYI7tm+0?= =?utf-8?q?XIhtYefhg2DmSiNJWsVrJVRH3LgY8jPA3FlTGplGMARrS4tLzWUU2PoLav/flJwU0?= =?utf-8?q?srSK4LtPgGfzYV0jvBubny8stli3+OihbOV0fpTLT7ZuB8hg3T0tr+bTxYYPJB8/L?= =?utf-8?q?4D25sPPDbk7+52F+VC6OqnrMTP41lNgtTaWzEOXQqR1sow0k4UXST+t8Nx7hZ26e8?= =?utf-8?q?x7waQjd8HOmbJWAcZqlR9VhMIpAfxlRByc43JlCehKrwpU6cafOKOTJyYOw6oud+U?= =?utf-8?q?+1+AX91wyc5QkoPisKlRbX6qDpDuhjhqYh6W/KfaNt95MLoGokAIzQcWkfJc0KTk3?= =?utf-8?q?mxayzgSn+sw11FZJ8QHrB3pM5NdRP4R4N1Ww7oL/4kMaCjO1EnL7EWxs9Ogu4WSOx?= =?utf-8?q?HvU8r3pGfSeiFNukzohASsOlW+va78WjM57bfZr/shMzmjpRACNqL7Cw5pBZIHFGR?= =?utf-8?q?v8PQLIDEmDbudKA97h2Pu0vPIsPx08wYqYdSMY+xNmX4ssMhm9rXo6SdYGubYU/+m?= =?utf-8?q?8LT14U6E8dbyV2TFUJKwFdu/afUFMU43YXekkhwM0f/CfT9n7l1OdArK261VMMlgM?= =?utf-8?q?Ycu+XEc6AOrKz2aHMGRM3x2SpsECPI1klsq6mirhHKdFdIdSb66hlc5WijIYWMx/z?= =?utf-8?q?vyOw6NkOWuwWPjQo8FGQzPY7Plf2h7U1j7uKjaDIRz/wu9skxrSKqPFf71cFwYKg2?= =?utf-8?q?gNyOuOBvfmNEEijbEOIjVOVvMHnrkENYvlNTk1v/giFI9j8PhMoNtaS5ZxGgcH1I7?= =?utf-8?q?HhsyvLqc5yQWtlJIjuJgafvac1wmzWDu/c2Uk8QJPjNqdUkZivT3/sNdMZR9HbvZ2?= =?utf-8?q?9TLVX1zu3a549F1rhoYGSgw11Sussq3F/OLLhez5muRun/12h4f9noR+NpPBIla+M?= =?utf-8?q?U0Gzs9Btwyq/NDbnzRuCFoppPgtJIeZGhYSBi/E6accddavmSK3imViQE4yhj0tiR?= =?utf-8?q?67z4KgxYoqv6/rC7Jcd3/3wyIaqyWSznDbfdA7Jt8u7ArZiDhjxM+3UZzO8BtALKV?= =?utf-8?q?lv8AKz40B34QIw7dYJTDv0OFCWb01zmOn5rBAIDKbfVFhd6YHZm/ONYcEAbpHxXk+?= =?utf-8?q?Fr9mCnpCJHu3l1CBy9nQn6puyU2Hh9nUXAHWu7e0s5rvxMEdaQCnMrPsQcNf4qgPx?= =?utf-8?q?lmRHSfPuSxg?= 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)(1800799024)(366016)(376014)(52116014)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?7xbRSVjqGUR/6OUft+2yH80EWYpN?= =?utf-8?q?IyeaWlZQ7b4qoranYkalnMuK0phTZjM5Ho69TNcVeJe1/tdspU0r/EoauaLg27G8V?= =?utf-8?q?zSaboRUe+3kBuLoD8qgk2jNIUOmyP3twJHVht3s2CKhlHypYPsfNNk3DvxLgEfYIF?= =?utf-8?q?75haY+fa1KtREkWmg60JZLnzzN7Gey8MWG3y3NQZKujtdA80Z0AvIdE4kHjdrFY0e?= =?utf-8?q?0ZQXQjzOBfzh7LmZuDHC2+8crYWGvrxLRs19z/Fshnw+4UjsPABJ+wsJC8F4md3xN?= =?utf-8?q?lbMHwKrwJDO21VIqhH5FsqKa+PkLBrTz5AnJKYQfC9olrAK6FEJNM14buAAvTFn2z?= =?utf-8?q?0Iec/tf+hX3h+4BH7RlvxzrqexrTk10tAkm7JUizVP9NwOiKAiVMipJfTIjfnYNMt?= =?utf-8?q?IMKTzhiy3yLUGxuFmEVPmcOi0bgTkF0rsfA2RDYKZAnbs8cWni9rAslY4PtUvHVlU?= =?utf-8?q?+P359WYVuhqnp3V6whXOdcM/RVU5izanuBsJh8o/k305aTJChSbMSmpQoSKF/FoCx?= =?utf-8?q?EociVpgszePXs2x93cUrlKJC9cuEvd8oq5CYbNgxbNSwBDKIFFnm6TJyjNVHwHvbf?= =?utf-8?q?lZhUx93AmwFdLGHYKHBWdZ4Cub6ZTqDDHYhzFtNcbrdoi57Wb4952szRQ8J1CJU0Q?= =?utf-8?q?nlXErzBWnsaChHfddXjwvw+klMCbbVezyU3TxvRU9rubh0PA6FI5NZbd7nIse/nRu?= =?utf-8?q?xXharsPoVLQESZMCG5pQ1EA9rITBVzu1bNkfE8mLV+LaHDNao6O6gjaOzn769RWrX?= =?utf-8?q?0tcDYl7f1WSBhGCdRi+Y/lPbyC/IqnooEWNPunH2/i/2z2tBIARqlFVKLslIsTtPB?= =?utf-8?q?fgo5umDmbbAfEl24obLrbDH67BOaDF1Z+MHBVoAS8uLs2uRmD6/9uZ80VQxNe4GBR?= =?utf-8?q?fEunjSK0QeLMw4w4TAV58jYioigdcHIH+13JWFTqjBSNUgDYCZk4pzzUl+fegsft2?= =?utf-8?q?VVLLH5It+jRRsckcNDTdIn+3dEl8KYh47eiwCmKEpaXD8dDprz3mq/sg52XHirmQ3?= =?utf-8?q?IcCyrzA6cgbtdgvgJijaHPbkKUHvwRynXh73Byqd6kjAy/VfBkIcen367KvF7QUsl?= =?utf-8?q?6Tyk5xZ1vLbxWgR2+G2V7nHE7b+0NJCtzizVVzaB/u5F3T+h2rzkaF5VHupiUrX7g?= =?utf-8?q?fNl4Can7F/kmgxeGUwGmo2kJyNRQL+yKygVOJVxRSqj/DfdBjCcpFFziZvNTdv0k+?= =?utf-8?q?OO0wzy76uwejS1QJTIIgZhEqRKeR3xDioc8hZ7vFCRXh6EBBplSAceegeG28emQaQ?= =?utf-8?q?PJvNz86ag0BRgkFUjTfx8nIwXmxkGeoX7+qDQ8RJd7AYochINzPy+MmtEdb4Jfn4K?= =?utf-8?q?eM5R3+hmd1tQv/zPqh1H5MgaOydCshR4yEMrnjOF8ckHVTItTKpvKFo4vEToS//+u?= =?utf-8?q?mRTPt2jhF9Ji7jR/nGeDjpWbSSi0Vev7fZ1E21VlJ/n8NQLd3t3MnpOXi3DiGtZJW?= =?utf-8?q?oyP8CZKe59dpV4RksjlL6qZ8fPGUxjw+Gmqer/V0KIORrg2zPTBkcK6F5qCxnQeoA?= =?utf-8?q?gr22i2x3Zwe0?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24875544-bd23-4576-e076-08dd5b31cc05 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:39.2043 (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: 3z/B/xk4UIfb9P6d1m8ggjqpOxaJ2qy04lOg95cuN9otb5U+6yodHqEVaxaIlPUhZZGjMelVMQI2DPaYuoH1Vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Authority-Analysis: v=2.4 cv=DPN14zNb c=1 sm=1 tr=0 ts=67c71d19 cx=c_pps a=S2IcI55zTQM2EKrhu3zyRw==: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=OlggIWMgOj6OOkBI_M4A:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-GUID: RbI5rGfH_qpDrhLhf_ndaT-rnZXHIXok X-Proofpoint-ORIG-GUID: RbI5rGfH_qpDrhLhf_ndaT-rnZXHIXok X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2503040126 It is possible to use nl80211 to request to the driver to do allow the required bus configuration to wake-up the host. This patch implements the required API for nl80211. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/bus.h | 1 + drivers/net/wireless/silabs/wfx/bus_sdio.c | 8 ++++++++ drivers/net/wireless/silabs/wfx/bus_spi.c | 8 ++++++++ drivers/net/wireless/silabs/wfx/main.c | 1 + drivers/net/wireless/silabs/wfx/sta.c | 10 ++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 1 + 6 files changed, 29 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/bus.h b/drivers/net/wireless/silabs/wfx/bus.h index ccadfdd6873c..79edaef20881 100644 --- a/drivers/net/wireless/silabs/wfx/bus.h +++ b/drivers/net/wireless/silabs/wfx/bus.h @@ -28,6 +28,7 @@ struct wfx_hwbus_ops { void (*lock)(void *bus_priv); void (*unlock)(void *bus_priv); size_t (*align_size)(void *bus_priv, size_t size); + void (*set_wakeup)(void *priv, bool enabled); }; extern struct sdio_driver wfx_sdio_driver; diff --git a/drivers/net/wireless/silabs/wfx/bus_sdio.c b/drivers/net/wireless/silabs/wfx/bus_sdio.c index 27c5d7f534a4..ab0793b9908f 100644 --- a/drivers/net/wireless/silabs/wfx/bus_sdio.c +++ b/drivers/net/wireless/silabs/wfx/bus_sdio.c @@ -173,6 +173,13 @@ static size_t wfx_sdio_align_size(void *priv, size_t size) return sdio_align_size(bus->func, size); } +static void wfx_sdio_set_wakeup(void *priv, bool enabled) +{ + struct wfx_sdio_priv *bus = priv; + + device_set_wakeup_enable(&bus->func->dev, enabled); +} + static const struct wfx_hwbus_ops wfx_sdio_hwbus_ops = { .copy_from_io = wfx_sdio_copy_from_io, .copy_to_io = wfx_sdio_copy_to_io, @@ -181,6 +188,7 @@ static const struct wfx_hwbus_ops wfx_sdio_hwbus_ops = { .lock = wfx_sdio_lock, .unlock = wfx_sdio_unlock, .align_size = wfx_sdio_align_size, + .set_wakeup = wfx_sdio_set_wakeup, }; static const struct of_device_id wfx_sdio_of_match[] = { diff --git a/drivers/net/wireless/silabs/wfx/bus_spi.c b/drivers/net/wireless/silabs/wfx/bus_spi.c index 20b9c016b40c..45ee19e1ecbf 100644 --- a/drivers/net/wireless/silabs/wfx/bus_spi.c +++ b/drivers/net/wireless/silabs/wfx/bus_spi.c @@ -180,6 +180,13 @@ static size_t wfx_spi_align_size(void *priv, size_t size) return ALIGN(size, 4); } +static void wfx_spi_set_wakeup(void *priv, bool enabled) +{ + struct wfx_spi_priv *bus = priv; + + device_set_wakeup_enable(&bus->func->dev, enabled); +} + static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = { .copy_from_io = wfx_spi_copy_from_io, .copy_to_io = wfx_spi_copy_to_io, @@ -188,6 +195,7 @@ static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = { .lock = wfx_spi_lock, .unlock = wfx_spi_unlock, .align_size = wfx_spi_align_size, + .set_wakeup = wfx_spi_set_wakeup, }; static int wfx_spi_suspend(struct device *dev) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 55573d975cf9..a61128debbad 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -162,6 +162,7 @@ static const struct ieee80211_ops wfx_ops = { #ifdef CONFIG_PM .suspend = wfx_suspend, .resume = wfx_resume, + .set_wakeup = wfx_set_wakeup, #endif }; diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c index 9e06f8b8b90d..e95b9ded17d9 100644 --- a/drivers/net/wireless/silabs/wfx/sta.c +++ b/drivers/net/wireless/silabs/wfx/sta.c @@ -10,6 +10,7 @@ #include "sta.h" #include "wfx.h" +#include "bus.h" #include "fwio.h" #include "bh.h" #include "key.h" @@ -816,6 +817,15 @@ int wfx_resume(struct ieee80211_hw *hw) { return 0; } + +void wfx_set_wakeup(struct ieee80211_hw *hw, bool enabled) +{ + struct wfx_dev *wdev = hw->priv; + + if (enabled) + dev_info(wdev->dev, "support for WoWLAN is experimental\n"); + wdev->hwbus_ops->set_wakeup(wdev->hwbus_priv, enabled); +} #endif int wfx_start(struct ieee80211_hw *hw) diff --git a/drivers/net/wireless/silabs/wfx/sta.h b/drivers/net/wireless/silabs/wfx/sta.h index 70ccc8cb7ec7..8702eed5267f 100644 --- a/drivers/net/wireless/silabs/wfx/sta.h +++ b/drivers/net/wireless/silabs/wfx/sta.h @@ -58,6 +58,7 @@ void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif struct ieee80211_chanctx_conf *conf); int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan); int wfx_resume(struct ieee80211_hw *hw); +void wfx_set_wakeup(struct ieee80211_hw *hw, bool enabled); /* Hardware API Callbacks */ void wfx_cooling_timeout_work(struct work_struct *work);