cfg802154: convert deprecated iface add and del
This patch removes the wpan_phy callbacks for add and del an interface on a phy. Instead we introduce deprecated cfg802154 callbacks for this. Furthermore we introduce a new netlink interface nl802154 which use different callbacks. The deprecated function is to have a backwards compatibility with the current netlink interface. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Tento commit je obsažen v:

odevzdal
Marcel Holtmann

rodič
ea4dcd32a4
revize
4a9a816a4f
@@ -15,5 +15,22 @@
|
||||
|
||||
#include <net/cfg802154.h>
|
||||
|
||||
#include "ieee802154_i.h"
|
||||
|
||||
static struct net_device *
|
||||
ieee802154_add_iface_deprecated(struct wpan_phy *wpan_phy,
|
||||
const char *name, int type)
|
||||
{
|
||||
return mac802154_add_iface(wpan_phy, name, type);
|
||||
}
|
||||
|
||||
static void ieee802154_del_iface_deprecated(struct wpan_phy *wpan_phy,
|
||||
struct net_device *dev)
|
||||
{
|
||||
mac802154_del_iface(wpan_phy, dev);
|
||||
}
|
||||
|
||||
const struct cfg802154_ops mac802154_config_ops = {
|
||||
.add_virtual_intf_deprecated = ieee802154_add_iface_deprecated,
|
||||
.del_virtual_intf_deprecated = ieee802154_del_iface_deprecated,
|
||||
};
|
||||
|
@@ -174,4 +174,8 @@ void mac802154_get_table(struct net_device *dev,
|
||||
struct ieee802154_llsec_table **t);
|
||||
void mac802154_unlock_table(struct net_device *dev);
|
||||
|
||||
struct net_device *
|
||||
mac802154_add_iface(struct wpan_phy *phy, const char *name, int type);
|
||||
void mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev);
|
||||
|
||||
#endif /* __IEEE802154_I_H */
|
||||
|
@@ -59,8 +59,7 @@ mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev)
|
||||
void mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev)
|
||||
{
|
||||
struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
|
||||
|
||||
@@ -76,7 +75,7 @@ mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev)
|
||||
unregister_netdevice(sdata->dev);
|
||||
}
|
||||
|
||||
static struct net_device *
|
||||
struct net_device *
|
||||
mac802154_add_iface(struct wpan_phy *phy, const char *name, int type)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@@ -221,9 +220,6 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
|
||||
|
||||
wpan_phy_set_dev(local->phy, local->hw.parent);
|
||||
|
||||
local->phy->add_iface = mac802154_add_iface;
|
||||
local->phy->del_iface = mac802154_del_iface;
|
||||
|
||||
rc = wpan_phy_register(local->phy);
|
||||
if (rc < 0)
|
||||
goto out_wq;
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele