aboutsummaryrefslogtreecommitdiff
path: root/net/mac802154
diff options
context:
space:
mode:
authorAlexander Aring2014-11-12 03:36:51 +0100
committerMarcel Holtmann2014-11-12 05:10:36 +0100
commit6322d50d879c7ad150164cedc64015a7817f7b28 (patch)
tree13e6bc3e863a1b8aa6c873b60b3209cdc34f0abd /net/mac802154
parent2789e6297f8fd4943b8d63599a75c3e1cf4f8517 (diff)
mac802154: add wpan_phy priv id
This patch adds an unique id for an wpan_phy. This behaviour is mostly grabbed from wireless stack. This is needed for upcomming patches which identify the wpan netdev while NETDEV_CHANGENAME in netdev notify function. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/mac802154')
-rw-r--r--net/mac802154/ieee802154_i.h3
-rw-r--r--net/mac802154/main.c2
-rw-r--r--net/mac802154/util.c3
3 files changed, 8 insertions, 0 deletions
diff --git a/net/mac802154/ieee802154_i.h b/net/mac802154/ieee802154_i.h
index abb19701d494..4be5e23c7e8b 100644
--- a/net/mac802154/ieee802154_i.h
+++ b/net/mac802154/ieee802154_i.h
@@ -96,6 +96,9 @@ struct ieee802154_sub_if_data {
#define MAC802154_CHAN_NONE 0xff /* No channel is assigned */
+/* utility functions/constants */
+extern const void *const mac802154_wpan_phy_privid; /* for wpan_phy privid */
+
static inline struct ieee802154_local *
hw_to_local(struct ieee802154_hw *hw)
{
diff --git a/net/mac802154/main.c b/net/mac802154/main.c
index 709dcc5f7f17..24e8ca6a669d 100644
--- a/net/mac802154/main.c
+++ b/net/mac802154/main.c
@@ -92,6 +92,8 @@ ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops)
return NULL;
}
+ phy->privid = mac802154_wpan_phy_privid;
+
local = wpan_phy_priv(phy);
local->phy = phy;
local->hw.phy = local->phy;
diff --git a/net/mac802154/util.c b/net/mac802154/util.c
index 117e4eff4ca8..9a04e4a8e50f 100644
--- a/net/mac802154/util.c
+++ b/net/mac802154/util.c
@@ -15,6 +15,9 @@
#include "ieee802154_i.h"
+/* privid for wpan_phys to determine whether they belong to us or not */
+const void *const mac802154_wpan_phy_privid = &mac802154_wpan_phy_privid;
+
void ieee802154_wake_queue(struct ieee802154_hw *hw)
{
struct ieee802154_local *local = hw_to_local(hw);