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); }
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; }
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; }