From patchwork Sun Mar 2 14:47:27 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: 870102 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 721142D600; Sun, 2 Mar 2025 15:15:21 +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=1740928522; cv=fail; b=bxqWrm4Gz3fvucleyCkLdVvkj0gcrYCjsu+jCvkI4FfZIAMGI1iQA+VCJaPYiBpQc0zvNSLcWR4aUYoJUsndOvq2tXgJQ2lelEBHwMQSXo2i+37WV/mAC9TqYE1dAZDzq02k23xkIKIJU/3lOpp1tYbjeJeC0bbo7YwMyzhgTF0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740928522; c=relaxed/simple; bh=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=EczGGoxK8b/1LMGaS/O6GuiNkmV/LO4ePKFbDgC6KvUguvc59jxG49xiownIu3lJ4BAGp8XlSm+57VbtWV3CoUkYAkHIBAok+mHJGjcthmvJ5vzTIfGO8s0On1kDsBlCFsJ+LgJvkMqgcCWudwyTydDOHahs3DtgjJoHJCeyoxU= 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=Vumz6p9f; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=cHVOAevT; 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="Vumz6p9f"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="cHVOAevT" 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 522DawgO009523; Sun, 2 Mar 2025 08:48:13 -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=Vumz6p9fzLX3 6vwBi886uu+IPipbNic0Q5+CcwP6JnApT0+85d72wJTtVkaOUd4sdZwIqhbW7neX lNdasrJOKSfNhfabtyGtoka/hnzsARZn7Um9CBmPIXyURVrrZ6kCdCBzaRQKxeBZ +p6ioSvmwLjFwnCCqDA5ttO3wwB3j/x6EIwq581jZYBUrJPKJyk4X3/cbeANcJaF VK4peRlhOU7MrRlf68l5CYuQX8gsE5NvyExu8UWY9sBtMegEdgNnowYeiXIity0D ZZeO5KPsXasnI6tb5mHvEJpOVHCfZd8u6K7upe11wVkGfYjvk7bEaG7IigsjgRZT /4RUX65TIA== Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegh96n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 02 Mar 2025 08:48:13 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kI/GH+HGz7YPzgLGVDGfWX21k4AnJZe736BPn+owmLMhVyK6DZHr/n09GRULy1UZlrW6XtkHlZ8UoNnc3r1XjIRdom2kAyyB5Zw0b2tsDZ4QMH0etdwsquqtkU2hTtfmbZ2IlKFYU4eEjYX4BA44lOazmtxq9V5w5OMsgccnPbXw2m1Y/9K9pl66JCQFR/VPVB3mMOyGgX6By31s3N892qjHEUDNjEhpg2WBMUpx+AS0uE2aTVuAnMrYgGLJ1xrsj0w55ggC/meE/R51QyT49yU4LE+fQ0/Z4OYmVsg28K+rX4BQFw1PWKuU8q8UIorEQkACLyca2Mpw917S6O0aoQ== 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=vKD1KZX70w8R2erM6+NEenj1xOca54OWTRhlRSrVxreGORj4BLX3jEO6rENvUaynwgoX1jRjgt2uiRPaMcpZQ7hj4GZ6F4cTGuADn4b29ieWMofIf7S6nK+1/C0xXOjaYeGhzCpBYjz2NMgG4LrA7cJF7bRH+VJxFdOE1ZIsPAJnlc5BBS+UnEkxli/H/V0O7+Jyr0LhqKj2AnTVyE+FPBa537PKQGk2i5I0ENIsDZTrY+gkmhrHb5X2X85LdjC9jDf2DtZWiXYhPPI+Nga20T4wTGts4G4IGJ5uNBU32oA7h+2FFAiIaxns1G4+qYSj7fWBNIK3b3b/dbauivhI8A== 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=cHVOAevTvy+hagBsXV8F8QHA201CSwXMrC4kEpKEl2noPYZWSHEJ1sfVjJ0cjjAG7txtEKWb5NUL1gsK/YV1iM1YSfSBaGdMTcOKWZRupIJz8A/yDP3lczkeiIOYVyK7rAtwt5kOG3EjTxbOjZozWTx20DugLgTpmQvdi/PimpE= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by DS7PR11MB6062.namprd11.prod.outlook.com (2603:10b6:8:75::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Sun, 2 Mar 2025 14:48:10 +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:09 +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 1/5] wifi: wfx: align declarations between bus_spi.c and bus_sdio.c Date: Sun, 2 Mar 2025 15:47:27 +0100 Message-Id: <20250302144731.117409-2-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_|DS7PR11MB6062:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b1e3746-eae9-418e-9822-08dd59994017 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|52116014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?eh3JoXqdUoWwlNnQi7BiD3OuAjzqZGE?= =?utf-8?q?tdxwHfB0JprgcqHCoKUI/kJf1eotfNxEeDK27wF7IGbAvZmFnymxE7tF/2QE0lcGE?= =?utf-8?q?KPlwwPo9+1LOUI3U4Qqa8Bb+6SOeMCGCQOpnNqIC9/t2JUAU7uBxkHPwVfQQtxCnV?= =?utf-8?q?QmVLsdVD/u1gxarWlWJAl1RCZfUWT1CZjRFFvRbgmN0fxp0Ya37RvyYtkBK6G3OTc?= =?utf-8?q?zNqzrzGwFc3iUKalbkf98zVyJC0YUbWYz+gWCAd/deP1IhkdizsK+eWuhTHffPjMW?= =?utf-8?q?3uhf1cX9WB+MhotT114bY0AZ0WgA8h/YBvhEPL5dYGovDAtND1EUr7qPJbgC1r8M+?= =?utf-8?q?Cjb0aMBnJvZNoAMw5EOE5/gUhlttNfMlnm8zsKR3MPnbd3m8XqJpM2cUUluZby/lL?= =?utf-8?q?aaWc04T0R6O9glsIY74KY+xk7xwtCi585EGVbQeE/P3/5HVJ29+rg4tioqKF6MCWA?= =?utf-8?q?xWhaNfbB7a5gKR5lscIfRByfYsJCRPBVWpuL2p7psqfTFLTWWjRuDL7H8Ty6131EY?= =?utf-8?q?1LYBTM8j7WzquoUt4wVQ3VPHHFqX5V2Ag/ZWvkH9BqqsSC4wJTJw54dBw9n1ngndW?= =?utf-8?q?u6vvHR0TBNFsF7/UqKEo6YnmKB08OQB+sFFgT4gU4O89gzgvQHpRqLeEnYGQ1XpfS?= =?utf-8?q?pq8ykqmvY4rF+MU4GKNr6kCEkLpVYjSK5L22um+NYkCJbG9PFfLZDaiK+KsNvXhMm?= =?utf-8?q?PU0NE+DWmidw3QCcwVSaSn67tEwQLrwbmIENzYD/KwgHHcpDUBw/B6wcXPFnQYW1Z?= =?utf-8?q?GTXRoiKQkJ+LJjOctNHbjeLdKU66WA9Nlhijp7OG3WNOPAbeB0bhAu15wY5sKB/Ud?= =?utf-8?q?5RUFkdYue9ORHkvBUQVaeFUYu7t9zZ+A6wu3OhoATHiQ4BhOIYN/x9pZIPtzsMPaP?= =?utf-8?q?hwZ+suuKCTltcgkRtLFcrKAqlyWyy+wCsLyVQ6UNo+xYcrknkjogg2RVXaLnURXcR?= =?utf-8?q?U+Zdirv9Yg2XyYDVf/Dt8LkRZ6dJx9Aktg8STWJ16LXb0LBD4HaRE8dHVTcuTpapN?= =?utf-8?q?qJqsL9nVTtHycE2G6ZduQ8MG31tZf36tSdPYEDxO2r1bzAnLdHGLXnqOrFZvqpmkw?= =?utf-8?q?2QW1qxeRHMhpdeFr8v3xL+R4ugpsr5ZVfvsYCC6TQzAi5KJ4ex7hURMWKRRpggV8l?= =?utf-8?q?EsF9fLiY4eTWcRhE+jtJE437UQvxzHQTgF8AriX2fn+2owDvNumygcMUDyC7cUCz4?= =?utf-8?q?7cgTGSKNjJw1aRIupTAPGYZHGJ0CH/W4s3YKjuLHg7PffrLdvr6d2GCOsH5+cbPav?= =?utf-8?q?xgtDRzrXwCAVDtvNclgFwHeAQbu2kOFwXOfSii5yBGA1E98MdKo451WuHFREJJkRx?= =?utf-8?q?NStpdF1QY+a4?= 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)(366016)(376014)(52116014)(1800799024)(10070799003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?C2K4JtvF6fprb0WkAiD+w4t1OOkJ?= =?utf-8?q?6WLaztLVxSAvn/Ek1CN7YvOw+x9ay6Ei2X7rzWpagVkQf1daySgpJZFZn/1jlvxRf?= =?utf-8?q?3fiybgDO2mwxTa0C8ZIM9SVlsxqEEDXIsfep/Iq0BwWmBEjWdWCri8xLq0X1I4AvN?= =?utf-8?q?cjjir9lgSmYQRPDxENvW3n7ZrpeTLcUHTBAWAEMVryoe/vCSgwfeZRkdR51FeXOrx?= =?utf-8?q?d2L9pDWmizNDO+5jiNjTDvMZUiNGIfRDVjYP1E2NVJO1VufkjfFBuni4WmroRTU8X?= =?utf-8?q?P3CGQ5o37objO5NkD92F6Yx2PYpILFUhJN7TKdpytlVegC0/u7ab836oprFhOGOL9?= =?utf-8?q?CIBQVLaUnikZyFPgLcFHA+jXfrLIJQgQIx4k/+t6wo/UpbLn1yFA8i60zs1xFM41p?= =?utf-8?q?zH2Yy8CIW8SA7PBIfLtbY8n37hXaHK6qk4VGnnWbScZuWqxGoHPSE9zPHAsJjMU50?= =?utf-8?q?YDAVo+pUDgvVZSZJVSn3trYGtdu8bZR6rTxPw83q8FX+5yyPo1qaNMsb5OqOrCdWW?= =?utf-8?q?/Gkz7h4+FiBxsYvbqJ14/KCKe+ytdLwTicnVWWnuS9mwlqMEeTFZZTlq2X6HRruIv?= =?utf-8?q?e2psyp1AP1XP9HKlzQvnjzffLZWeRE4+jjBkM8zB/JMfgyHsq99hKZpORMk/FkF56?= =?utf-8?q?j4Vxo0hd+nQBLRVPAUO8lFaXdKJmetNQAJSN/cxIKgpoRe4LraxTws1lA8j15lkiX?= =?utf-8?q?7TeU0FhP8dZq2T7TblfDs3LKAZ86wj5Q3+ufMXL+0W0y6HD5FHkNM7QEbmBEByO0t?= =?utf-8?q?8Uuy+6eZboPoBDFEAFurgk9411PpZBcjb2GbEhojUk2/hnkRmXrlwkw/bJGblcAE4?= =?utf-8?q?VQim6LQ/XDql1tuLlbPfrDkWSWJ+S1F2f5e2JNTcC8dmVTpIEJmMPAsOqU+BCZOVq?= =?utf-8?q?CrYe/yF5HVEDWSTVVpUiIMhRfg1gjFHcL8XIxv9oAjA5eAr7QyQGqrmeme8HJHzLH?= =?utf-8?q?gxztiKRPsZTeocdsbfM2KdPpgXq8+Ach0vyTYmVzM0gee7U0X0b23A8AyggVZJrHt?= =?utf-8?q?nqWmyKrAdE1ZfVVyqz7GB5iTbImYbv56ts4CI9NdVh6/qntA23XtA2LflGaKy5bt2?= =?utf-8?q?JOF0xVfvJBzOpbvYNVAdCFbheIpb0Od9aiHK8QLMEIe9KleHoyEEb0PEa8+ZTvao0?= =?utf-8?q?Xf2wGupUNEkJwn39wd53MKM2KfmdxWmPzIoRwn0WPGx8uuDflDtHvmMQgzgyBvXKy?= =?utf-8?q?HOokYcj04ViP3zYhOqoLUdKKD2KIxfj33mT6/y9RkgcDGUmR1WwH4VwnBUQ3dQI7R?= =?utf-8?q?RO6zvSysfO1u6ShPJUJRiXVVCyomoFdOFeRvy30XqOJmr0TyVS9iExW2pNqgR0WwK?= =?utf-8?q?MYMYLMslRK71mck4A0OFVyJXIUODlZOHEa4p0tDdgX96J3LZrq2SaM2ofZck+xPNV?= =?utf-8?q?y43o42UCqKAdc/siYvYGnZbu5LdqifUraQoAodLv33kTgwHGsK1GkgrwTo48fMbO2?= =?utf-8?q?goXl+IqXxmrixSGpNoaYNRP+LG8UDnZ2HoTssYpbUTBhz4oDM2hj2Gv/9osKhhFlc?= =?utf-8?q?3zb22kcbigig3vOaMp7i7pO9Ap21EuO36uFQMpO6oRR2peHyjJqTOQa9jVreqVoOC?= =?utf-8?q?tfe/Y+FOTKd?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b1e3746-eae9-418e-9822-08dd59994017 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:09.9497 (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: q99njI4BHFWnoyA0BOtIDx+rfF//LRHM+r0QQ3+PMdd/kwdBj87bJaNiRk6tZeASpi9skGQZYo1Qo/1g0NOnyw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6062 X-Proofpoint-GUID: n5mI8541ID66aRY8nMnkwcvnMtGlCfi0 X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c46fad cx=c_pps a=CmjB6Nkc3E8pi8fe8piFzA==: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: n5mI8541ID66aRY8nMnkwcvnMtGlCfi0 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=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-2503020120 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 Sun Mar 2 14:47:28 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: 869819 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 780411DF27C; Sun, 2 Mar 2025 15:08:08 +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=1740928090; cv=fail; b=BbVrNkz26Epsq5QHrgJFcW3m9BP8PePoFEEy6OTPdaSwZnSMSz/T/pcB/yMpHybCp/RBYZ5meyIoYn2TJrEf5nHdtX7d77cXo3vUNTG5DvU6WX3UhutFMBrbKXGr+BsRceivh+CA7fzn+1mfoD8rXRfY45Fm2pl13i2hwyirUMo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740928090; c=relaxed/simple; bh=6UmdweTbepTNevVyEOrLmWW/3oI+yx9K5hTh7FFK2qo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=tyONrSn8tbV0Z3/5jbfz9XCpBNHyuTDdSjRcMx3swcLsgHSufd2req0LmiDHaqpMvEvTkqcBP9terVnGI2guJ9ZgMK4Y+Gpg1h2We+DJfH7i6n93oCGhtjNKKXOvSwNM2vITh6+sUgX/CSxMxBtIcLcREvpZc4UnGlK+J+KGh4M= 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=sXKrhOpm; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=Gzorqp3X; 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="sXKrhOpm"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="Gzorqp3X" 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 522DawgP009523; Sun, 2 Mar 2025 08:48:14 -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=6UmdweTbepTNevVyEOrLmWW/3oI+yx9K5hTh7FFK2qo=; b=sXKrhOpmtbFu GFNcM8vY/PtNTqAk0VZBmHgVCTX7kFDwJRZ35aZUCFol+rnZaCc2bw1PEVDgXOrd L+F0vmCgClEVlM6lHbw8EDkU3riprF2zhjDQ7TvyhYq4Bo0pFc/jfwHMMm42ny7l vIR3tVUxx1k0nyb9u0VW/kKKMs6gVAZdaglDC7Ld8KImHOT9EyOy9rlQBf8dquwL 2PxL+vKcJUkGxoWD8Xce0y36OcMFKF7xsyou87R66t+Nqvh5tXvRWAymB+fo+I83 flZWiWlLJX9UR5WAsygBVCF48CQA+Salj3mHaU+DJK58zJFYXWjL1ITpzSrzA99M g7zHzz2law== Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegh96n-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 02 Mar 2025 08:48:14 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yqHe7EXqU5iJM5BKTf+TA1bJAgsf8EA8n2FAjfuSk74BsbGrzg3KSnl+NPsTurIFeiwttmPxt8Hc33ivQIRINQWFS0T5Y8Xl81iuri4DGmIIpYbdlXa1r38VYMHD0OKn6dm7bIFGtrjqNMkiV3hBVNEAFv/H6TmSQ4RFPlXFnfaeVnfuecv90HPRtwk+C6thlljOULQ1sE5reWCUoWOqJfPJiWb3nMV9hm2kT8FpM6MEGeR2w9x1YAXNVvyvCIvT6ixvfU39mQQr/Pq/vRsSL2lKU6fCffBeMFugeQ94j1XvRyf3TfgzdSNGqniMgkqvOzdfDR3kLMZ2rzhJ4v+5mg== 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=6UmdweTbepTNevVyEOrLmWW/3oI+yx9K5hTh7FFK2qo=; b=yaMBCfsWo3FTmYP6qMAw8RUmgsItscV7lBvdQ0R9YmDtU4+OaTIapsyVIRsHIM5BYW3VZt68F312NR4xl/1MvmMuqIrrN5jcB56ENj14il5ijwjhNiKwW7M5/FudWn6xRXFmUL1uR1oU7lIQAsHlCr+46G2oa7xlmACR6eMLx+U+PPBWehg/Se7sThkP900eRgmUKHDq9oaDeeC9w3QgioMfJ8Feuyjytq1S3vjbc9xljH89O/TMT9VU5YSvU/EZqPMzrU8A5ua0oJ4P+8jWar7sNWm6nhsykTI/AvuBunsx8mBXLP7G+HJguk6rTogxSYlnmQR9K4pdxnALBbS+Sw== 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=6UmdweTbepTNevVyEOrLmWW/3oI+yx9K5hTh7FFK2qo=; b=Gzorqp3XDGyfLgg9B7aWErqrakCBRxs0kOA29tcAshiJO7eV+rwmfJCsT7XcHWVajp2EMWN9M7iyPorbrGl3EtWptCAJsuKvQNTMGEk/yYctbE5FBrqx48WDt07dtEKLieeoOPL2iIkEA8C12M138xdqdC56s6DtLGQWHMRpBAM= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by DS7PR11MB6062.namprd11.prod.outlook.com (2603:10b6:8:75::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Sun, 2 Mar 2025 14:48:11 +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:10 +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 2/5] wifi: wfx: declare support for WoWLAN Date: Sun, 2 Mar 2025 15:47:28 +0100 Message-Id: <20250302144731.117409-3-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_|DS7PR11MB6062:EE_ X-MS-Office365-Filtering-Correlation-Id: c3427afd-7199-4394-6246-08dd599940cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|52116014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?CE0UiZk/9NSY4WCAVzPFBLYYJh6Lob7?= =?utf-8?q?fW9YWvRa4/0STmRYG6u5+St9++F13/DGKGO+TPcCIdXIufVCSJEg8bL1c2XaQ6/cs?= =?utf-8?q?DxbAPhmRg1vVR/ZZIE15kIc5aUKXHQq9Vl9FkEMISsllWq49tMR1MCsXZQjKBLIXX?= =?utf-8?q?BPG4wtCb0p2gScYul6iK2NsY17m6XsfOjhvrNMSzQ/6eeDftafjFHep4bvDuF/i2V?= =?utf-8?q?UC07/PufN4HV3cNCHm1C7wxZjp3nMoxz4FZ6P3YP+wNpeeDmQJyM5JkinS61a+5cd?= =?utf-8?q?GYzzfIaE/Bmq8ajmCNdQGMpRLknMyQlBEVkuq6AEeUgLv9ArqbhP9C6hWRgY8GmdY?= =?utf-8?q?zSh7CxcoHzo0OMd+YKx65ZX1vfyS8KLwDXKzWsPBvZtF4s/EPnvTvxrvp85Rb+Yyr?= =?utf-8?q?ENY7Z56yxz4hH63ewbhqiCV4Ewi+Ifs/HIuETWiGIvISsUcsRsyGbjPtGRSfpr6JT?= =?utf-8?q?KkmYdpJJ6+7W4O6gtUqGJte4yJJh5iE/cB52EQVdtYD/N4T20J3TMA/iM53hV89sQ?= =?utf-8?q?LUP3AQ/EC5AfWoci93Am7F+R1ZLZuFzPBgYGRFJ+hsOCsI7kXqaM+DUSZcqi28Ndc?= =?utf-8?q?rLSJllSU1LnPPNWGUzjbo1Si1WBUj4KVPAPyaPev8jZghCHY4Dm+SN9qPC0NZkw9e?= =?utf-8?q?TFXsS05G5nc1vTWO7wQu1oeS7UGqSiGtv4DMVSkSh/HJAmKzjVea9yHDCXRuoZHS7?= =?utf-8?q?Z2NoodSVA2Pl6ZePCoCHMSMx6hpWZ4hV7SU/iungxhtSsVbMBzX74fYjwThvTj6dP?= =?utf-8?q?mLQj5qBgj03TxEKezqvhVKW9dkrhwk0OMmpEVp9w50QyWQNtIuabTcjc/sbf6niMa?= =?utf-8?q?VOBh/LsHEPXfMGISK/iMIOs2zJm4y3rnCpboRJAKe3aXcfE8OniDNxZZlEC7yCHEq?= =?utf-8?q?zWfbiVfhs6XK0g//tW7SYNaZXQ6gC3M64S52f5MkSwUZGspS4hFUjDBvN/oGsd2ON?= =?utf-8?q?TGlQ3H9GFJZ7tCCEsaZ/9JQZMSiKnGqBbEj9+Xlg1Zbgha+5A6wYfGpWle7UN8At+?= =?utf-8?q?PC+1CJNvIj7GWBKnQ+dACgQOvRZlz5/jPjWzZs7hyVYV1Dl6VTQdPq2pae9mQlVNH?= =?utf-8?q?0W5byBhspm0hLn745lIdnJU6Oq+/7KN2cg75hDlOLZJhCuCTKcyE8VGK2X19ZvNol?= =?utf-8?q?E7ap/a+iZQPFeovOMPQOznhKtj+aNrm58R+b7LUzY7VgHOChBnquPQ2apW/Faevo9?= =?utf-8?q?Do3CaojxOHQLKgEGXdquFajOEg9N6C5mUN/aHcEo/MVVLqaNqYr3cvM2u4g42Egsl?= =?utf-8?q?ivVWA2UFncaVcLYfl5Jlsmv88SZ9gxWU/mUt1vSbfG2Wt75f16Rj/OS1ikVn/k8l/?= =?utf-8?q?ckuN05/JvhVO?= 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)(366016)(376014)(52116014)(1800799024)(10070799003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?VKx+dEGGv53JqKdJEUVHlnQU8CcM?= =?utf-8?q?ovRLWLituugCiP3rd7+R/YmAI+0XdBlYAFXF1oHHqaJawrZCyoxdBgQL0Gnl0es+Z?= =?utf-8?q?G9EeP1zz+6U6787q7NdYAm9jfZB0mthTsVwHBe8evPFOaX8WqvLeam62SRMpHN0jP?= =?utf-8?q?qYE7r4hXTkKt9y3w3D2imPvPtD2wQFe9QoLxPyeJzlHCP9J62ajT3pdBYSIdPgN5H?= =?utf-8?q?awY2l9M/6LpQ2LwxYtXLGr6pt7VokGIttI75iBQ4U7PNsAWrBeG88xpwoh12lOyRc?= =?utf-8?q?CLGeUThb1y6CJatzQUNx2kib6dQDLpx6MaSq0qXdPRtPzZDd0x4oHSJsMEjgbcEyQ?= =?utf-8?q?wGyq6L0yFJAGwkdHQTcRPDUGW9vUUujC2kXcWchpvncg9buLmjAZnJ43/uE3JTmPi?= =?utf-8?q?0t1S+fLUlfRKc8ywMSlus05CFOjt3OG92KTztRSbhN8+aJ4zuMQQysXFE7RnMf5xq?= =?utf-8?q?84FDqj39NlygPJ5V6DI+stWuplzJsk7dYNhEQZswkrgOwl4C05sooh8DOouDSWFS1?= =?utf-8?q?9hEkb69UssEreoPGyBGndwn4jBxVQ6H79ARg+W/WvEggpBenpDE9OE/E1FD1M/3ze?= =?utf-8?q?X0pXm79Ly0cNyf8+q9ngvbgdsSAVqp2dAW2yrRFJWOJOkQe9VUG+smkHwVpLAiIZi?= =?utf-8?q?tcAbWWo2Gfz/oiAIV5v6mhbtPTRbViIJrVupKl7MUoOWp7UU4f1yu5/GUFAY0d2rA?= =?utf-8?q?Rb8HhTsyExGuAuUtE3Y36gtsuCoEEWwGS53YqopeVbZudv27zcDgkWGEwcrRS3tmN?= =?utf-8?q?KWn2+CT7Xg5vN2JJA1PGifYy/DwsL8D5soCVpz3V5PUZhXbEcI0ZJ/g0IINqMfrEC?= =?utf-8?q?ie2CvQMkkkVH0V827dq3h2gU9jgwaLigR29WgLDOstXVoYriIg8ydcek/zDlIabsS?= =?utf-8?q?i4AP+tt/8A3a9cldQEiVMyuOSR9I5ai8PiobabteeM3PTRFb47bHXcEmCRZiObYV9?= =?utf-8?q?65Qlpy5h3Dn3eD7+KlpjN3ptv7fN5ml2M0LKKEoJPxAl1TultkfSDozx7+Scn70We?= =?utf-8?q?xUvF3UCMvSDR8eiYcxsJHksRtG9n6Imp9ZKk4tIM32q0x9z4Y+OWm7zxH/RQZSnS4?= =?utf-8?q?RMbfKDeh8gl5MHFvN/fCBsH4RaUS0EPIhJs2dcFZJon0A1S7cdFSoiViULFGBDqer?= =?utf-8?q?9wJwEm44trlrpvJnfWXktGaVCF+grYViqdLOzr1+G/ZJJK67X18EX+cdYclczxIlm?= =?utf-8?q?3ZpKue3ycj+nG/wG1nwW4i7PkiKmpHMrDtxdGXjsbvX2/XK2BazGjMw03ueOu1Z0u?= =?utf-8?q?8ugo7+oyqKej76EV98X/if4Qrrq+34ifaEoYpqSbaj6DNpedlQx/BwKBM0O3BgAZ7?= =?utf-8?q?7BG1gIvOnccH0at5TfXELj4wVP0PR/QcfqvgQ+No0JRZtKujEc2a5xcP+aVO8Erfk?= =?utf-8?q?NA/iYwU8d3L2KvtQVBFLKRjEeZtVV+gS4zLDMUI0b7ngV6KjdQduAgUAjPE5hOQul?= =?utf-8?q?3dloJmn3Fry8tkvAuzgwWD4CRqiwmXid6rtddzVcrouGyNKwdZyXlyTcKA0ibT88J?= =?utf-8?q?F+4kHBXl4f1eHZzvk27ucEbc3r9r40dfBKq4TlnPStjG4HuhBadnVTF0j8cH71pgH?= =?utf-8?q?ydrIwb71dNP?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3427afd-7199-4394-6246-08dd599940cd 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:10.9502 (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: +eyLyI1pCTixEQy4x4IxzoOsbt/HJic/wVVtMsYDJ1SErix9OZsu5m5W+rfsG/X2CsEY0637ocC5p6UbH4hOkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6062 X-Proofpoint-GUID: LZTUvNehKiGO-JIlxV6NyRgsY5HtKskQ X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c46fae cx=c_pps a=CmjB6Nkc3E8pi8fe8piFzA==: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=JJM1JWLTSaUvPDQ1ZrsA:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: LZTUvNehKiGO-JIlxV6NyRgsY5HtKskQ 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=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-2503020120 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 | 11 +++++++++++ drivers/net/wireless/silabs/wfx/sta.c | 15 +++++++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 2 ++ 3 files changed, 28 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 64441c8bc460..62586786a45c 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -121,6 +121,10 @@ static const struct ieee80211_iface_combination wfx_iface_combinations[] = { } }; +static const struct wiphy_wowlan_support wfx_wowlan_support = { + .flags = WIPHY_WOWLAN_ANY | WIPHY_WOWLAN_DISCONNECT, +}; + static const struct ieee80211_ops wfx_ops = { .start = wfx_start, .stop = wfx_stop, @@ -153,6 +157,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 +297,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 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, }, }; From patchwork Sun Mar 2 14:47:30 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: 869820 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 0F9A72AD0C; Sun, 2 Mar 2025 14:59:59 +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=1740927601; cv=fail; b=ntP/L0at2NRDBY0a/wgNKKTc8x2NrSxkyZ6lRttrIn4/f9I26HGMJ/glGrPZhQ0kOExgd+NVo0GClo9fLwWepbsUCVDVwaIuQkVM8sRAn3reTfjBb1ALqd38A8Mrcc/s8cZMZfQjXu0438ZqGr61d66Otw8ATLTLri69GMxCoIQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740927601; c=relaxed/simple; bh=wbfzaANHWrZwHehU6zHqx+P4Q8s6SqoS7Ckujnd6xIk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=rJG/sZIPQIzncAJrBRGgLhCsKDzAB8TCIU0zg61ioXpPA2mefPKFISCoboGKbsN16y1h11wr1xyuM6ayawD0j2wHvdLlS93gopOvgD6FAfoWQOjgoWjcNtMAj0s8Y4ys2X53scnhp8y/F1DXOkiz+tGcXdf2Reo4CNKvykXhBWY= 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=hyDR83W1; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=AOkzV8uL; 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="hyDR83W1"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="AOkzV8uL" 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 522EItXZ010648; Sun, 2 Mar 2025 08:48:16 -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=wbfzaANHWrZwHehU6zHqx+P4Q8s6SqoS7Ckujnd6xIk=; b=hyDR83W11vvJ up7rOh1WFW2Hxlj3uh6PVna2/nK2St1A3T6GfY+Ui6si6wGwwl5fkjx3Fmik8Pib tX9MFrnknmK6YhEov1OXJ8a7oBaPJNLYX1DIwumIEH65sFKRfB5ZfwnucKJ3zqEV ixCQJ/VYBgowSAeINrb1vrZLKzRvB+NqtxJ+PLRaMuXZKRiiGTfDTednqZr4Im/Y po6JcUCnC88iKXBUcT2WWUlWNEqebmuWUXAHPOvg9p4zuk7Eh7FIKfiZ3CPv7AP3 Cuy8G1SFYHOYwInLnfhM1gNBMBtEOhhA8kwbPZcFEeQXgSSWSP3gdSDNUAqtH0ni 2zuB8eX+NA== 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-2 (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=NxvXb4Azs7Afw9ymZZ4NlEdpUkA9RFUeVi9yQDnUm54foyahcXWVbYbb68BPEOzluMNa1ySCYcSnx6FkHkqHutbYMdfkWlYn4MKxMjIQ9TGkIKiFiv5sI/+XKjy4FK5dKMX9C7tcqEl/eD4K/a2K3ZGt2VXObCOvy8X7kK82Jbrcx3qvDMWwTZUXlkhuxS7gM3U1INP3vK0i18ln4l36T4PSJ8jqsTLGef1l2k0RwRTZoqWmToShd3NnD3heeiF8UvMKLlyQDV+QSGok8rWdRmilnYVu6xW72q5w5O3UfNW0T/LJcgKjf+p3fmHBG5vqY2MxjseCAWZxSEDnaqfTiA== 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=wbfzaANHWrZwHehU6zHqx+P4Q8s6SqoS7Ckujnd6xIk=; b=ISeu8L+71NwNFwLyeN2t9imnztOBVl14qzX0sGPkf3Pcke+/DsB4LbbhhODK/veqya+tobUTLm7OgCfe0ebe904ZYt+3P7H2pIAhzpkVMCIEE/qzQVA8ukYaeAwLa+w2mCkivR4yaJQjmZ2fWY62Z+wgMI+N0dy83bCLTthALkhSBWo69zKDuPIWzR8IoLrH9g9p19ogwQ/4TsJecTKOsmCigWTtTAMliJ7fO8kcagriYND5ZCmK7REcPvwR3XjfSAtKQlcUPJxYNq4ErnJ3C67OpvLok5zX7I2wtYn+KRkkXdsD5MEDOJWSdHfv6nKpJsLlYSBlYLrGhrNkWNJzVQ== 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=wbfzaANHWrZwHehU6zHqx+P4Q8s6SqoS7Ckujnd6xIk=; b=AOkzV8uLpdUi0kUVD6+2MqVMQAn9GSJV7H4EITjdnFOPtvMmkFVz3/jgKpANEVxS1i6ZTm0bfzAI2d+2NBUg1yCAegB1xqDIY+TNhixqVXN9EerMCwHOwhnDPVe8pmTHKExchhoMwPIe75zihO7ap2si9bcTvLigId6PE8fnOMI= 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:12 +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 4/5] wifi: wfx: allow SDIO device to wake up the host Date: Sun, 2 Mar 2025 15:47:30 +0100 Message-Id: <20250302144731.117409-5-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: 445870bc-35bd-436d-ece1-08dd599941ef 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?LDCTbnI+UJk8IF0NPWIOPAp3Psdc8bQ?= =?utf-8?q?Ols2n9GeRKsWfFLOGYUBdBCxyvUZVwK2z7W/hXYF2EVucTsugG8nR3U2JWC8WU94L?= =?utf-8?q?KPqpwZcVSozmfGTU5tIiSPR4pVkXAJlUHHqfQkbWNhxX7ISvLal5mi5BzLIEfVQLK?= =?utf-8?q?WaoTyoc0eJa7BFrwXDC7hiHoVzgSe3bfvXlnohHm1wdWoy64/Z/YBtuWDqvvoVMZL?= =?utf-8?q?oeXmxWwqWbZtT09jXOoEa7qmn3/akgAbc//evYgDBvrNxCOo9KitlxqmhqW6wgzgm?= =?utf-8?q?pnPd3ZAUZRnPm/oj7/gYeforP7B0NlzWUte8dkxYJxKmQQHUdvKlaradQOLy3nKMN?= =?utf-8?q?Pfbr4Np7K+6Z77wmygyxfYM4PfIf0Hfw5bvs+Ap4BsfwTzQn1GBYztc3pal5t1cPM?= =?utf-8?q?lsLsoEp0E31F4FINv+a8t0D0c6BaxQlk8S+1ZGdl70jgNwxmE2MgG9PKpKa+qnp60?= =?utf-8?q?b7QspuZ9IvKoVm1YSJVv96X5ewA2PYagXS1oSUhcGlXBCjn0cRgr21KpbD09Jd6eM?= =?utf-8?q?BG/klw4/k6s4a4zTfmPabVJnhFKwBVLUYTSYtZhX4zfquof8Lpd59/rNbGFCSswjk?= =?utf-8?q?wvsPz0Qs5XHACi02QqQEKlEdDjC3gdMZx9ho3Wi1OBFT1wu+7cDoGRYYKueRtiM6R?= =?utf-8?q?60Z2d2YFiGoLwY8TtWkrqvwNKScqTUezFhPjG1/REKLdLfkDvuFzqQu1cCURg/unt?= =?utf-8?q?5fWN5kmrrX5VvXGf1yXDQsW0Pr1bgVmrD3LkFkZ+DzE1AoJU48kd8rexwidsvCZUs?= =?utf-8?q?AO1FP/OHpOi32KUVorMraS7460wk/49Nt1ySEM0tr9JzJmGMA6WoxXmME2kJHhT9A?= =?utf-8?q?1d8eCu1ajg9Et/ZLULVmb9vAzCDYlYKx6Zxf1Uu2hmJH71HEzYzw7IOR9XTDjAgPj?= =?utf-8?q?RzgrCt5YzkHXG9ZmAdr+o2zsxIpGzyGjCq/BEE1df84IyuJTcUE/naC4gze7artxn?= =?utf-8?q?UdqW6c1zPi/YPYlHsEVYnym4dpAyJR9Yvvr8kiVFh7mxD7D0u/dBMoY+LnqU/0kAL?= =?utf-8?q?0ExESU0cgpPkW607XhmSkRo3J0/kj3xLUiZbkNldry7+0r1oMwvhW5kw9qjjLZs83?= =?utf-8?q?vd7gdBP5jzPYWlXiD0BEmuIWK8KYwxhLL9St2H1cCd4MPRBHql3zjuZ5B7xX31LFq?= =?utf-8?q?/UaQepPvUj/DB8NtWdKAWirpf13a5j14pQUKtKR98l5C9Tb4Mz/uUDzLRjW9UUriA?= =?utf-8?q?+YT0z3x3ifFFHV3gBbBF5MK6p3/fAO/eQ9kMWUAemZdEg6Np6sUsVAoB4yRRjUe7M?= =?utf-8?q?1jrkMi/zRQntmOZYrW/9KmNZjwNG7zCF3ffaFW8IbJ5Al5zT0xpVVS+Itx3RWKP/G?= =?utf-8?q?XOy8wQwCrii0?= 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?ryuBvMX4+52cjc0ly13SI+suX+kF?= =?utf-8?q?IRpu2+hHF9LiOR4mazhG+Ndyd4Beuxs6P8M1PPXPNAZDzI4NstQijLRJSanO7+46U?= =?utf-8?q?eJUf6pVBpagiHMzzXNwMtJIx+iW1t1mbIdCCr68Wk5zu6Tqd0aPqecTZ47JDh6iVM?= =?utf-8?q?BMi33cQSn4opD0InLWNowT/3ekApiExYFXaeYIFpgOJ4Ro8XKDjnwB7ADZc7Qo8wj?= =?utf-8?q?z9JMbJPYMBYTbPG22zlRjYivW18MeKTZgFDLfxIeRhhPSM8OxG4ePfzhCojGDIq+S?= =?utf-8?q?JzsXT0ZLsmzIL1X/jlQnUPBvAmUdkzof3lVDWjp5Xy8cLFVow4wbkaP3riavT4Bg5?= =?utf-8?q?wMITvSTp7bfPqxIkkaEoG8fEFSGKPjnmcfX45LMw3Dq0BcDMgCfYwVHIEoUMk98AH?= =?utf-8?q?iPKo6naNUNVIqHvGkbEyF+t/+DUYBwJGpULiAdOILRFlUD/Y/ugh/4z1I1t0s4YoY?= =?utf-8?q?2d12kqNgjinGCw4nZEEj6+/corAYR02OULCWdV+l7D3VFip/44ngUzat25vyI7UXO?= =?utf-8?q?4pwHfA3n0reT0GLSfWVbuZ9cqHjgum2H9IcBAeltIon9GTdQfyOGQqSRBOmLB/ljq?= =?utf-8?q?bDbltC5B/5dnSCjLX5l1sCtWeEwuOgvWjDTY5LMySgMgd66TRlT4FuMoICKyRy2Nu?= =?utf-8?q?EnVynhUl9AK6TObOAncyZrLaeY3mYBduBhRsEAopXvTDeUu7Iehi5CmWlwpKa43Yx?= =?utf-8?q?Fl5DOOZS8IyshBQR0Y9wCxMzkKNwZU+V/VkNUA+CDxvfqcYOjnbP8lqBw9b+Kuv58?= =?utf-8?q?YC6SmURSX9bRUw0d7TXnyX2/MJXKP3Byw115KAg9/PVNhirDkJpU5u2mV0PFkFMZ9?= =?utf-8?q?+ktdwl1RgMSAAsz9l/jdXLVEGVFZEVPvZepgl/ad+vA2XZnAMyQEACohmvMtQoxQD?= =?utf-8?q?rtg7xQ5szmErYhFuV4E5x6+7cssKy8Vu+Sk8gVYIIMjPd0h/O0aerkEhiKHExntkv?= =?utf-8?q?MwRHeRzEKUV0XEIS8fh3luIbzg/bM44B7tG9t2pGx6jtqKhe4P7kLp/G6XXF7KBLY?= =?utf-8?q?fVFWfkkioifXDyUXIfEDYWgWnkRwfNrSUtsyrjbiP09oeWI6/FDe2QtH9ocSrycr8?= =?utf-8?q?1GCrb5fq5Ii1ubdex98k/hRf23jL6zcjVTgNYMBDx8T8pR34vOzeQdCGonE0WCeZU?= =?utf-8?q?TN7IQSA52rAC9msuytvpqVzQxq8vJ9aSCDMBAW4KYJTs9Gs/aMJsyUIRoVAAbhve+?= =?utf-8?q?/jZ8xqNTwFVPntFLsJzwOnARoXfhZZoZ81Z7O/jrJrN3glbeOKnU41yqOI/gs1GeS?= =?utf-8?q?mOW9t5AtQ0QpePmbGFjbVHPklhqlNvgDJCMXfo9jBqELRLuO1qLZ7O2adJ8oFtTdD?= =?utf-8?q?38YlIY56iSE4amzEsbbyl2a8eR8tJNIYaptgazGSWw1cyNa4/6PBMOtj9d/xbLPpQ?= =?utf-8?q?quOrdirxmNlKK1ltaOYFXxmg5XYBa/T7pZGeVpk95drL20g/HyvCyD3SsiPNRwo7F?= =?utf-8?q?nj0sIWkHn3qUWh4OiwrRDktZv2qoj1yj0K6K2Vb7yKM6xdAET8EYlor/ws7DqCvKS?= =?utf-8?q?nXFyGlNZDgHQJMp4qwl/PEYeUnQ0BgZBM2a44dpSHTrkHDDO1TLKkEYBVMeDpEMRt?= =?utf-8?q?1cEXQeRvN4m?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 445870bc-35bd-436d-ece1-08dd599941ef 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:12.8458 (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: jg/gUdZWIHGGyxxprk2kkvRzTeUFSWb/YGp7VMBgcW+aFLZCtx4InURKwI4LunLve7/h5exvveOMAsN0M3UXQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5312 X-Proofpoint-GUID: Op8StPeGsMzHboS0rHpoOLFIyki8nVsr 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=_bZ_Ugej2YiJM_EvIRMA:9 a=QEXdDO2ut3YA:10 a=CJgG61vzA6yyTBTLYZUp:22 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: Op8StPeGsMzHboS0rHpoOLFIyki8nVsr 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=824 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 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 | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/bus_sdio.c b/drivers/net/wireless/silabs/wfx/bus_sdio.c index f290eecde773..bd8e1ffb61bb 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,46 @@ 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 +273,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 +302,8 @@ static const struct sdio_device_id wfx_sdio_ids[] = { }; MODULE_DEVICE_TABLE(sdio, wfx_sdio_ids); +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 +311,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 Sun Mar 2 14:47:31 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: 870103 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 7646B1D61BB; Sun, 2 Mar 2025 15:14:08 +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=1740928450; cv=fail; b=OllhZFsNk3zDe7rnhTMUaLXefgxYGlAmo6TiCUfk551Qn7K7F/tUxq4nD2ymp60xIYEL+monVhZAMG0NBrAnaiqMOC4Xhr4n6/E/ty+xfTh2UPLVTlhe79A/ACyBIVuEbwIfZHZjddVKD9oU1ongPnofb/HRMgcpfn8YBXs0igg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740928450; c=relaxed/simple; bh=uWcNIOurnFkWV8pj3AiVbZLacI44pSCi1A8Sy5Hg7Qk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=WcBx1vgD/naZEMpM2FYcU+ekMkbu47CbAJQu/nni1wq888ixaALX/HoGfIDJGxKnKCEEK+UXZvmt0GU0guufrFstn1FWyFkhQ/595cR9ECJ1VBchiMHgB6CxG2RweIpDyR8BpJHSsj+LpuPi/k0FRHHAEbpYKkHJIfxH+OTwlGs= 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=yYhrFA1L; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=P2yH7IiF; 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="yYhrFA1L"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="P2yH7IiF" 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 522EItXa010648; Sun, 2 Mar 2025 08:48:16 -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=uWcNIOurnFkWV8pj3AiVbZLacI44pSCi1A8Sy5Hg7Qk=; b=yYhrFA1Lydk+ Ymi76dtDoX6u27LItgm3KXF/yY0jbdnSL03wrZYEF3MadaA6kjrKiaxmZ0ObF0BV kGVuybKLjbbwaRwqzLTnMaMDr4EGbcoXMiTUF/vN7TOXEov/t0uloP6d3d3MIrsW HI8IJPvqzo0EbrEU6se775GU3RIN8kPDRDUsBxHXPzI4sI3cx7U08qNTI/y4/ge8 feWPYdAxP3UYC1TwKq7ZrBS1wiHF4L5WHna1IUu4f5+XdzLBILge40vW7Lbwu5rs poJC4ioZSC/iQBCLLQDBICnMXpJeqilRRkXfwRhuXUg58hNaZAqHis21pTg2457k 0AbEiDdvuQ== 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-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 02 Mar 2025 08:48:16 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gZfzQj533iB/+P3s1nCrp3XIFZSfzZugsFx2QjazYfAf5HuxZcvMxnnA5ULDdrSBSD8zHojp9ZDW0L07NdD251nVMg8NAcEYwWwQUWgWejuAgEIYdKYgGDOFY2WZWuVfy+Hszj7PEWCnqlnMLeRq+JbrRPM9tsmO/eH4i0y6g5cpWXkXBdYtGwUoDuTPbLR4ob/ZVBVtAH7pMNbDuCu5A7G13g8ATF8LzE3sgjTILaf+1ASr1a9YsApuYOX9HiYt4FxJjPCZdO2oXdY2jlO8ge65ZiW0gLYFZLhdF6YfxHJmUnfV3PH8XT18Tuk3TEo9ZCfhmaJD8GgRMNezVbw1Sw== 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=uWcNIOurnFkWV8pj3AiVbZLacI44pSCi1A8Sy5Hg7Qk=; b=P7Y5YJ/DjLMeQxXHdNgmPZ5/ml4xKvUNM8sQaHyGN99LcSVR8EG8pyq3HohZl4LEyLKQF4pFBvafcpgYroiWKT9qZK4GSHuZ/P1FHvPYkTJ05j1sKB9BWq/1ukom5yi8PqnIsp87so4iF6koF+SHPs5uWscDRTEjsVof6fYgzFEXZDhItBmxI7Abew3DUEwQpM7keF1c/v1fHiaQq+/bBranVitxHX/mcBD0RIkX1chk47D6fV+tLPPXxNq6XA4s7+qsxoa4RIuoBJpnbxd6EJkQ2lj44KrG68wztY6xMz+CiJHGVw4CKnGTeYDWt84F82+2xzMbPzPw7z0mZZn+Yw== 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=uWcNIOurnFkWV8pj3AiVbZLacI44pSCi1A8Sy5Hg7Qk=; b=P2yH7IiFO8bYD8GdH0QWPF4Gfp/nK731lejGh+bsUkvs/89+mttcKAAd1H/q7D67B4OIeNff1o0231gfaQkVfPh9FZRWWdupmz1eytECporQiGxBLM4r2Bb5vnjlYmdI9TM85DIPfQ16+MM0VSXhpoiDCbkqGV6aDHQX9SOqW2Q= 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:13 +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:13 +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 5/5] wifi: wfx: allow to enable WoWLAN using NL80211 Date: Sun, 2 Mar 2025 15:47:31 +0100 Message-Id: <20250302144731.117409-6-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: 103f957f-325d-4fa3-56d0-08dd5999427d 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?mK9Z2AnSYOyPSx8w222XF4Vfqj8q3/A?= =?utf-8?q?LtvBFgWfUVzLOlcd5AwGYoW90tZG75UQ/6mbCNUQa0Pa6vS6ZSquKuokc7izziz76?= =?utf-8?q?0zwa2E3wR6etMFcmoriDGVZzKRy/mlowtHsdV+jt+EsGslTanAO5GDpB3AqDKaMqs?= =?utf-8?q?7F1jrdtSry/rjlMxWZJL6p3s7dDIAx3eNf5S2f5tEjr2dgWm84xw/lXIR1W8F4WI1?= =?utf-8?q?rRTLGkGDhEH8nzGrij0WweTFGT5La1A56PCsfudYe/oD8jIckWutLeGiCS3OLgjIS?= =?utf-8?q?lLRkIsYYZufgOPX+3TGjstPZ0VO//oBfkygi6ISi4tAdJGicV0pU0cohMW1KTGhew?= =?utf-8?q?z0evPnfJuUxtJrZzMv7pkUCChsDOc8+4cvXqdhDeF1oth83hqq3f6WBXwkZeEsgXi?= =?utf-8?q?RMsaQaHr8IEs9xViaPfnwPedMqKXr84ksXPHWY9c74IUuCCA3eaqBHpTuMSo3hrem?= =?utf-8?q?MVOjNRRaGBEZ7GPdg0n/gGNsvc0iu3/R2X84l/vvPjwQnfzU42nXs0jBd8cf5k/TN?= =?utf-8?q?CfItLUuTLGlW4csrn31Ee7UYvl/cGfaLYP97lnmJNcbHDU1SnoEXSuBrda+Tg2TOM?= =?utf-8?q?72Kh0rtQrhF+M7pgboJMK4YKShZCry9zNC6OEFkWx8H/mcjFO22wtKIfMD3y2ByRq?= =?utf-8?q?NpBsSciCJLOylRGL+4/o0wH9SCc9BD5jUTzXes5fDk088U7gce0COU1mN+EHXqoMk?= =?utf-8?q?JAwSJwozR1KOHZmEh3pGYaO+GNOQpUEdr8NK+mxCNLZW7k891EFK9GKqNxSvYwcGu?= =?utf-8?q?4ZPLYei9RhYNbsi001gfhcsLcEhQzOIKDeJmtWqP46WpDLV49GTaQN7UcZ/7ubfkr?= =?utf-8?q?6sit7q/YgTObzz7x5S3lI8eLUdwlBpkUszHYl6JH3F2QrzZYL7XNGqUqAasAdq3B4?= =?utf-8?q?IjiOp8UoaHBrWhP9KEPKrkycXAzajUfmhcrddzsbJUM30s4PWhRPPuKSEIfFnq1lY?= =?utf-8?q?WyrFFZTFTsHRdX7MDXPhtnPh51vPwCaw7D/eUMFYIXd5dnhRNCcgyh5yKOxQ5sJWc?= =?utf-8?q?L0CeTj65ZlzDPhhEijuUgUJ9vE2TwDfGcZ7l5GoxGf8r/JUzmt6OolOwhcptpF/QX?= =?utf-8?q?O9qfapLHdcO1q9H5PKy6G06ddMMun+1WxntG8iaWFEWDirF53bf25ZYb5h5MSlaNS?= =?utf-8?q?ibaSgjdHE+UWe3oLUcmqqYoUUO0lagx4YKGIwU2x7kfTt6F3CKoreevAK/wFzlEuW?= =?utf-8?q?/jtFbEC/y/u+UPxC578UnhE9e+IRD93RRqx78kfR/emT1HVTQbVYhm6so+hwKO+Z7?= =?utf-8?q?MjGUuPV4XjTAsoiyLEat4ODediSJVFfzLrmnCJkz6cTlCiV42xFo4DN0ptFkmtNx/?= =?utf-8?q?tBVHlWkMdjzv?= 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?e6IM2f1iIar7Z9HgWaunaaVdoV9p?= =?utf-8?q?rcTcUSR7geBbSBJyB5CTC2EbPCce/ZZ3WhtuxkHl+PMlx1Csqxwb2+TOLH+tO5hSJ?= =?utf-8?q?yMLB+90tDYFM+GoJrk9vxcne9XO2F+yjwRWCGjfxTPnYk12dVdo2jm4ORstPCZbIL?= =?utf-8?q?QMXsUOeABbTgC6QQ5VzgqcibJ53qfWg7Leh+q/nhM6i5j/BP6x5aqmMdY+1FlIjem?= =?utf-8?q?vsBH6WwAcDi0VNm9OfZWVUhs/BnKR3u0rQ6Pc1p8xsKfoy+7Ab3qvuh8paZSVvx7j?= =?utf-8?q?xpoz02vnQHm37sOKnR/ECctpEohKYdRbAlj+77Xk2+DUtYzwRqfe9cyIAhxaSIBo1?= =?utf-8?q?D1tcBJZqmYRM100h/Sxs5W6p5bNnto8iGvYv5CrmxIoYtbGcjyNLXxZ+eIYlRFPZr?= =?utf-8?q?3hNdlzHTKlGYfTGWl2DeYK8O6I7n9bXhW1j0WZPaPYr0/F+tnaTt3+qAZv4so70Gv?= =?utf-8?q?UYhNtu+oNDqTKa7ST8obZGWxbho+lGflK24koy/WmiYUuRDJsVG9339EyhRRcSvh+?= =?utf-8?q?r/R5topWyN58iKGWnng7ZipE20bAOUSMOwfr6hXjBjdnktIcrePwYpwi0yaaZ2yj2?= =?utf-8?q?gWURDMqui82M/FvHOKejy0fK6m+bobhxHaMzRJvSQ5AgJAcA0O/OUcAYF78OIjXrx?= =?utf-8?q?BpzgX2+ERsuZpahDArGdZgweIa5wyFT6IBVXs5/4rTCpc7ezcDwIqibxd9NFdHwId?= =?utf-8?q?MXpjr31hgzWsPDbN2SHBCZtjnYE7FA3HNJaHYpxMY/b+UdaNX0fv5cHt7OhIps8S+?= =?utf-8?q?U2xymXqtPrj9dGE4lKHu8Ck/c3Xq1jEs4hfS0M3mMZI4zL/j3Y40YQIQghuz3mL0U?= =?utf-8?q?gkogsb+x4GRRCIk/bzNICnet7niuF+DO8oLFi/8aVDstOmp26J8yJfRMJpzPsbEJm?= =?utf-8?q?OeVHZKIJ48cIKAjLKYyfEncaXq7PED/Y+KIIweaOa1HrRPdz/w/V7vftYDdpAwwCd?= =?utf-8?q?UCMEIR5xPC649CQT7jREQ+D9mfsSsN1sUvhJpQfz5jk6JkNfGIeZeDPE8Asimzbk2?= =?utf-8?q?bQxxZxQqVOAB5YERpEL2sNnb0KNRkC82HoffCBkasEpyxRX29VC4nAeElKmwxwzBi?= =?utf-8?q?3EINgEEul11pJ/QLfKQpKhvbDDYArWK1DfVFMsMvAzf65YoDVM9/SJqNNcQS6AsBZ?= =?utf-8?q?Ig/itB81JyfmU3xZUL/hAZ73ubOLeOsTK6UIxAEXmBpM2KAJToky8PlqBxlmDCo66?= =?utf-8?q?v3Ys1m0lRY4pYPvrG9Ue6HYlc5x277ZCUBS2cpjaJySVXf670LgFvE7p5fB6bsUfy?= =?utf-8?q?pfOULEin6HnpCRiMT1suV9sfO4Et6Gxr25TmbAIDNVupvFw5IAJQT6Z68Sf3Fqmuv?= =?utf-8?q?uequ7zc6eSeUl1s/dIqGwrN9g73iRo3r2LYXp6EAamo/qMbnqQPCaZb/96IjpjCH/?= =?utf-8?q?NI6+spL9NPbGPaf56+sgFuGBNeG5KnpS0PCXDD4enOxD0dsbtGEcQUSIVBB4mWOj9?= =?utf-8?q?gITs8pkzgYoRAlhjsQ9CCunmvF1oPcknEJy3bPRuBq5tlCKNyRLg7J3N7hEbWRyG7?= =?utf-8?q?z+G+j59Jd+DxbrMXjEUsbv83sJSiV42i6NRaFdQgWxAPHcdvqs4zGyIvW5SWf3h/Y?= =?utf-8?q?XB+3yddHVSs?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 103f957f-325d-4fa3-56d0-08dd5999427d 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:13.7779 (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: 3pIQm+9NLlqUuiRGQZnvPzdAkOjJ7zjFaITpUXUopnYFKs+DycvG+fhT8yj+dePm3rwhweQpDKATQ18fnX5jMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5312 X-Proofpoint-GUID: EXZZECXiA8LbGesOboLMfnOg1FNXpKcB X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c46fb0 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=OlggIWMgOj6OOkBI_M4A:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: EXZZECXiA8LbGesOboLMfnOg1FNXpKcB 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=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-2503020120 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 bd8e1ffb61bb..5540f2c66075 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 1d6bf3525f4e..257bc3cd1197 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 62586786a45c..bd0cf4d29e5a 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -160,6 +160,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);