mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
ieee802154: add TX power control to wpan_phy
Replace the current u8 transmit_power in wpan_phy with s8 transmit_power. The u8 field contained the actual tx power and a tolerance field, which no physical radio every used. Adjust sysfs entries to keep compatibility with userspace, give tolerances of +-1dB statically there. This patch only adds support for this in the at86rf230 driver and the RF212 chip. Configuration calculation for RF212 is also somewhat basic, but does the job - the RF212 datasheet gives a large table with suggested values for combinations of TX power and page/channel, if this does not work well, we might have to copy the whole table. Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5b520bbb53
commit
9b2777d608
10 changed files with 102 additions and 6 deletions
|
@ -113,6 +113,10 @@ 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.
|
||||
*/
|
||||
struct ieee802154_ops {
|
||||
struct module *owner;
|
||||
|
@ -129,6 +133,7 @@ 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);
|
||||
};
|
||||
|
||||
/* Basic interface to register ieee802154 device */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue