1
linux/drivers/staging/slicoss
Julia Lawall 72c71f4827 Staging: slicoss: remove duplicate structure field initialization
The definition of slic_netdev_ops has initializations of a local function
and eth_mac_addr for its ndo_set_mac_address field.  This change uses only
the local function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier I, s, fld;
position p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@s@
identifier I, s, r.fld;
position r.p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@script:python@
p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;
@@

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
  cocci.print_main(fld,p0)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
..
Kconfig Staging: add Alacritech slicoss network driver 2008-10-10 15:31:07 -07:00
Makefile Staging: add Alacritech slicoss network driver 2008-10-10 15:31:07 -07:00
README staging: slicoss: update README 2009-04-17 11:06:31 -07:00
slic.h Staging: slicoss: remove SLIC_GET_STATS_TIMER_ENABLED 2009-04-03 14:53:06 -07:00
slichw.h Staging: slicoss: slichw.h cleanup 2009-04-03 14:53:08 -07:00
slicoss.c Staging: slicoss: remove duplicate structure field initialization 2009-12-11 12:23:05 -08:00

This driver is supposed to support:

	Mojave cards (single port PCI Gigabit) both copper and fiber
	Oasis cards (single and dual port PCI-x Gigabit) copper and fiber
	Kalahari cards (dual and quad port PCI-e Gigabit) copper and fiber

The driver was actually tested on Oasis and Kalahari cards.

TODO:
	- move firmware loading to request_firmware()
	- remove direct memory access of structures
	- any remaining sparse and checkpatch.pl warnings

	- use net_device_ops
	- use dev->stats rather than adapter->stats
	- don't cast netdev_priv it is already void
	- use compare_ether_addr
	- GET RID OF MACROS
	- work on all architectures
	   - without CONFIG_X86_64 confusion
	   - do 64 bit correctly
	   - don't depend on order of union
	- get rid of ASSERT(), use BUG() instead but only where necessary
	  looks like most aren't really useful
	- no new SIOCDEVPRIVATE ioctl allowed
	- don't use module_param for configuring interrupt mitigation
	  use ethtool instead
	- reorder code to elminate use of forward declarations
	- don't keep private linked list of drivers.
	- remove all the gratiutous debug infrastructure
	- use PCI_DEVICE()
	- do ethtool correctly using ethtool_ops
	- NAPI?
	- wasted overhead of extra stats
	- state variables for things that are
	  easily availble and shouldn't be kept in card structure, cardnum, ...
	  slotnumber, events, ...
	- get rid of slic_spinlock wrapper
	- volatile == bad design => bad code
	- locking too fine grained, not designed just throw more locks
	  at problem


Please send patches to:
        Greg Kroah-Hartman <gregkh@suse.de>
and Cc: Lior Dotan <liodot@gmail.com> and Christopher Harrer
<charrer@alacritech.com> as well as they are also able to test out any
changes.