Re: [PATCH] Add MAX17042 Fuel Gauge Driver - Initial Release

From: Anton Vorontsov
Date: Fri Jan 14 2011 - 10:15:26 EST


On Fri, Jan 14, 2011 at 02:46:11PM +0900, MyungJoo Ham wrote:
> The MAX17042 is a fuel gauge with an I2C interface for lithium-ion
> betteries. Unlike its predecessor MAX17040, MAX17042 uses 16bit
> registers. Besides, MAX17042 has much more features than MAX17040; e.g.,
> a thermistor, current and current accumulation measurement, battery
> internal resistance estimate, average values of measurement, and others.
>
> This patch implements a driver for MAX17042.
> In this initial release, we have implemented the most basic features of
> a fuel gauge: measure the battery capacity and voltage.
>
> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>

Thanks for the patch!

Applied to battery-2.6.git, with some changes.

[...]
> +static const struct i2c_device_id max17042_id[] = {
> + { "max17042", 0 },
> + { }
> +};
> +MODULE_DEVICE_TABLE(i2c, max17040_id);

Should be max17042_id, otherwise build breaks when enabled as a module:

drivers/power/max17042_battery.c:214: error: â__mod_i2c_device_tableâ aliased to undefined symbol âmax17040_idâ

Also a few small cosmetic changes were made. Here is the whole
diff:

diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
index 6e6eeab..c5c8805 100644
--- a/drivers/power/max17042_battery.c
+++ b/drivers/power/max17042_battery.c
@@ -1,5 +1,5 @@
/*
- * max17042_battery.c - Fuel gauge driver for Maxim 17042 / 8966 / 8997
+ * Fuel gauge driver for Maxim 17042 / 8966 / 8997
* Note that Maxim 8966 and 8997 are mfd and this is its subdevice.
*
* Copyright (C) 2011 Samsung Electronics
@@ -22,8 +22,10 @@
* This driver is based on max17040_battery.c
*/

+#include <linux/init.h>
#include <linux/slab.h>
#include <linux/i2c.h>
+#include <linux/mod_devicetable.h>
#include <linux/power_supply.h>
#include <linux/power/max17042_battery.h>

@@ -209,8 +211,7 @@ static const struct i2c_device_id max17042_id[] = {
{ "max17042", 0 },
{ }
};
-MODULE_DEVICE_TABLE(i2c, max17040_id);
-
+MODULE_DEVICE_TABLE(i2c, max17042_id);

static struct i2c_driver max17042_i2c_driver = {
.driver = {
diff --git a/include/linux/power/max17042_battery.h b/include/linux/power/max17042_battery.h
index 4cc533f..7995deb 100644
--- a/include/linux/power/max17042_battery.h
+++ b/include/linux/power/max17042_battery.h
@@ -1,5 +1,5 @@
/*
- * max17042_battery.h - Fuel gauge driver for Maxim 17042 / 8966 / 8997
+ * Fuel gauge driver for Maxim 17042 / 8966 / 8997
* Note that Maxim 8966 and 8997 are mfd and this is its subdevice.
*
* Copyright (C) 2011 Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/