[PATCH] libertas: don't depend on IEEE80211

Dan Williams dcbw at redhat.com
Wed Mar 26 10:14:37 EDT 2008


On Wed, 2008-03-26 at 13:24 +0100, Holger Schurig wrote:
> Runtime-wise we only need escape_ssid from the deprecated IEEE80211
> subsystem. However, it's easy to provide our own copy.
> 
> Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>

Acked-by: Dan Williams <dcbw at redhat.com>

> Index: wireless-testing/drivers/net/wireless/Kconfig
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/Kconfig	2008-03-26 12:13:45.000000000 +0100
> +++ wireless-testing/drivers/net/wireless/Kconfig	2008-03-26 12:14:07.000000000 +0100
> @@ -271,7 +271,6 @@ config LIBERTAS
>  	tristate "Marvell 8xxx Libertas WLAN driver support"
>  	depends on WLAN_80211
>  	select WIRELESS_EXT
> -	select IEEE80211
>  	select FW_LOADER
>  	---help---
>  	  A library for Marvell Libertas 8xxx devices.
> Index: wireless-testing/drivers/net/wireless/libertas/decl.h
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/libertas/decl.h	2008-03-26 12:13:44.000000000 +0100
> +++ wireless-testing/drivers/net/wireless/libertas/decl.h	2008-03-26 12:16:33.000000000 +0100
> @@ -71,4 +71,9 @@ int lbs_stop_card(struct lbs_private *pr
>  void lbs_host_to_card_done(struct lbs_private *priv);
>  
>  int lbs_update_channel(struct lbs_private *priv);
> +
> +#if !defined(CONFIG_IEEE80211) && defined(CONFIG_LIBERTAS_DEBUG)
> +const char *escape_essid(const char *essid, u8 essid_len);
> +#endif
> +
>  #endif
> Index: wireless-testing/drivers/net/wireless/libertas/main.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/libertas/main.c	2008-03-26 12:14:07.000000000 +0100
> +++ wireless-testing/drivers/net/wireless/libertas/main.c	2008-03-26 12:15:47.000000000 +0100
> @@ -1559,6 +1559,33 @@ out:
>  	return ret;
>  }
>  
> +#if !defined(CONFIG_IEEE80211) && defined(CONFIG_LIBERTAS_DEBUG)
> +const char *escape_essid(const char *essid, u8 essid_len)
> +{
> +	static char escaped[IW_ESSID_MAX_SIZE * 2 + 1];
> +	const char *s = essid;
> +	char *d = escaped;
> +
> +	if (ieee80211_is_empty_essid(essid, essid_len)) {
> +		memcpy(escaped, "<hidden>", sizeof("<hidden>"));
> +		return escaped;
> +	}
> +
> +	essid_len = min(essid_len, (u8) IW_ESSID_MAX_SIZE);
> +	while (essid_len--) {
> +		if (*s == '\0') {
> +			*d++ = '\\';
> +			*d++ = '0';
> +			s++;
> +		} else {
> +			*d++ = *s++;
> +		}
> +	}
> +	*d = '\0';
> +	return escaped;
> +}
> +EXPORT_SYMBOL(escape_essid);
> +#endif
>  
>  module_init(lbs_init_module);
>  module_exit(lbs_exit_module);




More information about the libertas-dev mailing list