Commit Graph

31 Commits

Author SHA1 Message Date
Martyn Welch
42d4eff70f Staging: vme: Allow drivers to co-exist
Unable to build both drivers at the same time due to classing variables that should be declared static but aren't.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:28 -08:00
Martyn Welch
3cb1b8a774 Staging: vme: Remove old structures for implemented features
Functionality for master RMW and location monitors has been implemented.
Remove the commented out structures from the original codebase.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:27 -08:00
Martyn Welch
ead1f3e301 Staging: vme: Fix checkpatch errors on VME core.
Running checkpatch on the core VME code highlights many errors. Fix them.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:27 -08:00
Martyn Welch
12b2d5c089 Staging: vme: Allow override of geographical address on ca91c142
Geographical addressing only works if the VME backplane supports it. There
are a large number of old backplanes which do not support geographical
addressing. These boards will generally report a slot ID of zero - which is
an invalid ID in the slot numbering scheme.

Allow the geographical address to be over-ridden on the ca91c142 so that a
slot ID can be provided manually in these circumstances.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:27 -08:00
Martyn Welch
638f199db4 Staging: vme: Allow override of geographical address on tsi148
Geographical addressing only works if the VME backplane supports it. There
are a large number of old backplanes which do not support geographical
addressing. These boards will generally report a slot ID of zero - which is
an invalid ID in the slot numbering scheme.

Allow the geographical address to be over-ridden on the tsi148 so that a
slot ID can be provided manually in these circumstances.

Signed-off-by: Markus Kraemer <mkraemer@e18.physik.tu-muenchen.de>
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:27 -08:00
Martyn Welch
51616e2106 Staging: vme: Correct vme_user error message typo
Correction of erroneous error message in vme_user.c.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:27 -08:00
Martyn Welch
a5c330fe8b staging: vme: Fix mutex locking
Fix incorrect use of mutex_trylock().

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch
58e507987b Staging: vme: Rename VME DMA functions
The DMA resource allocation function is called "vme_request_dma" while
master and slave window allocation functions are called
"vme_master_request" and "vme_slave_request" respectively. Rename
"vme_request_dma" to "vme_dma_request" to fit the pattern.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch
a4b02959d5 Staging: vme: Clean up tsi148 driver
* Remove message from IACK interrupt handler
* Correct clearing of location monitor interrupts
* Remove interrupt cleanup code that's duplcated in sub function

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch
8be9226c8f Staging: vme: Correct operation of vme_lm_free
The vme_lm_free() function is not clearing up the resource created in
vme_lm_request(). In addition vme_lm_free() is void function and is used in
exit/error paths, we should wait for mutex to become free rather than
exiting and not freeing the resource.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch
59c2290428 Staging: vme: Allow size of 0 when disabling a window
The TSI148 driver currently does not allow a size of zero to be passed to a
window. Zero is a valid value if the window is being disabled. Allow
windows to be disabled and their registers cleared.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Greg Kroah-Hartman
70d7aa889f Staging: vme: fix compiler warnings in vme_ca91cx42.c
It's causing people to ignore problems in the file, so get rid
of them so it's obvious something is wrong in the future.

Cc: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Martyn Welch
c813f592a5 Staging: vme: Pull common VME interrupt handling into core code
Currently the VME callback infrastructure is replicated in each VME driver.
Move this common code into the VME core. Rename functions to fit in better
with naming of other VME functions.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Martyn Welch
beb9ccc635 staging: vme: correct array overflow
Eric Sesterhenn noticed that vme_user is overflowing an array used by
sprintf. Use a bigger array.

CC: Eric Sesterhenn <eric.sesterhenn@lsexperts.de>
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Huang Weiyi
6884bb0924 Staging: vme: remove unused #include <linux/version.h>
Remove unused #include <linux/version.h>('s) in
  drivers/staging/vme/bridges/vme_ca91cx42.c
  drivers/staging/vme/bridges/vme_tsi148.c
  drivers/staging/vme/devices/vme_user.c
  drivers/staging/vme/vme.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Acked-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Greg Kroah-Hartman
6af783c8ba Staging: vme: fix sched.h build breakage
commit d43c36dc removed sched.h from interrupt.h.  This broke the
vme drivers.  This patch fixes them.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-10-14 14:14:36 -07:00
Greg Kroah-Hartman
51be97961f Staging: vme: change to VME_BUS
Turns out the m68k arch already has a CONFIG_VME, so use
CONFIG_VME_BUS instead.

Thanks to Geet Uytterhoeven for pointing this out.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch
bf39f9a5bd Staging: vme: Separate the list of TODOs from the API documentation
This patch moves the API documentation to it's own file and provides a
proper list of TODOs.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch
3d0f8bc751 Staging: vme: Update support for the Universe II VME driver
This patch starts the reworking of the vme_ca91cx42.c for the VME core. The
driver seems to have only supported the Universe II for a long time, I have no
hardware to check to see if it would work on the Universe I.

This patch is compile tested with minimal run-time testing. It enables basic
support for slave and master windows and interrupts. The master windows have
undergone basic run testing.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch
42fb503122 Staging: vme: add VME Location Monitor management mechanism
Extend the image and DMA channel resource management methods to control the
location monitor resource. The location monitor should be controlled as it can
only be used at a single location at a time.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch
400822fec4 Staging: Use proper mutexes in the tsi-148 VME driver
The VME core and tsi-148 driver currently use semaphores as mutexes. Switch to proper
mutex implementation.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch
238add523b Staging: Update VME vme_user module
* Add ifdef wrapper to vme_user.h
 * Correct Initialisation routine
 * Add remove routine to correct probe routine
 * Remove old test routines

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch
75155020c8 Staging: vme: Add syncronize interrupts before removing callback
As identified by Jiri, there is no syncronisation before callback is removed.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Emilio G. Cota
51a569f757 Staging: vme: fix {master,slave}_get check bug
It's checking the wrong functions; fix it.

Signed-off-by: Emilio G. Cota <cota@braap.org>
Acked-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch
a37b0dad8b Staging: vme: Extend VME core probing for special matches
Add the ability to define all slots and current slot in the VME buses bind
table.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch
df45517536 Staging: vme: Correct tsi-148 VME interrupt free routine
As identified by Jiri, the VME interrupt free routine removes the service
routine before disabling the interrupt. Re-order operations to be performed in
the reverse of the request routine.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch
c7ef5da35a Staging: vme: add TODO file
This describes the current vme api, along with a list of things
that needs to be fixed up.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch
d22b8ed9a3 Staging: vme: add Tundra TSI148 VME-PCI Bridge driver
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch
60479690af Staging: vme: add Universe I/II bridge driver
Currently this code doesn't compile, so it is disabled.

That should be fixed up...

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch
f00a86d98a Staging: vme: add VME userspace driver
Adds a VME userspace access driver

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch
a17a75e266 Staging: VME Framework for the Linux Kernel
This framework aims to colelese, extend and improve the VME Linux
drivers found at vmelinux.org, universe2.sourceforge.net and
openfmi.net/frs/?group_id=144. The last 2 drivers appear to be forks of
the original code found at vmelinux.org though have extended the
codebase.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00