hi,
On Thu, Dec 18, 2014 at 2:51 PM, Arend van Spriel <[email protected]> wrote:
> From: Gautam Kumar Shukla <[email protected]>
>
> The new feature flag allows the driver to indicate that it can
> offload the 4-way handshake for WPA/RSN-PSK. With the
> wiphy::features flag being used up this patch adds a new
> field wiphy::ext_features. Considering extensibility this
> new field is declared as a byte array.
>
> Signed-off-by: Gautam (Gautam Kumar) Shukla <[email protected]>
> Signed-off-by: Arend van Spriel <[email protected]>
> ---
> Hi Johannes,
>
> Here the proposed way to deal with new feature flags. Let
> me know if this is suitable.
>
> Regards,
> Arend
> ---
> @@ -3122,6 +3124,7 @@ struct wiphy {
> u16 max_acl_mac_addrs;
>
> u32 flags, regulatory_flags, features;
> + u8 ext_features[1];
>
i think it would be nicer to use unsigned long (instead of u8) along
with BITS_TO_LONGS
>
> /**
> + * enum nl80211_ext_feature_index - bit index of extended features.
> + *
> + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE: the device supports 4way handshake
> + */
> +enum nl80211_ext_feature_index {
> + NL80211_EXT_FEATURE_4WAY_HANDSHAKE,
> +};
just add the standard LAST/MAX defines here, and the bitmap size will
be allocated automatically.
>
> +void cfg80211_ext_feature_set(struct wiphy *wiphy,
> + enum nl80211_ext_feature_index ftidx)
> +{
> + u8 *ft_byte;
> +
> + ft_byte = &wiphy->ext_features[ftidx / 8];
> + *ft_byte |= BIT(ftidx % 8);
> +}
> +EXPORT_SYMBOL(cfg80211_ext_feature_set);
> +
> +bool cfg80211_ext_feature_isset(struct wiphy *wiphy,
> + enum nl80211_ext_feature_index ftidx)
> +{
> + u8 ft_byte;
> +
> + ft_byte = wiphy->ext_features[ftidx / 8];
> + return (ft_byte & BIT(ftidx % 8)) != 0;
> +}
> +EXPORT_SYMBOL(cfg80211_ext_feature_isset);
and these (or only the implementations) could be replaced by set_bit/test_bit.
Eliad.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html