down_write(&drv->bus->subsys.rwsem); 
void bus_remove_driver(struct device_driver * drv){	if (drv->bus) {		driver_remove_attrs(drv->bus, drv);		klist_remove(&drv->knode_bus);		down_write(&drv->bus->subsys.rwsem);		pr_debug("bus %s: remove driver %s\n", drv->bus->name, drv->name);		driver_detach(drv);		up_write(&drv->bus->subsys.rwsem);		module_remove_driver(drv);		kobject_unregister(&drv->kobj);		put_bus(drv->bus);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6eded061b1263847aedac7469339e99579aec5e5/bus.c/clean/drivers/base/bus.c