klist_add_tail(&bus->klist_drivers, &drv->knode_bus); 
klist_add_tail(&drv->knode_bus, &bus->klist_drivers); 
int bus_add_driver(struct device_driver * drv){	struct bus_type * bus = get_bus(drv->bus);	int error = 0;	if (bus) {		pr_debug("bus %s: add driver %s\n", bus->name, drv->name);		error = kobject_set_name(&drv->kobj, "%s", drv->name);		if (error) {			put_bus(bus);			return error;		}		drv->kobj.kset = &bus->drivers;		if ((error = kobject_register(&drv->kobj))) {			put_bus(bus);			return error;		}		driver_attach(drv);		klist_add_tail(&bus->klist_drivers, &drv->knode_bus);		module_add_driver(drv->owner, drv);		driver_add_attrs(bus, drv);		driver_create_file(drv, &driver_attr_unbind);		driver_create_file(drv, &driver_attr_bind);	}	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d856f1e337782326c638c70c0b4df2b909350dec/bus.c/buggy/drivers/base/bus.c