From patchwork Mon Sep 20 16:11:12 2021 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: 12505823 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06DC4C4332F for ; Mon, 20 Sep 2021 16:11:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E0AD560F23 for ; Mon, 20 Sep 2021 16:11:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242312AbhITQNX (ORCPT ); Mon, 20 Sep 2021 12:13:23 -0400 Received: from mail-dm6nam12on2084.outbound.protection.outlook.com ([40.107.243.84]:20373 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229722AbhITQNW (ORCPT ); Mon, 20 Sep 2021 12:13:22 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LSwz/iaC6UYBWuOpOB2MSuAnG+S3yooCCGJOnWsf2xUUGz0bLc+bnNzFJC+72WGKOk3EHI3bBxE6XTwen72yVJxCRYZ/aP5d+Ab1bN/RRVexULogGd2XEGoXhiZ9z4SerMBW3kJsoZYy4+9EqfYjU3GeBX9ZJChTpHsvn1nmhNjcpibRnxBGjxQOF2RuRPqiW8qrSvJXJhHaSfaJbrdFg3ztdBTbhltIuDNw1cW0QBr1y6wgZhyDxWZVvuX60VTnKSeJKvfY1fRYby0rFzwC3ajl0riiNeOA58jMBPJdW6EWJ/JsWu+00UzPqtW8dlRxULSR9FU3RIsJiwOg+DaGFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yTIxWnSXbtg2CGXL+luxVdWTu+IoeNNCdwbEtWiqssI=; b=kr6npooyr6JrxUOEQ4Cd1PoyjgxdU4XMqXFwi9ppRExSL9HWJLd8kl87kGe4TD0pmhtsJJ6/lBNHbTsd7XHVOwYEcvkMVhY38y9EI1RfMpmIxLKKAONtEJofWLuAsiuB2caaWHhZT/OJ8RG1wWwsbzm5BOQiv2yhut7cbXGLeF9hckNGnaKUbG6pehHpjCNlp6tpkDqkTQKzPOZGl8whBzXTYTwe8z5LYicH4X4eoi7J9NjDm7kAVW19oSG+afZ078z/Gaje+4l5AET3GcIxTsfXsw7dv7N1yuKoeZCAUIDua1zdVdQuYouzjniWBp24xUCfL121WOb/uYfTLh/Aig== 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.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yTIxWnSXbtg2CGXL+luxVdWTu+IoeNNCdwbEtWiqssI=; b=CK7qkbBHqWSwbZbCjBlkg8BNMYZ0yEVU3fXy2KRZanBtohbTusXylutH62Uy3kDN7NQFDLuVcAQIL0PcCLESoJW6pFGBhsOkw69IeaQq0k3exZGsaBQDHFy/vydwBgMahgeL0f7Ja0Glmk8sgXEH0cTK/fbywEtxJPcpXNSrhmI= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA2PR11MB5002.namprd11.prod.outlook.com (2603:10b6:806:fb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.16; Mon, 20 Sep 2021 16:11:53 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::7050:a0a:415:2ccd]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::7050:a0a:415:2ccd%7]) with mapi id 15.20.4523.018; Mon, 20 Sep 2021 16:11:53 +0000 From: Jerome Pouiller To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, Kalle Valo Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , "David S . Miller" , devicetree@vger.kernel.org, Rob Herring , linux-mmc@vger.kernel.org, =?utf-8?q?Pali?= =?utf-8?q?_Roh=C3=A1r?= , Ulf Hansson , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH v7 00/24] wfx: get out from the staging area Date: Mon, 20 Sep 2021 18:11:12 +0200 Message-Id: <20210920161136.2398632-1-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.33.0 X-ClientProxiedBy: SA0PR11CA0064.namprd11.prod.outlook.com (2603:10b6:806:d2::9) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 Received: from pc-42.silabs.com (2a01:e34:ecb5:66a0:9876:e1d7:65be:d294) by SA0PR11CA0064.namprd11.prod.outlook.com (2603:10b6:806:d2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14 via Frontend Transport; Mon, 20 Sep 2021 16:11:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7904e0a3-9b3f-4d92-aa41-08d97c515c15 X-MS-TrafficTypeDiagnostic: SA2PR11MB5002: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2733; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NC8cg2AlCjLBDBJsEmDBJJ228xoZdObCvEU7pYX4vUJWAVNmAdRNKM9SNtrplp4wJerQs8W2R4ytMRwTIlu7zfE0oqy3Ps1j4xRcjrviJ1r8xxBorufYKlrSl6v9U20QXuGwMVrGr3cAj5Th1VJFvo1WWKrdrR4EKsfFpLBwyGp+U5crj18iXNveDAlM0sX2QsQtvSMJlan/T55/Sl0gj/QFEP0KrY8pl3qgapFORnT7gO3OVpdI1u1heKnquxbp9EIm73uGjAnMtJ7y3AvLo4vfoWWQKt2JZQbM+2mOPz23nAtGUYMRr5n4ZgVuzgDrfOdE2Q4wuQmsNu0utczGZ4aqz9j63rOkKusmX8fKvp1DpMlkafuaO+Ml3TAbzw2RdJiJDRfsE+3rJ4PupVDfLdgMZIdMUVI6q1iGlWA/LArtm8s3aNvDtve8rwlg1Kpg3SvFZrWrO7ElVwyRHiuyaovi81nu2Hs40M0NYr75G6UkhlVUsZklAn/Cn4MP3ZUKfu6e5bTiaYpibVtDkaxgaIuzhYjbkYFlDj6AM8mxtYr0sDOygSfXgT15Jf3Ah40dY0pgK+nsJVzENW+f3NjHurcqMF0FZhMgEfuKHC4HoHI1MY24leAg8ywgpc8iwAmgXd6s/0WUQi+a7h3iXU3f1H4zKoRDeNTSDs3q6/pvk+/po19vWTvyWrsQHoJfA4FTaTSaV+YxEMJldlG5ovg/6g3nnsKRRBvNAgbyQteXXuQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66476007)(36756003)(2616005)(66556008)(107886003)(186003)(54906003)(5660300002)(6486002)(66574015)(66946007)(52116002)(38100700002)(83380400001)(7696005)(6916009)(2906002)(1076003)(4326008)(8936002)(316002)(8676002)(508600001)(86362001)(6666004)(7416002)(966005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: K0wgRC5c74QBoFsGmxD6a5huYXw6W+9irkg+EYLzGPHhj8vkKgfQWLO8vHqJD4yyJwj67Ys0O75dGGdELV2d7XRr7uHJs4eJzXD9eBshFif1P5W2T63UsDRP2R3VTR7Fw/YUz8DMA4I3kphu/VmXrOJFO5l/wjM/jEo33Qw77sM778Z++/KGNPzQuLrUUKRCy+Yeg5qC7EwvXtNtZqOM04of9/wFllD9VaiyRNuP19YbiEruILY/FemTH3lyD/nD3hxTFNTPUoLwmJ6iwjB+T6kaCODldYpoxGzdj5GFip8iCg4VGIhRn3/0UQ7dx2KZj0QE/47SCQI1HDyLzd4g46aHXUpKS8K4E00IppYsKyiUfQbcEOUSSUYqUGpeOClEM6Mw/Obx13EtI4RlnwMgdPJg8FYjBA1zL3wb+8/g2QmR8pvmFj456KnrgjNbX6XEtwTBftHoxm60xrrPw7ky22lZr3TVKVVsCtbeiKHEVVu84mRK1r1xtgmiNq+jdDIvMxvoUAjAorEUfmP6jhwB4TXeiE6h/4mago6vUIT/uqx/M3YeFX9JpkBVwg1LGfr8zWxQ5GaIW6E203T1LWq3DEiOUhhN8BzZFs04MUsi/r/nz1nQoWrQERmpfC/eAD9z1lJVFMi6n5nd2kxxpUKC5I6bMbH4s3QdphBc2TOlFbl5Cbc3IDXASM+UL5c4Kp6rrl0a4T8QtetrzcHhkGTAV6y9EU6VB29sw9TvtKP9/8Z3xLbAOfHf11KCiebfqlvI59wztwIVLAPLE/AJQcw3J9r1efF6mzd1X5ND863hSNjxf7PWUObr7PSci03J+lPZ X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7904e0a3-9b3f-4d92-aa41-08d97c515c15 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2021 16:11:53.3841 (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: b9NhMrfZJ2TWAZyKt397dkxKt7MGykQV4P4wckfbtnYEvRWpaeMB98YSKlTKvrnJQ9MbFhm2MdATH3e5kCYEFQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5002 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Jérôme Pouiller Hello, I think the wfx driver is now mature enough to be accepted in the drivers/net/wireless directory. The firmware is now a part of the linux-firmware repository since relase 20210315[1]. It had taken a bit of time because I have worked with the legal department to simplify the redistribution terms of the firmware. [1]: https://lore.kernel.org/linux-firmware/2833354.gXvVfaC4I7@pc-42/ As requested by Kalle[2], I send one file per patch. At the end, all the patches (or at least the patches 3 to 24) will be squashed (therefore, I didn't bother to write real commit messages). [2]: https://lore.kernel.org/lkml/87ft6p2n0h.fsf@codeaurora.org/ Here is a diagram of the global architecture that may help to understand the code: ,------------------------------------. | mac80211 | `------------------------------------' ,------------+-----------+-----------. | sta | | | | scan | | | | main | | | +------------+ data_tx | | | key | | data_rx | | hif_tx_mib | queue | | | hif_tx | | | | hif_rx | | | | hif_api_* | | | +------------+-----------+-----------+--------. | bh | fwio | +------------------------------------+--------+ | hwio | +---------------------------------------------+ | bus_sdio | | bus_spi | `---------------------------------------------' ,---------------------------------------------. | spi / sdio | `---------------------------------------------' Roughly, I have sent the files from the bottom to the top. v7: - Update location of mmc-pwrseq-simple.txt (Rob) v6: - Rebase on last staging-next (roughtly somewhere after the 5.15 merge window). So, this series include the patches from: https://lore.kernel.org/netdev/20210913130203.1903622-1-Jerome.Pouiller@silabs.com/ v5: - Add reference to the PR to linux-firmware in the cover letter - Rebase on last staging tree (that mainly include commit 6efed0a69794 "staging: wfx: fix possible panic with re-queued frames" and a few cosmetics changes) - Remove useless trailing spaces in DT binding (Rob) - Add a commit message in the patch 2 since I am not sure it will be squashed with the other (Rob) v4: - Rebase on last staging tree - Add 'additionalProperties: false' to the DT specification (I made that change blindly because I am able to reproduce Rob's error) (Rob) - Replace C++ comments with Ansi C comments (Kalle) - Check that existing Ansi C comments comply with net/ "compact" style - Drop one obsolete comment - Remove comments after '#endif' in header files - Remove macro redefinitions in hif_api_general.h (Kalle) - Replace compiletime_assert() with BUILD_BUG_ON_MSG() (Kalle) - Rename ieee80211_is_action_back() (Kalle) - Add a comment explaining how the PDS is sent to the device (Kalle) - Add a comment about case where CONFIG_MMC==m in the Makefile (Kalle) - Fix irrevelant comment about CONFIG_VMAP_STACK (Kalle) - Talk about the unreliable SDIO Vendor ID in the Kconfig help (Kalle) - Mention the firmware status in the cover letter (Kalle) - Fix misaligned function arguments in key.c v3: - dt-bindings: Rename config-file property (Rob) - dt-bindings: No additional properties are allowed (spi-max-frequency is already listed) (Rob) - dt-bindings: Remove references for mac-address properties (Rob) - Rebase on staging/staging-next v2: - dt-bindings: Improve device description and add link to the datasheet (Rob) - dt-bindings: Add blank lines between each DT property (Rob) - dt-bindings: Explicitly mention mac-address and local-mac-address and add references to ethernet-controller.yaml (Rob) - dt-bindings: "config-file" is not for development/debug (Rob) - dt-bindings: Remove description of "spi-max-frequency" (Rob) - dt-bindings: Use "folded scalar" syntax instead of escaping the colons - bus_sdio.c: A compatible node in the DT is now mandatory to probe the device. Also change documentation of dt-bindings accordingly (Pali, Ulf) - bus_sdio.c: Move SDIO IDs to sdio_ids.h (Pali) - bh.c: Import patch "staging: wfx: fix test on return value of gpiod_get_value()" (Nathan) - data_tx.c: Import patch "staging: wfx: fix use of uninitialized pointer" - sta.c: Import patch "staging: wfx: make a const array static, makes object smaller" (Colin) v1: - Drop the function name in the warning message (Kalle) - Replace goto by return in wfx_send_pdata_pds() (Kalle, Dan) - Improve error label in wfx_send_pdata_pds() (Kalle) Jérôme Pouiller (24): mmc: sdio: add SDIO IDs for Silabs WF200 chip dt-bindings: introduce silabs,wfx.yaml wfx: add Makefile/Kconfig wfx: add wfx.h wfx: add main.c/main.h wfx: add bus.h wfx: add bus_spi.c wfx: add bus_sdio.c wfx: add hwio.c/hwio.h wfx: add fwio.c/fwio.h wfx: add bh.c/bh.h wfx: add hif_api_*.h wfx: add hif_tx*.c/hif_tx*.h wfx: add key.c/key.h wfx: add hif_rx.c/hif_rx.h wfx: add data_rx.c/data_rx.h wfx: add queue.c/queue.h wfx: add data_tx.c/data_tx.h wfx: add sta.c/sta.h wfx: add scan.c/scan.h wfx: add debug.c/debug.h wfx: add traces.h wfx: remove from the staging area wfx: get out from the staging area .../bindings/net/wireless/silabs,wfx.yaml | 56 +++++++++++-------- MAINTAINERS | 3 +- drivers/net/wireless/Kconfig | 1 + drivers/net/wireless/Makefile | 1 + drivers/net/wireless/silabs/Kconfig | 18 ++++++ drivers/net/wireless/silabs/Makefile | 3 + .../wireless/silabs}/wfx/Kconfig | 4 ++ .../wireless/silabs}/wfx/Makefile | 1 + .../{staging => net/wireless/silabs}/wfx/bh.c | 5 +- .../{staging => net/wireless/silabs}/wfx/bh.h | 0 .../wireless/silabs}/wfx/bus.h | 0 .../wireless/silabs}/wfx/bus_sdio.c | 29 +++------- .../wireless/silabs}/wfx/bus_spi.c | 0 .../wireless/silabs}/wfx/data_rx.c | 0 .../wireless/silabs}/wfx/data_rx.h | 0 .../wireless/silabs}/wfx/data_tx.c | 12 ++-- .../wireless/silabs}/wfx/data_tx.h | 0 .../wireless/silabs}/wfx/debug.c | 0 .../wireless/silabs}/wfx/debug.h | 0 .../wireless/silabs}/wfx/fwio.c | 0 .../wireless/silabs}/wfx/fwio.h | 0 .../wireless/silabs}/wfx/hif_api_cmd.h | 0 .../wireless/silabs}/wfx/hif_api_general.h | 6 -- .../wireless/silabs}/wfx/hif_api_mib.h | 0 .../wireless/silabs}/wfx/hif_rx.c | 3 +- .../wireless/silabs}/wfx/hif_rx.h | 0 .../wireless/silabs}/wfx/hif_tx.c | 1 + .../wireless/silabs}/wfx/hif_tx.h | 0 .../wireless/silabs}/wfx/hif_tx_mib.c | 0 .../wireless/silabs}/wfx/hif_tx_mib.h | 0 .../wireless/silabs}/wfx/hwio.c | 12 ---- .../wireless/silabs}/wfx/hwio.h | 4 ++ .../wireless/silabs}/wfx/key.c | 0 .../wireless/silabs}/wfx/key.h | 0 .../wireless/silabs}/wfx/main.c | 37 ++++++------ .../wireless/silabs}/wfx/main.h | 0 .../wireless/silabs}/wfx/queue.c | 0 .../wireless/silabs}/wfx/queue.h | 0 .../wireless/silabs}/wfx/scan.c | 3 +- .../wireless/silabs}/wfx/scan.h | 0 .../wireless/silabs}/wfx/sta.c | 6 +- .../wireless/silabs}/wfx/sta.h | 0 .../wireless/silabs}/wfx/traces.h | 0 .../wireless/silabs}/wfx/wfx.h | 0 drivers/staging/Kconfig | 1 - drivers/staging/Makefile | 1 - drivers/staging/wfx/TODO | 6 -- include/linux/mmc/sdio_ids.h | 7 +++ 48 files changed, 112 insertions(+), 108 deletions(-) rename {drivers/staging/wfx/Documentation => Documentation}/devicetree/bindings/net/wireless/silabs,wfx.yaml (73%) create mode 100644 drivers/net/wireless/silabs/Kconfig create mode 100644 drivers/net/wireless/silabs/Makefile rename drivers/{staging => net/wireless/silabs}/wfx/Kconfig (65%) rename drivers/{staging => net/wireless/silabs}/wfx/Makefile (85%) rename drivers/{staging => net/wireless/silabs}/wfx/bh.c (97%) rename drivers/{staging => net/wireless/silabs}/wfx/bh.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/bus.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/bus_sdio.c (90%) rename drivers/{staging => net/wireless/silabs}/wfx/bus_spi.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/data_rx.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/data_rx.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/data_tx.c (97%) rename drivers/{staging => net/wireless/silabs}/wfx/data_tx.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/debug.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/debug.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/fwio.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/fwio.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_api_cmd.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_api_general.h (98%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_api_mib.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_rx.c (99%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_rx.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_tx.c (99%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_tx.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_tx_mib.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hif_tx_mib.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/hwio.c (94%) rename drivers/{staging => net/wireless/silabs}/wfx/hwio.h (93%) rename drivers/{staging => net/wireless/silabs}/wfx/key.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/key.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/main.c (96%) rename drivers/{staging => net/wireless/silabs}/wfx/main.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/queue.c (100%) rename drivers/{staging => net/wireless/silabs}/wfx/queue.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/scan.c (98%) rename drivers/{staging => net/wireless/silabs}/wfx/scan.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/sta.c (99%) rename drivers/{staging => net/wireless/silabs}/wfx/sta.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/traces.h (100%) rename drivers/{staging => net/wireless/silabs}/wfx/wfx.h (100%) delete mode 100644 drivers/staging/wfx/TODO