linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment
@ 2016-06-17 22:02 Andrew F. Davis
  2016-06-17 22:02 ` [PATCH v2 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Andrew F. Davis @ 2016-06-17 22:02 UTC (permalink / raw)
  To: Pali Rohár, Sebastian Reichel, Dmitry Eremin-Solenikov,
	David Woodhouse
  Cc: linux-pm, linux-kernel, Andrew F . Davis

Signed-off-by: Andrew F. Davis <afd@ti.com>
---
 drivers/power/bq27xxx_battery_i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/bq27xxx_battery_i2c.c b/drivers/power/bq27xxx_battery_i2c.c
index b8f8d3a..85d4ea2 100644
--- a/drivers/power/bq27xxx_battery_i2c.c
+++ b/drivers/power/bq27xxx_battery_i2c.c
@@ -1,5 +1,5 @@
 /*
- * SCI Reset driver for Keystone based devices
+ * BQ27xxx battery monitor I2C driver
  *
  * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
  *	Andrew F. Davis <afd@ti.com>
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/3] power_supply: bq27xxx_battery: Index register numbers by enum
  2016-06-17 22:02 [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
@ 2016-06-17 22:02 ` Andrew F. Davis
  2016-06-17 22:02 ` [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
  2016-06-17 22:10 ` [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Pali Rohár
  2 siblings, 0 replies; 5+ messages in thread
From: Andrew F. Davis @ 2016-06-17 22:02 UTC (permalink / raw)
  To: Pali Rohár, Sebastian Reichel, Dmitry Eremin-Solenikov,
	David Woodhouse
  Cc: linux-pm, linux-kernel, Andrew F . Davis

Currently we use tables to map from register function to register number,
these tables assume the enum used to describe the register function
and index the register number is ordered to match the enum order. Index
the register numbers by the enum instead. This also removes the need
to comment each value with its function.

Signed-off-by: Andrew F. Davis <afd@ti.com>
---
 drivers/power/bq27xxx_battery.c | 238 ++++++++++++++++++++--------------------
 1 file changed, 119 insertions(+), 119 deletions(-)

diff --git a/drivers/power/bq27xxx_battery.c b/drivers/power/bq27xxx_battery.c
index 45f6ebf..01737fa 100644
--- a/drivers/power/bq27xxx_battery.c
+++ b/drivers/power/bq27xxx_battery.c
@@ -104,143 +104,143 @@ enum bq27xxx_reg_index {
 
 /* Register mappings */
 static u8 bq27000_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	INVALID_REG_ADDR,	/* INT TEMP - NA*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	0x18,	/* TTF		*/
-	0x1c,	/* TTES		*/
-	0x26,	/* TTECP	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	0x22,	/* AE		*/
-	0x0b,	/* SOC(RSOC)	*/
-	0x76,	/* DCAP(ILMD)	*/
-	0x24,	/* AP		*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = 0x18,
+	[BQ27XXX_REG_TTES] = 0x1c,
+	[BQ27XXX_REG_TTECP] = 0x26,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = 0x22,
+	[BQ27XXX_REG_SOC] = 0x0b,
+	[BQ27XXX_REG_DCAP] = 0x76,
+	[BQ27XXX_REG_AP] = 0x24,
 };
 
 static u8 bq27010_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	INVALID_REG_ADDR,	/* INT TEMP - NA*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	0x18,	/* TTF		*/
-	0x1c,	/* TTES		*/
-	0x26,	/* TTECP	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x0b,	/* SOC(RSOC)	*/
-	0x76,	/* DCAP(ILMD)	*/
-	INVALID_REG_ADDR,	/* AP - NA	*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = 0x18,
+	[BQ27XXX_REG_TTES] = 0x1c,
+	[BQ27XXX_REG_TTECP] = 0x26,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x0b,
+	[BQ27XXX_REG_DCAP] = 0x76,
+	[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
 };
 
 static u8 bq27500_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	0x28,	/* INT TEMP	*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	INVALID_REG_ADDR,	/* TTF - NA	*/
-	0x1a,	/* TTES		*/
-	INVALID_REG_ADDR,	/* TTECP - NA	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x2c,	/* SOC(RSOC)	*/
-	0x3c,	/* DCAP(ILMD)	*/
-	INVALID_REG_ADDR,	/* AP - NA	*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = 0x28,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTES] = 0x1a,
+	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x2c,
+	[BQ27XXX_REG_DCAP] = 0x3c,
+	[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
 };
 
 static u8 bq27530_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	0x32,	/* INT TEMP	*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	INVALID_REG_ADDR,	/* TTF - NA	*/
-	INVALID_REG_ADDR,	/* TTES - NA	*/
-	INVALID_REG_ADDR,	/* TTECP - NA	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x2c,	/* SOC(RSOC)	*/
-	INVALID_REG_ADDR,	/* DCAP - NA	*/
-	0x24,	/* AP		*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = 0x32,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x2c,
+	[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_AP] = 0x24,
 };
 
 static u8 bq27541_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	0x28,	/* INT TEMP	*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	INVALID_REG_ADDR,	/* TTF - NA	*/
-	INVALID_REG_ADDR,	/* TTES - NA	*/
-	INVALID_REG_ADDR,	/* TTECP - NA	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x2c,	/* SOC(RSOC)	*/
-	0x3c,	/* DCAP		*/
-	0x24,	/* AP		*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = 0x28,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x2c,
+	[BQ27XXX_REG_DCAP] = 0x3c,
+	[BQ27XXX_REG_AP] = 0x24,
 };
 
 static u8 bq27545_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x06,	/* TEMP		*/
-	0x28,	/* INT TEMP	*/
-	0x08,	/* VOLT		*/
-	0x14,	/* AVG CURR	*/
-	0x0a,	/* FLAGS	*/
-	0x16,	/* TTE		*/
-	INVALID_REG_ADDR,	/* TTF - NA	*/
-	INVALID_REG_ADDR,	/* TTES - NA	*/
-	INVALID_REG_ADDR,	/* TTECP - NA	*/
-	0x0c,	/* NAC		*/
-	0x12,	/* LMD(FCC)	*/
-	0x2a,	/* CYCT		*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x2c,	/* SOC(RSOC)	*/
-	INVALID_REG_ADDR,	/* DCAP - NA */
-	0x24,	/* AP		*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x06,
+	[BQ27XXX_REG_INT_TEMP] = 0x28,
+	[BQ27XXX_REG_VOLT] = 0x08,
+	[BQ27XXX_REG_AI] = 0x14,
+	[BQ27XXX_REG_FLAGS] = 0x0a,
+	[BQ27XXX_REG_TTE] = 0x16,
+	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_NAC] = 0x0c,
+	[BQ27XXX_REG_FCC] = 0x12,
+	[BQ27XXX_REG_CYCT] = 0x2a,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x2c,
+	[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_AP] = 0x24,
 };
 
 static u8 bq27421_regs[] = {
-	0x00,	/* CONTROL	*/
-	0x02,	/* TEMP		*/
-	0x1e,	/* INT TEMP	*/
-	0x04,	/* VOLT		*/
-	0x10,	/* AVG CURR	*/
-	0x06,	/* FLAGS	*/
-	INVALID_REG_ADDR,	/* TTE - NA	*/
-	INVALID_REG_ADDR,	/* TTF - NA	*/
-	INVALID_REG_ADDR,	/* TTES - NA	*/
-	INVALID_REG_ADDR,	/* TTECP - NA	*/
-	0x08,	/* NAC		*/
-	0x0e,	/* FCC		*/
-	INVALID_REG_ADDR,	/* CYCT - NA	*/
-	INVALID_REG_ADDR,	/* AE - NA	*/
-	0x1c,	/* SOC		*/
-	0x3c,	/* DCAP		*/
-	0x18,	/* AP		*/
+	[BQ27XXX_REG_CTRL] = 0x00,
+	[BQ27XXX_REG_TEMP] = 0x02,
+	[BQ27XXX_REG_INT_TEMP] = 0x1e,
+	[BQ27XXX_REG_VOLT] = 0x04,
+	[BQ27XXX_REG_AI] = 0x10,
+	[BQ27XXX_REG_FLAGS] = 0x06,
+	[BQ27XXX_REG_TTE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_NAC] = 0x08,
+	[BQ27XXX_REG_FCC] = 0x0e,
+	[BQ27XXX_REG_CYCT] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+	[BQ27XXX_REG_SOC] = 0x1c,
+	[BQ27XXX_REG_DCAP] = 0x3c,
+	[BQ27XXX_REG_AP] = 0x18,
 };
 
 static u8 *bq27xxx_regs[] = {
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table
  2016-06-17 22:02 [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
  2016-06-17 22:02 ` [PATCH v2 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
@ 2016-06-17 22:02 ` Andrew F. Davis
  2016-06-18 10:11   ` Sebastian Reichel
  2016-06-17 22:10 ` [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Pali Rohár
  2 siblings, 1 reply; 5+ messages in thread
From: Andrew F. Davis @ 2016-06-17 22:02 UTC (permalink / raw)
  To: Pali Rohár, Sebastian Reichel, Dmitry Eremin-Solenikov,
	David Woodhouse
  Cc: linux-pm, linux-kernel, Andrew F . Davis

Currently for each device with a unique register map we have a named
array that we then merge into a multidimensional array. Skip this
middle step and apply the register arrays directly to the multi-array.

Signed-off-by: Andrew F. Davis <afd@ti.com>
---
 drivers/power/bq27xxx_battery.c | 284 +++++++++++++++++++---------------------
 1 file changed, 136 insertions(+), 148 deletions(-)

diff --git a/drivers/power/bq27xxx_battery.c b/drivers/power/bq27xxx_battery.c
index 01737fa..b073338 100644
--- a/drivers/power/bq27xxx_battery.c
+++ b/drivers/power/bq27xxx_battery.c
@@ -82,6 +82,7 @@
  *
  * These are indexes into a device's register mapping array.
  */
+
 enum bq27xxx_reg_index {
 	BQ27XXX_REG_CTRL = 0,	/* Control */
 	BQ27XXX_REG_TEMP,	/* Temperature */
@@ -100,157 +101,144 @@ enum bq27xxx_reg_index {
 	BQ27XXX_REG_SOC,	/* State-of-Charge */
 	BQ27XXX_REG_DCAP,	/* Design Capacity */
 	BQ27XXX_REG_AP,		/* Average Power */
+	BQ27XXX_REG_MAX,	/* sentinel */
 };
 
 /* Register mappings */
-static u8 bq27000_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = 0x18,
-	[BQ27XXX_REG_TTES] = 0x1c,
-	[BQ27XXX_REG_TTECP] = 0x26,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = 0x22,
-	[BQ27XXX_REG_SOC] = 0x0b,
-	[BQ27XXX_REG_DCAP] = 0x76,
-	[BQ27XXX_REG_AP] = 0x24,
-};
-
-static u8 bq27010_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = 0x18,
-	[BQ27XXX_REG_TTES] = 0x1c,
-	[BQ27XXX_REG_TTECP] = 0x26,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x0b,
-	[BQ27XXX_REG_DCAP] = 0x76,
-	[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
-};
-
-static u8 bq27500_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = 0x28,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTES] = 0x1a,
-	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x2c,
-	[BQ27XXX_REG_DCAP] = 0x3c,
-	[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
-};
-
-static u8 bq27530_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = 0x32,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x2c,
-	[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_AP] = 0x24,
-};
-
-static u8 bq27541_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = 0x28,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x2c,
-	[BQ27XXX_REG_DCAP] = 0x3c,
-	[BQ27XXX_REG_AP] = 0x24,
-};
-
-static u8 bq27545_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x06,
-	[BQ27XXX_REG_INT_TEMP] = 0x28,
-	[BQ27XXX_REG_VOLT] = 0x08,
-	[BQ27XXX_REG_AI] = 0x14,
-	[BQ27XXX_REG_FLAGS] = 0x0a,
-	[BQ27XXX_REG_TTE] = 0x16,
-	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_NAC] = 0x0c,
-	[BQ27XXX_REG_FCC] = 0x12,
-	[BQ27XXX_REG_CYCT] = 0x2a,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x2c,
-	[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_AP] = 0x24,
-};
-
-static u8 bq27421_regs[] = {
-	[BQ27XXX_REG_CTRL] = 0x00,
-	[BQ27XXX_REG_TEMP] = 0x02,
-	[BQ27XXX_REG_INT_TEMP] = 0x1e,
-	[BQ27XXX_REG_VOLT] = 0x04,
-	[BQ27XXX_REG_AI] = 0x10,
-	[BQ27XXX_REG_FLAGS] = 0x06,
-	[BQ27XXX_REG_TTE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_NAC] = 0x08,
-	[BQ27XXX_REG_FCC] = 0x0e,
-	[BQ27XXX_REG_CYCT] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
-	[BQ27XXX_REG_SOC] = 0x1c,
-	[BQ27XXX_REG_DCAP] = 0x3c,
-	[BQ27XXX_REG_AP] = 0x18,
-};
-
-static u8 *bq27xxx_regs[] = {
-	[BQ27000] = bq27000_regs,
-	[BQ27010] = bq27010_regs,
-	[BQ27500] = bq27500_regs,
-	[BQ27530] = bq27530_regs,
-	[BQ27541] = bq27541_regs,
-	[BQ27545] = bq27545_regs,
-	[BQ27421] = bq27421_regs,
+static u8 bq27xxx_regs[][BQ27XXX_REG_MAX] = {
+	[BQ27000] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = 0x18,
+		[BQ27XXX_REG_TTES] = 0x1c,
+		[BQ27XXX_REG_TTECP] = 0x26,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = 0x22,
+		[BQ27XXX_REG_SOC] = 0x0b,
+		[BQ27XXX_REG_DCAP] = 0x76,
+		[BQ27XXX_REG_AP] = 0x24,
+	},
+	[BQ27010] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = 0x18,
+		[BQ27XXX_REG_TTES] = 0x1c,
+		[BQ27XXX_REG_TTECP] = 0x26,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x0b,
+		[BQ27XXX_REG_DCAP] = 0x76,
+		[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
+	},
+	[BQ27500] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = 0x28,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTES] = 0x1a,
+		[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x2c,
+		[BQ27XXX_REG_DCAP] = 0x3c,
+		[BQ27XXX_REG_AP] = INVALID_REG_ADDR,
+	},
+	[BQ27530] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = 0x32,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x2c,
+		[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_AP] = 0x24,
+	},
+	[BQ27541] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = 0x28,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x2c,
+		[BQ27XXX_REG_DCAP] = 0x3c,
+		[BQ27XXX_REG_AP] = 0x24,
+	},
+	[BQ27545] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x06,
+		[BQ27XXX_REG_INT_TEMP] = 0x28,
+		[BQ27XXX_REG_VOLT] = 0x08,
+		[BQ27XXX_REG_AI] = 0x14,
+		[BQ27XXX_REG_FLAGS] = 0x0a,
+		[BQ27XXX_REG_TTE] = 0x16,
+		[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_NAC] = 0x0c,
+		[BQ27XXX_REG_FCC] = 0x12,
+		[BQ27XXX_REG_CYCT] = 0x2a,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x2c,
+		[BQ27XXX_REG_DCAP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_AP] = 0x24,
+	},
+	[BQ27421] = {
+		[BQ27XXX_REG_CTRL] = 0x00,
+		[BQ27XXX_REG_TEMP] = 0x02,
+		[BQ27XXX_REG_INT_TEMP] = 0x1e,
+		[BQ27XXX_REG_VOLT] = 0x04,
+		[BQ27XXX_REG_AI] = 0x10,
+		[BQ27XXX_REG_FLAGS] = 0x06,
+		[BQ27XXX_REG_TTE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTF] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTES] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_TTECP] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_NAC] = 0x08,
+		[BQ27XXX_REG_FCC] = 0x0e,
+		[BQ27XXX_REG_CYCT] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_AE] = INVALID_REG_ADDR,
+		[BQ27XXX_REG_SOC] = 0x1c,
+		[BQ27XXX_REG_DCAP] = 0x3c,
+		[BQ27XXX_REG_AP] = 0x18,
+	},
 };
 
 static enum power_supply_property bq27000_battery_props[] = {
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment
  2016-06-17 22:02 [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
  2016-06-17 22:02 ` [PATCH v2 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
  2016-06-17 22:02 ` [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
@ 2016-06-17 22:10 ` Pali Rohár
  2 siblings, 0 replies; 5+ messages in thread
From: Pali Rohár @ 2016-06-17 22:10 UTC (permalink / raw)
  To: Andrew F. Davis
  Cc: Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	linux-pm, linux-kernel

Hi! For me the whole patch series looks ok, so add my Acked-by.

-- 
Pali Rohár
pali.rohar@gmail.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table
  2016-06-17 22:02 ` [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
@ 2016-06-18 10:11   ` Sebastian Reichel
  0 siblings, 0 replies; 5+ messages in thread
From: Sebastian Reichel @ 2016-06-18 10:11 UTC (permalink / raw)
  To: Andrew F. Davis
  Cc: Pali Rohár, Dmitry Eremin-Solenikov, David Woodhouse,
	linux-pm, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 313 bytes --]

Hi,

On Fri, Jun 17, 2016 at 05:02:35PM -0500, Andrew F. Davis wrote:
> Currently for each device with a unique register map we have a named
> array that we then merge into a multidimensional array. Skip this
> middle step and apply the register arrays directly to the multi-array.

Thanks, queued.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-06-18 10:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-17 22:02 [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
2016-06-17 22:02 ` [PATCH v2 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
2016-06-17 22:02 ` [PATCH v2 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
2016-06-18 10:11   ` Sebastian Reichel
2016-06-17 22:10 ` [PATCH v2 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).