linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment
@ 2016-05-31 18:44 Andrew F. Davis
  2016-05-31 18:44 ` [PATCH 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
  2016-05-31 18:45 ` [PATCH 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
  0 siblings, 2 replies; 5+ messages in thread
From: Andrew F. Davis @ 2016-05-31 18:44 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.8.3

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

* [PATCH 2/3] power_supply: bq27xxx_battery: Index register numbers by enum
  2016-05-31 18:44 [PATCH 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
@ 2016-05-31 18:44 ` Andrew F. Davis
  2016-05-31 18:45 ` [PATCH 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
  1 sibling, 0 replies; 5+ messages in thread
From: Andrew F. Davis @ 2016-05-31 18:44 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.8.3

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

* [PATCH 3/3] power_supply: bq27xxx_battery: Group register mappings into one table
  2016-05-31 18:44 [PATCH 1/3] power_supply: bq27xxx_battery: Fix copy/paste error in header comment Andrew F. Davis
  2016-05-31 18:44 ` [PATCH 2/3] power_supply: bq27xxx_battery: Index register numbers by enum Andrew F. Davis
@ 2016-05-31 18:45 ` Andrew F. Davis
  2016-06-10  1:29   ` Sebastian Reichel
  1 sibling, 1 reply; 5+ messages in thread
From: Andrew F. Davis @ 2016-05-31 18:45 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 | 281 +++++++++++++++++++---------------------
 1 file changed, 134 insertions(+), 147 deletions(-)

diff --git a/drivers/power/bq27xxx_battery.c b/drivers/power/bq27xxx_battery.c
index 01737fa..c954e6d 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 */
@@ -103,154 +104,140 @@ enum bq27xxx_reg_index {
 };
 
 /* 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,
+	[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.8.3

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

* Re: [PATCH 3/3] power_supply: bq27xxx_battery: Group register mappings into one table
  2016-05-31 18:45 ` [PATCH 3/3] power_supply: bq27xxx_battery: Group register mappings into one table Andrew F. Davis
@ 2016-06-10  1:29   ` Sebastian Reichel
  2016-06-17 22:00     ` Andrew F. Davis
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Reichel @ 2016-06-10  1:29 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: 977 bytes --]

Hi,

On Tue, May 31, 2016 at 01:45:00PM -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.

I applied the first two patches, but the third (this one) does not
compile for me:

  CC [M]  drivers/power/bq27xxx_battery.o
drivers/power/bq27xxx_battery.c:108:2: warning: braces around scalar initializer
  [BQ27000] = {
  ^
drivers/power/bq27xxx_battery.c:108:2: note: (near initialization for ‘bq27xxx_regs[1]’)
drivers/power/bq27xxx_battery.c:109:4: error: array index in non-array initializer
   [BQ27XXX_REG_CTRL] = 0x00,
    ^
drivers/power/bq27xxx_battery.c:109:4: note: (near initialization for ‘bq27xxx_regs[1]’)
drivers/power/bq27xxx_battery.c:110:4: error: array index in non-array initializer
   [BQ27XXX_REG_TEMP] = 0x06,
    ^
...

-- Sebastian

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

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

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

On 06/09/2016 08:29 PM, Sebastian Reichel wrote:
> Hi,
> 
> On Tue, May 31, 2016 at 01:45:00PM -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.
> 
> I applied the first two patches, but the third (this one) does not
> compile for me:
> 
>   CC [M]  drivers/power/bq27xxx_battery.o
> drivers/power/bq27xxx_battery.c:108:2: warning: braces around scalar initializer
>   [BQ27000] = {
>   ^
> drivers/power/bq27xxx_battery.c:108:2: note: (near initialization for ‘bq27xxx_regs[1]’)
> drivers/power/bq27xxx_battery.c:109:4: error: array index in non-array initializer
>    [BQ27XXX_REG_CTRL] = 0x00,
>     ^
> drivers/power/bq27xxx_battery.c:109:4: note: (near initialization for ‘bq27xxx_regs[1]’)
> drivers/power/bq27xxx_battery.c:110:4: error: array index in non-array initializer
>    [BQ27XXX_REG_TEMP] = 0x06,
>     ^
> ...
> 

That's odd, I looks like I was attempting a jagged array in C, oops :)
I'll post v2 with this fixed.

Thanks,
Andrew

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

end of thread, other threads:[~2016-06-17 22:01 UTC | newest]

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

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).