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>
 struct wpan_phy {
        struct mutex pib_lock;
 
+       /* If multiple wpan_phys are registered and you're handed e.g.
+        * a regular netdev with assigned ieee802154_ptr, you won't
+        * know whether it points to a wpan_phy your driver has registered
+        * or not. Assign this to something global to your driver to
+        * help determine whether you own this wpan_phy or not.
+        */
+       const void *privid;
+
        /*
         * This is a PIB according to 802.15.4-2011.
         * We do not provide timing-related variables, as they
 
 
 #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)
 {
 
                return NULL;
        }
 
+       phy->privid = mac802154_wpan_phy_privid;
+
        local = wpan_phy_priv(phy);
        local->phy = phy;
        local->hw.phy = local->phy;
 
 
 #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);