Exemple #1
0
static int _devinit si4709_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
	int err = 0;         
	struct si4709_data *si4709_dev;

	debug("----- %s %d\n", __func__, __LINE__);

	si4709_dev = kzalloc(sizeof(struct si4709_data), GFP_KERNEL);
	
	if(!si4709_dev)
	{
		err = -ENOMEM;
		return err;
	}

	Si4709_i2c_client = client;
	i2c_set_clientdata(client, si4709_dev);
	
	if(Si4709_i2c_client == NULL)
	{
        error("Si4709 i2c_client is NULL");
		return -ENODEV;
	}
	
	Si4709_probe(Si4709_i2c_client);

	return 0;
}
static int si4709_i2c_probe(struct i2c_adapter *adapter, int address, int kind)
{
	int err = 0;         

	printk("----- %s %d\n", __func__, __LINE__);

	Si4709_i2c_client.addr = address; 
	Si4709_i2c_client.adapter = adapter;
	Si4709_i2c_client.driver = &Si4709_i2c_driver;

	if ((err = i2c_attach_client(&Si4709_i2c_client)))
		return err;

	Si4709_probe(&Si4709_i2c_client);

	return 0;
}