diff options
author | David S. Miller <davem@davemloft.net> | 2014-02-17 16:43:17 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-17 16:43:17 -0500 |
commit | e035b8addc544c2b4de2f8b0326ba7939abd9541 (patch) | |
tree | 08f9ec4803fd76adaf85dae04aea3a8a77188d5a /include/net/mac802154.h | |
parent | 92e8c831d831ff97913b71e178d184106c0dee0f (diff) | |
parent | f2fdd67c6bc89de0100410efb37de69b1c98ac03 (diff) | |
download | blackbird-op-linux-e035b8addc544c2b4de2f8b0326ba7939abd9541.tar.gz blackbird-op-linux-e035b8addc544c2b4de2f8b0326ba7939abd9541.zip |
Merge branch 'ieee802154'
Phoebe Buckheister says:
====================
ieee802154: support rf212 and extended mac features
this patch set adds support for the RF212 radio chip to the existing
at86rf230 driver and adds support for numerous features of the RF212
chips to the ieee802154 stack. These features include CSMA parameter
configuration, transmit power control, CCA parameter configuration, and
automatic retransmission of frames. Netlink APIs are provided for all
new options introduced in this set.
Many features might also work for RF230, but since I have no such chips
at my disposal, most new features are implemented only for RF212.
Changes since v2:
* Indentation
Changes since v1:
* CodingStyle compliance. Thanks Sergei Shtylyov
* Add CSMA parameters to netlink phy list that were forgotten in v1
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/mac802154.h')
-rw-r--r-- | include/net/mac802154.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/net/mac802154.h b/include/net/mac802154.h index 807d6b7a943f..8ca3d04e7558 100644 --- a/include/net/mac802154.h +++ b/include/net/mac802154.h @@ -113,6 +113,32 @@ struct ieee802154_dev { * Set radio for listening on specific address. * Set the device for listening on specified address. * Returns either zero, or negative errno. + * + * set_txpower: + * Set radio transmit power in dB. Called with pib_lock held. + * Returns either zero, or negative errno. + * + * set_lbt + * Enables or disables listen before talk on the device. Called with + * pib_lock held. + * Returns either zero, or negative errno. + * + * set_cca_mode + * Sets the CCA mode used by the device. Called with pib_lock held. + * Returns either zero, or negative errno. + * + * set_cca_ed_level + * Sets the CCA energy detection threshold in dBm. Called with pib_lock + * held. + * Returns either zero, or negative errno. + * + * set_csma_params + * Sets the CSMA parameter set for the PHY. Called with pib_lock held. + * Returns either zero, or negative errno. + * + * set_frame_retries + * Sets the retransmission attempt limit. Called with pib_lock held. + * Returns either zero, or negative errno. */ struct ieee802154_ops { struct module *owner; @@ -129,6 +155,15 @@ struct ieee802154_ops { unsigned long changed); int (*ieee_addr)(struct ieee802154_dev *dev, u8 addr[IEEE802154_ADDR_LEN]); + int (*set_txpower)(struct ieee802154_dev *dev, int db); + int (*set_lbt)(struct ieee802154_dev *dev, bool on); + int (*set_cca_mode)(struct ieee802154_dev *dev, u8 mode); + int (*set_cca_ed_level)(struct ieee802154_dev *dev, + s32 level); + int (*set_csma_params)(struct ieee802154_dev *dev, + u8 min_be, u8 max_be, u8 retries); + int (*set_frame_retries)(struct ieee802154_dev *dev, + s8 retries); }; /* Basic interface to register ieee802154 device */ |