From patchwork Fri Feb 28 17:14:37 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: 13996865 X-Patchwork-Delegate: johannes@sipsolutions.net 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 904F81F4CB1; Fri, 28 Feb 2025 17:52:30 +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=1740765152; cv=fail; b=ipS4fDizHaoKRSjMFsx+TlkCB37MKVyQNMHYeRkXZ1fyv1ylFWQT2KOAhB8ecHW0g6QsvS/Tvm5M+20bP2ZRZ9qWgbDjo9gLyqVZtDLxBp8yxLL7yc6y4EIWvTUJAx8EjJ2/1nDCl4zOL5qIptWHSJuiAKOkmUP8JC9umWSGbwk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740765152; c=relaxed/simple; bh=YT7fJnR9FBvNxhnXKPexZgXG00pWySO9VDitzQd0Ow4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Rxu+XF8WThfv8JzdiVLnzd6rqW6jyidfzu42CggSkpjBahAzdwCtgh0zV5CAGYEyqWsQf1aamayc6PQgUNOOggiqePxkfKl1uUoR1Wv4Y6+uir923Z0VTQG9nPT+fFwtQCq9i6DkaiqIAE9W2lqPY3ZfjsDTC3zLaMeVWJ68/6A= 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=U+y4qsI3; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=X6gL3Sab; 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="U+y4qsI3"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="X6gL3Sab" 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 51S8EhYH012718; Fri, 28 Feb 2025 11:14:59 -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=U+y4qsI3a8t7 VuY4GNAbYAIHKIK3Gtw0GDVpVD1I/efFxslUPoyWd//0cePfvS9w4PuRghLVPBjU rYkeYbTUQP9Su39JFPfZTz2VdALk3fRbW87afHYldkyfjCN/UoDPsRgQcRdlUVi9 iRU4o90dN/tp4EkZABH7zFezENLAiU47PZ6+7XbUc+lcafl9CbYMq5ofLLzivQVs YNchZsne/KPmgE05wt7sscCpykuuxqyuvJ9pHFHg63gcxDknTxUA65BuCo9thj+d tlE5Gyj+ovY/2SnoBa4DPjHqCvoIoWv0395UqgAKDSQf+jR7wM+/hJfGosrseRcT MCw9vJltZA== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4539fbrujd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Feb 2025 11:14:59 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vrUpDeb0w3+Lh9AQ6vhpmyBAza/T6C69ou9n/FDMq78zKuyLEOy61KbmFV8Z0eg75Ya+6+SMsUK1UeMIpPlyEtwG5q46YPqkrcEhLgogHXD6AufMqBOodsSEa+hQlWxugSnZlapDpGmneMIP4dh/2AAciuYEzUHb9IhLkLazF/LUlZALwL4/qs9aA1dDmp9y8F2N3V/LY5m0N+krCrz4E/mO7TDEOji9PSWFpbWrlCH1gUCvZx+A4aTPEpF5BbO/xbAUcPgyY4lbWqhZ9DCAGpWzEFRHRV2JwT+nx2nxsRgTWWpP6UXoxpS4taOJMGnKoc9gz1WMGq6YB8MyAOI9Rg== 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=Bs89Sy/wUdHwn/oAXU/UVIzsjw0YwsL6p22sAKws6wa9B0w1DbCko1fvYHr8N1h9mgDNPmlOIVBuLKQvlDvLzaHXMGXkGSIfM1EUBpK3CIj6IOLjeDlz9LVtQEMXNAeEArBd/mGFd6LDeR1u5u2FcJ9p4Acb38ErJuTkLAXSxrE/7Hi2tIgG9XNZ0rElcdczsxy+CNy4wWHh+VkcaPzj7eE1UbCTT4uwQXUUigPcZLkTyjz//7xNk/cEZ+jJCKYOyaNGpG9TV5YpPPe8DI+mHY6mYkeQGOJu192biw+OIChQ/bo91xHBtPRPQTl8AJ4DTn5cyjyEy6jAt+gbnysuRA== 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=X6gL3SabWYX65YQPK5FqNhhNFvQMe7WTbE0rAidR9Cb6SksLgPL5Q6RCyVWMsH/t7XyFNFr5k/GXLAvsN0UePWIiEBk0dqXaH0cq0PoVDjMRIJk6PdWgB4Hco5uaFbHsOeDHSxcCcwjmDpq+lVpZeGrerXu7ZAY5cgb9NlWSt6g= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SJ2PR11MB8567.namprd11.prod.outlook.com (2603:10b6:a03:568::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 17:14:54 +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.019; Fri, 28 Feb 2025 17:14:54 +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 1/5] wifi: wfx: align declarations between bus_spi.c and bus_sdio.c Date: Fri, 28 Feb 2025 18:14:37 +0100 Message-Id: <20250228171441.109321-2-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228171441.109321-1-jerome.pouiller@silabs.com> References: <20250228171441.109321-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::12) 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_|SJ2PR11MB8567:EE_ X-MS-Office365-Filtering-Correlation-Id: 561b724c-33ca-46d2-154c-08dd581b6b31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Rtd0+HCZBhl2NHPoIMDQbsH6UhOUH2R?= =?utf-8?q?9yR6RA+hZtAPYOWyz62CXeGTJC+pXoMp96/MJxqAYNoGuzyGLRINlj5mkQ4fO4JYX?= =?utf-8?q?1lVD6584R3vaFlzggaOHn8yKzp3dgsUkpmkoId+VOhJjbxYs0L+FuLtxq9URtBffF?= =?utf-8?q?PYuhu/DtfRZXwgnl7NWLKZsJ6JJ7yPmx3oqcu1jr9okvZkkr5NU4MkyLxOM7MhaN/?= =?utf-8?q?Trd2J04yqdiaavhtsTi3yBBvgWHdtW/OMDiEfTAJNTXvsitnXR1weM16DzzhsBVtC?= =?utf-8?q?OiMJNNQM+/2BUb/NBMTgfGrFNDXhNpL6nTyFvYcybg9OlfZIiFzOJ3a3ssSHhtNbd?= =?utf-8?q?YSaf5MXcCcwfMwyV7PkODiRQlMYjXVf5cJneAWkAHsbN+lKcyVpa4fmG75wmZe0d3?= =?utf-8?q?I3ws7zZHfhpvIaktOvkmFe/5bQfveW1J/0ZPo1Plgp4re3fYENw/nPTWLeti1n3rq?= =?utf-8?q?lrj8PPfA1FcE4STjcNFQ85JY7oFDxx783ByWhzdiq7g4iwedXzUpc8wYe0f9fMkyi?= =?utf-8?q?BTu+ae5D4fMYzMjEtSAIRmj27yWj/u8RUGv1umIsL0bNgphJVXSR2mZ2nYQt7+pWf?= =?utf-8?q?KjenUDMSYcQHA7I5/nBPVtPKbfePxA8Zjo4FMaV1FgRzEd3JklClmBgoMlOxf+ch6?= =?utf-8?q?QQqwTHOpAQ7tK46PbngPBOOGeokJsKtDos6dGmVHHpwcdyqEy+GSAEYhru/DyJ9bQ?= =?utf-8?q?nnurODR6k3BfcPHC3SeokTc/SBnj6UhWTU0Z5DTxY3Xf074u/CMG8oS7zKD49ATYj?= =?utf-8?q?oAyEpAIADd2dk13Ohd6+4IF4C95nJqhmPUfzq6uLtTd2JJmSrz2qfch8SPtvt9eWi?= =?utf-8?q?BBl5YMsuKj6+YjZQpgfpk38z4bU0tgrMGVF+IAAEBL51V25OW0KOL7wiMhcTs0Mwl?= =?utf-8?q?3LicpmGQtuitlakMHQ2jEl36Nk5zEXICXjGloSUKVEHzrjlpcLm0pVuP43hvfP4wG?= =?utf-8?q?H/6gVIImBisD2Woh7IgSAggl7BBgG6Pq1lSdmt6Rpsteab6MNHUbgqKNkhbyvCHfe?= =?utf-8?q?XEoITHxEGb3WstPmYPXXwfORM3x89M2LR+JZSMVYeXHgLw7Gh7U9M+j+vaIyExX1A?= =?utf-8?q?QCjezNsz2/rvuputWt6yWP2wvjzg8dX+uiNRBAQeSY9fOD/spl43VMtn1leYloCko?= =?utf-8?q?oxyJ8Z2/4j4BMpqqACl/0CIxyYXunppNLLtfq/5ymFapbNeK0FaxbOmXjyv8Hvg8w?= =?utf-8?q?MIt+6IACaLxl6TM2cwl8Bz+SmGU1mHUDEcaUO/DJrqnYlIoS9TEH7rH/mRua5QDje?= =?utf-8?q?pAEazwPZw35t8A6jVLvw5ZYhqe9Tk4Drev2jtZSnzN7gE1RRwFGsxL1gqN8RjIDeV?= =?utf-8?q?l6HVPHD68hwktS6foCGrqucmu0M7YcyZ/HaLiRxhn25du9TCAuM77ws=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)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?IrGFCxFwDrZQKSiyph/DwODIYU92?= =?utf-8?q?B7yUPnRbP0WLNMk//tBnMeY6UbIb8eT4lORetl3k9B1drcrkmF1wSIzPWJtV+iecZ?= =?utf-8?q?GK2Ua/LaUBAKnC20wVvQQlpwYjkyw/jss9KsZTLO61II1PBiLQJyxK+2vqWcju0Iy?= =?utf-8?q?7bH8zqw9VHSvAa4aW+UR9fJD6EjTKkwrUAB5gCO9s4SRSqv9Hr6yj0fAVEKBGHLbv?= =?utf-8?q?pmpq75v8jeogwUey8d695eS+JRip5Xqm2EFj1hs8c1zgrR4ZzTeBClUAYIi+BIo45?= =?utf-8?q?pbh8Jz/B/YcQV+ffiKDNNkd3+7xivB8AO2emhCjriRiIpWn/Gz8L3oTJzxTIeTpWY?= =?utf-8?q?aKt1fWy4qQtwO+mjffMwS1imuOpEKmZkah0ao5OYJK78ZXyI7wf/t9IC74iBz/W4m?= =?utf-8?q?vzb2Xa9zokGoB4XX6C5Sx6WH6OY6Rh+97vp+euL7mrrjlcC3MgWzMY8rrdaeLmcta?= =?utf-8?q?n1mLcAFMHoj8JysM3QLjVyWLXGq5B9vH8WmaXDbi3eva/5SooTgkoExpQDzwrnIGW?= =?utf-8?q?Anrs9mZL0uR9NluXcMPth2pPWR+wXbsgK4ZgDB9AcyJP4+Lelu3gg1YlKQ6iV+CZL?= =?utf-8?q?wtRyNa7JrqrmyccewdvLcmoCNbVnGUS/pICkUbGJmvas5VnUcUeC/N1Kc4T1m9ML1?= =?utf-8?q?4KkDCPQ+qdhn1oLSZStcTttSekhHx8dZq510UuCBBdzIG9wXI7NTW0OiljrlExq2f?= =?utf-8?q?H+xtDC8oZ6qS7mw7Gf3HArM10QY8nx7wH/5rGjlIXpq74h9JLi8jBCeUXYah68TWG?= =?utf-8?q?noRNV1QZX0zSy4YMS6aF7AWRS9HbPdU2rUygrLYeNlyyTOI10GIMtky/TSSvFTIEy?= =?utf-8?q?UWG6n0nhOnat4FiMMJbc99ZaVx5gMqkJZwXdJifDluIEbHQb6MNWh8/TQCF+n6kxa?= =?utf-8?q?jWwa5bw+zJfO/9sAE/biakyJX9/GC0TcOKR6dlgcRUH5kat0EgCqVwnC7ilzk+H32?= =?utf-8?q?J4YKSJg28iZnwcOhYzEUy9XXuvcUfS1H2z6hNEUkdax4TtmP/xPO1daKANNlPKjzz?= =?utf-8?q?zNgVXYsiMO5czFF8BF4mvDYamv3RnRqvkxhY47VzPl9CcTzAGR+2gxbBnVvS0Ycsb?= =?utf-8?q?UW03TnXsDj/Mo2Z3O/FFuYyB9Ed0gKUP1u9hBGB6dAhtBGJ9t+veGUQ3WY2gU1jgP?= =?utf-8?q?033J41FqjT44xVEQKBkPZReb6ugt3No+kisww67Eql4LSlqxdIM3HHXWhtQxDnELg?= =?utf-8?q?cdpnLQpyHsRWwqrF8Sn4FsDJmsuUWKd8VBJpBO/YrYiR45ydZV/Ki4NjGsKOesXaS?= =?utf-8?q?GTtGCyqWI8gRA3bWRVu/lMMdJ1LXL3izvrwfVni3Yh54kip5RI6dpsykpG1T3OxFz?= =?utf-8?q?lBPxIf5JTC7Nrbik/SNDViwneS/KS0+9fr7j80v2xjEzdcJfEDhGPDsTyB1SaSBui?= =?utf-8?q?i0W4OwkqcqlrOzGPsg9j6+WXg60I1ezo1LnLIEz0Q9edwQe/EAtLEEW7GnOhAp7Nt?= =?utf-8?q?hhogeC6x2ysYKdBxx4HldnhlOS70/TUbKL/ihcz//2KXGpzcyJsx8yhd5Q9WXBR8m?= =?utf-8?q?UKQyu3l2XFIS?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 561b724c-33ca-46d2-154c-08dd581b6b31 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 17:14:54.4664 (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: WvScHMO2DyWGnV14p+fOrNC2T4WpUjReOyBJ5dt2whAxdZ88DMbkEPON1BIEd8udvYI7sLi/WF+i8LGssj8/zg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8567 X-Proofpoint-GUID: uZkVTzZFJZsVISfwVTwy6b20qLt5Y57P X-Authority-Analysis: v=2.4 cv=BptnwZX5 c=1 sm=1 tr=0 ts=67c1ef13 cx=c_pps a=+tN8zt48bv3aY6W8EltW8A==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=T2h4t0Lz3GQA: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: uZkVTzZFJZsVISfwVTwy6b20qLt5Y57P 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-02-28_05,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=622 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 clxscore=1011 adultscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2502280126 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 Fri Feb 28 17:14:38 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: 13996830 X-Patchwork-Delegate: johannes@sipsolutions.net 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 95B68192D7E; Fri, 28 Feb 2025 17:34:01 +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=1740764043; cv=fail; b=Z9R7YfLcjTS3Kg2mFLQXQ9kEnDzVukXpuqtfJPlkUM51nM25zNngvdfUGv0YG8Ochf24zCVMKD6iDPX+ssCoUW6jjcnZnMV8e6RbbTJIvEoIPi/+K+sxGCxRawo9dN7yo7vtlOVau7U2u/2oXqRotp5ksD7000ifhzJKSAPbkVU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740764043; c=relaxed/simple; bh=bmGveIe2+A7L6FdtmG0zIVOM5bn+zCu7MkXU1N+tzrM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=GJs6pBqGyNct/+zv8mrSUi0ifEe6zF5ojznbKTHbRw1LRssMcoCYeFA0Z8s9ygc2pB889fTrIl5UElwOnMDaJxTDAcPaHWOLKycGGz7cnjKQ6Vtp0Co6oD3zWRLKJN+b5sQbzIthfZzuRm4Czpj9lkKmWbx5lXNuunDFyC4AgUI= 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=gV0LaRUD; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=GN3LNT1M; 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="gV0LaRUD"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="GN3LNT1M" 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 51SDK2j1012530; Fri, 28 Feb 2025 11:15:02 -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=bmGveIe2+A7L6FdtmG0zIVOM5bn+zCu7MkXU1N+tzrM=; b=gV0LaRUDKFvy oVVAKAL7lALSqI3MawjUW2X1aAxyT5FfKs7gGnR7huvlMC03yuv57hS0BbfHuX8G Z/sThFZonPZGa5f7zAnK03b6/Sf5mkgHFaGW5SyRP2ByEAK4m39WfvT8WZrE1vol WrVWh6sGAuGaAK5n4bZEneiWXq/fZzoyVhbFYt2/CXPwf+nRR1DV6NulSm1sJJJh B60Y4/1tFfJzkmOm/o6hxFECD+KbU3U0LYRuxhh0l/VCAb9aoe8zrytzrmVTuxmw mkyDJ9Y/NPNTxcurCLhs0eptWhiQvQMrCNlteCVIaojq0RGjs/Fr+J1n9cSoDl7a kOSIEpc2DA== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4539fbruje-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Feb 2025 11:15:02 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y2ySYqp4CdI9eU8dU3UVnEoeb14cZp7E4IaDukrKZSYAHZLrilemshjL7IOwm+GghaWKWJOCM3T5dOXr4soEqgCD8u/HUUpewSBdRCZLLTWbycZerhqRxY0EDzJMoznaU2FIOwQH+kbajxQh2KQxamTejflEg6tPJP7vPGEGYseNT2eEpOspmfdwijMgA4QkbSGqTkCu75tmNaOKCnvqRy/lt/ra1S3ilhQXlfJRy59Upv3c7n2EB7l4a6Xv0r//LUs9Equ22q7oCG9yUnSi7A2lRpQSxztxHZtkwd53q9KleP1ogb5ZkQ7l2SjiP2NlZRNRUySRTIfwmqhUWiBaCA== 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=bmGveIe2+A7L6FdtmG0zIVOM5bn+zCu7MkXU1N+tzrM=; b=LBaCOhlQ8HqV3ZtKUByef45J4CkyDBZJj2CUUtiKZiWzIIiJviubOYTw3T/LQgYT17VI1tzMLuyWFC0VSNQj2XU/2hWwLczanPECuQrMu8GbZSBghPaRk4WrQSsdBSweMO3PC0LvUYTf/5M4em7n5qlcLqNuYToKbNiYfule48sk65zbrK2mSnF7wNFcKgyxDdk6cgyE7wQY4xCRCQX0kmbcNbQZ3/xzfMqorFmg/lL/FD7g45ax2BL3cJ/GKHzolWqB63oKx0LaiCHsKYgy6h4MyfWyrVuhqjTz3xh8aYN3v8yRyaEOb2ZiZPA6/wadaOZBIeIegBNZKCwXpkaT3A== 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=bmGveIe2+A7L6FdtmG0zIVOM5bn+zCu7MkXU1N+tzrM=; b=GN3LNT1MQJjVfAxc/D+MIObVX71scVaWMKojbN4Dt9bbJhia8n442s4cub8ILT3RIwk9pe2WuZ/DhtK86CgEwWkOO/hRsLm1BApq7WY8HvStzBH0c65bfdNhvMGqeNN9X40Sa22XTDBm8LSFobgUY4QiwpFrdu9ZbuylfDRkn/s= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SJ0PR11MB4861.namprd11.prod.outlook.com (2603:10b6:a03:2ac::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 17:14:56 +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.019; Fri, 28 Feb 2025 17:14:55 +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 2/5] wifi: wfx: declare support for WoWLAN Date: Fri, 28 Feb 2025 18:14:38 +0100 Message-Id: <20250228171441.109321-3-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228171441.109321-1-jerome.pouiller@silabs.com> References: <20250228171441.109321-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::12) 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_|SJ0PR11MB4861:EE_ X-MS-Office365-Filtering-Correlation-Id: 517affe0-d226-41d0-08f7-08dd581b6bd6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?1ILETIuP6sl1oiZhozDGPqSCSWdMA6G?= =?utf-8?q?5E9DJFuqB8Dneh47B0Y626HXm4KSQmZ3AdBYrX3MV6tfmP9lkEnW43sAKjlaZ8LoN?= =?utf-8?q?/pSGhtit6BX91viUxsqstooCBx/iy92XTuO+wNo+VJkCp0CeGJ3uKJgLr1XofyxZT?= =?utf-8?q?SV4mBjCgcJIkMRyicZ3gBo7gwon1Cx1gcheNXPcetAKjoBPHoKhTqRSk0PYLMittM?= =?utf-8?q?hEsdBM8ZkifCI+AuodXy2Gmlzcsk4oox9+9DDeEcBCBvxxLF6FAOY4f3K0QCTXgWP?= =?utf-8?q?5InGtc1xjhddUyIrFPaknoOhZQF2DIQyj8IOJIuJaNrNFe1w97Hy5hW0SQLntiRFf?= =?utf-8?q?Yc4Re6mgTMD4lY9eF20ezlsLTUt08nngphe/2JeJ6n26Ay0Ey9xl2Myr13k+umR17?= =?utf-8?q?HRgSh+CgbVhJnEKZ0PyP+vZu784Vt9XULgkEvKZaIirz0O5tGBYCQ/unFp6g86ATh?= =?utf-8?q?TU9PfagNdjjYqpHAW/awUCIeyS4kHci2WtLgGv/zI1um42H/HIH9nxx8fCqqXFNqe?= =?utf-8?q?M/jArCMIwprVaqg4bgPFOZH/eGSGsHZEkOq96hqXkEddkBWqwvx35aXOUAF1hgvee?= =?utf-8?q?YbrHsJh/eIOz2ng7kRk9uaRyk7mAyX1bOLlVryP9l9llFB1V6mX4RywLZ+n8TsVII?= =?utf-8?q?eHMipHy5J+RzSvUn7I6WK2GJjPB1zUIcaUcM2GwLSc5Ah14N/ibYxLPiczUlCln03?= =?utf-8?q?tPmXBNSgsD0yX3rrQgotGNdd9BO2qvHwG9kBCLYMccJoHwW3uYub+EuLQEtC0uzXP?= =?utf-8?q?peCeZi4Dyb7AzvPctkmNNumHhQGtYGXNIanp77QjYPK/owDyFodH/87EDerASawlQ?= =?utf-8?q?o5KbwLOH43QpOSC+5Gt/2wQwAts7hDfMGiAYLDGHqCQ14ytL9k1IWuKaFhfrV8us7?= =?utf-8?q?r5sF1eNNU6GyDzSjTnXU7jy7ivcdBozVBdL94Z3OhNwM20SHpwy//rMLWEGnHnSoP?= =?utf-8?q?Fm0l5m2jL9cD/3hhkcLP2bFQj8IcOql6v7epx6fgt891Su1zg3ZMoYb3NdyROkNcL?= =?utf-8?q?TVO6s3/Z+rBilkvfQE9eGpt9zzGVysRMpwU8/68WM5XcLXxNcUAp8zWcmL80LzUuv?= =?utf-8?q?MIrI4aWzUju7tyyP+RDFcVYlHJlZM3G4fA5JT0HMhUrd7uDBjCZOGh+gxv5apYTlG?= =?utf-8?q?QMSy1TeYaHkh1ziVC0Q7YOPlBi5R40NEUN7OLS6KlJz0J8CELKzfKzVkJC1j4bWO1?= =?utf-8?q?CFSQBZo52/6aWHbbttqZ6ArZUiFKdna9v9t0Wv/Sg3fWF+T1H+w8fxAkX7aFCixqt?= =?utf-8?q?NNfj+dDG92FKREM7IMg9uuIeXUsqwht87x/3SJDKkfWqFvYyKqPCkwNi1lqebi68y?= =?utf-8?q?zW5ELfclLr1U9JzByxAAL9rSebn+yE+79kmgPqa7jDqgVoJ6dy4zK7NVou+/xWnBd?= =?utf-8?q?9fA9MlmwODk?= 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)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?55ypilgOXt3FEgTUkZQWptWwDiDD?= =?utf-8?q?C8WNcj4pMpIAzoNs+XRO18iuG34cPKRWkzNpJGq9ZTJssJrFbRvDjWyYNglT1dnqh?= =?utf-8?q?yrFGWwEy7uoGzzWd/XLTFlfqfmFAhrSwczDhK4hjOeTonhu/kt0doMjLS6Uhog7X1?= =?utf-8?q?V4Hlp2KqF3R42MgiJs9eCTUc6sZnAxyCClTnOLcNCVf9eIpLEvKeMpkwPLLfVM6BE?= =?utf-8?q?ve3C62e5Kr0ncnLuceWed5SJoTbJUoOD7PIhUZLC7/djLev89HeeMAZHag3DxDLah?= =?utf-8?q?Mv9LexdqA61eulVuor5BGz06ztZg0bKu/akTfjALFlLBMqnyhg8Xj8yPvNajuve5r?= =?utf-8?q?UqKpI3tvyb/Qj12hwhXQxNJt8VECQC3WQE3Wh+lQTX2lAkqBQ0fr+yzMW/9al0lmm?= =?utf-8?q?+7HCZ8j5pySEniM1NQJt8C+j5N8oyFgJCbRdLum2YYa9RJVuD5s2AEwVQVjT2BWyU?= =?utf-8?q?bJ5g7zSAzztxWChKod9blq+D8kanFdOxlga7M8SjXH32F/FRjQv2tJMQReU0wKJsZ?= =?utf-8?q?Tf0uENyi9iLbU4zzbIoQ2X+rN8dwSck5Ad5DJZgjRhKOr8RG1GjW09FJXBS4dbfja?= =?utf-8?q?8JkBmzVGqZCC7VNj60r2ifkGdZ1r6GHJfVNr3/VSQYYxQfdazVddO4m/t09vrEV9Q?= =?utf-8?q?UyxPLaEe/aUh/V/bejIhp8f/yO2lUVy9HNWWzsNINuaYwSQBHoH4HTVZrlSnKY28U?= =?utf-8?q?HWd3NyxKC5+D7zZ5sSK6uu4uKKI+ciJ3M/TlvDL7rse2ttMEpK8AeaQmFUy4SFf8W?= =?utf-8?q?7g8CJqVRA1PgJdmSK4rnacSnufHB3m2H9+CRiEM3I1begZ3+Tm9UGTrv/i1BfEtiG?= =?utf-8?q?unDlkAif5WeP11YDg1FEjL8+CfpSlmchz6wkFNrSvfGLGTNvy6XQiQyi0YSy90YKO?= =?utf-8?q?ZQi8W/nGMVlMU9buzQ9qPVTr5aJDskFbXSQmfFcDxeDtgZmElOiFMDHMjcjAErdBz?= =?utf-8?q?P3IHqDKbjg7K5Mhellaj2/qHTWbQ4AWCXRv3z8BWkBZukmv37PuRefUuStDgyqfWH?= =?utf-8?q?6ru7bEItpfZC2J1x58zh0WpIcdmyMAD9uVfZlFOIS0BwhS0BxwBwcnM5beJLG63Ik?= =?utf-8?q?YEqKFl9A6h0H3m860Ma6jDGAH5fnpocfXUVB7kimklNnVTJeRin4Vbk11BVrPgM2i?= =?utf-8?q?FF6QuJfOW6Wt2T3MZHsoXAVZ9vtMZwxq/0B5ofC+htvLFTKFm1Qd9lyPcmDw0C7jF?= =?utf-8?q?fc0o2RSMZy4NFKNPHOovZnuZATL9xnKT9wyjom1IrxgIIS8t4ZSqk0WpWxMeZ7GQu?= =?utf-8?q?VGeBdgNh4aEWVCAIGLb0Uz8svw2nqLQ/siRW4V6eHai5CeJEAwaml520eQrmVSv73?= =?utf-8?q?z3fXQPzDBOcXl2VADDW+IjYHIxgoid8wdn69763ENLR9kabWqZu4j/9Ebv+UkFHOY?= =?utf-8?q?XkVuF0gsh/TAj/S8KGgFh1sAMUXNs+EZV7dECsRtGjJMYKhJeVj1Y+2zF7QdUC/BT?= =?utf-8?q?eVBSbhA1rG5VhSRMipttJUn4hgJpT35nrtqXeLYOOEvm9nxTNNlKX/ANIkfZVVcJ1?= =?utf-8?q?xExx03C6eqic?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 517affe0-d226-41d0-08f7-08dd581b6bd6 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 17:14:55.4110 (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: U1krz1Mis3ATFw/z2KtGhVBjIBAt3fU81880wkqja+SG2lf7ULKkIN5yU8w5YfwLUQKKwy+eLh5w99mJ2RTxKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4861 X-Proofpoint-GUID: xMPR8nn95QgI025OqS-IGgFr7fPcpepQ X-Authority-Analysis: v=2.4 cv=BptnwZX5 c=1 sm=1 tr=0 ts=67c1ef16 cx=c_pps a=LxkDbUgDkQmSfly3BTNqMw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=T2h4t0Lz3GQA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=2AEO0YjSAAAA:8 a=1DX1WFhz2VHbj9lhsL8A:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: xMPR8nn95QgI025OqS-IGgFr7fPcpepQ 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-02-28_05,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 clxscore=1011 adultscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2502280126 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 | 9 +++++++++ drivers/net/wireless/silabs/wfx/sta.c | 15 +++++++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 2 ++ 3 files changed, 26 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 64441c8bc460..83fd278e615e 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,7 @@ 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; + hw->wiphy->wowlan = &wfx_wowlan_support; 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 Fri Feb 28 17:14:39 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: 13996831 X-Patchwork-Delegate: johannes@sipsolutions.net 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 D2FC5276023; Fri, 28 Feb 2025 17:34:09 +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=1740764051; cv=fail; b=T+PgRRmyC1OtxcSnni89uz5ZlFW3/HB30285BvWYad8QJ92KpEOe0MV2yXBoI64ZpLPTs5B6xNPP/UL2/TyJWoUIjv2fJ2qZBGkEzFvSh+A2jbt9r/ztTC/Jd0u6shTqEeLPTRoPYBhl3CSZieIiERWvSRTIhpc8gFqEvaLJNf0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740764051; c=relaxed/simple; bh=mGDVwJ6XyqNwXA1CMoyo4Ur45INoV/fvuRnly0t+dPI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=jF1XsuottxLQ1FCmRZvMnl7vfQqju5Y8pv0j8Xz6TNcHkiX6025pYY8mohvxmJUGrlxCk5UGPzO0WNnLD7dMxSfg8stsswbjPgkFKmaGF6JemH/0mhII49K5JCBwA2PhxIMO370zuEv8gd3cupe1GGTtU01g9lQGgagXUOcdeUk= 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=LwV91hFA; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=SMzfCDCI; 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="LwV91hFA"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="SMzfCDCI" 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 51SDK2j2012530; Fri, 28 Feb 2025 11:15:03 -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=LwV91hFAnyd9 5V39ac2deVuikZxP+gnFvNi5lrMrgXYGXNQedam9iXx45i77FIPu/z8ZsNzNrsyi AqNGMYTPkzl0ynKnBCetgHAha0QQ4k13e8wYjCBqcdZ8yytMTh5HpKSwFoh5MVKo /R00CpELWEyN+eK5uKyBgPe/EbOsqrkQS4Vc3dS5zRszo0pUeGWqOrHYA6T75VoC zvwt5V9GC6veP0VuEKh410MIRkHow3cS7GR7phzyCYOTswVsR65VLfRqTcFZdj3R lZGNRyvokCm7EXgJLFBq5qWiO3L9dUfEiCgoIp2fbGXLcgfyl+bfAbuOVd7EKVjO DoiyfTPU0A== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4539fbruje-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Feb 2025 11:15:02 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p9PxtQZWMiv75dZ6pm0uG5hXzBVR/pUUX5g6vYoDg3oWb6N5+9IwpxNKRBCUdBObMNQVqyI+XVEZHHVKK13JYXyr+xvAAWGD+XCxJ9lpQUofhsRz0yrQH7dgeVknanFnT8z2Ce9ngTdl9An8MHv5V5DTbm74yfu6MwllPAxnu+FEMPOygrLSt5+b9rU0ScLTB+lcbUabmTut8PWOK4QaX7mvd60C50dgNjnpHETUcDwbcmsb3oYZ1123GNI4s9SOCFhR+QfUo9tG6egjGTQGJ0IXqyuCmws9VA6Y4+Wf46FXRvnzw38kpfv9jqn9I3QHm6GHSFcaQru1qqM6wewMjw== 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=WMHoA1DIjkDdNzvXTb2WvskES8VXFYL7cd+zkzlmDWUGSW6YWuLIE8TnSLlUslb9CLXIWiXBweNW2/MHmfklwasqR+UlP1tdEJK5VHmVMBrVg8KB6NpYFR77E48qU1LM3/CMeSqBLn4sb8DAl3VB2KkyPr2+z3WPKY26pQsaZaVBEs2fpZjs8R+TPWkoU1Q5Wxg0SpPKl8X+18EqnEnkMo93rNXONZ8f1YSPA/fRUd2pWPIPmEUCMZf0psfk9z8ouSi9jRtU6j5TOC2zDBNOkHZ1irgi87F5CnAalpmLZACcGNgrIQNpADcZ3IGiE9lfsYj0vGmMbq8cZ+b4MfOIUQ== 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=SMzfCDCIGWNcti3Z0LpxmUc/Yq7efwk3WST7qvOs9f2ITQxhWsLWGFbiIBvyp7/lfHVDEurlnGp8o/Q9taBusH5c6lPxNxTgoraekFpust3YrJ1bHkBC6CkyFPGAI1wf4ekCHjUPsCaO9PCeEKSjzgnuVHKFuL7Yx83Y9a30oqQ= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SJ0PR11MB4861.namprd11.prod.outlook.com (2603:10b6:a03:2ac::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 17:14:56 +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.019; Fri, 28 Feb 2025 17:14:56 +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 3/5] wifi: wfx: allow SPI device to wake up the host Date: Fri, 28 Feb 2025 18:14:39 +0100 Message-Id: <20250228171441.109321-4-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228171441.109321-1-jerome.pouiller@silabs.com> References: <20250228171441.109321-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::12) 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_|SJ0PR11MB4861:EE_ X-MS-Office365-Filtering-Correlation-Id: 62684c77-4fe0-48f4-3553-08dd581b6c6b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?rZirpvzGOMYh1PqTIDcR9GKnp7otjZ4?= =?utf-8?q?01oImCidvizXoLmXF0aMKdRZxEjfSxqO2X8CKviYEqv7Uei2K4WXrkLqgp7quUMbW?= =?utf-8?q?BTTAZnvuEEepdoEQ/kUEFnVlUrJ9ciM7KfOdUOaYFbiIAK21HmzKcYDFJwo2m7VFs?= =?utf-8?q?w+zvyeCwgcPsz8PIBSdTFfDkFRmZImYT40eTIc0KAwpJ8+5Memr+Icp/oln399gz2?= =?utf-8?q?pe4SW2vGPnOzSFOvKlHN6z0Rt8ukGTDZeDeblZKiKKtV6SrBM+QXY8Q6RGqAbQTCe?= =?utf-8?q?wqiUZ68t5qGRF8ikj0kFKfD/vbbB7IKfW21CZndjKgMdd/WAsY/qkUfzq/Y2RgiIX?= =?utf-8?q?PlI5p3bqJcSgtI2K3YqMbVYRm/4QBwZWCAhB/UvOtmUF5Nh4agaXcNRsQu/ktMvz+?= =?utf-8?q?IKe2l6lv4Dl+dfVX3VaoL75qQXgLjd5jje70HWAl7rWHcI200G4tFMJqS9c84+/vV?= =?utf-8?q?wsOx+BbQa7bkouIbeW/pn15d/jkh6fgy6VlqpM+5ba98aL/O4n9unVb41LymzkrTZ?= =?utf-8?q?cAl6fZ9Bc4YPxWit0jMBaSVPQezwxpzj0JeB01gWppHJFKnEKXg4K+ejKwj80nFvS?= =?utf-8?q?k+5XnbsSmoJi0LCesbvH3A5rTW5gMQzU1FwPbiQIk7VjBIBA2B+am38mi2UEcdEVQ?= =?utf-8?q?jD9h7dn3KWzh9I85h3HIHOMiW2Bdfs4a3aRuAImGo//S6U5hLpila1oWXSF3nCGqF?= =?utf-8?q?J5VyTMzfXT73mieel038RU1wPZXHapWCfErrEuxgIO7S6lLG5nKJx8xkZJirHST6k?= =?utf-8?q?l6tcb6HrFMEexR0gjDGQTw9nR+jh+VuWIOigGKAwERasY4F6Vpe2RJ+DZIZhpS/LA?= =?utf-8?q?sv9YMIwcEWjW/99e6nnm5yBaGed1s1hc8Pmedx4oBBVQg1oHZJcoiK+dN1G3gbq0v?= =?utf-8?q?KmIPc6Fg2Yok6/Gv4A5/F1qgmodHU1zDmrJWXk9bg58L6+JsRz7sIypxXYjZ+TNFj?= =?utf-8?q?BhoLZkdrSYMW3SuLqj0aJuAuDMQWDlRlR1LQ5YJhudGDgjX3X9sAg2S2oJpCzkEPO?= =?utf-8?q?7iHu+9FutZ3f2zjfi7V6pB1CKKXvovN9rE7UwTXQAPaQHPNVxyzx9A3gRZxeNmm5t?= =?utf-8?q?s7IhuRlDzYDQcPld3gsTi+FU6Et4DfOU81JaEYP51qirRC05pNk5FqUvhZh4m+wis?= =?utf-8?q?Eqwc2u1WCMcCFSHnGdYzILnTsbmbxEO3aPeW2NXGzPVtm+mAp91Bp9YG/ols9gyhp?= =?utf-8?q?HuuVePkeJcKsQQ86a8Qi9AgysnAKKTo+nSyiwOsuWoRW4ga5p2Jn8Zim+1BZor9Uk?= =?utf-8?q?E8q4jKOFHhMl/jqsricsi3EZOayEAN7uoA9WE0U2CU9YHPtmfJJ78cM9KKyYgHFYe?= =?utf-8?q?ojNZM+ApnWTn39UeWhnH5q3S69z/zfLp4V3e63Iu8DNHwfUJWwNcSBizmIo32Fe/B?= =?utf-8?q?fN4jBprkIMg?= 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)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?A8I28gIeZWrbNQd6KcZBH96mufDo?= =?utf-8?q?0hnk8ClSRlh98KBHHVy4U+MwH5qOKwUcAg85RSvN2bNXsqQPabZsvphkazMHVLhw0?= =?utf-8?q?bom2jAqWap4Z0DTfxZoIRmrW3l1enZG+UFb/gyMXmJUzp+LByZfy1A/DDk2D4WYN1?= =?utf-8?q?341rqkdovIqtkNTfQd3Q8PGtE5trOpUEmxqG4wEUyRhoWSO0ntO8WpEMffEMMIH/L?= =?utf-8?q?e3cTJApUc5BTEJ9mmXLl0VY5zYQQ6OLmoSZHWRRShcrrDn9cPOKWnS91aBaghzuln?= =?utf-8?q?vwnjnqFYqZwKKcTin/c2TTlg8xCJZidZ7p9KZ2t1IrA+NYeaRHa05N7tacGOH0uo2?= =?utf-8?q?nOXscLOkZyuv87aFQrRk/FilxyFqwQsyb+fLl6h4g9pTL1/m8GqeT1At22nIVpHOZ?= =?utf-8?q?e5tGBNt+qsXX8N6+iW9AAD9BDyz1SPugsWPe2pwSnug5p2witwRNaauratBlPKpiu?= =?utf-8?q?HHPjzumU0f3U8BkUcqWdAAgxnKPYgZz9cGMTe6aU9oQ1QxlS0sDoUqik0X3wrHOY/?= =?utf-8?q?0qRGFFn7VTzcY/0iPQ9KqNNFxqoCsvEXeQxIpP741yqC5gqNX4KI6Z1pnvB78PGbb?= =?utf-8?q?hYaduu2O/dyAnjBCRyWTU8kKCCsN/H1On5NgtU0/iX6aQzUubmvb1ZsXzDMRVEBeY?= =?utf-8?q?Gi1T3oIY4ZAOSuU0YDLzT+EjiEOIiiUI6zz9ZLcGI5CxGJvdOth3sFyNK62dkf777?= =?utf-8?q?3qwwQ1hAoyVl680vK96AviaBzJXiCbhSzxwq/Dv5a731JwXvZ3Dvmig72IKyZxL/v?= =?utf-8?q?3TkDWRgsKx1uDFKMyeKUaa7cK2E/AsdDHOK/i7IdYyklihS3nxALfJRWyT/2NdNBn?= =?utf-8?q?vp8dn+UZsKVFUIPE8soGyJ3cX6JuynZWt7K8gWpmeE0urXX4WuXoOMZWonob5IDAI?= =?utf-8?q?tuFfTlRNskYQwPs6Ig0qIuP2IVT5km9CJuCCpEJJHUXnm4LyMIvLphw4loTBhUSlo?= =?utf-8?q?TbQIwmkx4LAV49EJA1qmp4OLgURLcN+1wQEEZRXK2+Zpwvrsu8LCfmLqQR0OgXdVJ?= =?utf-8?q?OYKlPvlukCzIVK5wJOpt3GIb1kf1DLvawHbzu6J9Gli9k6FxuFd40bx2kSbL8Hp7+?= =?utf-8?q?RswPydU0KoYVJexsd0zPYH1SFqEvLBpVYPaEaWm6jzqOL0HX79o3nrBN/txxOboeR?= =?utf-8?q?AuK5enadbdkNrp/HKOMUktG55Lc+ixt8qQZtqjHNZ4lXvLnQ/HdUmgZTxSwRK8Lbr?= =?utf-8?q?F1nqidvk/KFqH9xj0mVZCgWu9ALn4xpz/3fzB1+TZih+GhDRvO9fUqv2MkS5Vc12O?= =?utf-8?q?/xq5zNveM6Ad2uyOnrgVRWs8tdqvk1Pu4y1vvs4Lm4XmhkAP262NJTEd6pN8cqfw2?= =?utf-8?q?MKqLQEWzbeZKxMZkhl/dq+UbaK1ZWq2V1qQiTGNv+J5LjFbCC4uJUMxkVWShDd7RK?= =?utf-8?q?gRhJeoVGDse5AylaExSzqf6Eflg5KbnK3wcAy0KKWFgggPY//QuuhNTfrupoX0D/q?= =?utf-8?q?nLQyVV54u2S2cIv8oLP8mMyUqyIQI4O+msIpX2lzbz5+PkQCqdlWZPfAjHYKXKBEY?= =?utf-8?q?qLevE4u3sCPW?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62684c77-4fe0-48f4-3553-08dd581b6c6b X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 17:14:56.5375 (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: O1VrvFU56SoiRVSIa5Xd6sOpyd0hIJy+opa30Q30lK1xIwoW0tnV9hBFGi1fMt02NJfUD8sRhhSy2ZXaY8PIFQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4861 X-Proofpoint-GUID: 7Q8aN8R_2U8TmTfEelB1oU4H4kkOAzAd X-Authority-Analysis: v=2.4 cv=BptnwZX5 c=1 sm=1 tr=0 ts=67c1ef16 cx=c_pps a=LxkDbUgDkQmSfly3BTNqMw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=T2h4t0Lz3GQA: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: 7Q8aN8R_2U8TmTfEelB1oU4H4kkOAzAd 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-02-28_05,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=875 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 clxscore=1015 adultscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2502280126 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 Fri Feb 28 17:14:40 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: 13996832 X-Patchwork-Delegate: johannes@sipsolutions.net 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 DDA461A8F9E; Fri, 28 Feb 2025 17:35:30 +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=1740764132; cv=fail; b=ssyBE9Zc0fIK3o4bR1siE+92j27k00UDNxFcjj94wM0SWxTJ2kxL36CNL1cmr4VNiOzbk0/55G+MB5ysr0UDzk8aUGPALPK3UQ9ELissaT1pDSm/HxP7RGHgrY/PoDvDRdfpA1cTweiFKbQzlDLEXf+sOSxsXvpDwPz+fVP4wPc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740764132; c=relaxed/simple; bh=wbfzaANHWrZwHehU6zHqx+P4Q8s6SqoS7Ckujnd6xIk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=b9IlssSKQP2bDDwwwg/n+18VMMWEcRgEEGY1pt1K8St6YQJBbErvHGMJkdLhJP2Y8uO2kA/xQsZWaCTdXJLEWeNllusiYa2nXtbQueL1F+ronn73U8P82GO4qAJ2DVrLQyqUdTsJNU4slTSKrF5dWujtaTmGIZOUybkCCRQFFZ0= 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=lP+9/y8c; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=KIpxY7Tt; 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="lP+9/y8c"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="KIpxY7Tt" 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 51S8EhYJ012718; Fri, 28 Feb 2025 11:15:01 -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=lP+9/y8cVI9t 9vk6+T1gSwgGiM1sm5oHbMAHhv+BqbdiJo4TIXIimldZe3oGka5hxDsxcPb/Ueax j37I3Y6WYZEMoH5te29DDl+PEz1rtA4Dnk/bhKDHX+FxMNUhcKcAgBu7hVZ4KnUt MQ+mBMJP/+nLTavJovZyrOiRe4cMUH+xyW9bJWetAWKLIGUuRQZBeV1TnqrRYNev rTjCDnScwZxPTeUjMLYUnUpZrJJSrruBWJA/chSY24TMv8UkneAE4TV1/gXKYTKF HHTSYTIJvlryA1Df38z0Vy6XaZuH+2XbtGjen/NKy1DAGm+k/tYQkr3L+uydYKzD 2XyK3Z75AQ== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4539fbrujd-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Feb 2025 11:15:00 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nqjwtyXsYMvLcYJlaY3a8HkSAI3QRKjZI9Rbq9jtMVYOqq6S3dIWWo12Ade7QFxvJRYKr9HfoQkqRZBaNl9YDenb7PCMWs4shkVAmkAIV6+0+IIpU6/X+la3W0P5RHfQe0hBuSXm8JOuSn8ZD/lpJj1K+J+pMJHRJGekZLpYhfw4cp9QI2646InwluAAhYmzuNdRZMKF7OLFoAJCEV43SKx2pKhWZF2XFtKR2iSBfURW2jzxrHz7gysh8tDP2zpGIrsXk8n0w20LdFlgwjf+0Mk+oWf3Q/ZWfoK1g5GCNvJoXm14Bb2Fc8j6yG42+575RBKbro/K7DbWikk0wM/EhQ== 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=u2G79onUrASXtFt3k8o7ZS/MyAOU4mKoV79EtGCPR1vNuHQ/m05bP7lOEYNOEQO3NICcwK2FYjvOt7aoR5+TocR0UxnQ/jfFJFBCtcIW2KBW326Eu93cSDNK03Oka7smW8mIuGFewz1mIvxlkiKXcdbetwK9FeKDz03naORLdax6011lKrSgRCtJkvYb3oEIp+qAOZy8m5ylRM8D8+Fzuk0QcLdFm0u05J5yxvpZDxUpb7/fgikpWTd8WDY9+tvDtHuSKJ9NEwNwABB07I6eJkkpyRYZN77HHLFazbhURECF9JbPjQrQzuCrA0z2MlnNCMzFVtGdMdvQpPrVnFbNZg== 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=KIpxY7TtTWMOS/xDkoGQebOe+dFLMKSJq1uZZLGpr8F5db+C8x+e3JneXg6fLCZXZgr10Fp0vya4h6Jiff4LVkFTtwFxmfUtYSNxs7rw0iXYbVm8qKA4KQxFaZERElgmc3NKS44OmjRGhCD3SuCKKZk/nMMShBwmRcnQ7sPUAZc= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SJ2PR11MB8567.namprd11.prod.outlook.com (2603:10b6:a03:568::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 17:14:57 +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.019; Fri, 28 Feb 2025 17:14:57 +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 4/5] wifi: wfx: allow SDIO device to wake up the host Date: Fri, 28 Feb 2025 18:14:40 +0100 Message-Id: <20250228171441.109321-5-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228171441.109321-1-jerome.pouiller@silabs.com> References: <20250228171441.109321-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::12) 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_|SJ2PR11MB8567:EE_ X-MS-Office365-Filtering-Correlation-Id: 33633b8b-2499-41a1-c175-08dd581b6d1f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?YzFwhw+nyCLbq682VLA2CrYCyVQrfkn?= =?utf-8?q?YqD7DkEWK/+566e2Y9dIgOMwt9BX1az33IG2sALPCNnZPY+9GyFGjMW3dpxttRw3P?= =?utf-8?q?1RB8oD6mEy3rV2CawUaZZLcav5HB8upsbjT3fgdifBgmD8zRvlPGZoiM6NKhhFmnl?= =?utf-8?q?8oApK9MYzQm4zNZgMQOtC1BaqxP9krserMsvy62IrwdrQ/yA8Fmiw7Oxgfikf3N5r?= =?utf-8?q?KZ4ip8MvAtuv3a2E1wbOWSasJLO5CwuxbnQbCjiUkNiFNE6Ohsv804ea5KN28qAX2?= =?utf-8?q?NyD0cE1ExNZdHr8oT8VZL75ty4fso378kGFvCknmuOnxnCP6FGbo1bHfxDT+seNFk?= =?utf-8?q?B5kmfxgPwyE/P1iFAH5Mu3cG1+yEIRLGJy5e3ybotGXW7//InFTW4JT9QScL+O3ZW?= =?utf-8?q?ViXrrYKVYV1bcXXuyrFHLY3mEN8MXysyUfFcfeCfVXeFYJ49yfZvrT/1k9KltYPtX?= =?utf-8?q?RTiFiRttM9O4ZMY7rl8NykpoC399/TTEcE2tkDDzldIt8bXhdhIK61HrQMXtvyi3z?= =?utf-8?q?rbk4p+tEjWt7SK/6nKrvN/NzAV+4N/zJ1M8OFavWF3F6ZnjsKxQbEEv39WiXBCoTO?= =?utf-8?q?7KBqPukRlgOj/vOnmGtjj/I3N23sCRJhaM1a8x5y0qQR8WjuJScaEX8PH+Hm4Gh12?= =?utf-8?q?Td2MaHsl6IwFnOKGE7HTecM8BMYzJ33Tflx5ALm/3kWehPvRxLshSOQ0D61NYMfsV?= =?utf-8?q?FQuCx15MQniJgvqbaxpR5Inbfxbs/cqDcHVtbzmY+fZXl/tiSlw8bQT2rzLZGv2GQ?= =?utf-8?q?VFn+XLFFYVSjfaQ3fSScZu50MJp6C7+VmE0w+Gcm1C54OE2F4qb/MJRJ80MUJPj93?= =?utf-8?q?ORw50LE7htrQUVelPuU50DpMR30IXfGgazwDajHRi8yJ+WiEriwMkXPu3lNvE7Kdr?= =?utf-8?q?aDFdu2kvFk5H5RY+TQKWlCwIJ3U1bBEbxKVWkDBCpvvPQAs1pYerzrtofj5B7OAJJ?= =?utf-8?q?ln/jUjXfKUxnSXq1pmmHt5nENZ2fWdw8IEXDnfKcXVk0dVvIcbKiXqSAvJ0T/Wn6z?= =?utf-8?q?S5DczGnU7cFnhFCaKAVJn5QAAgDE6+nxTUWzuPmXAtKSRtKicjoyCJVKVEPXlWpcz?= =?utf-8?q?SnIQyqrVM/LfYyljiRtEj/h8Q49PgQDlSVkqpddCDXVsN+c7/zU5472iIFlaBGC44?= =?utf-8?q?em+vPdt+c2gXDCRdwlyGhp0TkmXRqzG/2iGGZ0R8pi5gOuaN5kwlKB8V5yL1G21mD?= =?utf-8?q?/4IYh01L+SRVNunYA6vmWWLxCPGbPUjObwgZAJpduoMGW+wWhSccZV8s9H+2xaT+j?= =?utf-8?q?4k9oSwhRZepvbd8GVe9QHxS2X5Px49rUf4ocJ9zIFf/s8daF19/81C1ridTh2MKkK?= =?utf-8?q?vnKwUNBYP3WvpciX0XzXtc7Z+HtgHRS1uDVDdoMuLsvEgRHhb2PXfd82i+/qXfany?= =?utf-8?q?H4yb+EPmxTo?= 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)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?CUiKbuzql6fGqEoNUgjQkRrxslsH?= =?utf-8?q?vMPPx2NfRu96WD/qX02hDBdaVmXh8EZqa4vjvWFgwHq+c9y3GXl+3Jkzq3tBEeNd0?= =?utf-8?q?z2Gxn7FjcrtWFLo7QagX/1vfs9qi4SPq4NNkbCyQXIv3z7m2Cjk5pclSjWdZV3yKt?= =?utf-8?q?bifkKhnlFu5RMZ19LRv/YDCrhvpDhy5dL8vs+Z4/738bWuSncZvO3bGLPa0ima4ne?= =?utf-8?q?THThBWrs7OUBWbZOA0+7hePDReaRWPO6uhQ9lHE8tKmoIFxczTUI1ZlRAs5KzXnQm?= =?utf-8?q?Daa73SdEJn1gxEBdMT3Cg7XHFzU0Dumbh1ADEfrhTLQYu9wPymCtTvSBsPR/rbiuQ?= =?utf-8?q?WomlGF1bcCevJ25ECKstd27S+nvSZv5o5GWm+Tc4TDLDzLTJCUHepgMRWI36kb8hB?= =?utf-8?q?HFnFks7dWpwkztCHJbjqwbn/MZ9OShKlM+mAcEUUYxuc/DNCRQZKWJcOPHigoC9yQ?= =?utf-8?q?zvJ4qee7Mr9KlrkE+nyDM0t3+Zzk3VRPoxQO09E9Lxdy4tYFVP+aWOADBRe1mWe3A?= =?utf-8?q?LqT0lfOVBWXDq+hjsKxxvVz5eVk6X7u6yCA6HV/ucTGih0XTEwm4KzxWyUZLDpo8u?= =?utf-8?q?eMj3U/0v1RkvM/VCuDN4Gk4t/EJ+mEzbGq05S1UEzeivnV8SvIHc0wsrvSqYrGL8z?= =?utf-8?q?dZlLG1G0ekz2SO663ftW/vpchKCBI8IMJ5gTUpk0U7CX5bG7oxGSBbmhKiHn9wkvU?= =?utf-8?q?ufr/Hxwx7GFOqfr/l8RgHLZZBLi8aZhneEfA+mqKxle4ugBdQyUv73DViX4zjejLz?= =?utf-8?q?Mapmz+OIfLiJABCtEh9FuJrZeYEeyn9tj5BdROZ0CUdPkrUiKhCANsefbGunTYYY9?= =?utf-8?q?ChmUXgKRTD+hjsTE48G7LKQBqRVNayO2aoMpuEw8J5QfZn5Rhtm8YqqeHOwq91N1j?= =?utf-8?q?ig4fZdZjZEHFquOMxsGNODEaMXioTdQLTKTBALuTBWfJfHPSBweld3V0LjlpsO7mA?= =?utf-8?q?WwCOBLlgWlj4GXAVP8vN1ZjWuhve2S8T+cwcB8r5miImyo5+xWRQc9uXgZaR/c3IQ?= =?utf-8?q?JHA2d7qflO0BLSSneqxHIYDF0vil77Ze1g6veh5E0o+lozXwr4403QcatvkBDZAaY?= =?utf-8?q?XXdR5W31YWrjy8BQvLiq/IlTccSAhNno4kx/WzLrQPSZzMbNiTlZldKkL7FQEe+ho?= =?utf-8?q?0nS6be5EN0AXcVLOUHVp/G1Fc2ajWq0HgL5V9ttbQhaiHRIYXM1VDvoIYOvM2KXdn?= =?utf-8?q?5eKo1h182L+MH3/g3MjORydm81ZsHALRr5wnWlfQd4TgtSaWmt64xG4g1ooMVpwWV?= =?utf-8?q?KnBmIj/Zn9GNdLeMZvNMnjJjIRVIYqYCXhSxnaTx/T1FbWffeFvrLx4FrgumbQd+E?= =?utf-8?q?zazeqt97232mdLOvBLeGDHnXuusGYCS3jLmW5rZmkU7TwejtifKPyW2eFXbiCsg2p?= =?utf-8?q?1cTuwSiHHZPJpf9vdOlQEAB2uuUtSWccX9UJok7BUEZjS91Zf3Eaj0d49u8jyo1il?= =?utf-8?q?mMItRRhH8p6g6qQxzXIhGThomqBO4u7JS+I/LQcpdlj7VSA2FEfC5IJst1HAgWo8A?= =?utf-8?q?6EN9q6LfkWJm?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33633b8b-2499-41a1-c175-08dd581b6d1f X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 17:14:57.6110 (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: R+2boAV+RHVO4MuAM/vnfoW9lMVeHsm21rq4CyPEhqTdGKXS0jBwje67oqiVWHH4WYxUCKKEJ1iWz5y8SBHB6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8567 X-Proofpoint-GUID: RLp5xNZYsiTlVxi-bCFJEhN7TKBWlGIh X-Authority-Analysis: v=2.4 cv=BptnwZX5 c=1 sm=1 tr=0 ts=67c1ef14 cx=c_pps a=+tN8zt48bv3aY6W8EltW8A==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=T2h4t0Lz3GQA: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: RLp5xNZYsiTlVxi-bCFJEhN7TKBWlGIh 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-02-28_05,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=824 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 clxscore=1015 adultscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2502280126 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 Fri Feb 28 17:14:41 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: 13996890 X-Patchwork-Delegate: johannes@sipsolutions.net 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 CAC201F4C97; Fri, 28 Feb 2025 18:24:24 +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=1740767066; cv=fail; b=jIs+sLqWB68Fg1BYjK3Wwhjw0vpW1m5NAYuVgrDmO5Thi3XyWkow0/ivg4/ntSrJASvbaoESPxeRw04FyLPoQZrPBERfknzEAVUJOpUQY/ei1gdMU56Uk5TT+YooQUzC277u9c6W0wbiZTwbAuvs1P3sLCDF6XHqNJdBaB/jT7U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740767066; c=relaxed/simple; bh=TUSbefa1RtSOI1HW0RDRjuD6llP9MiM+MgG1VFe6g1w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=euS4dsDqA+uhHqKo0or4iboLubMNnf0tAYPRlz/4P11Cr5EO/ztf/TL8NfvtqFXrpFXW2fU3L8NN7nnkbc2KYSbbQd0v19WVSX09f4G9Tn60O7KNBwr0dg6VP/eRO1o/DcDVOuTnKLVnVp1uMcr5Imh+3Vy+m9hBO5y5z6mnwU4= 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=xTDR+ZRM; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=B11PPXz4; 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="xTDR+ZRM"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="B11PPXz4" 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 51S8EhYK012718; Fri, 28 Feb 2025 11:15:01 -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=TUSbefa1RtSOI1HW0RDRjuD6llP9MiM+MgG1VFe6g1w=; b=xTDR+ZRMXPY5 eIj96M326NBLiRrABVkUFXznVUy66uMSHjy6nzfhPMOg0oP/h6J8T9L3vn6LuK7i 74PVLPrIvNtBWwKpW8SOIFtpK3igLiQIJp3tzgAlKMRUknwzzNJTVLcVLaXd1kUq iP4SSCpED+QoNnDyKkT75GH56cR3HK8zC3cUVfdMkN4d35Y/O+14/kSahwG5t1S8 MszRqhtjitlVqHG/18fzjtRLXDA2mN3l4gwwNdcrGQogFZ97FeoLX6dtlq611jLL +h2EIjdedRQef40t1e4sBLDvnZT0HhD0B2bIVKS8dWvPzHSebLZpCpNVifx7A/2t icNOroIWfQ== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4539fbrujd-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 Feb 2025 11:15:01 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y6K+GJpwvzJRWhSJIfr9yPx/Lqk0JKNZju1iDe92IoAcy9V8BAARMBzP6uKXqnFH0hlaffmYwtxA4IpKOHHftfZD0+QVYncVZvqWeA5NKqDXMkiSt+tps8TeCBlD50jdmK/YJYeljRp/UwRYxhNmLFXO4O3HCHGXH+ah6aO3RvA3XYqmhgW/CHUOmQdYxV+nm1f0NM0awkaZxGHicsp6fvnnXXbxAJjsoJPVEiJDhyRV/7JgMHWe7lnWykxZOq8Ny5c059MEsRGc1N2jbsyAgr2lY9aeFj7g63TU+MS+kDFrLTLJPxQSwrhND6nghtAQWYldVId3FqOcgdct7+V6oQ== 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=TUSbefa1RtSOI1HW0RDRjuD6llP9MiM+MgG1VFe6g1w=; b=gT5MEZrrqBzjVFxasWdiCQBF8NnjU8ZiUf1/wKRziQHIwAl5pBlrKo9uJ8XD9YP5WQu6H12wtGPRlS1F/6aAyRGc1/MSh4SZbvmAi6Qe+/RDXN0y8mFsTNrj2YzeBohNe8YQSFsqrU1SQHZWJfY13t9JMpg5nSjl64F7M/vMedqNkXeexZgLdML7s/fhwz/Yj759LyTukB5M641Puh7Xvok+2qvowB2ZMQIZxqVqBCZ2YoxJSTkFRvHidq6KmK3ti+SfALfCBOJ0kNwXpqRIfJXgeExTIUzuy+q9+TzhaeeQzh3k97WanAGubL4Fc9WeRl7LlJCioGBi8+XitlZFNw== 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=TUSbefa1RtSOI1HW0RDRjuD6llP9MiM+MgG1VFe6g1w=; b=B11PPXz4kc76v3qryBY8PflAFvk9mSptOSUGu0dNEuQLS4jlyUWXE67XjjqdaTOX8PFqVsWIvoey6Iu3aM/HQQaubchUvVucDPNeeEw6DIsTjRGX+j9V8tv00gUb7cJCOfFfKf2yXyT/DTgnbr9Ht00IaV5+yxxCiu4gxnmCXbI= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SJ2PR11MB8567.namprd11.prod.outlook.com (2603:10b6:a03:568::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 17:14:58 +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.019; Fri, 28 Feb 2025 17:14:58 +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 5/5] wifi: wfx: allow to enable WoWLAN using NL80211 Date: Fri, 28 Feb 2025 18:14:41 +0100 Message-Id: <20250228171441.109321-6-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228171441.109321-1-jerome.pouiller@silabs.com> References: <20250228171441.109321-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::12) 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_|SJ2PR11MB8567:EE_ X-MS-Office365-Filtering-Correlation-Id: cf882eb3-1e93-4e9f-637e-08dd581b6dbb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?azleh9wdEALoA9J+4quQnmQARZdiY8A?= =?utf-8?q?3aq0qBNNLLPcJQZwZsNdc6wqU7j30tUIYJdLLpBGS1CFs+lGgmev1i3gmJOz0DolM?= =?utf-8?q?D5X82LPKetRunQJFOGmihlDlVjbvF1UXO4riV8kT3hJLTABezinMnQRY2ANAOva4F?= =?utf-8?q?WpWEhFWwuKRkHSsuqrT2MRfqhJl3Y3/gAMfQNogazVrNDeUYKWKPKdBiMbv5Bvb2z?= =?utf-8?q?3QGs45I/HjA6gFNJYCEUkpD6bvk3ul11k9KbBkCw9XraDuk/paN16caS4Ffj7TJgN?= =?utf-8?q?CHGYNkAm0q/v2cVLwIwin5lpJoqyfSNJd3VmLoQND9oIiStDbuqsv3Ag5fgweiSpX?= =?utf-8?q?vyuGgCqELEETs4BBC1+bX8wko73JQi6pb2ttVM/lZcctr3g4khbqRsiz7erHlsTqS?= =?utf-8?q?VUV5g5Y5h58i689Q74CoHz+0KPM+RmqLmdbaN3Yru+e5eincIeZ1rIr1OKkIr+YBx?= =?utf-8?q?7wib+5mU3GXHsvmrC7wMlGykX+LDNduOhPEne5eHnwGbstOj58ii0EwE7JrELnFDi?= =?utf-8?q?Hib2HI4t9a8WHvQMSF2wjptwXDmSXs2CQnIPCht9bKyH/X+80h4GUsivxxDw6e05R?= =?utf-8?q?Pvh1JfFVi/+jp1xdBPTi7FElfIopF0DAHme+Bsga9XxQZtMme79f6zfjQNRrRKktf?= =?utf-8?q?QhpAd2nJHP0lFm7aQSvUpFsCwJXRGblSaJmuuwvCJfsUe0hzegv4iLpQlckmMSBqo?= =?utf-8?q?vMm7Ssy6C4emXVgI7E5Q9NBrMow/lIAi4u1TWoP907Sn18cE01uy9fxri0DwFvLdQ?= =?utf-8?q?E0YH7vgpQMzoYpJ1H6htfGZpwThUQHhBKNZeF/SHkufAFs5fmSi6pn4o/RUppayd1?= =?utf-8?q?qDZwIAM3oGucvn5BE1wYrYib3Fyr17qp+ZxW77h1tr4v8YGcVxMFy3lA6FtRhGfMD?= =?utf-8?q?UKeKa1PxuU10mRX2yBSadDRtG28SUoryQ2UCYeAvwkFQRIhKy8giOf/GwC4kGQkkg?= =?utf-8?q?GdLw11/2jdQRcVCKlgcmafJzI8sPA97hEKY0GzDITeYWmPl9CwVBkHhMrYxJV13av?= =?utf-8?q?XbBkeON4gO/E8qcRx7Ls/rPjAosa8aJq6HBHlCvihtdnEhGEUXVVXTQE8f+VFN8KO?= =?utf-8?q?LVpOUnVZya2cWxDbeOZtWK7U6QfgSNrFyifL1Dzmc4ntf29tO8wh7ogf/nzb2gjaG?= =?utf-8?q?IBTozsz20WPUqhVnc8mclgtoI3mFOZTXoJJ55mLbDdZ6+xwnSNd1733wzSeMCR3gU?= =?utf-8?q?Q1TXdX24HxTnz4VArBIYEEChcTnZCzL1zXAN6ge/6eJN7rG3qdpJSbWiAQUF//KD2?= =?utf-8?q?hFS1DbaxAgc2Mrx0ln00nvgmbeFCSEWyFFAKxUK9XIPNn1YwxXVHPgW07gwgoxVuQ?= =?utf-8?q?Zg0t3zYkgmEnxd1a9jw7s4uiVSnBCK7z33bMplUy3+nZG1GKGv7/uixnMbCKOJNAH?= =?utf-8?q?FIlT4Jdd4eQ?= 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)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?v93M/4TFSCEHg5/MXrCr+ppmqWVb?= =?utf-8?q?PZn6CAE2pCxDPY90NYwwqjsJOPvPHBWvc9je6TRdc4Trp5GMYFR5dJvF2KdqayIBd?= =?utf-8?q?Q74uwZTJmtvyh9UNj6tuSCSYCyZahWQJ9yAQzeWM11dbEeIZ5EEWH2To+g0MtI9oL?= =?utf-8?q?wquwZ2cvtErXXP4SfzDONLjsohK5VbW7kZYZDJaqnIxEW//wuE55vVXFcYeNlXKjt?= =?utf-8?q?kzsjEO0YlFAaUznDTrmbfcen5IMEIBBwvmtteaDYFb1xqLdrPfsgepAg7O0oLDnay?= =?utf-8?q?GgofA9IyHRuwH849P1Mk3x8LB4UCSeTfc39YEy1FFTj9rGDiZ6j2d44e4qRu7uSjI?= =?utf-8?q?WopSn0A3JW9hNF6tgX2TvSKjS6MJ6nFw53BbxwewD5EgwPjNobAasOboq8mU72O6V?= =?utf-8?q?nFcFhUgKPCYUWEqcLl2k0oKX3nfFuPL3Hzmi72qnRQ+O/30UQ14wkhhcm++4AmBYt?= =?utf-8?q?4vqyqPJNWCe2Cj40X+9n+cCiOH9a5DqfgItJqTSkbQ7jmprStPrV3rCt0PgCNlQEX?= =?utf-8?q?N1wYv9YT1c003DWwHWO+T95ZIOBlquaIv1h50KYutlfiE53Ke64K9u3xRPJjcTsdB?= =?utf-8?q?zY7OTLNAQoF3yqU2HA3vQ7iYjicbLnY3ObDbQo8lsAqm7rS11/d6t70ieFRnDt4Jv?= =?utf-8?q?sef0VpqLmvnJrrxBoTATT0o5H6RaFHxpDEMH3S/uYKXL0gStL8QZYlSXsnkOX9vYk?= =?utf-8?q?HV0bNp8iMNOrYZglSnwY3pSd9VTzprJp2vOZ3FvaSuw7qyiYFEnJWT/Zp4dTkHWjC?= =?utf-8?q?osx0ItwV7Yl//GzLN9aNUlcSyaeCmFWHphn+0/Pueh1kLiUgCXExwc+7Z9SbajJDs?= =?utf-8?q?c3LoPn1PcsXKhAIQsnBgpfFK5vfPpOBmW3Hr+Wvfv5Kw1pqqQSYno6/VnatfLdoGb?= =?utf-8?q?XGuQUWjqyduRztEevQB3J0s8U0tJMttGySs6GCKUIuD4cBZuO4DXrjrUM9WOFuBrj?= =?utf-8?q?Ys19rMKIFMODuRRMTaNTJcxXr57rksk3XBUcF5NhhR9w29LxrA3Rn5/uH9HRp95VO?= =?utf-8?q?eE4XvMRD/EmCKlAs8MRjfsnBOHTV4TmWJZJpxzgoIwbMuqZ2dn2eJavb05mAM1IWT?= =?utf-8?q?y8Hv1F/7IEiSlsrgRzkBxol+ZtIYAzhPX3PhbxH6A9aE/EkUxKQTD0CiWrukLceFy?= =?utf-8?q?z+Z1lHLl8gF54ugV8STRZXsEFXIA+HgNqHCxKM6WiXu/YIIYS7VrHd21Rk+Bra8U8?= =?utf-8?q?Gq2hjdZMLYAFvRdlURotEYJWHlof8mCzU1EqPMfe3onaaT8FVm5Qv59bbK+GWs3Gr?= =?utf-8?q?X3B9/eZd3c6Q/0M6l8bfJMy3AXcKwTxYw0jcoNdjbWBWTlM5eOgNO11r8G1GY9w+y?= =?utf-8?q?hTw0kGRvlJrY8UgMNNnjrxmUO0sd4p38ZTcJqJYjcHsyjuzQfZJlJGSADBaivbEp3?= =?utf-8?q?1Xq2iKW9rgB3kgrODZQWUkGK9DkW6oF9iPaBn9LrcS51QAWAmAe5O8dzpfZV/Ut1v?= =?utf-8?q?YFp9Bk6It8DCZp9khZ6JX0LY+qpLFZS5CddIvT5pGxoLUAi+0vN/4qO3Kjh5Bd0FE?= =?utf-8?q?Q3kK1f/SvIHp?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf882eb3-1e93-4e9f-637e-08dd581b6dbb X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 17:14:58.6040 (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: jjxZLQ369uBVoIbJtctIVQa2d9Xj77cp+tQB0UI52d3EVNtEOxdoT1cIWPND/sHcxJk8uQL88zAlrWDkORHCGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8567 X-Proofpoint-GUID: VgiV9FLJyyG_KBItkHQ-he41_EVTwrP- X-Authority-Analysis: v=2.4 cv=BptnwZX5 c=1 sm=1 tr=0 ts=67c1ef15 cx=c_pps a=+tN8zt48bv3aY6W8EltW8A==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=T2h4t0Lz3GQA: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: VgiV9FLJyyG_KBItkHQ-he41_EVTwrP- 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-02-28_05,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 clxscore=1011 adultscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2502280126 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 83fd278e615e..17ba2c59e53d 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);