diff options
author | chaitanya.mgit@gmail.com <chaitanya.mgit@gmail.com> | 2014-05-26 08:31:44 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-05-27 11:58:58 -0400 |
commit | a9fb54169b197f31aff24c8d6270dd1e56cde395 (patch) | |
tree | 1a41f5b50ba2f49af825d657141d61d83ad65683 | |
parent | c7d37a66e345df2fdf1aa7b2c9a6d3d53846ca5b (diff) |
regdb: Generalize the mW to dBm power conversion
Generalize the power conversion from mW to dBm
using log. This should fix the below compilation
error for country NO which adds a new power value
2000mW which is not handled earlier.
CC [M] net/wireless/wext-sme.o
CC [M] net/wireless/regdb.o
net/wireless/regdb.c:1130:1: error: Unknown undeclared here (not in
a function)
net/wireless/regdb.c:1130:9: error: expected } before power
make[2]: *** [net/wireless/regdb.o] Error 1
make[1]: *** [net/wireless] Error 2
make: *** [net] Error 2
Reported-By: John Walker <john@x109.net>
Signed-off-by: Chaitanya T K <chaitanya.mgit@gmail.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
[remove unneeded parentheses, fix rounding by using %.0f]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/wireless/genregdb.awk | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/net/wireless/genregdb.awk b/net/wireless/genregdb.awk index b35da8dc85de..40c37fc5b67c 100644 --- a/net/wireless/genregdb.awk +++ b/net/wireless/genregdb.awk | |||
@@ -68,17 +68,7 @@ function parse_reg_rule() | |||
68 | sub(/,/, "", units) | 68 | sub(/,/, "", units) |
69 | dfs_cac = $9 | 69 | dfs_cac = $9 |
70 | if (units == "mW") { | 70 | if (units == "mW") { |
71 | if (power == 100) { | 71 | power = 10 * log(power)/log(10) |
72 | power = 20 | ||
73 | } else if (power == 200) { | ||
74 | power = 23 | ||
75 | } else if (power == 500) { | ||
76 | power = 27 | ||
77 | } else if (power == 1000) { | ||
78 | power = 30 | ||
79 | } else { | ||
80 | print "Unknown power value in database!" | ||
81 | } | ||
82 | } else { | 72 | } else { |
83 | dfs_cac = $8 | 73 | dfs_cac = $8 |
84 | } | 74 | } |
@@ -117,7 +107,7 @@ function parse_reg_rule() | |||
117 | 107 | ||
118 | } | 108 | } |
119 | flags = flags "0" | 109 | flags = flags "0" |
120 | printf "\t\tREG_RULE_EXT(%d, %d, %d, %d, %d, %d, %s),\n", start, end, bw, gain, power, dfs_cac, flags | 110 | printf "\t\tREG_RULE_EXT(%d, %d, %d, %d, %.0f, %d, %s),\n", start, end, bw, gain, power, dfs_cac, flags |
121 | rules++ | 111 | rules++ |
122 | } | 112 | } |
123 | 113 | ||