is_match = match_func; unregister_device_callback = unregister_dev; release_device_callback = release_dev; 
vio_bus_ops = *ops; 
int __init vio_bus_init(int (*match_func)(const struct vio_device_id *id,			const struct vio_dev *dev),		void (*unregister_dev)(struct vio_dev *),		void (*release_dev)(struct device *)){	int err;	is_match = match_func;	unregister_device_callback = unregister_dev;	release_device_callback = release_dev;	err = bus_register(&vio_bus_type);	if (err) {		printk(KERN_ERR "failed to register VIO bus\n");		return err;	}	/*	 * The fake parent of all vio devices, just to give us	 * a nice directory	 */	err = device_register(&vio_bus_device.dev);	if (err) {		printk(KERN_WARNING "%s: device_register returned %i\n",				__FUNCTION__, err);		return err;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/71d276d751ff5ddba28312aecefb174b20a5b970/vio.c/buggy/arch/ppc64/kernel/vio.c