ieee802154: change transmit power to s32
authorAlexander Aring <alex.aring@gmail.com>
Sun, 17 May 2015 19:44:39 +0000 (21:44 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 19 May 2015 09:44:41 +0000 (11:44 +0200)
This patch change the transmit power from s8 to s32. This prepares to store a
mbm value instead dbm inside the transmit power variable. The old
interface keep the a s8 dbm value, which should be backward compatibility
when assign s8 to s32.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/net/ieee802154/at86rf230.c
include/net/cfg802154.h
include/net/mac802154.h
net/ieee802154/nl802154.c
net/mac802154/driver-ops.h

index 67d00fbc2e0e29e7bd426ed8f7d21b22bf6772fc..02b6bb72304d0465ac2eaa5eaaa768d4fc445ea6 100644 (file)
@@ -1194,7 +1194,7 @@ at86rf230_set_hw_addr_filt(struct ieee802154_hw *hw,
 }
 
 static int
-at86rf230_set_txpower(struct ieee802154_hw *hw, s8 db)
+at86rf230_set_txpower(struct ieee802154_hw *hw, s32 db)
 {
        struct at86rf230_local *lp = hw->priv;
 
index 6ea16c84293b0cdcb981df77481a4fa5e509fdde..47804cddb46f313daa512fd6af21f215785e9ee5 100644 (file)
@@ -85,7 +85,7 @@ struct wpan_phy {
        u8 current_channel;
        u8 current_page;
        u32 channels_supported[IEEE802154_MAX_PAGE + 1];
-       s8 transmit_power;
+       s32 transmit_power;
        struct wpan_phy_cca cca;
 
        __le64 perm_extended_addr;
index 7df28a4c23f98793626371d1e2334ad91f7ebf87..400e4e85c53f07cdb9879289f400965b4c7e6103 100644 (file)
@@ -213,7 +213,7 @@ struct ieee802154_ops {
        int             (*set_hw_addr_filt)(struct ieee802154_hw *hw,
                                            struct ieee802154_hw_addr_filt *filt,
                                            unsigned long changed);
-       int             (*set_txpower)(struct ieee802154_hw *hw, s8 dbm);
+       int             (*set_txpower)(struct ieee802154_hw *hw, s32 dbm);
        int             (*set_lbt)(struct ieee802154_hw *hw, bool on);
        int             (*set_cca_mode)(struct ieee802154_hw *hw,
                                        const struct wpan_phy_cca *cca);
index d750d9778ba7eaad5667b077cf8bb732eb0136ae..f3185c71af10c263a57c4d9730ff4f4899bf777d 100644 (file)
@@ -207,7 +207,7 @@ static const struct nla_policy nl802154_policy[NL802154_ATTR_MAX+1] = {
        [NL802154_ATTR_PAGE] = { .type = NLA_U8, },
        [NL802154_ATTR_CHANNEL] = { .type = NLA_U8, },
 
-       [NL802154_ATTR_TX_POWER] = { .type = NLA_S8, },
+       [NL802154_ATTR_TX_POWER] = { .type = NLA_S32, },
 
        [NL802154_ATTR_CCA_MODE] = { .type = NLA_U32, },
        [NL802154_ATTR_CCA_OPT] = { .type = NLA_U32, },
@@ -301,8 +301,8 @@ static int nl802154_send_wpan_phy(struct cfg802154_registered_device *rdev,
                        goto nla_put_failure;
        }
 
-       if (nla_put_s8(msg, NL802154_ATTR_TX_POWER,
-                      rdev->wpan_phy.transmit_power))
+       if (nla_put_s32(msg, NL802154_ATTR_TX_POWER,
+                       rdev->wpan_phy.transmit_power))
                goto nla_put_failure;
 
 finish:
index a0533357b9eaca22df9e7b105f17ce3440b03d4e..57c1bdbfaa919122b7afc597ef55d7ad16b9a735 100644 (file)
@@ -58,7 +58,7 @@ drv_set_channel(struct ieee802154_local *local, u8 page, u8 channel)
        return local->ops->set_channel(&local->hw, page, channel);
 }
 
-static inline int drv_set_tx_power(struct ieee802154_local *local, s8 dbm)
+static inline int drv_set_tx_power(struct ieee802154_local *local, s32 dbm)
 {
        might_sleep();