git: 4b0af114370a - main - LinuxKPI: 802.11: move ieee80211_{unregister,restart}_hw out of header

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Sat, 31 Dec 2022 02:33:06 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=4b0af114370a5cb876012c381d3156c8fbdf7f40

commit 4b0af114370a5cb876012c381d3156c8fbdf7f40
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-12-31 02:24:23 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-12-31 02:24:23 +0000

    LinuxKPI: 802.11: move ieee80211_{unregister,restart}_hw out of header
    
    Migrate the two functions from the header into the implementation file
    in order to have access to more facilities and not to run into possible
    allocation/locking/... problems in the future.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      10 days
---
 sys/compat/linuxkpi/common/include/net/mac80211.h | 22 +++++++++++-----------
 sys/compat/linuxkpi/common/src/linux_80211.c      | 17 +++++++++++++++++
 2 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index 1a6c12a91356..d548b9bb956f 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -980,7 +980,9 @@ void linuxkpi_ieee80211_iffree(struct ieee80211_hw *);
 void linuxkpi_set_ieee80211_dev(struct ieee80211_hw *, char *);
 int linuxkpi_ieee80211_ifattach(struct ieee80211_hw *);
 void linuxkpi_ieee80211_ifdetach(struct ieee80211_hw *);
+void linuxkpi_ieee80211_unregister_hw(struct ieee80211_hw *);
 struct ieee80211_hw * linuxkpi_wiphy_to_ieee80211_hw(struct wiphy *);
+void linuxkpi_ieee80211_restart_hw(struct ieee80211_hw *);
 void linuxkpi_ieee80211_iterate_interfaces(
     struct ieee80211_hw *hw, enum ieee80211_iface_iter flags,
     void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
@@ -1110,14 +1112,11 @@ ieee80211_register_hw(struct ieee80211_hw *hw)
 	return (error);
 }
 
-static __inline void
+static inline void
 ieee80211_unregister_hw(struct ieee80211_hw *hw)
 {
 
-	wiphy_unregister(hw->wiphy);
-	linuxkpi_ieee80211_ifdetach(hw);
-
-	IMPROVE();
+	linuxkpi_ieee80211_unregister_hw(hw);
 }
 
 static __inline struct ieee80211_hw *
@@ -1127,6 +1126,13 @@ wiphy_to_ieee80211_hw(struct wiphy *wiphy)
 	return (linuxkpi_wiphy_to_ieee80211_hw(wiphy));
 }
 
+static inline void
+ieee80211_restart_hw(struct ieee80211_hw *hw)
+{
+	linuxkpi_ieee80211_restart_hw(hw);
+}
+
+
 /* -------------------------------------------------------------------------- */
 
 static __inline bool
@@ -1830,12 +1836,6 @@ ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb)
 	linuxkpi_ieee80211_free_txskb(hw, skb, 0x455458);
 }
 
-static __inline void
-ieee80211_restart_hw(struct ieee80211_hw *hw)
-{
-	TODO();
-}
-
 static __inline void
 ieee80211_ready_on_channel(struct ieee80211_hw *hw)
 {
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 3741996eff1c..d93eba6cece8 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -2345,6 +2345,23 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ],
 	return (vap);
 }
 
+void
+linuxkpi_ieee80211_unregister_hw(struct ieee80211_hw *hw)
+{
+
+	wiphy_unregister(hw->wiphy);
+	linuxkpi_ieee80211_ifdetach(hw);
+
+	IMPROVE();
+}
+
+void
+linuxkpi_ieee80211_restart_hw(struct ieee80211_hw *hw)
+{
+
+	TODO();
+}
+
 static void
 lkpi_ic_vap_delete(struct ieee80211vap *vap)
 {