Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan

This commit is contained in:
David S. Miller 2009-08-23 19:19:30 -07:00
commit 9409172262
14 changed files with 318 additions and 28 deletions

View file

@ -87,7 +87,6 @@
#define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header */
#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
#define ARPHRD_IEEE802154 804
#define ARPHRD_IEEE802154_PHY 805
#define ARPHRD_PHONET 820 /* PhoNet media type */
#define ARPHRD_PHONET_PIPE 821 /* PhoNet pipe header */

View file

@ -64,6 +64,8 @@ enum {
IEEE802154_ATTR_COORD_REALIGN,
IEEE802154_ATTR_SEC,
IEEE802154_ATTR_PAGE,
__IEEE802154_ATTR_MAX,
};

View file

@ -80,7 +80,7 @@ static inline int mac_cb_type(struct sk_buff *skb)
struct ieee802154_mlme_ops {
int (*assoc_req)(struct net_device *dev,
struct ieee802154_addr *addr,
u8 channel, u8 cap);
u8 channel, u8 page, u8 cap);
int (*assoc_resp)(struct net_device *dev,
struct ieee802154_addr *addr,
u16 short_addr, u8 status);
@ -89,10 +89,10 @@ struct ieee802154_mlme_ops {
u8 reason);
int (*start_req)(struct net_device *dev,
struct ieee802154_addr *addr,
u8 channel, u8 bcn_ord, u8 sf_ord,
u8 channel, u8 page, u8 bcn_ord, u8 sf_ord,
u8 pan_coord, u8 blx, u8 coord_realign);
int (*scan_req)(struct net_device *dev,
u8 type, u32 channels, u8 duration);
u8 type, u32 channels, u8 page, u8 duration);
/*
* FIXME: these should become the part of PIB/MIB interface.

View file

@ -95,7 +95,7 @@ int ieee802154_nl_disassoc_confirm(struct net_device *dev,
* Note: This API does not permit the return of an active scan result.
*/
int ieee802154_nl_scan_confirm(struct net_device *dev,
u8 status, u8 scan_type, u32 unscanned,
u8 status, u8 scan_type, u32 unscanned, u8 page,
u8 *edl/*, struct list_head *pan_desc_list */);
/**

63
include/net/wpan-phy.h Normal file
View file

@ -0,0 +1,63 @@
/*
* Copyright (C) 2007, 2008, 2009 Siemens AG
*
* 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Written by:
* Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
*/
#ifndef WPAN_PHY_H
#define WPAN_PHY_H
#include <linux/netdevice.h>
#include <linux/mutex.h>
struct wpan_phy {
struct mutex pib_lock;
/*
* This is a PIB acording to 802.15.4-2006.
* We do not provide timing-related variables, as they
* aren't used outside of driver
*/
u8 current_channel;
u8 current_page;
u32 channels_supported;
u8 transmit_power;
u8 cca_mode;
struct device dev;
int idx;
char priv[0] __attribute__((__aligned__(NETDEV_ALIGN)));
};
struct wpan_phy *wpan_phy_alloc(size_t priv_size);
int wpan_phy_register(struct device *parent, struct wpan_phy *phy);
void wpan_phy_unregister(struct wpan_phy *phy);
void wpan_phy_free(struct wpan_phy *phy);
static inline void *wpan_phy_priv(struct wpan_phy *phy)
{
BUG_ON(!phy);
return &phy->priv;
}
struct wpan_phy *wpan_phy_find(const char *str);
static inline const char *wpan_phy_name(struct wpan_phy *phy)
{
return dev_name(&phy->dev);
}
#endif