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 67d00fb..02b6bb7 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 6ea16c8..47804cd 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 7df28a4..400e4e8 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 d750d97..f3185c7 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 a053335..57c1bdb 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();