mac802154: introduce mac802154_config_ops

This patch introduces mac802154_config_ops struct. Like wireless this
struct should be the only one interface between ieee802154 to mac802154
or possible HardMAC drivers.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2014-11-02 04:18:36 +01:00 committed by Marcel Holtmann
parent a5dd1d72d8
commit 1201cd22fd
4 changed files with 31 additions and 2 deletions

View File

@ -1,5 +1,5 @@
obj-$(CONFIG_MAC802154) += mac802154.o
mac802154-objs := main.o rx.o tx.o mac_cmd.o mib.o \
iface.o llsec.o util.o
iface.o llsec.o util.o cfg.o
ccflags-y += -D__CHECK_ENDIAN__

19
net/mac802154/cfg.c Normal file
View File

@ -0,0 +1,19 @@
/* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Authors:
* Alexander Aring <aar@pengutronix.de>
*
* Based on: net/mac80211/cfg.c
*/
#include <net/cfg802154.h>
const struct cfg802154_ops mac802154_config_ops = {
};

9
net/mac802154/cfg.h Normal file
View File

@ -0,0 +1,9 @@
/* mac802154 configuration hooks for cfg802154
*/
#ifndef __CFG_H
#define __CFG_H
extern const struct cfg802154_ops mac802154_config_ops;
#endif /* __CFG_H */

View File

@ -28,6 +28,7 @@
#include <net/cfg802154.h>
#include "ieee802154_i.h"
#include "cfg.h"
static int
mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev)
@ -169,7 +170,7 @@ ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops)
priv_size = ALIGN(sizeof(*local), NETDEV_ALIGN) + priv_data_len;
phy = wpan_phy_alloc(NULL, priv_size);
phy = wpan_phy_alloc(&mac802154_config_ops, priv_size);
if (!phy) {
pr_err("failure to allocate master IEEE802.15.4 device\n");
return NULL;