misc: improve .gitignore by adding eclipse files and binaries
trivial: move some printk() to pr_debug()

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
trivial: fix wrong command in document

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel/wr_nic: bugfix: don't handle early shared interrupts

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
wr-nic-dio: bugfix in interrupt for timestamps (my bug)

commit "9d4d08ekernel: correct warning for uninitialized variable"
introduced a bug, so the process was not properly awoken. The
commit is reported to be by Benoit, but I edited it and introduced
this bug which was missing in his submission.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel/nic: increment module use while sleeping

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
doc: remember users that here dio channels are 0..4

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
doc: new binaries, and new release number

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
test-lm32: removed as obsolete stuff

This directory includes some tests to validate firmware loading
and other things, but they don't really apply to the new software layout.
Given things are pretty stable on that level, it's easier to remove
the directory (for which I had already dropped the docs) than to port
the code).

Thanks to Benoit Rat for noting this old code was still there.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
general: upgraded to new fmc-bus version

This includes a new version of the submodule and fixes the code
to match the new set of fields in the fmc structure. The biggest change
is in the i2c address, that is now hosted in the fmc structure (this
changes the spec-i2c file).

Also, use new fmc_reprogram().  The function allows to centralize
dumping the eeprom and the sdb tree, so the bus framework dumps or
not, and can be changed at run time.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Makefile: automatically init fmc-bus submodule if missing

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel: fix some warnings

While building for a 64-bit host I found a few warnings in format strings.
One is corrected by using "%zi", and other ones are about resources.
Unfortunately %pR was added in 2.6.32, so to avoid introducing backporting
issues to our 2.6.24 cast the argument instead.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel/spec-nic.h: fix macro for 64-bit build

SET_HI32(variable, highhalf) was meant to prevent warnings and
unneeded code to get the best of 32 and 64 bits. But I had a bug
in 64-bit mode. This is the trivial fix.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
spec-vuart: fix base address
fmc-bus: updated to fix build warnings and a bug with fru parsing

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel/wr-nic: fix bad SDB address while loading with gateware arg

When the user passes "gateware=", the code uses a wrong SDB entry
point: "Can't find SDB at address 0x630000" (with one too many zeroes.

Replace typoed constant values with WRN_SDB_ADDR.
kernel/wr-nic: Remove annoying warning message asking for the phy

NetworkManager tries to access the phy, so this WARN_ON is
pretty common if the daemon is running. Now we know who is
misbehaving, and the driver can keep silent (disclaimer: this
opinionated message is by Alessandro :)
trivial: kernel/wr_nic: fix for previous commit

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel: remove __dev{init|exit}, that are no more

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
kernel/spec-i2c: bugfix: add delays in bitbanging i2c

This is a long-standing bug, and completely my fault.  Since our i2c
is simply a bitbanging gpio-based interface, I need to add some delays
into the operations.  Without this, accessing eeprom worked with most
mezzanines but not with all of them. The measured speed was more than 1MHz.

The devices are rated at 400kHz, so delay 1.25 usecs at each output
operation (thus, writing is three such delay for each bit).  Addin the
unpredictable software delays I see slightly more than than 200kHz
in my test system.

The driver now takes 2.5s to read the whole eeprom, but there's ample
space to make it better by fixing the FIXME in spec-i2c.c .

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>