diff options
| author | alex.bluesman.smirnov@gmail.com <alex.bluesman.smirnov@gmail.com> | 2012-05-15 20:50:23 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-05-16 15:16:56 -0400 | 
| commit | 74a02fcf77dd760176418e1641a8624b26b357a2 (patch) | |
| tree | 3b89ae15fb61189a04663783bc2299b3612bfa0e | |
| parent | 5b641ebeec348761c9ebac9454c672d4d2d3ef91 (diff) | |
| download | olio-linux-3.10-74a02fcf77dd760176418e1641a8624b26b357a2.tar.xz olio-linux-3.10-74a02fcf77dd760176418e1641a8624b26b357a2.zip  | |
mac802154: declare reduced mlme operations
According IEEE 802.15.4 standard each node can be either full functionality
device (FFD) or reduce functionality device (RFD). So 2 sets of operations
are needed. This patch declare RFD operations structure.
Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | include/net/ieee802154_netdev.h | 25 | 
1 files changed, 20 insertions, 5 deletions
diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h index 12a7ee4b855..d104c882fc2 100644 --- a/include/net/ieee802154_netdev.h +++ b/include/net/ieee802154_netdev.h @@ -1,7 +1,7 @@  /*   * An interface between IEEE802.15.4 device and rest of the kernel.   * - * Copyright (C) 2007, 2008, 2009 Siemens AG + * Copyright (C) 2007-2012 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 @@ -21,6 +21,7 @@   * Maxim Gorbachyov <maxim.gorbachev@siemens.com>   * Maxim Osipov <maxim.osipov@siemens.com>   * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> + * Alexander Smirnov <alex.bluesman.smirnov@gmail.com>   */  #ifndef IEEE802154_NETDEVICE_H @@ -112,12 +113,26 @@ struct ieee802154_mlme_ops {  	u8 (*get_bsn)(const struct net_device *dev);  }; -static inline struct ieee802154_mlme_ops *ieee802154_mlme_ops( -		const struct net_device *dev) +/* The IEEE 802.15.4 standard defines 2 type of the devices: + * - FFD - full functionality device + * - RFD - reduce functionality device + * + * So 2 sets of mlme operations are needed + */ +struct ieee802154_reduced_mlme_ops { +	struct wpan_phy *(*get_phy)(const struct net_device *dev); +}; + +static inline struct ieee802154_mlme_ops * +ieee802154_mlme_ops(const struct net_device *dev)  {  	return dev->ml_priv;  } -#endif - +static inline struct ieee802154_reduced_mlme_ops * +ieee802154_reduced_mlme_ops(const struct net_device *dev) +{ +	return dev->ml_priv; +} +#endif  |