[PATCH] split libertas driver into hardware independend / dependend parts
Dan Williams
dcbw at redhat.com
Fri Feb 16 12:22:15 EST 2007
On Tue, 2007-02-13 at 14:28 +0100, Holger Schurig wrote:
> That's the first part of splitting the libertas driver into a hardware
> dependend and independend part.
>
> Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
Was this patch suitable for applying? or was it broken in some way? I
thought I read in a later mail that you said it shouldn't be applied...
Dan
> ---
>
> In future patches, we should move more stuff from main.c into libertas.c and
> try to reduce the EXPORT_SYMBOL() count. I'm also o.k. to converting those
> into GPL-only exports, if people wish.
>
> --- libertas-2.6.orig/drivers/net/wireless/Kconfig
> +++ libertas-2.6/drivers/net/wireless/Kconfig
> @@ -280,16 +280,32 @@
>
> If you are not sure, say N here.
>
> +config LIBERTAS
> + tristate
> + depends on NET_RADIO && USB
> + select FW_LOADER
> + ---help---
> + Base driver for Libertas
> +
> config LIBERTAS_USB
> - tristate "Marvell Libertas 8388 802.11a/b/g cards"
> + tristate "Marvell Libertas 8388 USB 802.11a/b/g cards"
> depends on NET_RADIO && USB
> + select LIBERTAS
> + select FW_LOADER
> + ---help---
> + A driver for Marvell Libertas 8388 USB devices.
> +
> +config LIBERTAS_CF
> + tristate "Marvell Libertas 8385 CF 802.11b/g cards"
> + depends on NET_RADIO && PCMCIA && EXPERIMENTAL
> + select LIBERTAS
> select FW_LOADER
> ---help---
> A driver for Marvell Libertas 8388 USB devices.
>
> -config LIBERTAS_USB_DEBUG
> - bool "Enable full debugging output in the Libertas USB module."
> - depends on LIBERTAS_USB
> +config LIBERTAS_DEBUG
> + bool "Enable full debugging output in the Libertas module."
> + depends on NET_RADIO && (LIBERTAS_USB || LIBERTAS_CF)
> ---help---
> Debugging support.
>
> --- libertas-2.6.orig/drivers/net/wireless/Makefile
> +++ libertas-2.6/drivers/net/wireless/Makefile
> @@ -43,4 +43,4 @@
> obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o
>
> obj-$(CONFIG_USB_ZD1201) += zd1201.o
> -obj-$(CONFIG_LIBERTAS_USB) += libertas/
> +obj-$(CONFIG_LIBERTAS) += libertas/
> --- libertas-2.6.orig/drivers/net/wireless/libertas/Makefile
> +++ libertas-2.6/drivers/net/wireless/libertas/Makefile
> @@ -1,20 +1,20 @@
> # EXTRA_CFLAGS += -Wpacked
>
> -usb8xxx-objs := main.o fw.o wext.o \
> - rx.o tx.o cmd.o \
> - cmdresp.o scan.o \
> - join.o 11d.o \
> - ioctl.o debugfs.o \
> +lib8xxx-objs := libertas.o wext.o \
> + rx.o tx.o cmd.o \
> + cmdresp.o scan.o \
> + join.o 11d.o \
> + ioctl.o debugfs.o \
> ethtool.o assoc.o
>
> -ifeq ($(CONFIG_LIBERTAS_USB_DEBUG), y)
> +ifeq ($(CONFIG_LIBERTAS_DEBUG), y)
> EXTRA_CFLAGS += -DDEBUG -DPROC_DEBUG
> endif
>
>
> -# This is needed to support the newer boot2 bootloader (v >= 3104)
> -usb8xxx-objs += if_bootcmd.o
> -usb8xxx-objs += if_usb.o
> +usb8xxx-objs := if_usb.o if_bootcmd.o fw.o main.o
> +#libertas_cf-objs := if_cf.o main_cf.o
>
> +obj-$(CONFIG_LIBERTAS) += lib8xxx.o
> obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o
> -
> +obj-$(CONFIG_LIBERTAS_CF) += libertas_cf.o
> --- /dev/null
> +++ libertas-2.6/drivers/net/wireless/libertas/libertas.c
> @@ -0,0 +1,58 @@
> +#include <linux/module.h>
> +#include <linux/kernel.h>
> +
> +#include "assoc.h"
> +#include "decl.h"
> +#include "debugfs.h"
> +#include "wext.h"
> +
> +EXPORT_SYMBOL(libertas_free_adapter);
> +
> +MODULE_AUTHOR("Holger Schurig <hs4233 at mail.mn-solutions.de>");
> +MODULE_DESCRIPTION("Library for Marvel 8xxx drivers");
> +MODULE_LICENSE("GPL");
> +
> +EXPORT_SYMBOL(libertas_adhoc_rates_b);
> +EXPORT_SYMBOL(libertas_adhoc_rates_g);
> +EXPORT_SYMBOL(libertas_allocate_cmd_buffer);
> +EXPORT_SYMBOL(libertas_debug);
> +EXPORT_SYMBOL(libertas_debugfs_init);
> +EXPORT_SYMBOL(libertas_debugfs_init_one);
> +EXPORT_SYMBOL(libertas_debugfs_remove);
> +EXPORT_SYMBOL(libertas_debugfs_remove_one);
> +EXPORT_SYMBOL(libertas_do_ioctl);
> +EXPORT_SYMBOL(libertas_ethtool_ops);
> +EXPORT_SYMBOL(libertas_execute_next_command);
> +EXPORT_SYMBOL(libertas_free_cmd_buffer);
> +EXPORT_SYMBOL(libertas_get_region_cfp_table);
> +EXPORT_SYMBOL(libertas_handler_def);
> +EXPORT_SYMBOL(libertas_init_11d);
> +EXPORT_SYMBOL(libertas_prepare_and_send_command);
> +EXPORT_SYMBOL(libertas_process_event);
> +EXPORT_SYMBOL(libertas_process_rx_command);
> +EXPORT_SYMBOL(libertas_process_rxed_packet);
> +EXPORT_SYMBOL(libertas_process_tx);
> +EXPORT_SYMBOL(libertas_ps_confirm_sleep);
> +EXPORT_SYMBOL(libertas_ps_wakeup);
> +EXPORT_SYMBOL(libertas_queue_cmd);
> +EXPORT_SYMBOL(libertas_region_code_to_index);
> +EXPORT_SYMBOL(libertas_send_tx_feedback);
> +EXPORT_SYMBOL(libertas_set_mac_packet_filter);
> +EXPORT_SYMBOL(libertas_tx_runqueue);
> +EXPORT_SYMBOL(libertas_wlan_data_rates);
> +EXPORT_SYMBOL(libertas_wlan_association_worker);
> +
> +
> +static int __init init_libertas(void)
> +{
> + return 0;
> +}
> +
> +
> +static void __exit exit_libertas(void)
> +{
> +}
> +
> +
> +module_init(init_libertas);
> +module_exit(exit_libertas);
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
More information about the libertas-dev
mailing list