Exemple #1
0
static int __init ds2746_battery_init(void)
{
	int ret;

	charger_control = 0;

	wake_lock_init(&vbus_wake_lock, WAKE_LOCK_SUSPEND, "vbus_present");
	register_notifier_cable_status(&cable_status_handler);

	ret = ds2746_i2c_init();
	if (ret < 0){
		return ret;
	}

	/*mutex_init(&htc_batt_info.lock);*/
	return platform_driver_register(&ds2746_battery_driver);
}
Exemple #2
0
static int smb329_probe(struct i2c_client *client,
			const struct i2c_device_id *id)
{
	struct smb329_i2c_client   *data = &smb329_i2c_module;

    if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
		dev_dbg(&client->dev, "[SMB329]:I2C fail\n");
		return -EIO;
		}
	if (machine_is_incrediblec()||(machine_is_supersonic()&&(system_rev < 1)))
		register_notifier_cable_status(&cable_status_handler);
	
	data->address = client->addr;
	data->client = client;
	mutex_init(&data->xfer_lock);
	pr_info("[SMB329]: Driver registration done\n");
	return 0;
}
Exemple #3
0
static int tps65200_probe(struct i2c_client *client,
			const struct i2c_device_id *id)
{
	struct tps65200_i2c_client   *data = &tps65200_i2c_module;

	if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
		dev_dbg(&client->dev, "[TPS65200]:I2C fail\n");
		return -EIO;
		}

	register_notifier_cable_status(&cable_status_handler);

	data->address = client->addr;
	data->client = client;
	mutex_init(&data->xfer_lock);
	pr_info("[TPS65200]: Driver registration done\n");
	return 0;
}