linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 1/3] support for antenna configuration profiles
@ 2011-11-28 16:12 Daniel Golle
  2011-12-04 11:06 ` Johannes Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Golle @ 2011-11-28 16:12 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Luis R. Rodriguez, Johannes Berg, Felix Fietkau

[-- Attachment #1: Type: text/plain, Size: 9067 bytes --]

This adds support for antenna switch configuration profiles to nl80211.

Signed-off-by: Daniel Golle <dgolle@allnet.de>
---
 include/linux/nl80211.h |   47 +++++++++++++++++++++++++++++++
 include/net/cfg80211.h  |   26 +++++++++++++++++
 net/wireless/nl80211.c  |   71 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 144 insertions(+), 0 deletions(-)

diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 97bfebf..0653896 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1185,6 +1185,12 @@ enum nl80211_commands {
  *    abides to when initiating radiation on DFS channels. A country maps
  *    to one DFS region.
  *
+ * @NL80211_ATTR_WIPHY_EXTANT: External antenna switch profiles. This nested
+ *	structure contains a list of available profiles as well as the current
+ *	profile selection status.
+ *
+ * @NL80211_ATTR_WIPHY_EXTANT_SELECT: Select extant profile.
+ *
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
  */
@@ -1428,6 +1434,9 @@ enum nl80211_attrs {
 	NL80211_ATTR_DISABLE_HT,
 	NL80211_ATTR_HT_CAPABILITY_MASK,
 
+	NL80211_ATTR_WIPHY_EXTANT,
+	NL80211_ATTR_WIPHY_EXTANT_SELECT,
+
 	/* add attributes here, update the policy in nl80211.c */
 
 	__NL80211_ATTR_AFTER_LAST,
@@ -1720,6 +1729,44 @@ enum nl80211_mpath_info {
 	NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
 };
 
+
+
+/**
+ * enum nl80211_extant_attr - external antenna switch
+ * @__NL80211_EXTANT_ATTR_INVALID: attribute number 0 is reserved
+ * @NL80211_EXTANT_ATTR_STATE: currently selected profile
+ * @NL80211_EXTANT_ATTR_PROFILES: highest profile attribute currently defined
+ * @NL80211_EXTANT_ATTR_MAX: highest profile attribute currently defined
+ * @__NL80211_EXTANT_ATTR_AFTER_LAST: internal use
+ */
+enum nl80211_extant_attr {
+	__NL80211_EXTANT_ATTR_INVALID,
+	NL80211_EXTANT_ATTR_STATE,
+	NL80211_EXTANT_ATTR_PROFILES,
+	/* keep last */
+	__NL80211_EXTANT_ATTR_AFTER_LAST,
+	NL80211_EXTANT_ATTR_MAX = __NL80211_EXTANT_ATTR_AFTER_LAST - 1
+};
+
+/**
+ * enum nl80211_easp_attr - external antenna switch configuration profile
+ * @__NL80211_EASP_ATTR_INVALID: attribute number 0 is reserved
+ * @NL80211_EASP_ATTR_ID: unique identifier
+ * @NL80211_EASP_ATTR_NAME: human-readable name of the configuration profile
+ * @NL80211_EASP_ATTR_DESC: human-readable description of the configuration profile
+ * @NL80211_EASP_ATTR_MAX: highest profile attribute currently defined
+ * @__NL80211_EASP_ATTR_AFTER_LAST: internal use
+ */
+enum nl80211_easp_attr {
+	__NL80211_EASP_ATTR_INVALID,
+	NL80211_EASP_ATTR_ID,
+	NL80211_EASP_ATTR_NAME,
+	NL80211_EASP_ATTR_DESC,
+	/* keep last */
+	__NL80211_EASP_ATTR_AFTER_LAST,
+	NL80211_EASP_ATTR_MAX = __NL80211_EASP_ATTR_AFTER_LAST - 1
+};
+
 /**
  * enum nl80211_band_attr - band attributes
  * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index d5e1891..4896e7a 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1456,6 +1456,9 @@ struct cfg80211_gtk_rekey_data {
  *
  * @get_antenna: Get current antenna configuration from device (tx_ant, rx_ant).
  *
+ * @set_extant: Select the external antenna switch configuration profile.
+ * @get_extant: Get currently selected antenna switch profile.
+ *
  * @set_ringparam: Set tx and rx ring sizes.
  *
  * @get_ringparam: Get tx and rx ring current and maximum sizes.
@@ -1637,6 +1640,9 @@ struct cfg80211_ops {
 	int	(*set_antenna)(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant);
 	int	(*get_antenna)(struct wiphy *wiphy, u32 *tx_ant, u32 *rx_ant);
 
+	int	(*set_extant)(struct wiphy *wiphy, u32 extant);
+	int	(*get_extant)(struct wiphy *wiphy, u32 *extant);
+
 	int	(*set_ringparam)(struct wiphy *wiphy, u32 tx, u32 rx);
 	void	(*get_ringparam)(struct wiphy *wiphy,
 				 u32 *tx, u32 *tx_max, u32 *rx, u32 *rx_max);
@@ -1748,6 +1754,7 @@ enum wiphy_flags {
 	WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD	= BIT(19),
 	WIPHY_FLAG_OFFCHAN_TX			= BIT(20),
 	WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL	= BIT(21),
+	WIPHY_FLAG_HAS_EXTANT_SWITCH		= BIT(22),
 };
 
 /**
@@ -1875,6 +1882,21 @@ struct wiphy_wowlan_support {
 };
 
 /**
+ * struct wiphy_extant_profile - User-parsable external antenna switch info
+ *
+ * This structure is used to provide the available switch configurations.
+ * @id: unique identifier of the profile
+ * @name: profile name (a short string)
+ * @description: user-parsable description of the profile
+ */
+struct wiphy_extant_profile {
+	int id;
+	char *name;
+	char *desc;
+};
+
+
+/**
  * struct wiphy - wireless hardware description
  * @reg_notifier: the driver's regulatory notification callback,
  *	note that if your driver uses wiphy_apply_custom_regulatory()
@@ -1955,6 +1977,8 @@ struct wiphy_wowlan_support {
  *	configured as RX antennas. Antenna configuration commands will be
  *	rejected unless this or @available_antennas_tx is set.
  *
+ * @extant: struct holding the available antenna switch configuration profiles.
+ *
  * @max_remain_on_channel_duration: Maximum time a remain-on-channel operation
  *	may request, if implemented.
  *
@@ -2025,6 +2049,8 @@ struct wiphy {
 	 */
 	u32 probe_resp_offload;
 
+	struct wiphy_extant_profile *extant;
+
 	/* If multiple wiphys are registered and you're handed e.g.
 	 * a regular netdev with assigned ieee80211_ptr, you won't
 	 * know whether it points to a wiphy your driver has registered
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index a1cabde..9c861ae 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -204,6 +204,8 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
 	[NL80211_ATTR_HT_CAPABILITY_MASK] = {
 		.len = NL80211_HT_CAPABILITY_LEN
 	},
+	[NL80211_ATTR_WIPHY_EXTANT] = { .type = NLA_NESTED },
+	[NL80211_ATTR_WIPHY_EXTANT_SELECT] = { .type = NLA_U32 },
 };
 
 /* policy for the key attributes */
@@ -252,6 +254,17 @@ nl80211_match_policy[NL80211_SCHED_SCAN_MATCH_ATTR_MAX + 1] = {
 						 .len = IEEE80211_MAX_SSID_LEN },
 };
 
+/* policy for external antenna switch configuration profiles */
+static const struct nla_policy
+nl80211_easp_policy[NL80211_EASP_ATTR_MAX + 1] = {
+	[NL80211_EASP_ATTR_ID] = { .type = NLA_U32 },
+	[NL80211_EASP_ATTR_NAME] = { .type = NLA_STRING,
+					.len = IEEE80211_MAX_DATA_LEN },
+	[NL80211_EASP_ATTR_DESC] = { .type = NLA_STRING,
+					.len = IEEE80211_MAX_DATA_LEN },
+};
+
+
 /* ifidx get helper */
 static int nl80211_get_ifidx(struct netlink_callback *cb)
 {
@@ -699,6 +712,8 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
 	struct nlattr *nl_bands, *nl_band;
 	struct nlattr *nl_freqs, *nl_freq;
 	struct nlattr *nl_rates, *nl_rate;
+	struct nlattr *nl_easps, *nl_easp;
+	struct nlattr *nl_extant;
 	struct nlattr *nl_cmds;
 	enum ieee80211_band band;
 	struct ieee80211_channel *chan;
@@ -781,6 +796,48 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
 		}
 	}
 
+	/*
+	 * antenna switch configuration profile support
+	 */
+	if (dev->wiphy.flags & WIPHY_FLAG_HAS_EXTANT_SWITCH) {
+		struct wiphy_extant_profile *weprof;
+		nl_extant = nla_nest_start(msg, NL80211_ATTR_WIPHY_EXTANT);
+		if (!nl_extant)
+			goto nla_put_failure;
+
+		/* currently selected configuration profile */
+		if (dev->ops->get_extant) {
+			u32 extant;
+			int res;
+			res = dev->ops->get_extant(&dev->wiphy, &extant);
+			if (!res)
+				NLA_PUT_U32(msg,
+					NL80211_EXTANT_ATTR_STATE,
+					extant);
+		}
+
+		/* available profiles */
+		i=0;
+		nl_easps = nla_nest_start(msg, NL80211_EXTANT_ATTR_PROFILES);
+		for (weprof = dev->wiphy.extant; weprof->id >= 0; weprof++) {
+			nl_easp = nla_nest_start(msg, i);
+			if (!nl_easp)
+				goto nla_put_failure;
+			NLA_PUT_U32(msg, NL80211_EASP_ATTR_ID,
+				weprof->id);
+			NLA_PUT(msg, NL80211_EASP_ATTR_NAME,
+				strlen(weprof->name),
+				weprof->name);
+			NLA_PUT(msg, NL80211_EASP_ATTR_DESC,
+				strlen(weprof->desc),
+				weprof->desc);
+			nla_nest_end(msg, nl_easp);
+			i++;
+		}
+		nla_nest_end(msg, nl_easps);
+		nla_nest_end(msg, nl_extant);
+	}
+
 	if (nl80211_put_iftypes(msg, NL80211_ATTR_SUPPORTED_IFTYPES,
 				dev->wiphy.interface_modes))
 		goto nla_put_failure;
@@ -1374,6 +1431,20 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
 			goto bad_res;
 	}
 
+	if (info->attrs[NL80211_ATTR_WIPHY_EXTANT_SELECT]) {
+		u32 extant;
+		if (!rdev->ops->set_extant) {
+			result = -EOPNOTSUPP;
+			goto bad_res;
+		}
+
+		extant = nla_get_u32(info->attrs[NL80211_ATTR_WIPHY_EXTANT_SELECT]);
+
+		result = rdev->ops->set_extant(&rdev->wiphy, extant);
+		if (result)
+			goto bad_res;
+	}
+
 	changed = 0;
 
 	if (info->attrs[NL80211_ATTR_WIPHY_RETRY_SHORT]) {
-- 
1.7.4.1


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH v1 1/3] support for antenna configuration profiles
  2011-11-28 16:12 [PATCH v1 1/3] support for antenna configuration profiles Daniel Golle
@ 2011-12-04 11:06 ` Johannes Berg
  2011-12-05 16:57   ` Daniel Golle
  0 siblings, 1 reply; 4+ messages in thread
From: Johannes Berg @ 2011-12-04 11:06 UTC (permalink / raw)
  To: Daniel Golle; +Cc: linux-wireless, Luis R. Rodriguez, Felix Fietkau

T24gTW9uLCAyMDExLTExLTI4IGF0IDE3OjEyICswMTAwLCBEYW5pZWwgR29sbGUgd3JvdGU6Cj4g
VGhpcyBhZGRzIHN1cHBvcnQgZm9yIGFudGVubmEgc3dpdGNoIGNvbmZpZ3VyYXRpb24gcHJvZmls
ZXMgdG8gbmw4MDIxMS4KCk1laCwgSSBjb3VsZG4ndCBmaW5kIHRoaXMgcGF0Y2ggYmVjYXVzZSB0
aGUgc3ViamVjdHMgYXJlIGFsbCB3cm9uZy4KVGhyZWUgcGF0Y2hlcyB3aXRoIGV4YWN0bHkgdGhl
IHNhbWUgc3ViamVjdD8hIENvbWUgb24uIEFsc28gcGxlYXNlIHVzZQp0aHJlYWRlZCBtb2RlIHRv
IHN1Ym1pdCAtLSBvdGhlcndpc2UgdGhlIDAvTiBkaXNjdXNzaW9uICYgdGhlIHBhdGNoZXMKZ2V0
IHRvcm4gYXBhcnQgKHdoaWNoIGlzIHRoZSByZWFzb24gSSdtIHJlcGx5aW5nIGhlcmUpLgoKQW55
d2F5LCBlbm91Z2ggY29tcGxhaW5pbmcuCgoKPiAgLyoqCj4gKyAqIHN0cnVjdCB3aXBoeV9leHRh
bnRfcHJvZmlsZSAtIFVzZXItcGFyc2FibGUgZXh0ZXJuYWwgYW50ZW5uYSBzd2l0Y2ggaW5mbwo+
ICsgKgo+ICsgKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIHByb3ZpZGUgdGhlIGF2YWlsYWJs
ZSBzd2l0Y2ggY29uZmlndXJhdGlvbnMuCj4gKyAqIEBpZDogdW5pcXVlIGlkZW50aWZpZXIgb2Yg
dGhlIHByb2ZpbGUKPiArICogQG5hbWU6IHByb2ZpbGUgbmFtZSAoYSBzaG9ydCBzdHJpbmcpCj4g
KyAqIEBkZXNjcmlwdGlvbjogdXNlci1wYXJzYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvZmls
ZQo+ICsgKi8KPiArc3RydWN0IHdpcGh5X2V4dGFudF9wcm9maWxlIHsKPiArCWludCBpZDsKPiAr
CWNoYXIgKm5hbWU7Cj4gKwljaGFyICpkZXNjOwoKY29uc3QKCj4gKwlzdHJ1Y3Qgd2lwaHlfZXh0
YW50X3Byb2ZpbGUgKmV4dGFudDsKCmNvbnN0CgpBbHNvLCBzaG91bGRuJ3QgdGhpcyBhbGxvdyBt
dWx0aXBsZSBwcm9maWxlcz8KCkl0J3MgYSBiaXQgc3RyYW5nZSB0byBoYXZlIGEgcHJvZmlsZSBJ
RCBidXQgdGhlbiBvbmx5IGEgc2luZ2xlCnByb2ZpbGUgLi4uCgo+ICsvKiBwb2xpY3kgZm9yIGV4
dGVybmFsIGFudGVubmEgc3dpdGNoIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMgKi8KPiArc3RhdGlj
IGNvbnN0IHN0cnVjdCBubGFfcG9saWN5Cj4gK25sODAyMTFfZWFzcF9wb2xpY3lbTkw4MDIxMV9F
QVNQX0FUVFJfTUFYICsgMV0gPSB7Cj4gKwlbTkw4MDIxMV9FQVNQX0FUVFJfSURdID0geyAudHlw
ZSA9IE5MQV9VMzIgfSwKPiArCVtOTDgwMjExX0VBU1BfQVRUUl9OQU1FXSA9IHsgLnR5cGUgPSBO
TEFfU1RSSU5HLAo+ICsJCQkJCS5sZW4gPSBJRUVFODAyMTFfTUFYX0RBVEFfTEVOIH0sCj4gKwlb
Tkw4MDIxMV9FQVNQX0FUVFJfREVTQ10gPSB7IC50eXBlID0gTkxBX1NUUklORywKPiArCQkJCQku
bGVuID0gSUVFRTgwMjExX01BWF9EQVRBX0xFTiB9LAo+ICt9OwoKVGhvc2UgbGVuZ3RoIHJlc3Ry
aWN0aW9ucyBhcmUgY29tcGxldGVseSBib2d1cywgYnV0IHRoZXkncmUgYWxzbwp1bm5lY2Vzc2Fy
eSBzaW5jZSB0aGlzIGRhdGEgaXMgb3V0cHV0IGRhdGEgb25seSBzbyB5b3UgYXJlbid0IHVzaW5n
IHRoZQpwb2xpY3kgYW55d2hlcmUgYW55d2F5LgoKPiBAQCAtNzgxLDYgKzc5Niw0OCBAQCBzdGF0
aWMgaW50IG5sODAyMTFfc2VuZF93aXBoeShzdHJ1Y3Qgc2tfYnVmZiAqbXNnLCB1MzIgcGlkLCB1
MzIgc2VxLCBpbnQgZmxhZ3MsCj4gIAkJfQo+ICAJfQo+ICAKPiArCS8qCj4gKwkgKiBhbnRlbm5h
IHN3aXRjaCBjb25maWd1cmF0aW9uIHByb2ZpbGUgc3VwcG9ydAo+ICsJICovCj4gKwlpZiAoZGV2
LT53aXBoeS5mbGFncyAmIFdJUEhZX0ZMQUdfSEFTX0VYVEFOVF9TV0lUQ0gpIHsKPiArCQlzdHJ1
Y3Qgd2lwaHlfZXh0YW50X3Byb2ZpbGUgKndlcHJvZjsKPiArCQlubF9leHRhbnQgPSBubGFfbmVz
dF9zdGFydChtc2csIE5MODAyMTFfQVRUUl9XSVBIWV9FWFRBTlQpOwo+ICsJCWlmICghbmxfZXh0
YW50KQo+ICsJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKPiArCj4gKwkJLyogY3VycmVudGx5IHNl
bGVjdGVkIGNvbmZpZ3VyYXRpb24gcHJvZmlsZSAqLwo+ICsJCWlmIChkZXYtPm9wcy0+Z2V0X2V4
dGFudCkgewo+ICsJCQl1MzIgZXh0YW50Owo+ICsJCQlpbnQgcmVzOwo+ICsJCQlyZXMgPSBkZXYt
Pm9wcy0+Z2V0X2V4dGFudCgmZGV2LT53aXBoeSwgJmV4dGFudCk7Cj4gKwkJCWlmICghcmVzKQo+
ICsJCQkJTkxBX1BVVF9VMzIobXNnLAo+ICsJCQkJCU5MODAyMTFfRVhUQU5UX0FUVFJfU1RBVEUs
Cj4gKwkJCQkJZXh0YW50KTsKPiArCQl9Cj4gKwo+ICsJCS8qIGF2YWlsYWJsZSBwcm9maWxlcyAq
Lwo+ICsJCWk9MDsKPiArCQlubF9lYXNwcyA9IG5sYV9uZXN0X3N0YXJ0KG1zZywgTkw4MDIxMV9F
WFRBTlRfQVRUUl9QUk9GSUxFUyk7Cj4gKwkJZm9yICh3ZXByb2YgPSBkZXYtPndpcGh5LmV4dGFu
dDsgd2Vwcm9mLT5pZCA+PSAwOyB3ZXByb2YrKykgewoKT2ggc28gdGhhdCdzIHN1cHBvc2VkIHRv
IGJlIGFuIGFycmF5IC0tIHRoZXJlJ3Mgbm8gd2F5IHRvIHRlbGwgdGhpcyBmcm9tCnRoZSBoZWFk
ZXIgZmlsZXMuIEl0J3MgYWNjZXB0YWJsZSwgYnV0IHBsZWFzZSBnaXZlIGl0IGFuIGV4cGxpY2l0
Cmxlbmd0aC4KCgpBbnl3YXksIGFwYXJ0IGZyb20gdGhlc2UgdGVjaG5pY2FsIGlzc3VlcyB0aGF0
IHlvdSBtdXN0IGZpeCwgSSBhbHNvIHdhbnQKc29tZWJvZHkgd2hvIGtub3dzIHdoYXQgdGhpcyBp
cyB1c2VkIGZvciBhbmQgaG93IGl0IGlzIHVzZWQgdG8gcmV2aWV3Cml0LCB3aGljaCBtaWdodCBt
ZWFuIHdhaXRpbmcgZm9yIEFkcmlhbiB3aG8gc2F5cyBpdCdsbCBiZSBhIGNvdXBsZSBvZgp3ZWVr
cyBhdCBsZWFzdC4KCmpvaGFubmVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbnRl
bCBHbWJICkRvcm5hY2hlciBTdHJhc3NlIDEKODU2MjIgRmVsZGtpcmNoZW4vTXVlbmNoZW4sIERl
dXRzY2hsYW5kIApTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IEZlbGRraXJjaGVuIGJlaSBNdWVuY2hl
bgpHZXNjaGFlZnRzZnVlaHJlcjogRG91Z2xhcyBMdXNrLCBQZXRlciBHbGVpc3NuZXIsIEhhbm5l
cyBTY2h3YWRlcmVyClJlZ2lzdGVyZ2VyaWNodDogTXVlbmNoZW4gSFJCIDQ3NDU2IApVc3QuLUlk
TnIuL1ZBVCBSZWdpc3RyYXRpb24gTm8uOiBERTEyOTM4NTg5NQpDaXRpYmFuayBGcmFua2Z1cnQg
YS5NLiAoQkxaIDUwMiAxMDkgMDApIDYwMDExOTA1Mgo=


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

* Re: [PATCH v1 1/3] support for antenna configuration profiles
  2011-12-04 11:06 ` Johannes Berg
@ 2011-12-05 16:57   ` Daniel Golle
  2011-12-06  9:13     ` Johannes Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Golle @ 2011-12-05 16:57 UTC (permalink / raw)
  To: Johannes Berg
  Cc: linux-wireless@vger.kernel.org, Luis R. Rodriguez, Felix Fietkau

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

On 12/04/2011 12:06 PM, Johannes Berg wrote:
> On Mon, 2011-11-28 at 17:12 +0100, Daniel Golle wrote:
>> This adds support for antenna switch configuration profiles to nl80211.
> 
> Meh, I couldn't find this patch because the subjects are all wrong.
> Three patches with exactly the same subject?! Come on. Also please use
> threaded mode to submit -- otherwise the 0/N discussion & the patches
> get torn apart (which is the reason I'm replying here).
I see, I try to use git-email in future to automatize the submission process and
hope that would improve the form.
The draft/v0 patch was posted on ath9k-devel, I re-posted this one to
linux-wireless after Mohammed suggested to post it here to have a broader
audience for discussion. Unfortunately I didn't repost the board-setup and
userspace patches as well, I'll try to prepare that in the next days.

> Anyway, enough complaining.
Please excuse me being a noob when it comes to collaboration methods, trying to
emulate what I observe. I highly appreciate people showing me where and how I
can improve.

> Those length restrictions are completely bogus, but they're also
> unnecessary since this data is output data only so you aren't using the
> policy anywhere anyway.
Should I completely skip adding it to the policy then or just ommit the length
restriction?

> Oh so that's supposed to be an array -- there's no way to tell this from
> the header files. It's acceptable, but please give it an explicit
> length.
Ok, I haven't seen any devices with more than 2 possible antenna configuation
profiles (horizontal/vertical, built-in/external) so far, so giving the array a
fixed length of 4 should be fine for now.

> Anyway, apart from these technical issues that you must fix, I also want
> somebody who knows what this is used for and how it is used to review
> it, which might mean waiting for Adrian who says it'll be a couple of
> weeks at least.
No worries about that, I'll also be traveling in the next few weeks and we can
further discuss when Adrian has returned as well.



Daniel

- -- 
ALLNET GmbH ; Maistr. 2 ; D-82110 Germering ; Germany
Tel. +49-89-89422222 - Fax +49-89-89422233
http://www.allnet.de
email: Daniel Golle <dgolle@allnet.de>
Schulungs-/Veranstaltungsprogramm: http://www.802lab.de<http://www.802lab.de/>
Geschäftsführer: Wolfgang Marcus Bauer
Handelsregister München B 95922 ; UST-ID-Nr. DE 128214294 ;
St.-Nr.117/115/00164
WEEE-Reg.-NR. DE 13101093
Bankverbindung:
Sparkasse Fürstenfeldbruck KTO: 2774594 ; BLZ: 70053070
Swift-Code: BYLADEM1FFB ; IBAN: DE61700530700002774594
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJO3PfpAAoJEDy9cKN/1Et0gSwP/33wyuFu6Hz0o8BnSO7QCP5p
QPH/KO9tzIsLh7VgDqGYFpkhInh4JCc+zumSM7OL8JY0NkJv+PVoCs9o3WqtDqdY
k10CV4l1kT0ckfcvsE0E/LTsQAzq53tlc/A8g0NJCRVWUT2ikXE93ixcOh77n/lC
VvcblSU1wvgvmKn9848Ydm31T32wdrI910kLnGH97NVc3K6cpQUtNLRA5adLTBlz
nlxj7eFP2rwkiXpBMHO6HWqvW2LpgFgzHCnpCxVyq0To5l4l2KZuscRs94nRm717
uScjxN7fPHj8WNv/QXlJ5+xQQLL5xfXzJd0UMNSx3yIY3ObgBbjA9j6eme3QLvKG
Yz6jDzRbCCO0n4YfFxYnrcAsZawjHx4WqjmqV9vpYrEXDEmkaj3LSMt9dYfjWiZX
PBfUs+Al+2NjO7lqq7nWMevmOlX+GBkQPJeH9Ov3NT8xAlqDmEEE8EzD5NXdAdDw
BSATVJkTh5OVsU5S13Wlf98N6mcV904lmRDi9jEPUITL1ygiVFiqBMakIF62Ozgc
flF83MR9f+NxLC0oeqVEYgMddwUK2O3wj5YrT9EsWt6mwJ2kzFfSugo4cf+IGCml
6MZDX5OoeIB1jWe7MS7jONKXmz2dWU4g1tB8DHc6XSRZKXkrKm7hzrOSF9sIK6hJ
i76D1gt+BH5/zFAHY4Fd
=ytEh
-----END PGP SIGNATURE-----

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

* Re: [PATCH v1 1/3] support for antenna configuration profiles
  2011-12-05 16:57   ` Daniel Golle
@ 2011-12-06  9:13     ` Johannes Berg
  0 siblings, 0 replies; 4+ messages in thread
From: Johannes Berg @ 2011-12-06  9:13 UTC (permalink / raw)
  To: Daniel Golle
  Cc: linux-wireless@vger.kernel.org, Luis R. Rodriguez, Felix Fietkau

Cj4gPiBUaG9zZSBsZW5ndGggcmVzdHJpY3Rpb25zIGFyZSBjb21wbGV0ZWx5IGJvZ3VzLCBidXQg
dGhleSdyZSBhbHNvCj4gPiB1bm5lY2Vzc2FyeSBzaW5jZSB0aGlzIGRhdGEgaXMgb3V0cHV0IGRh
dGEgb25seSBzbyB5b3UgYXJlbid0IHVzaW5nIHRoZQo+ID4gcG9saWN5IGFueXdoZXJlIGFueXdh
eS4KCj4gU2hvdWxkIEkgY29tcGxldGVseSBza2lwIGFkZGluZyBpdCB0byB0aGUgcG9saWN5IHRo
ZW4gb3IganVzdCBvbW1pdCB0aGUgbGVuZ3RoCj4gcmVzdHJpY3Rpb24/CgpKdXN0IGRvbid0IGFk
ZCB0aGUgcG9saWN5LCBJIGRvbid0IHNlZSBpdCBhZGRpbmcgYW55IHZhbHVlLiBUaGUgZm9ybWF0
CnNob3VsZCBiZSBkb2N1bWVudGVkIHdlbGwgZW5vdWdoIGluIHRoZSBoZWFkZXIgZmlsZSBzbyB1
c2Vyc3BhY2UgY2FuCnVuZGVyc3RhbmQgaXQgd2l0aG91dCB0aGUgcG9saWN5LgooQWxzbyBub3Rl
IHRoYXQgSSB3YXMgcmVmZXJyaW5nIHRvIHVzaW5nIGEgYm9ndXMgbGVuZ3RoIGNvbnN0YW50IC0t
IHlvdQp3ZXJlIHNheWluZyBlYWNoIHN0cmluZyBoZXJlIGNhbiBiZSBhcyBsb25nIGFzIGEgODAy
LjExIGZyYW1lKQoKPiA+IE9oIHNvIHRoYXQncyBzdXBwb3NlZCB0byBiZSBhbiBhcnJheSAtLSB0
aGVyZSdzIG5vIHdheSB0byB0ZWxsIHRoaXMgZnJvbQo+ID4gdGhlIGhlYWRlciBmaWxlcy4gSXQn
cyBhY2NlcHRhYmxlLCBidXQgcGxlYXNlIGdpdmUgaXQgYW4gZXhwbGljaXQKPiA+IGxlbmd0aC4K
PiBPaywgSSBoYXZlbid0IHNlZW4gYW55IGRldmljZXMgd2l0aCBtb3JlIHRoYW4gMiBwb3NzaWJs
ZSBhbnRlbm5hIGNvbmZpZ3VhdGlvbgo+IHByb2ZpbGVzIChob3Jpem9udGFsL3ZlcnRpY2FsLCBi
dWlsdC1pbi9leHRlcm5hbCkgc28gZmFyLCBzbyBnaXZpbmcgdGhlIGFycmF5IGEKPiBmaXhlZCBs
ZW5ndGggb2YgNCBzaG91bGQgYmUgZmluZSBmb3Igbm93LgoKSSBkb24ndCB0aGluayBkb2luZyBh
IGZpeGVkIGxlbmd0aCBpcyB1c2VmdWwgLS0ganVzdCBhZGQgYSB2YXJpYWJsZQpkZXNjcmliaW5n
IHRoZSBsZW5ndGguCgpqb2hhbm5lcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW50
ZWwgR21iSApEb3JuYWNoZXIgU3RyYXNzZSAxCjg1NjIyIEZlbGRraXJjaGVuL011ZW5jaGVuLCBE
ZXV0c2NobGFuZCAKU2l0eiBkZXIgR2VzZWxsc2NoYWZ0OiBGZWxka2lyY2hlbiBiZWkgTXVlbmNo
ZW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6IERvdWdsYXMgTHVzaywgUGV0ZXIgR2xlaXNzbmVyLCBIYW5u
ZXMgU2Nod2FkZXJlcgpSZWdpc3RlcmdlcmljaHQ6IE11ZW5jaGVuIEhSQiA0NzQ1NiAKVXN0Li1J
ZE5yLi9WQVQgUmVnaXN0cmF0aW9uIE5vLjogREUxMjkzODU4OTUKQ2l0aWJhbmsgRnJhbmtmdXJ0
IGEuTS4gKEJMWiA1MDIgMTA5IDAwKSA2MDAxMTkwNTIK


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

end of thread, other threads:[~2011-12-06  9:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-28 16:12 [PATCH v1 1/3] support for antenna configuration profiles Daniel Golle
2011-12-04 11:06 ` Johannes Berg
2011-12-05 16:57   ` Daniel Golle
2011-12-06  9:13     ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).