linux/drivers/staging/vme
Manohar Vanga 5d6abf379d staging: vme: make match() driver specific to improve non-VME64x support
For jumper based boards (non VME64x), there is no mechanism
for detecting the card that is plugged into a specific slot. This
leads to issues in non-autodiscovery crates/cards when a card is
plugged into a slot that is "claimed" by a different driver. In
reality, there is no problem, but the driver rejects such a
configuration due to its dependence on the concept of slots.

This patch makes the concept of slots less critical and pushes the
driver match() to individual drivers (similar to what happens in the
ISA bus in driver/base/isa.c). This allows drivers to register the
number of devices that they expect without any restrictions. Devices
in this new model are now formatted as $driver_name-$bus_id.$device_id
(as compared to the earlier vme-$bus_id.$slot_number).

This model also makes the device model more logical as devices
are only registered when they actually exist whereas earlier,
a set of devices were being created automatically regardless of
them actually being there.

Another change introduced in this patch is that devices are now created
within the VME driver structure rather than in the VME bridge structure.
This way, things don't go haywire if the bridge driver is removed while
a driver is using it.

Signed-off-by: Manohar Vanga <manohar.vanga@cern.ch>
Cc: Martyn Welch <martyn.welch@ge.com>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-17 15:43:13 -07:00
..
boards Staging VME: Fix remaining checkpatch.pl errors. 2011-06-28 14:04:53 -07:00
bridges staging: vme: make [alloc|free]_consistent bridge specific 2011-08-23 15:08:09 -07:00
devices staging: vme: make match() driver specific to improve non-VME64x support 2011-10-17 15:43:13 -07:00
Kconfig Staging: vme: VMIVME-7805 board support 2010-03-03 16:43:02 -08:00
Makefile Staging: vme: VMIVME-7805 board support 2010-03-03 16:43:02 -08:00
TODO Staging: vme: Add ca91cx42 rmw support 2010-03-03 16:43:01 -08:00
vme.c staging: vme: make match() driver specific to improve non-VME64x support 2011-10-17 15:43:13 -07:00
vme.h staging: vme: make match() driver specific to improve non-VME64x support 2011-10-17 15:43:13 -07:00
vme_api.txt staging: vme: make match() driver specific to improve non-VME64x support 2011-10-17 15:43:13 -07:00
vme_bridge.h staging: vme: make match() driver specific to improve non-VME64x support 2011-10-17 15:43:13 -07:00