Commit graph

174665 commits

Author SHA1 Message Date
Vijay Kumar dad1740133 Staging: poch: Parameter to enable loopback
Enable setting of loopback through module parameter.

Signed-off-by: Vijay Kumar <vijaykumar@bravegnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:09 -08:00
Vijay Kumar B 7e72a85e07 Staging: poch: Increase groups per interrupt
Increase groups per interrupt to reduce hogging of the CPU.

Signed-off-by: Vijay Kumar B. <vijaykumar@bravegnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:09 -08:00
Vijay Kumar B b01faf0574 Staging: poch: Fetch Flush IOCTL interface
Change user space interface to an IOCTL based interface instead of a
memory mapped circular buffer. The circular buffer had some serious
cache(?) issues and never worked.

Signed-off-by: Vijay Kumar B. <vijaykumar@bravegnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:09 -08:00
Vijay Kumar B 16fbf4cba0 Staging: poch: Parameter to enable synthetic counter
Adds a parameter that causes the hardware to synthesize Rx values
using a counter.

Signed-off-by: Vijay Kumar B. <vijaykumar@bravegnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:09 -08:00
Alan Cox e1bc58459a Staging: et131x: Clean up the phy code, especially dup stuff
Fold in the TPAL stuff and remove the duplication
Clean up other stuff where we do un-needed work or have verbose implementations
Comment some of the functions as we go


Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox 1210db957a Staging: et131x: phy clean up
Clean up the phy code a bit so we can see what needs doing. This involves
moving blocks around and making stuff static

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox 57aed3b438 Staging: et131x: Clean up MII control
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox 4ea30f84c5 Staging: et131x: kill off MAC_TEST_t
It isn't used anyway

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox cc5dc29c65 Staging: et131x: clean up MAX_FM type
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox c9835d97e9 Staging: et131x: Clean up MAC_CFG types
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox eccdd88fa0 Staging: et131x: Clean up the MII_MGMT type
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox c2f6118a30 Staging: et131x: Clean up the half duplex control reg types
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox 308e93e0a3 Staging: et131x: Clean the IPG types up
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox d8fd9d7ecf Staging: et131x: Kill the RX skb list element - it isn't used
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:08 -08:00
Alan Cox 5720f17502 Staging: et131x: Kill the RX pending list
As with tx there was a pending list Linux doesn't use

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox ceef1a5e0e Staging: et131x: tx ring mac error is only used as a local
So make it a local

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox 1458d82b45 Staging: et131x: Bring tx into coding style
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox fb034f841d Staging: et131x: kill unused tcb fields
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox c78732ad75 Staging: et131x: Clean up tx naming
Clean up the names to be Linux like
Remove the unused pad buffer

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox 9251d71a4e Staging: et131x: Clean up the tx ring init
Keep this small change separate for bisectability

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox c1996fc2ee Staging: et131x: tidy up a bit further
Clean up the minor uglies left from the previous work

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox 116badfe08 Staging: et131x: Remove old SendWaitQueue code
The Linux driver doesn't keep a pending queue as the old one did. so we can
remove all the code related to it.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox f432c55e14 Staging: et131x: fold up simple wrapper functions
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox 7f59b1bfa3 Staging: et131x: Clean up the receive arrays
We don't use them for anything having stripped out the debug gunge in
the original driver.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:07 -08:00
Alan Cox 4fbdf811bc Staging: et131x: first pass RX cleanup
Sort out the variable naming and clean up types and obvious trivia

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox 9c60684b72 Staging: et131x: pci_alloc_consistent DMA alignment is guaranteed
So we can remove this alignment work.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox 63841ad247 Staging: et131x: the stuck descriptor copy is never used
Say goodbye to it

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox b711b2e0fa Staging: et131x: tidy up names for the TX structures
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox fb70ed6710 Staging: et131x: clean up WORD2 usage
A little more complex but again move the structure and typedef into into the
documentation

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox b44207ab43 Staging: et131x: clean up word 3 definition
This is basically not really used so turn it into a u32 and comment the
format for reference

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox 10643efffa Staging: et131x: rxstat is not used
Turn it into a u32 and document the fields in a comment instead

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox 5f1377d42b Staging: et131x: PHY loopback cannot be set (and isn't useful for us anyway)
Remove the stuff that falls out from this always being zero.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox abc449970a Staging: et131x: kill NMI hacks
The NMI code is in the shipped driver for "validation". We won't be doing
chip validation and we have proper core nmi handling so this can go.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox c431e3c064 Staging: et131x: tidy up initpci code
Perform some easy tidying so we can see what needs to be done next

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:06 -08:00
Alan Cox 7f2bf9488d Staging: et131x: Kill the NoPhyAccess variable
Another write once "variable"

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Alan Cox 4e02b4b57d Staging: et131x: extract the eeprom setup logic from initpci
This puts all the eeprom handling in one place and cleans up the interfaces

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Alan Cox b802ce0c70 Staging: et131x: tidy eeprom code up
Turn this one into something resembling a clean Linux driver

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Alan Cox 53f8aeef7d Staging: et131x: kill SUCCESS and FAILURE defines
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
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
Paul Mundt e12274ba0c Staging: iio: Fix up the module build.
Both the max1363 and lis3l02dq modules rely on IIO trigger support in
their ring buffer implementations, which is presently a separate config
option. In the case of IIO_RING_BUFFER=y and IIO_TRIGGER=n, we end up
with the following:

ERROR: "iio_trigger_attach_poll_func" [drivers/staging/iio/adc/max1363.ko] undefined!
ERROR: "iio_trigger_dettach_poll_func" [drivers/staging/iio/adc/max1363.ko] undefined!
ERROR: "iio_trigger_unregister" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_notify_done" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_read_name" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_poll" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_attach_poll_func" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_register" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_free_trigger" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_trigger_dettach_poll_func" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
ERROR: "iio_allocate_trigger" [drivers/staging/iio/accel/lis3l02dq.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

This adds an IIO_TRIGGER select for these two drivers conditional on
IIO ring buffer support. Caught with an SH randconfig in -next.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Randy Dunlap 4c57260508 Staging: iio: lots of doc fixes
Fix iio header files kernel-doc notation errors, spelling, typos,
indentation, grammar, etc.

It would also be good if these function names were spelled
correctly, but I didn't change them:
  iio_push_or_escallate_ring_event()
  iio_trigger_dettach_poll_func()

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Randy Dunlap 7e0463839c Staging: iio: kconfig and make edits
Fix spelling, typos, indentation in iio Kconfig files.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Peter Huewe 73d3f6652a Staging: phison: adding __init/__exit macros
Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of drivers/staging/phison/phison.c

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:05 -08:00
Peter Huewe 24e4688632 Staging: p9auth: adding __init/__exit macros
Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of drivers/staging/p9auth/p9auth.c


Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Peter Huewe 64ed20165f Staging: cx25821: adding __init/__exit macros
Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of ./staging/cx25821/cx25821-core.c

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Peter Huewe 3c0d44643c Staging: et131x: adding __init/__exit macros
Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of ./staging/et131x/et131x_initpci.c

Greg, please have a look at the small patch and either pull it through
your staging tree, or please ack' it so Jiri can pull it through the trivial tree.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Nitin Gupta 224f0ef4e2 Staging: ramzswap: add TODO file
TODO file for ramzswap.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Nitin Gupta 47f9afb38f Staging: ramzswap: documentation
Short guide on how to setup and use ramzswap.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Nitin Gupta 306b0c957f Staging: virtual block device driver (ramzswap)
Creates RAM based block devices (/dev/ramzswapX) which can be
used (only) as swap disks. Pages swapped to these are compressed
and stored in memory itself.

The module is called ramzswap.ko. It depends on:
 - xvmalloc memory allocator (compiled with this driver)
 - lzo_compress.ko
 - lzo_decompress.ko

See ramzswap.txt for usage details.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00
Nitin Gupta 644bf7b598 Staging: xvmalloc memory allocator
* Features:
 - Low metadata overhead (just 4 bytes per object)
 - O(1) Alloc/Free - except when we have to call system page allocator to
   get additional memory.
 - Very low fragmentation: In all tests, xvmalloc memory usage is within 12%
   of "Ideal".
 - Pool based allocator: Each pool can grow and shrink.
 - It maps pages only when required. So, it does not hog vmalloc area which
   is very small on 32-bit systems.

SLUB allocator could not be used due to fragmentation issues:
http://code.google.com/p/compcache/wiki/AllocatorsComparison
Data here shows kmalloc using ~43% more memory than TLSF and xvMalloc
is showed ~2% more space efficiency than TLSF (due to smaller metadata).
Creating various kmem_caches can reduce space efficiency gap but still
problem of being limited to low memory exists. Also, it depends on
allocating higher order pages to reduce fragmentation - this is not
acceptable for ramzswap as it is used under memory crunch (its a swap
device!).

SLOB allocator could not be used do to reasons mentioned here:
http://lkml.org/lkml/2009/3/18/210

* Implementation:
It uses two-level bitmap search to find free list containing block of
correct size. This idea is taken from TLSF (Two-Level Segregate Fit)
allocator and is well explained in its paper (see [Links] below).

* Limitations:
 - Poor scalability: No per-cpu data structures (work in progress).

[Links]
1. Details and Performance data:
http://code.google.com/p/compcache/wiki/xvMalloc
http://code.google.com/p/compcache/wiki/xvMallocPerformance

2. TLSF memory allocator:
home: http://rtportal.upv.es/rtmalloc/
paper: http://rtportal.upv.es/rtmalloc/files/MRBC_2008.pdf

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:04 -08:00