diff options
Diffstat (limited to 'drivers/zorro/zorro-driver.c')
| -rw-r--r-- | drivers/zorro/zorro-driver.c | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/drivers/zorro/zorro-driver.c b/drivers/zorro/zorro-driver.c index e6c4390d8bd..eacae1434b7 100644 --- a/drivers/zorro/zorro-driver.c +++ b/drivers/zorro/zorro-driver.c @@ -37,6 +37,7 @@ zorro_match_device(const struct zorro_device_id *ids, } return NULL; } +EXPORT_SYMBOL(zorro_match_device); static int zorro_device_probe(struct device *dev) @@ -91,6 +92,7 @@ int zorro_register_driver(struct zorro_driver *drv) /* register with core */ return driver_register(&drv->driver); } +EXPORT_SYMBOL(zorro_register_driver); /** @@ -107,6 +109,7 @@ void zorro_unregister_driver(struct zorro_driver *drv) { driver_unregister(&drv->driver); } +EXPORT_SYMBOL(zorro_unregister_driver); /** @@ -137,13 +140,35 @@ static int zorro_bus_match(struct device *dev, struct device_driver *drv) return 0; } +static int zorro_uevent(struct device *dev, struct kobj_uevent_env *env) +{ + struct zorro_dev *z; + + if (!dev) + return -ENODEV; + + z = to_zorro_dev(dev); + if (!z) + return -ENODEV; + + if (add_uevent_var(env, "ZORRO_ID=%08X", z->id) || + add_uevent_var(env, "ZORRO_SLOT_NAME=%s", dev_name(dev)) || + add_uevent_var(env, "ZORRO_SLOT_ADDR=%04X", z->slotaddr) || + add_uevent_var(env, "MODALIAS=" ZORRO_DEVICE_MODALIAS_FMT, z->id)) + return -ENOMEM; + + return 0; +} struct bus_type zorro_bus_type = { - .name = "zorro", - .match = zorro_bus_match, - .probe = zorro_device_probe, - .remove = zorro_device_remove, + .name = "zorro", + .dev_name = "zorro", + .match = zorro_bus_match, + .uevent = zorro_uevent, + .probe = zorro_device_probe, + .remove = zorro_device_remove, }; +EXPORT_SYMBOL(zorro_bus_type); static int __init zorro_driver_init(void) @@ -153,8 +178,3 @@ static int __init zorro_driver_init(void) postcore_initcall(zorro_driver_init); -EXPORT_SYMBOL(zorro_match_device); -EXPORT_SYMBOL(zorro_register_driver); -EXPORT_SYMBOL(zorro_unregister_driver); -EXPORT_SYMBOL(zorro_dev_driver); -EXPORT_SYMBOL(zorro_bus_type); |
