git: 4b0af114370a - main - LinuxKPI: 802.11: move ieee80211_{unregister,restart}_hw out of header
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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)
{