|
From: Kenn H. <ke...@us...> - 2005-02-28 22:46:30
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vax/bus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9970/drivers/vax/bus Modified Files: vsbus.c Log Message: Initial cut at support for driver removal in VSBUS drivers. This is untested, since we don't have support for loadable modules yet. Index: vsbus.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vax/bus/vsbus.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vsbus.c 18 Sep 2004 23:06:33 -0000 1.2 +++ vsbus.c 28 Feb 2005 22:46:19 -0000 1.3 @@ -210,6 +210,16 @@ /* These functions support the VSBUS bus type for the driver model */ +static int vsbus_drv_remove(struct device *dev) +{ + struct vsbus_device *vsbus_dev = VSBUS_DEV(dev); + struct vsbus_driver *vsbus_drv = VSBUS_DRV(dev->driver); + + vsbus_drv->remove(vsbus_dev); + + return 0; +} + int vsbus_register_device(struct vsbus_device *vsbus_dev) { return device_register(&vsbus_dev->dev); @@ -218,10 +228,12 @@ int vsbus_register_driver(struct vsbus_driver *drv) { drv->drv.bus = &vsbus_bus_type; + drv->drv.remove = vsbus_drv_remove; return driver_register(&drv->drv); } + void vsbus_unregister_driver(struct vsbus_driver *drv) { return driver_unregister(&drv->drv); |