memset(adapter, 0x00, sizeof(struct i2c_par)); 
static void i2c_parport_attach (struct parport *port){	struct i2c_par *adapter;		adapter = kmalloc(sizeof(struct i2c_par), GFP_KERNEL);	if (adapter == NULL) {		printk(KERN_ERR "i2c-parport: Failed to kmalloc\n");		return;	}	memset(adapter, 0x00, sizeof(struct i2c_par));	pr_debug("i2c-parport: attaching to %s\n", port->name);	adapter->pdev = parport_register_device(port, "i2c-parport",		NULL, NULL, NULL, PARPORT_FLAG_EXCL, NULL);	if (!adapter->pdev) {		printk(KERN_ERR "i2c-parport: Unable to register with parport\n");		goto ERROR0;	}	/* Fill the rest of the structure */	adapter->adapter = parport_adapter;	adapter->algo_data = parport_algo_data;	if (!adapter_parm[type].getscl.val)		adapter->algo_data.getscl = NULL;	adapter->algo_data.data = port;	adapter->adapter.algo_data = &adapter->algo_data;	if (parport_claim_or_block(adapter->pdev) < 0) {		printk(KERN_ERR "i2c-parport: Could not claim parallel port\n");		goto ERROR1;	}	/* Reset hardware to a sane state (SCL and SDA high) */	parport_setsda(port, 1);	parport_setscl(port, 1);	/* Other init if needed (power on...) */	if (adapter_parm[type].init.val)		line_set(port, 1, &adapter_parm[type].init);	parport_release(adapter->pdev);	if (i2c_bit_add_bus(&adapter->adapter) < 0) {		printk(KERN_ERR "i2c-parport: Unable to register with I2C\n");		goto ERROR1;	}	/* Add the new adapter to the list */	adapter->next = adapter_list;	adapter_list = adapter;        return;ERROR1:	parport_unregister_device(adapter->pdev);ERROR0:	kfree(adapter);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/5263ebb51eb098b01caf229498c954999117e4a7/i2c-parport.c/clean/drivers/i2c/busses/i2c-parport.c