All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nl80211: put current TX power in interface info
@ 2015-08-31 20:59 Rafał Miłecki
  2015-09-01  7:48 ` Arend van Spriel
  0 siblings, 1 reply; 2+ messages in thread
From: Rafał Miłecki @ 2015-08-31 20:59 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Rafał Miłecki

Many drivers implement reading current TX power (using either cfg80211
or ieee80211 op) but userspace can't get it using nl80211. Right now the
only way to access it is to call some wext ioctl.
Let's put TX power in interface info reply (callback is wdev specific)
just like we do with current channel.
To be consistent (e.g. NL80211_CMD_SET_WIPHY) let's use mBm as na unit.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 net/wireless/nl80211.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 5d8748b..a5d4e6f 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -2403,6 +2403,17 @@ static int nl80211_send_iface(struct sk_buff *msg, u32 portid, u32 seq, int flag
 		}
 	}
 
+	if (rdev->ops->get_tx_power) {
+		int dbm, ret;
+
+		ret = rdev_get_tx_power(rdev, wdev, &dbm);
+		if (ret == 0) {
+			if (nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
+					DBM_TO_MBM(dbm)))
+				goto nla_put_failure;
+		}
+	}
+
 	if (wdev->ssid_len) {
 		if (nla_put(msg, NL80211_ATTR_SSID, wdev->ssid_len, wdev->ssid))
 			goto nla_put_failure;
-- 
1.8.4.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] nl80211: put current TX power in interface info
  2015-08-31 20:59 [PATCH] nl80211: put current TX power in interface info Rafał Miłecki
@ 2015-09-01  7:48 ` Arend van Spriel
  0 siblings, 0 replies; 2+ messages in thread
From: Arend van Spriel @ 2015-09-01  7:48 UTC (permalink / raw)
  To: Rafał Miłecki, Johannes Berg; +Cc: linux-wireless

On 08/31/2015 10:59 PM, Rafał Miłecki wrote:
> Many drivers implement reading current TX power (using either cfg80211
> or ieee80211 op) but userspace can't get it using nl80211. Right now the
> only way to access it is to call some wext ioctl.
> Let's put TX power in interface info reply (callback is wdev specific)
> just like we do with current channel.
> To be consistent (e.g. NL80211_CMD_SET_WIPHY) let's use mBm as na unit.

An iw patch would be nice as well ;-)

Regards,
Arend

> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
> ---
>   net/wireless/nl80211.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
>
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 5d8748b..a5d4e6f 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -2403,6 +2403,17 @@ static int nl80211_send_iface(struct sk_buff *msg, u32 portid, u32 seq, int flag
>   		}
>   	}
>
> +	if (rdev->ops->get_tx_power) {
> +		int dbm, ret;
> +
> +		ret = rdev_get_tx_power(rdev, wdev, &dbm);
> +		if (ret == 0) {
> +			if (nla_put_u32(msg, NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
> +					DBM_TO_MBM(dbm)))
> +				goto nla_put_failure;
> +		}
> +	}
> +
>   	if (wdev->ssid_len) {
>   		if (nla_put(msg, NL80211_ATTR_SSID, wdev->ssid_len, wdev->ssid))
>   			goto nla_put_failure;
>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-09-01  7:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-31 20:59 [PATCH] nl80211: put current TX power in interface info Rafał Miłecki
2015-09-01  7:48 ` Arend van Spriel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.