static int ds2746_i2c_init(void) { i2c2 = i2c_get_adapter(DS2746_I2C_BUS_ID); ds2746_i2c = kzalloc(sizeof(*ds2746_i2c), GFP_KERNEL); if (i2c2 == NULL || ds2746_i2c == NULL){ printk(DRIVER_ZONE "[%s] fail (0x%x, 0x%x).\n", __func__, (int) i2c2, (int) ds2746_i2c); ds2746_i2c_exit(); return -ENOMEM; } ds2746_i2c->adapter = i2c2; ds2746_i2c->addr = DS2746_I2C_SLAVE_ADDR; return 0; }
static void __exit ds2746_battery_exit(void) { ds2746_i2c_exit(); platform_driver_unregister(&ds2746_battery_driver); }