[Prism54-devel] Re: [PATCH 2.6] Intersil Prism54 wireless driver
Jean Tourrilhes
jt@hpl.hp.com
Wed, 10 Mar 2004 09:21:14 -0800
On Wed, Mar 10, 2004 at 04:55:48PM +0000, Christoph Hellwig wrote:
> On Wed, Mar 03, 2004 at 06:35:24PM -0800, Jean Tourrilhes wrote:
> > Hi Dave & Jeff,
> >
> > The attached .bz2 file is a patch for 2.6.3 adding the
> > Intersil Prism54 wireless driver. Sorry for the attachement, the file
> > is rather big, if you want inline+plaintext, I'll send that personal
> > to you.
> > I've been using this driver with great success on 2.6.3 and
> > 2.6.4-rc1 (SMP). This driver support various popular CardBus and PCI
> > 802.11g cards (54 Mb/s) based on the Intersil PrismGT/PrismDuette
> > chipset.
> > I would like this driver to go into 2.6.X. However, I
> > understand that it's lot's of code to review.
>
> Here's a few things I found.
I'm forwarding to prism54-devel where the real developpers can
answer your questions.
> It's not exactly a full review, there's
> too much new snow to spend lots of time in front of a computer here :)
Grrr... This year, no snow for me.
> diff -Naur -X /home/mcgrof/lib/dontdiff linux-2.6.3/drivers/net/wireless/prism54/Makefile linux-2.6.3-prism54/drivers/net/wireless/prism54/Makefile
> --- linux-2.6.3/drivers/net/wireless/prism54/Makefile Thu Jan 1 00:00:00 1970
> +++ linux-2.6.3-prism54/drivers/net/wireless/prism54/Makefile Thu Mar 4 02:00:01 2004
> @@ -0,0 +1,10 @@
> +# $Id: Makefile.k26,v 1.7 2004/01/30 16:24:00 ajfa Exp $
> +
> +prism54-objs := islpci_eth.o islpci_mgt.o \
> + isl_38xx.o isl_ioctl.o islpci_dev.o \
> + islpci_hotplug.o isl_wds.o oid_mgt.o
>
> please use foo-y for new drivers.
>
> +
> +obj-$(CONFIG_PRISM54) += prism54.o
> +
> +EXTRA_CFLAGS = -I$(PWD) #-DCONFIG_PRISM54_WDS
>
> This is bogus, especially with srcdir != objdir.
> please fixup the includes instead
>
> +#define __KERNEL_SYSCALLS__
>
> this shouldn't be used anymore.
>
> +
> +#include <linux/version.h>
> +#include <linux/module.h>
> +#include <linux/types.h>
> +#include <linux/delay.h>
> +
> +#include "isl_38xx.h"
> +#include <linux/firmware.h>
> +
> +#include <asm/uaccess.h>
> +#include <asm/io.h>
>
> Please include headers in the following order <linux/*.h>,
> <asm/*.h>, driver-specific.
>
> +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,75))
> +#include <linux/device.h>
> +# define _REQ_FW_DEV_T struct device *
> +#else
> +# define _REQ_FW_DEV_T char *
> +#endif
>
> Eeek, why don't you simply pass the pci_dev down?
>
>
> +typedef struct isl38xx_cb isl38xx_control_block;
>
> No useless typedefs please.
>
> +MODULE_PARM(init_mode, "i");
> +MODULE_PARM_DESC(init_mode,
> + "Set card mode:\n0: Auto\n1: Ad-Hoc\n2: Managed Client (Default)\n3: Master / Access Point\n4: Repeater (Not supported yet)\n5: Secondary (Not supported yet)\n6: Monitor");
>
> Please use module_param
I would even say that this is useless because the driver
support WE, and WE scripts set the mode before the card is up.
> diff -Naur -X /home/mcgrof/lib/dontdiff linux-2.6.3/drivers/net/wireless/prism54/isl_wds.c linux-2.6.3-prism54/drivers/net/wireless/prism54/isl_wds.c
> --- linux-2.6.3/drivers/net/wireless/prism54/isl_wds.c Thu Jan 1 00:00:00 1970
> +++ linux-2.6.3-prism54/drivers/net/wireless/prism54/isl_wds.c Thu Mar 4 02:00:01 2004
>
> WDS doesn't belong into a driver but in higher-level code.
The big 802.11 reorg can only happen when HostAP is in the
kernel.
Regards,
Jean