strlcpy(drv_data->adapter.name, ixp4xx_i2c_driver.name, I2C_NAME_SIZE); 
static int ixp4xx_i2c_probe(struct device *dev){	int err;	struct platform_device *plat_dev = to_platform_device(dev);	struct ixp4xx_i2c_pins *gpio = plat_dev->dev.platform_data;	struct ixp4xx_i2c_data *drv_data = 		kmalloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL);	if(!drv_data)		return -ENOMEM;	memzero(drv_data, sizeof(struct ixp4xx_i2c_data));	drv_data->gpio_pins = gpio;	/*	 * We could make a lot of these structures static, but	 * certain platforms may have multiple GPIO-based I2C	 * buses for various device domains, so we need per-device	 * algo_data->data. 	 */	drv_data->algo_data.data = gpio;	drv_data->algo_data.setsda = ixp4xx_bit_setsda;	drv_data->algo_data.setscl = ixp4xx_bit_setscl;	drv_data->algo_data.getsda = ixp4xx_bit_getsda;	drv_data->algo_data.getscl = ixp4xx_bit_getscl;	drv_data->algo_data.udelay = 10;	drv_data->algo_data.mdelay = 10;	drv_data->algo_data.timeout = 100;	drv_data->adapter.id = I2C_HW_B_IXP4XX;	drv_data->adapter.algo_data = &drv_data->algo_data;	drv_data->adapter.dev.parent = &plat_dev->dev;	gpio_line_config(gpio->scl_pin, IXP4XX_GPIO_IN);	gpio_line_config(gpio->sda_pin, IXP4XX_GPIO_IN);	gpio_line_set(gpio->scl_pin, 0);	gpio_line_set(gpio->sda_pin, 0);	if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) {		printk(KERN_ERR "ERROR: Could not install %s\n", dev->bus_id);		kfree(drv_data);		return err;	}	dev_set_drvdata(&plat_dev->dev, drv_data);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8a1b028bca95b5af36e94a660c4d284fe3313f74/i2c-ixp4xx.c/buggy/drivers/i2c/busses/i2c-ixp4xx.c