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>hifive-unleashed-5.1
parent
df45517536
commit
a37b0dad8b
|
@ -1302,9 +1302,17 @@ static int vme_bus_match(struct device *dev, struct device_driver *drv)
|
||||||
while((driver->bind_table[i].bus != 0) ||
|
while((driver->bind_table[i].bus != 0) ||
|
||||||
(driver->bind_table[i].slot != 0)) {
|
(driver->bind_table[i].slot != 0)) {
|
||||||
|
|
||||||
if ((bridge->num == driver->bind_table[i].bus) &&
|
if (bridge->num == driver->bind_table[i].bus) {
|
||||||
(num == driver->bind_table[i].slot))
|
if (num == driver->bind_table[i].slot)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
if (driver->bind_table[i].slot == VME_SLOT_ALL)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if ((driver->bind_table[i].slot == VME_SLOT_CURRENT) &&
|
||||||
|
(num == vme_slot_get(dev)))
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,9 @@ struct vme_resource {
|
||||||
|
|
||||||
extern struct bus_type vme_bus_type;
|
extern struct bus_type vme_bus_type;
|
||||||
|
|
||||||
|
#define VME_SLOT_CURRENT -1
|
||||||
|
#define VME_SLOT_ALL -2
|
||||||
|
|
||||||
struct vme_device_id {
|
struct vme_device_id {
|
||||||
int bus;
|
int bus;
|
||||||
int slot;
|
int slot;
|
||||||
|
|
Loading…
Reference in New Issue