* [PATCH 00/14] power: supply: bq25890: fix and extend
@ 2020-04-02 14:58 Michał Mirosław
2020-04-02 14:58 ` [PATCH 02/14] power: supply: bq25890: simplify chip name property getter Michał Mirosław
` (13 more replies)
0 siblings, 14 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
This series consists of a set of fixes and enchancements to bq25890
driver. This is tested on a board using bq25896 as battery controller.
Patches 1-6 are fixes and cleanups, patches 7-14 update and extend
property support.
Series depends on core extensions from earlier series [1].
[1] https://lore.kernel.org/linux-pm/cover.1585837575.git.mirq-linux@rere.qmqm.pl/
Michał Mirosław (14):
power: supply: bq25890: remove redundant I2C bus check
power: supply: bq25890: simplify chip name property getter
power: supply: bq25890: make property table const
power: supply: bq25890: protect view of the chip's state
power: supply: bq25890: fix ADC mode configuration
power: supply: bq25890: update state on property read
power: supply: bq25890: implement CHARGE_TYPE property
power: supply: bq25890: implement PRECHARGE_CURRENT property
power: supply: bq25890: implement INPUT_CURRENT_LIMIT property
power: supply: bq25890: use proper CURRENT_NOW property for I_BAT
power: supply: bq25890: show measured VBUS
power: supply: bq25890: show VSYS as output voltage
power: supply: bq25890: show VBAT as VOLTAGE_NOW
power: supply: bq25890: support IBAT compensation
drivers/power/supply/bq25890_charger.c | 261 +++++++++++++++----------
1 file changed, 154 insertions(+), 107 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 01/14] power: supply: bq25890: remove redundant I2C bus check
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
2020-04-02 14:58 ` [PATCH 02/14] power: supply: bq25890: simplify chip name property getter Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 03/14] power: supply: bq25890: make property table const Michał Mirosław
` (11 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-pm, linux-kernel
regmap initialization will check I2C adapter functionality.
Remove redundant check in the driver.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index aebd1253dbc9..c642519ef7b2 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -881,17 +881,11 @@ static int bq25890_fw_probe(struct bq25890_device *bq)
static int bq25890_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
- struct i2c_adapter *adapter = client->adapter;
struct device *dev = &client->dev;
struct bq25890_device *bq;
int ret;
int i;
- if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
- dev_err(dev, "No support for SMBUS_BYTE_DATA\n");
- return -ENODEV;
- }
-
bq = devm_kzalloc(dev, sizeof(*bq), GFP_KERNEL);
if (!bq)
return -ENOMEM;
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 02/14] power: supply: bq25890: simplify chip name property getter
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 01/14] power: supply: bq25890: remove redundant I2C bus check Michał Mirosław
` (12 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Driver rejects unknown chips early in the probe(), so when
bq25890_power_supply_get_property() is made reachable, bq->chip_version
will already be set to correct value - there is no need to check
it again.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index c642519ef7b2..f9f29edadddc 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -32,6 +32,13 @@ enum bq25890_chip_version {
BQ25896,
};
+static const char *const bq25890_chip_name[] = {
+ "BQ25890",
+ "BQ25892",
+ "BQ25895",
+ "BQ25896",
+};
+
enum bq25890_fields {
F_EN_HIZ, F_EN_ILIM, F_IILIM, /* Reg00 */
F_BHOT, F_BCOLD, F_VINDPM_OFS, /* Reg01 */
@@ -400,17 +407,7 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
break;
case POWER_SUPPLY_PROP_MODEL_NAME:
- if (bq->chip_version == BQ25890)
- val->strval = "BQ25890";
- else if (bq->chip_version == BQ25892)
- val->strval = "BQ25892";
- else if (bq->chip_version == BQ25895)
- val->strval = "BQ25895";
- else if (bq->chip_version == BQ25896)
- val->strval = "BQ25896";
- else
- val->strval = "UNKNOWN";
-
+ val->strval = bq25890_chip_name[bq->chip_version];
break;
case POWER_SUPPLY_PROP_ONLINE:
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 03/14] power: supply: bq25890: make property table const
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
2020-04-02 14:58 ` [PATCH 02/14] power: supply: bq25890: simplify chip name property getter Michał Mirosław
2020-04-02 14:58 ` [PATCH 01/14] power: supply: bq25890: remove redundant I2C bus check Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-03 19:52 ` kbuild test robot
2020-04-04 3:41 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 04/14] power: supply: bq25890: protect view of the chip's state Michał Mirosław
` (10 subsequent siblings)
13 siblings, 2 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Property list should not change, so mark it const.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index f9f29edadddc..c4a69fd69f34 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -668,7 +668,7 @@ static int bq25890_hw_init(struct bq25890_device *bq)
return 0;
}
-static enum power_supply_property bq25890_power_supply_props[] = {
+static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_MANUFACTURER,
POWER_SUPPLY_PROP_MODEL_NAME,
POWER_SUPPLY_PROP_STATUS,
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (3 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 04/14] power: supply: bq25890: protect view of the chip's state Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-03 20:29 ` kbuild test robot
` (2 more replies)
2020-04-02 14:58 ` [PATCH 06/14] power: supply: bq25890: update state on property read Michał Mirosław
` (8 subsequent siblings)
13 siblings, 3 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Datasheet describes two modes for reading ADC measurements:
1. continuous, 1 Hz - enabled and started by CONV_RATE bit
2. one-shot - triggered by CONV_START bit
In continuous mode, CONV_START is read-only and signifies an ongoing
conversion.
Change the code to follow the datasheet and really disable continuous
mode for power saving.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 33 ++++++++++++++++++++++----
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index 9339e216651f..3b02fa80aedd 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -126,6 +126,7 @@ static const struct regmap_access_table bq25890_writeable_regs = {
static const struct regmap_range bq25890_volatile_reg_ranges[] = {
regmap_reg_range(0x00, 0x00),
+ regmap_reg_range(0x02, 0x02),
regmap_reg_range(0x09, 0x09),
regmap_reg_range(0x0b, 0x14),
};
@@ -374,18 +375,40 @@ enum bq25890_chrg_fault {
CHRG_FAULT_TIMER_EXPIRED,
};
+static bool bq25890_is_adc_property(enum power_supply_property psp)
+{
+ switch (psp) {
+ case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
+ case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
+ case POWER_SUPPLY_PROP_VOLTAGE_NOW:
+ case POWER_SUPPLY_PROP_CURRENT_NOW:
+ return true;
+
+ default:
+ return false;
+ }
+}
+
static int bq25890_power_supply_get_property(struct power_supply *psy,
enum power_supply_property psp,
union power_supply_propval *val)
{
- int ret;
struct bq25890_device *bq = power_supply_get_drvdata(psy);
struct bq25890_state state;
+ bool do_adc_conv;
+ int ret;
mutex_lock(&bq->lock);
state = bq->state;
+ do_adc_conv = !state.online && bq25890_is_adc_property(psp);
+ if (do_adc_conv)
+ bq25890_field_write(bq, F_CONV_START, 1);
mutex_unlock(&bq->lock);
+ if (do_adc_conv)
+ regmap_field_read_poll_timeout(bq->rmap_fields[F_CONV_START],
+ ret, !ret, 25000, 1000000);
+
switch (psp) {
case POWER_SUPPLY_PROP_STATUS:
if (!state.online)
@@ -623,8 +646,8 @@ static int bq25890_hw_init(struct bq25890_device *bq)
}
}
- /* Configure ADC for continuous conversions. This does not enable it. */
- ret = bq25890_field_write(bq, F_CONV_RATE, 1);
+ /* Configure ADC for continuous conversions when charging */
+ ret = bq25890_field_write(bq, F_CONV_RATE, !!bq->state.online);
if (ret < 0) {
dev_dbg(bq->dev, "Config ADC failed %d\n", ret);
return ret;
@@ -966,7 +989,7 @@ static int bq25890_suspend(struct device *dev)
* If charger is removed, while in suspend, make sure ADC is diabled
* since it consumes slightly more power.
*/
- return bq25890_field_write(bq, F_CONV_START, 0);
+ return bq25890_field_write(bq, F_CONV_RATE, 0);
}
static int bq25890_resume(struct device *dev)
@@ -982,7 +1005,7 @@ static int bq25890_resume(struct device *dev)
/* Re-enable ADC only if charger is plugged in. */
if (bq->state.online) {
- ret = bq25890_field_write(bq, F_CONV_START, 1);
+ ret = bq25890_field_write(bq, F_CONV_RATE, 1);
if (ret < 0)
return ret;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 04/14] power: supply: bq25890: protect view of the chip's state
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (2 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 03/14] power: supply: bq25890: make property table const Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
` (9 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Extend bq->lock over whole updating of the chip's state. Might get
useful later for switching ADC modes correctly.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 82 ++++++++------------------
1 file changed, 26 insertions(+), 56 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index c4a69fd69f34..9339e216651f 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -510,74 +510,50 @@ static int bq25890_get_chip_state(struct bq25890_device *bq,
return 0;
}
-static bool bq25890_state_changed(struct bq25890_device *bq,
- struct bq25890_state *new_state)
-{
- struct bq25890_state old_state;
-
- mutex_lock(&bq->lock);
- old_state = bq->state;
- mutex_unlock(&bq->lock);
-
- return (old_state.chrg_status != new_state->chrg_status ||
- old_state.chrg_fault != new_state->chrg_fault ||
- old_state.online != new_state->online ||
- old_state.bat_fault != new_state->bat_fault ||
- old_state.boost_fault != new_state->boost_fault ||
- old_state.vsys_status != new_state->vsys_status);
-}
-
-static void bq25890_handle_state_change(struct bq25890_device *bq,
- struct bq25890_state *new_state)
+static irqreturn_t __bq25890_handle_irq(struct bq25890_device *bq)
{
+ struct bq25890_state new_state;
int ret;
- struct bq25890_state old_state;
- mutex_lock(&bq->lock);
- old_state = bq->state;
- mutex_unlock(&bq->lock);
+ ret = bq25890_get_chip_state(bq, &new_state);
+ if (ret < 0)
+ return IRQ_NONE;
- if (!new_state->online) { /* power removed */
+ if (!memcmp(&bq->state, &new_state, sizeof(new_state)))
+ return IRQ_NONE;
+
+ if (!new_state.online && bq->state.online) { /* power removed */
/* disable ADC */
ret = bq25890_field_write(bq, F_CONV_START, 0);
if (ret < 0)
goto error;
- } else if (!old_state.online) { /* power inserted */
+ } else if (new_state.online && !bq->state.online) { /* power inserted */
/* enable ADC, to have control of charge current/voltage */
ret = bq25890_field_write(bq, F_CONV_START, 1);
if (ret < 0)
goto error;
}
- return;
+ bq->state = new_state;
+ power_supply_changed(bq->charger);
+ return IRQ_HANDLED;
error:
- dev_err(bq->dev, "Error communicating with the chip.\n");
+ dev_err(bq->dev, "Error communicating with the chip: %pe\n",
+ ERR_PTR(ret));
+ return IRQ_HANDLED;
}
static irqreturn_t bq25890_irq_handler_thread(int irq, void *private)
{
struct bq25890_device *bq = private;
- int ret;
- struct bq25890_state state;
-
- ret = bq25890_get_chip_state(bq, &state);
- if (ret < 0)
- goto handled;
-
- if (!bq25890_state_changed(bq, &state))
- goto handled;
-
- bq25890_handle_state_change(bq, &state);
+ irqreturn_t ret;
mutex_lock(&bq->lock);
- bq->state = state;
+ ret = __bq25890_handle_irq(bq);
mutex_unlock(&bq->lock);
- power_supply_changed(bq->charger);
-
-handled:
- return IRQ_HANDLED;
+ return ret;
}
static int bq25890_chip_reset(struct bq25890_device *bq)
@@ -607,7 +583,6 @@ static int bq25890_hw_init(struct bq25890_device *bq)
{
int ret;
int i;
- struct bq25890_state state;
const struct {
enum bq25890_fields id;
@@ -655,16 +630,12 @@ static int bq25890_hw_init(struct bq25890_device *bq)
return ret;
}
- ret = bq25890_get_chip_state(bq, &state);
+ ret = bq25890_get_chip_state(bq, &bq->state);
if (ret < 0) {
dev_dbg(bq->dev, "Get state failed %d\n", ret);
return ret;
}
- mutex_lock(&bq->lock);
- bq->state = state;
- mutex_unlock(&bq->lock);
-
return 0;
}
@@ -1001,19 +972,16 @@ static int bq25890_suspend(struct device *dev)
static int bq25890_resume(struct device *dev)
{
int ret;
- struct bq25890_state state;
struct bq25890_device *bq = dev_get_drvdata(dev);
- ret = bq25890_get_chip_state(bq, &state);
+ mutex_lock(&bq->lock);
+
+ ret = bq25890_get_chip_state(bq, &bq->state);
if (ret < 0)
return ret;
- mutex_lock(&bq->lock);
- bq->state = state;
- mutex_unlock(&bq->lock);
-
/* Re-enable ADC only if charger is plugged in. */
- if (state.online) {
+ if (bq->state.online) {
ret = bq25890_field_write(bq, F_CONV_START, 1);
if (ret < 0)
return ret;
@@ -1022,6 +990,8 @@ static int bq25890_resume(struct device *dev)
/* signal userspace, maybe state changed while suspended */
power_supply_changed(bq->charger);
+ mutex_unlock(&bq->lock);
+
return 0;
}
#endif
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 07/14] power: supply: bq25890: implement CHARGE_TYPE property
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (5 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 06/14] power: supply: bq25890: update state on property read Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 09/14] power: supply: bq25890: implement INPUT_CURRENT_LIMIT property Michał Mirosław
` (6 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Report charging type based on recently read state.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index e4368d01396a..ad0901fdceb6 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -429,6 +429,18 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
break;
+ case POWER_SUPPLY_PROP_CHARGE_TYPE:
+ if (!state.online || state.chrg_status == STATUS_NOT_CHARGING ||
+ state.chrg_status == STATUS_TERMINATION_DONE)
+ val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
+ else if (state.chrg_status == STATUS_PRE_CHARGING)
+ val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
+ else if (state.chrg_status == STATUS_FAST_CHARGING)
+ val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
+ else /* unreachable */
+ val->intval = POWER_SUPPLY_CHARGE_TYPE_UNKNOWN;
+ break;
+
case POWER_SUPPLY_PROP_MANUFACTURER:
val->strval = BQ25890_MANUFACTURER;
break;
@@ -670,6 +682,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_MANUFACTURER,
POWER_SUPPLY_PROP_MODEL_NAME,
POWER_SUPPLY_PROP_STATUS,
+ POWER_SUPPLY_PROP_CHARGE_TYPE,
POWER_SUPPLY_PROP_ONLINE,
POWER_SUPPLY_PROP_HEALTH,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT,
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 06/14] power: supply: bq25890: update state on property read
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (4 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 07/14] power: supply: bq25890: implement CHARGE_TYPE property Michał Mirosław
` (7 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Edge interrupts from the charger may be lost or stuck in fault mode
since probe(). Check if something changed everytime userspace wants
some data.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index 3b02fa80aedd..e4368d01396a 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -389,6 +389,8 @@ static bool bq25890_is_adc_property(enum power_supply_property psp)
}
}
+static irqreturn_t __bq25890_handle_irq(struct bq25890_device *bq);
+
static int bq25890_power_supply_get_property(struct power_supply *psy,
enum power_supply_property psp,
union power_supply_propval *val)
@@ -399,6 +401,8 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
int ret;
mutex_lock(&bq->lock);
+ /* update state in case we lost an interrupt */
+ __bq25890_handle_irq(bq);
state = bq->state;
do_adc_conv = !state.online && bq25890_is_adc_property(psp);
if (do_adc_conv)
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 08/14] power: supply: bq25890: implement PRECHARGE_CURRENT property
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (7 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 09/14] power: supply: bq25890: implement INPUT_CURRENT_LIMIT property Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 11/14] power: supply: bq25890: show measured VBUS Michał Mirosław
` (4 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Report configured precharge current.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index ad0901fdceb6..b48685009048 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -497,6 +497,10 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = bq25890_find_val(bq->init_data.vreg, TBL_VREG);
break;
+ case POWER_SUPPLY_PROP_PRECHARGE_CURRENT:
+ val->intval = bq25890_find_val(bq->init_data.iprechg, TBL_ITERM);
+ break;
+
case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM);
break;
@@ -689,6 +693,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
+ POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_VOLTAGE_NOW,
};
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 09/14] power: supply: bq25890: implement INPUT_CURRENT_LIMIT property
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (6 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 07/14] power: supply: bq25890: implement CHARGE_TYPE property Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 08/14] power: supply: bq25890: implement PRECHARGE_CURRENT property Michał Mirosław
` (5 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Report REG00.IINLIM value as INPUT_CURRENT_LIMIT property.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index b48685009048..87c5832e23d3 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -254,6 +254,7 @@ enum bq25890_table_ids {
/* range tables */
TBL_ICHG,
TBL_ITERM,
+ TBL_IILIM,
TBL_VREG,
TBL_BOOSTV,
TBL_SYSVMIN,
@@ -294,6 +295,7 @@ static const union {
/* TODO: BQ25896 has max ICHG 3008 mA */
[TBL_ICHG] = { .rt = {0, 5056000, 64000} }, /* uA */
[TBL_ITERM] = { .rt = {64000, 1024000, 64000} }, /* uA */
+ [TBL_IILIM] = { .rt = {50000, 3200000, 50000} }, /* uA */
[TBL_VREG] = { .rt = {3840000, 4608000, 16000} }, /* uV */
[TBL_BOOSTV] = { .rt = {4550000, 5510000, 64000} }, /* uV */
[TBL_SYSVMIN] = { .rt = {3000000, 3700000, 100000} }, /* uV */
@@ -505,6 +507,14 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM);
break;
+ case POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT:
+ ret = bq25890_field_read(bq, F_IILIM);
+ if (ret < 0)
+ return ret;
+
+ val->intval = bq25890_find_val(ret, TBL_IILIM);
+ break;
+
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
ret = bq25890_field_read(bq, F_SYSV); /* read measured value */
if (ret < 0)
@@ -695,6 +705,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
+ POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
POWER_SUPPLY_PROP_VOLTAGE_NOW,
};
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 11/14] power: supply: bq25890: show measured VBUS
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (8 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 08/14] power: supply: bq25890: implement PRECHARGE_CURRENT property Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-03 21:06 ` kbuild test robot
2020-04-03 23:04 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 10/14] power: supply: bq25890: use proper CURRENT_NOW property for I_BAT Michał Mirosław
` (3 subsequent siblings)
13 siblings, 2 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Export VBUS measurement via INPUT_VOLTAGE_NOW property.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index 250468f3ff18..d23274d13263 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -506,6 +506,24 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = bq25890_find_val(ret, TBL_IILIM);
break;
+ case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
+ ret = bq25890_field_read(bq, F_VBUS_GD); /* is VBUS connected? */
+ if (ret < 0)
+ return ret;
+
+ if (!ret) {
+ val->intval = 0;
+ break;
+ }
+
+ ret = bq25890_field_read(bq, F_VBUSV); /* read measured value */
+ if (ret < 0)
+ return ret;
+
+ /* converted_val = 2.6V + ADC_val * 100mV */
+ val->intval = 2600000 + ret * 100000;
+ break;
+
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
ret = bq25890_field_read(bq, F_SYSV); /* read measured value */
if (ret < 0)
@@ -705,6 +723,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
+ POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
POWER_SUPPLY_PROP_VOLTAGE_NOW,
POWER_SUPPLY_PROP_CURRENT_NOW,
};
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 10/14] power: supply: bq25890: use proper CURRENT_NOW property for I_BAT
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (9 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 11/14] power: supply: bq25890: show measured VBUS Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage Michał Mirosław
` (2 subsequent siblings)
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Charge Current is more apropriately reflected by CURRENT_NOW property
(measured current) than CONSTANT_CURRENT_VOLTAGE (configured CC-phase
current limit). Fix the reference and make the sign reflect direction
of the current.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index 87c5832e23d3..250468f3ff18 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -468,15 +468,6 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = POWER_SUPPLY_HEALTH_UNSPEC_FAILURE;
break;
- case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT:
- ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
- if (ret < 0)
- return ret;
-
- /* converted_val = ADC_val * 50mA (table 10.3.19) */
- val->intval = ret * 50000;
- break;
-
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
val->intval = bq25890_find_val(bq->init_data.ichg, TBL_ICHG);
break;
@@ -524,6 +515,15 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = 2304000 + ret * 20000;
break;
+ case POWER_SUPPLY_PROP_CURRENT_NOW:
+ ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
+ if (ret < 0)
+ return ret;
+
+ /* converted_val = ADC_val * 50mA (table 10.3.19) */
+ val->intval = ret * -50000;
+ break;
+
default:
return -EINVAL;
}
@@ -699,7 +699,6 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_CHARGE_TYPE,
POWER_SUPPLY_PROP_ONLINE,
POWER_SUPPLY_PROP_HEALTH,
- POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
@@ -707,6 +706,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
POWER_SUPPLY_PROP_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_CURRENT_NOW,
};
static char *bq25890_charger_supplied_to[] = {
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (10 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 10/14] power: supply: bq25890: use proper CURRENT_NOW property for I_BAT Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-03 21:41 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 13/14] power: supply: bq25890: show VBAT as VOLTAGE_NOW Michał Mirosław
2020-04-02 14:58 ` [PATCH 14/14] power: supply: bq25890: support IBAT compensation Michał Mirosław
13 siblings, 1 reply; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
VSYS is the voltage that is provided to the rest of the system. Show
measurement OUTPUT_VOLTAGE and supplement it with VSYSMIN setting.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index d23274d13263..6c277f2dbae2 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -524,7 +524,7 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = 2600000 + ret * 100000;
break;
- case POWER_SUPPLY_PROP_VOLTAGE_NOW:
+ case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
ret = bq25890_field_read(bq, F_SYSV); /* read measured value */
if (ret < 0)
return ret;
@@ -533,6 +533,10 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = 2304000 + ret * 20000;
break;
+ case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN:
+ val->intval = bq25890_find_val(bq->init_data.sysvmin, TBL_SYSVMIN);
+ break;
+
case POWER_SUPPLY_PROP_CURRENT_NOW:
ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
if (ret < 0)
@@ -724,7 +728,8 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
- POWER_SUPPLY_PROP_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
POWER_SUPPLY_PROP_CURRENT_NOW,
};
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 14/14] power: supply: bq25890: support IBAT compensation
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (12 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 13/14] power: supply: bq25890: show VBAT as VOLTAGE_NOW Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
Add configuration for compensation of IBAT measuring resistor in series
with the battery.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index a61eab6a4552..ba1562968bec 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -83,6 +83,8 @@ struct bq25890_init_data {
u8 boostf; /* boost frequency */
u8 ilim_en; /* enable ILIM pin */
u8 treg; /* thermal regulation threshold */
+ u8 rbatcomp; /* IBAT sense resistor value */
+ u8 vclamp; /* IBAT compensation voltage limit */
};
struct bq25890_state {
@@ -258,6 +260,8 @@ enum bq25890_table_ids {
TBL_VREG,
TBL_BOOSTV,
TBL_SYSVMIN,
+ TBL_VBATCOMP,
+ TBL_RBATCOMP,
/* lookup tables */
TBL_TREG,
@@ -299,6 +303,8 @@ static const union {
[TBL_VREG] = { .rt = {3840000, 4608000, 16000} }, /* uV */
[TBL_BOOSTV] = { .rt = {4550000, 5510000, 64000} }, /* uV */
[TBL_SYSVMIN] = { .rt = {3000000, 3700000, 100000} }, /* uV */
+ [TBL_VBATCOMP] ={ .rt = {0, 224000, 32000} }, /* uV */
+ [TBL_RBATCOMP] ={ .rt = {0, 140000, 20000} }, /* uOhm */
/* lookup tables */
[TBL_TREG] = { .lt = {bq25890_treg_tbl, BQ25890_TREG_TBL_SIZE} },
@@ -667,7 +673,9 @@ static int bq25890_hw_init(struct bq25890_device *bq)
{F_BOOSTI, bq->init_data.boosti},
{F_BOOSTF, bq->init_data.boostf},
{F_EN_ILIM, bq->init_data.ilim_en},
- {F_TREG, bq->init_data.treg}
+ {F_TREG, bq->init_data.treg},
+ {F_BATCMP, bq->init_data.rbatcomp},
+ {F_VCLAMP, bq->init_data.vclamp},
};
ret = bq25890_chip_reset(bq);
@@ -880,11 +888,14 @@ static int bq25890_fw_read_u32_props(struct bq25890_device *bq)
{"ti,boost-max-current", false, TBL_BOOSTI, &init->boosti},
/* optional properties */
- {"ti,thermal-regulation-threshold", true, TBL_TREG, &init->treg}
+ {"ti,thermal-regulation-threshold", true, TBL_TREG, &init->treg},
+ {"ti,ibatcomp-resistance", true, TBL_RBATCOMP, &init->rbatcomp},
+ {"ti,ibatcomp-clamp-voltage", true, TBL_VBATCOMP, &init->vclamp},
};
/* initialize data for optional properties */
init->treg = 3; /* 120 degrees Celsius */
+ init->rbatcomp = init->vclamp = 0; /* IBAT compensation disabled */
for (i = 0; i < ARRAY_SIZE(props); i++) {
ret = device_property_read_u32(bq->dev, props[i].name,
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 13/14] power: supply: bq25890: show VBAT as VOLTAGE_NOW
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
` (11 preceding siblings ...)
2020-04-02 14:58 ` [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage Michał Mirosław
@ 2020-04-02 14:58 ` Michał Mirosław
2020-04-02 14:58 ` [PATCH 14/14] power: supply: bq25890: support IBAT compensation Michał Mirosław
13 siblings, 0 replies; 31+ messages in thread
From: Michał Mirosław @ 2020-04-02 14:58 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: linux-kernel, linux-pm
CONSTANT_CHARGE_VOLTAGE is a currently programmed CC voltage limit
and not instaneous reading of a VBAT. Move the measurement to correct
property. !online check is removed, as it is useful to read the voltage
when not charging.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
drivers/power/supply/bq25890_charger.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index 6c277f2dbae2..a61eab6a4552 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -472,20 +472,6 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = bq25890_find_val(bq->init_data.ichg, TBL_ICHG);
break;
- case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE:
- if (!state.online) {
- val->intval = 0;
- break;
- }
-
- ret = bq25890_field_read(bq, F_BATV); /* read measured value */
- if (ret < 0)
- return ret;
-
- /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
- val->intval = 2304000 + ret * 20000;
- break;
-
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
val->intval = bq25890_find_val(bq->init_data.vreg, TBL_VREG);
break;
@@ -537,6 +523,15 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
val->intval = bq25890_find_val(bq->init_data.sysvmin, TBL_SYSVMIN);
break;
+ case POWER_SUPPLY_PROP_VOLTAGE_NOW:
+ ret = bq25890_field_read(bq, F_BATV); /* read measured value */
+ if (ret < 0)
+ return ret;
+
+ /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
+ val->intval = 2304000 + ret * 20000;
+ break;
+
case POWER_SUPPLY_PROP_CURRENT_NOW:
ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
if (ret < 0)
@@ -722,7 +717,6 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_ONLINE,
POWER_SUPPLY_PROP_HEALTH,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
- POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
@@ -730,6 +724,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
POWER_SUPPLY_PROP_CURRENT_NOW,
};
--
2.20.1
^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 03/14] power: supply: bq25890: make property table const
2020-04-02 14:58 ` [PATCH 03/14] power: supply: bq25890: make property table const Michał Mirosław
@ 2020-04-03 19:52 ` kbuild test robot
2020-04-04 3:41 ` kbuild test robot
1 sibling, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 19:52 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 2836 bytes --]
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/power/supply/bq25890_charger.c:692:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
692 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/const +692 drivers/power/supply/bq25890_charger.c
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 688
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 689 static const struct power_supply_desc bq25890_power_supply_desc = {
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 690 .name = "bq25890-charger",
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 691 .type = POWER_SUPPLY_TYPE_USB,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 @692 .properties = bq25890_power_supply_props,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 693 .num_properties = ARRAY_SIZE(bq25890_power_supply_props),
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 694 .get_property = bq25890_power_supply_get_property,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 695 };
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 696
:::::: The code at line 692 was first introduced by commit
:::::: 4aeae9cb0dad117f055add68c48decaf489aecf3 power_supply: Add support for TI BQ25890 charger chip
:::::: TO: Laurentiu Palcu <laurentiu.palcu@intel.com>
:::::: CC: Sebastian Reichel <sre@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 03/14] power: supply: bq25890: make property table const
@ 2020-04-03 19:52 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 19:52 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2889 bytes --]
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/power/supply/bq25890_charger.c:692:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
692 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/const +692 drivers/power/supply/bq25890_charger.c
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 688
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 689 static const struct power_supply_desc bq25890_power_supply_desc = {
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 690 .name = "bq25890-charger",
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 691 .type = POWER_SUPPLY_TYPE_USB,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 @692 .properties = bq25890_power_supply_props,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 693 .num_properties = ARRAY_SIZE(bq25890_power_supply_props),
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 694 .get_property = bq25890_power_supply_get_property,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 695 };
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 696
:::::: The code at line 692 was first introduced by commit
:::::: 4aeae9cb0dad117f055add68c48decaf489aecf3 power_supply: Add support for TI BQ25890 charger chip
:::::: TO: Laurentiu Palcu <laurentiu.palcu@intel.com>
:::::: CC: Sebastian Reichel <sre@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
@ 2020-04-03 20:29 ` kbuild test robot
2020-04-03 22:14 ` kbuild test robot
2020-04-04 5:14 ` kbuild test robot
2 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 20:29 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 2912 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
>> drivers/power/supply/bq25890_charger.c:381:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
381 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:381:7: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/power/supply/bq25890_charger.c:382:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
382 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:686:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
686 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
> 382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
@ 2020-04-03 20:29 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 20:29 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2976 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
>> drivers/power/supply/bq25890_charger.c:381:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
381 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:381:7: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/power/supply/bq25890_charger.c:382:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
382 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:686:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
686 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
> 382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 11/14] power: supply: bq25890: show measured VBUS
2020-04-02 14:58 ` [PATCH 11/14] power: supply: bq25890: show measured VBUS Michał Mirosław
@ 2020-04-03 21:06 ` kbuild test robot
2020-04-03 23:04 ` kbuild test robot
1 sibling, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 21:06 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 4034 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
>> drivers/power/supply/bq25890_charger.c:726:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
726 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:738:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
738 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +726 drivers/power/supply/bq25890_charger.c
712
713 static const enum power_supply_property bq25890_power_supply_props[] = {
714 POWER_SUPPLY_PROP_MANUFACTURER,
715 POWER_SUPPLY_PROP_MODEL_NAME,
716 POWER_SUPPLY_PROP_STATUS,
717 POWER_SUPPLY_PROP_CHARGE_TYPE,
718 POWER_SUPPLY_PROP_ONLINE,
719 POWER_SUPPLY_PROP_HEALTH,
720 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
721 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
722 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
723 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
724 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
725 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
> 726 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
727 POWER_SUPPLY_PROP_VOLTAGE_NOW,
728 POWER_SUPPLY_PROP_CURRENT_NOW,
729 };
730
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 11/14] power: supply: bq25890: show measured VBUS
@ 2020-04-03 21:06 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 21:06 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4111 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
>> drivers/power/supply/bq25890_charger.c:726:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
726 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:738:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
738 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +726 drivers/power/supply/bq25890_charger.c
712
713 static const enum power_supply_property bq25890_power_supply_props[] = {
714 POWER_SUPPLY_PROP_MANUFACTURER,
715 POWER_SUPPLY_PROP_MODEL_NAME,
716 POWER_SUPPLY_PROP_STATUS,
717 POWER_SUPPLY_PROP_CHARGE_TYPE,
718 POWER_SUPPLY_PROP_ONLINE,
719 POWER_SUPPLY_PROP_HEALTH,
720 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
721 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
722 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
723 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
724 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
725 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
> 726 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
727 POWER_SUPPLY_PROP_VOLTAGE_NOW,
728 POWER_SUPPLY_PROP_CURRENT_NOW,
729 };
730
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage
2020-04-02 14:58 ` [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage Michał Mirosław
@ 2020-04-03 21:41 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 21:41 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 15837 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:527:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
527 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
>> drivers/power/supply/bq25890_charger.c:536:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
536 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:730:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
730 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
>> drivers/power/supply/bq25890_charger.c:731:2: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
731 | POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
>> drivers/power/supply/bq25890_charger.c:732:2: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
732 | POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:743:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
743 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +536 drivers/power/supply/bq25890_charger.c
395
396 static int bq25890_power_supply_get_property(struct power_supply *psy,
397 enum power_supply_property psp,
398 union power_supply_propval *val)
399 {
400 struct bq25890_device *bq = power_supply_get_drvdata(psy);
401 struct bq25890_state state;
402 bool do_adc_conv;
403 int ret;
404
405 mutex_lock(&bq->lock);
406 /* update state in case we lost an interrupt */
407 __bq25890_handle_irq(bq);
408 state = bq->state;
409 do_adc_conv = !state.online && bq25890_is_adc_property(psp);
410 if (do_adc_conv)
411 bq25890_field_write(bq, F_CONV_START, 1);
412 mutex_unlock(&bq->lock);
413
414 if (do_adc_conv)
415 regmap_field_read_poll_timeout(bq->rmap_fields[F_CONV_START],
416 ret, !ret, 25000, 1000000);
417
418 switch (psp) {
419 case POWER_SUPPLY_PROP_STATUS:
420 if (!state.online)
421 val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
422 else if (state.chrg_status == STATUS_NOT_CHARGING)
423 val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
424 else if (state.chrg_status == STATUS_PRE_CHARGING ||
425 state.chrg_status == STATUS_FAST_CHARGING)
426 val->intval = POWER_SUPPLY_STATUS_CHARGING;
427 else if (state.chrg_status == STATUS_TERMINATION_DONE)
428 val->intval = POWER_SUPPLY_STATUS_FULL;
429 else
430 val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
431
432 break;
433
434 case POWER_SUPPLY_PROP_CHARGE_TYPE:
435 if (!state.online || state.chrg_status == STATUS_NOT_CHARGING ||
436 state.chrg_status == STATUS_TERMINATION_DONE)
437 val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
438 else if (state.chrg_status == STATUS_PRE_CHARGING)
439 val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
440 else if (state.chrg_status == STATUS_FAST_CHARGING)
441 val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
442 else /* unreachable */
443 val->intval = POWER_SUPPLY_CHARGE_TYPE_UNKNOWN;
444 break;
445
446 case POWER_SUPPLY_PROP_MANUFACTURER:
447 val->strval = BQ25890_MANUFACTURER;
448 break;
449
450 case POWER_SUPPLY_PROP_MODEL_NAME:
451 val->strval = bq25890_chip_name[bq->chip_version];
452 break;
453
454 case POWER_SUPPLY_PROP_ONLINE:
455 val->intval = state.online;
456 break;
457
458 case POWER_SUPPLY_PROP_HEALTH:
459 if (!state.chrg_fault && !state.bat_fault && !state.boost_fault)
460 val->intval = POWER_SUPPLY_HEALTH_GOOD;
461 else if (state.bat_fault)
462 val->intval = POWER_SUPPLY_HEALTH_OVERVOLTAGE;
463 else if (state.chrg_fault == CHRG_FAULT_TIMER_EXPIRED)
464 val->intval = POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE;
465 else if (state.chrg_fault == CHRG_FAULT_THERMAL_SHUTDOWN)
466 val->intval = POWER_SUPPLY_HEALTH_OVERHEAT;
467 else
468 val->intval = POWER_SUPPLY_HEALTH_UNSPEC_FAILURE;
469 break;
470
471 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
472 val->intval = bq25890_find_val(bq->init_data.ichg, TBL_ICHG);
473 break;
474
475 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE:
476 if (!state.online) {
477 val->intval = 0;
478 break;
479 }
480
481 ret = bq25890_field_read(bq, F_BATV); /* read measured value */
482 if (ret < 0)
483 return ret;
484
485 /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
486 val->intval = 2304000 + ret * 20000;
487 break;
488
489 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
490 val->intval = bq25890_find_val(bq->init_data.vreg, TBL_VREG);
491 break;
492
493 case POWER_SUPPLY_PROP_PRECHARGE_CURRENT:
494 val->intval = bq25890_find_val(bq->init_data.iprechg, TBL_ITERM);
495 break;
496
497 case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
498 val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM);
499 break;
500
501 case POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT:
502 ret = bq25890_field_read(bq, F_IILIM);
503 if (ret < 0)
504 return ret;
505
506 val->intval = bq25890_find_val(ret, TBL_IILIM);
507 break;
508
509 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
510 ret = bq25890_field_read(bq, F_VBUS_GD); /* is VBUS connected? */
511 if (ret < 0)
512 return ret;
513
514 if (!ret) {
515 val->intval = 0;
516 break;
517 }
518
519 ret = bq25890_field_read(bq, F_VBUSV); /* read measured value */
520 if (ret < 0)
521 return ret;
522
523 /* converted_val = 2.6V + ADC_val * 100mV */
524 val->intval = 2600000 + ret * 100000;
525 break;
526
527 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
528 ret = bq25890_field_read(bq, F_SYSV); /* read measured value */
529 if (ret < 0)
530 return ret;
531
532 /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
533 val->intval = 2304000 + ret * 20000;
534 break;
535
> 536 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN:
537 val->intval = bq25890_find_val(bq->init_data.sysvmin, TBL_SYSVMIN);
538 break;
539
540 case POWER_SUPPLY_PROP_CURRENT_NOW:
541 ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
542 if (ret < 0)
543 return ret;
544
545 /* converted_val = ADC_val * 50mA (table 10.3.19) */
546 val->intval = ret * -50000;
547 break;
548
549 default:
550 return -EINVAL;
551 }
552
553 return 0;
554 }
555
556 static int bq25890_get_chip_state(struct bq25890_device *bq,
557 struct bq25890_state *state)
558 {
559 int i, ret;
560
561 struct {
562 enum bq25890_fields id;
563 u8 *data;
564 } state_fields[] = {
565 {F_CHG_STAT, &state->chrg_status},
566 {F_PG_STAT, &state->online},
567 {F_VSYS_STAT, &state->vsys_status},
568 {F_BOOST_FAULT, &state->boost_fault},
569 {F_BAT_FAULT, &state->bat_fault},
570 {F_CHG_FAULT, &state->chrg_fault}
571 };
572
573 for (i = 0; i < ARRAY_SIZE(state_fields); i++) {
574 ret = bq25890_field_read(bq, state_fields[i].id);
575 if (ret < 0)
576 return ret;
577
578 *state_fields[i].data = ret;
579 }
580
581 dev_dbg(bq->dev, "S:CHG/PG/VSYS=%d/%d/%d, F:CHG/BOOST/BAT=%d/%d/%d\n",
582 state->chrg_status, state->online, state->vsys_status,
583 state->chrg_fault, state->boost_fault, state->bat_fault);
584
585 return 0;
586 }
587
588 static irqreturn_t __bq25890_handle_irq(struct bq25890_device *bq)
589 {
590 struct bq25890_state new_state;
591 int ret;
592
593 ret = bq25890_get_chip_state(bq, &new_state);
594 if (ret < 0)
595 return IRQ_NONE;
596
597 if (!memcmp(&bq->state, &new_state, sizeof(new_state)))
598 return IRQ_NONE;
599
600 if (!new_state.online && bq->state.online) { /* power removed */
601 /* disable ADC */
602 ret = bq25890_field_write(bq, F_CONV_START, 0);
603 if (ret < 0)
604 goto error;
605 } else if (new_state.online && !bq->state.online) { /* power inserted */
606 /* enable ADC, to have control of charge current/voltage */
607 ret = bq25890_field_write(bq, F_CONV_START, 1);
608 if (ret < 0)
609 goto error;
610 }
611
612 bq->state = new_state;
613 power_supply_changed(bq->charger);
614
615 return IRQ_HANDLED;
616 error:
617 dev_err(bq->dev, "Error communicating with the chip: %pe\n",
618 ERR_PTR(ret));
619 return IRQ_HANDLED;
620 }
621
622 static irqreturn_t bq25890_irq_handler_thread(int irq, void *private)
623 {
624 struct bq25890_device *bq = private;
625 irqreturn_t ret;
626
627 mutex_lock(&bq->lock);
628 ret = __bq25890_handle_irq(bq);
629 mutex_unlock(&bq->lock);
630
631 return ret;
632 }
633
634 static int bq25890_chip_reset(struct bq25890_device *bq)
635 {
636 int ret;
637 int rst_check_counter = 10;
638
639 ret = bq25890_field_write(bq, F_REG_RST, 1);
640 if (ret < 0)
641 return ret;
642
643 do {
644 ret = bq25890_field_read(bq, F_REG_RST);
645 if (ret < 0)
646 return ret;
647
648 usleep_range(5, 10);
649 } while (ret == 1 && --rst_check_counter);
650
651 if (!rst_check_counter)
652 return -ETIMEDOUT;
653
654 return 0;
655 }
656
657 static int bq25890_hw_init(struct bq25890_device *bq)
658 {
659 int ret;
660 int i;
661
662 const struct {
663 enum bq25890_fields id;
664 u32 value;
665 } init_data[] = {
666 {F_ICHG, bq->init_data.ichg},
667 {F_VREG, bq->init_data.vreg},
668 {F_ITERM, bq->init_data.iterm},
669 {F_IPRECHG, bq->init_data.iprechg},
670 {F_SYSVMIN, bq->init_data.sysvmin},
671 {F_BOOSTV, bq->init_data.boostv},
672 {F_BOOSTI, bq->init_data.boosti},
673 {F_BOOSTF, bq->init_data.boostf},
674 {F_EN_ILIM, bq->init_data.ilim_en},
675 {F_TREG, bq->init_data.treg}
676 };
677
678 ret = bq25890_chip_reset(bq);
679 if (ret < 0) {
680 dev_dbg(bq->dev, "Reset failed %d\n", ret);
681 return ret;
682 }
683
684 /* disable watchdog */
685 ret = bq25890_field_write(bq, F_WD, 0);
686 if (ret < 0) {
687 dev_dbg(bq->dev, "Disabling watchdog failed %d\n", ret);
688 return ret;
689 }
690
691 /* initialize currents/voltages and other parameters */
692 for (i = 0; i < ARRAY_SIZE(init_data); i++) {
693 ret = bq25890_field_write(bq, init_data[i].id,
694 init_data[i].value);
695 if (ret < 0) {
696 dev_dbg(bq->dev, "Writing init data failed %d\n", ret);
697 return ret;
698 }
699 }
700
701 /* Configure ADC for continuous conversions when charging */
702 ret = bq25890_field_write(bq, F_CONV_RATE, !!bq->state.online);
703 if (ret < 0) {
704 dev_dbg(bq->dev, "Config ADC failed %d\n", ret);
705 return ret;
706 }
707
708 ret = bq25890_get_chip_state(bq, &bq->state);
709 if (ret < 0) {
710 dev_dbg(bq->dev, "Get state failed %d\n", ret);
711 return ret;
712 }
713
714 return 0;
715 }
716
717 static const enum power_supply_property bq25890_power_supply_props[] = {
718 POWER_SUPPLY_PROP_MANUFACTURER,
719 POWER_SUPPLY_PROP_MODEL_NAME,
720 POWER_SUPPLY_PROP_STATUS,
721 POWER_SUPPLY_PROP_CHARGE_TYPE,
722 POWER_SUPPLY_PROP_ONLINE,
723 POWER_SUPPLY_PROP_HEALTH,
724 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
725 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
726 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
727 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
728 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
729 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
730 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
> 731 POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
> 732 POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
733 POWER_SUPPLY_PROP_CURRENT_NOW,
734 };
735
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage
@ 2020-04-03 21:41 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 21:41 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 16252 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:527:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
527 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
>> drivers/power/supply/bq25890_charger.c:536:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
536 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:730:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
730 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
>> drivers/power/supply/bq25890_charger.c:731:2: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
731 | POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
>> drivers/power/supply/bq25890_charger.c:732:2: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
732 | POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:743:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
743 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +536 drivers/power/supply/bq25890_charger.c
395
396 static int bq25890_power_supply_get_property(struct power_supply *psy,
397 enum power_supply_property psp,
398 union power_supply_propval *val)
399 {
400 struct bq25890_device *bq = power_supply_get_drvdata(psy);
401 struct bq25890_state state;
402 bool do_adc_conv;
403 int ret;
404
405 mutex_lock(&bq->lock);
406 /* update state in case we lost an interrupt */
407 __bq25890_handle_irq(bq);
408 state = bq->state;
409 do_adc_conv = !state.online && bq25890_is_adc_property(psp);
410 if (do_adc_conv)
411 bq25890_field_write(bq, F_CONV_START, 1);
412 mutex_unlock(&bq->lock);
413
414 if (do_adc_conv)
415 regmap_field_read_poll_timeout(bq->rmap_fields[F_CONV_START],
416 ret, !ret, 25000, 1000000);
417
418 switch (psp) {
419 case POWER_SUPPLY_PROP_STATUS:
420 if (!state.online)
421 val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
422 else if (state.chrg_status == STATUS_NOT_CHARGING)
423 val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
424 else if (state.chrg_status == STATUS_PRE_CHARGING ||
425 state.chrg_status == STATUS_FAST_CHARGING)
426 val->intval = POWER_SUPPLY_STATUS_CHARGING;
427 else if (state.chrg_status == STATUS_TERMINATION_DONE)
428 val->intval = POWER_SUPPLY_STATUS_FULL;
429 else
430 val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
431
432 break;
433
434 case POWER_SUPPLY_PROP_CHARGE_TYPE:
435 if (!state.online || state.chrg_status == STATUS_NOT_CHARGING ||
436 state.chrg_status == STATUS_TERMINATION_DONE)
437 val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
438 else if (state.chrg_status == STATUS_PRE_CHARGING)
439 val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
440 else if (state.chrg_status == STATUS_FAST_CHARGING)
441 val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
442 else /* unreachable */
443 val->intval = POWER_SUPPLY_CHARGE_TYPE_UNKNOWN;
444 break;
445
446 case POWER_SUPPLY_PROP_MANUFACTURER:
447 val->strval = BQ25890_MANUFACTURER;
448 break;
449
450 case POWER_SUPPLY_PROP_MODEL_NAME:
451 val->strval = bq25890_chip_name[bq->chip_version];
452 break;
453
454 case POWER_SUPPLY_PROP_ONLINE:
455 val->intval = state.online;
456 break;
457
458 case POWER_SUPPLY_PROP_HEALTH:
459 if (!state.chrg_fault && !state.bat_fault && !state.boost_fault)
460 val->intval = POWER_SUPPLY_HEALTH_GOOD;
461 else if (state.bat_fault)
462 val->intval = POWER_SUPPLY_HEALTH_OVERVOLTAGE;
463 else if (state.chrg_fault == CHRG_FAULT_TIMER_EXPIRED)
464 val->intval = POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE;
465 else if (state.chrg_fault == CHRG_FAULT_THERMAL_SHUTDOWN)
466 val->intval = POWER_SUPPLY_HEALTH_OVERHEAT;
467 else
468 val->intval = POWER_SUPPLY_HEALTH_UNSPEC_FAILURE;
469 break;
470
471 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
472 val->intval = bq25890_find_val(bq->init_data.ichg, TBL_ICHG);
473 break;
474
475 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE:
476 if (!state.online) {
477 val->intval = 0;
478 break;
479 }
480
481 ret = bq25890_field_read(bq, F_BATV); /* read measured value */
482 if (ret < 0)
483 return ret;
484
485 /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
486 val->intval = 2304000 + ret * 20000;
487 break;
488
489 case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
490 val->intval = bq25890_find_val(bq->init_data.vreg, TBL_VREG);
491 break;
492
493 case POWER_SUPPLY_PROP_PRECHARGE_CURRENT:
494 val->intval = bq25890_find_val(bq->init_data.iprechg, TBL_ITERM);
495 break;
496
497 case POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT:
498 val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM);
499 break;
500
501 case POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT:
502 ret = bq25890_field_read(bq, F_IILIM);
503 if (ret < 0)
504 return ret;
505
506 val->intval = bq25890_find_val(ret, TBL_IILIM);
507 break;
508
509 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
510 ret = bq25890_field_read(bq, F_VBUS_GD); /* is VBUS connected? */
511 if (ret < 0)
512 return ret;
513
514 if (!ret) {
515 val->intval = 0;
516 break;
517 }
518
519 ret = bq25890_field_read(bq, F_VBUSV); /* read measured value */
520 if (ret < 0)
521 return ret;
522
523 /* converted_val = 2.6V + ADC_val * 100mV */
524 val->intval = 2600000 + ret * 100000;
525 break;
526
527 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
528 ret = bq25890_field_read(bq, F_SYSV); /* read measured value */
529 if (ret < 0)
530 return ret;
531
532 /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */
533 val->intval = 2304000 + ret * 20000;
534 break;
535
> 536 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN:
537 val->intval = bq25890_find_val(bq->init_data.sysvmin, TBL_SYSVMIN);
538 break;
539
540 case POWER_SUPPLY_PROP_CURRENT_NOW:
541 ret = bq25890_field_read(bq, F_ICHGR); /* read measured value */
542 if (ret < 0)
543 return ret;
544
545 /* converted_val = ADC_val * 50mA (table 10.3.19) */
546 val->intval = ret * -50000;
547 break;
548
549 default:
550 return -EINVAL;
551 }
552
553 return 0;
554 }
555
556 static int bq25890_get_chip_state(struct bq25890_device *bq,
557 struct bq25890_state *state)
558 {
559 int i, ret;
560
561 struct {
562 enum bq25890_fields id;
563 u8 *data;
564 } state_fields[] = {
565 {F_CHG_STAT, &state->chrg_status},
566 {F_PG_STAT, &state->online},
567 {F_VSYS_STAT, &state->vsys_status},
568 {F_BOOST_FAULT, &state->boost_fault},
569 {F_BAT_FAULT, &state->bat_fault},
570 {F_CHG_FAULT, &state->chrg_fault}
571 };
572
573 for (i = 0; i < ARRAY_SIZE(state_fields); i++) {
574 ret = bq25890_field_read(bq, state_fields[i].id);
575 if (ret < 0)
576 return ret;
577
578 *state_fields[i].data = ret;
579 }
580
581 dev_dbg(bq->dev, "S:CHG/PG/VSYS=%d/%d/%d, F:CHG/BOOST/BAT=%d/%d/%d\n",
582 state->chrg_status, state->online, state->vsys_status,
583 state->chrg_fault, state->boost_fault, state->bat_fault);
584
585 return 0;
586 }
587
588 static irqreturn_t __bq25890_handle_irq(struct bq25890_device *bq)
589 {
590 struct bq25890_state new_state;
591 int ret;
592
593 ret = bq25890_get_chip_state(bq, &new_state);
594 if (ret < 0)
595 return IRQ_NONE;
596
597 if (!memcmp(&bq->state, &new_state, sizeof(new_state)))
598 return IRQ_NONE;
599
600 if (!new_state.online && bq->state.online) { /* power removed */
601 /* disable ADC */
602 ret = bq25890_field_write(bq, F_CONV_START, 0);
603 if (ret < 0)
604 goto error;
605 } else if (new_state.online && !bq->state.online) { /* power inserted */
606 /* enable ADC, to have control of charge current/voltage */
607 ret = bq25890_field_write(bq, F_CONV_START, 1);
608 if (ret < 0)
609 goto error;
610 }
611
612 bq->state = new_state;
613 power_supply_changed(bq->charger);
614
615 return IRQ_HANDLED;
616 error:
617 dev_err(bq->dev, "Error communicating with the chip: %pe\n",
618 ERR_PTR(ret));
619 return IRQ_HANDLED;
620 }
621
622 static irqreturn_t bq25890_irq_handler_thread(int irq, void *private)
623 {
624 struct bq25890_device *bq = private;
625 irqreturn_t ret;
626
627 mutex_lock(&bq->lock);
628 ret = __bq25890_handle_irq(bq);
629 mutex_unlock(&bq->lock);
630
631 return ret;
632 }
633
634 static int bq25890_chip_reset(struct bq25890_device *bq)
635 {
636 int ret;
637 int rst_check_counter = 10;
638
639 ret = bq25890_field_write(bq, F_REG_RST, 1);
640 if (ret < 0)
641 return ret;
642
643 do {
644 ret = bq25890_field_read(bq, F_REG_RST);
645 if (ret < 0)
646 return ret;
647
648 usleep_range(5, 10);
649 } while (ret == 1 && --rst_check_counter);
650
651 if (!rst_check_counter)
652 return -ETIMEDOUT;
653
654 return 0;
655 }
656
657 static int bq25890_hw_init(struct bq25890_device *bq)
658 {
659 int ret;
660 int i;
661
662 const struct {
663 enum bq25890_fields id;
664 u32 value;
665 } init_data[] = {
666 {F_ICHG, bq->init_data.ichg},
667 {F_VREG, bq->init_data.vreg},
668 {F_ITERM, bq->init_data.iterm},
669 {F_IPRECHG, bq->init_data.iprechg},
670 {F_SYSVMIN, bq->init_data.sysvmin},
671 {F_BOOSTV, bq->init_data.boostv},
672 {F_BOOSTI, bq->init_data.boosti},
673 {F_BOOSTF, bq->init_data.boostf},
674 {F_EN_ILIM, bq->init_data.ilim_en},
675 {F_TREG, bq->init_data.treg}
676 };
677
678 ret = bq25890_chip_reset(bq);
679 if (ret < 0) {
680 dev_dbg(bq->dev, "Reset failed %d\n", ret);
681 return ret;
682 }
683
684 /* disable watchdog */
685 ret = bq25890_field_write(bq, F_WD, 0);
686 if (ret < 0) {
687 dev_dbg(bq->dev, "Disabling watchdog failed %d\n", ret);
688 return ret;
689 }
690
691 /* initialize currents/voltages and other parameters */
692 for (i = 0; i < ARRAY_SIZE(init_data); i++) {
693 ret = bq25890_field_write(bq, init_data[i].id,
694 init_data[i].value);
695 if (ret < 0) {
696 dev_dbg(bq->dev, "Writing init data failed %d\n", ret);
697 return ret;
698 }
699 }
700
701 /* Configure ADC for continuous conversions when charging */
702 ret = bq25890_field_write(bq, F_CONV_RATE, !!bq->state.online);
703 if (ret < 0) {
704 dev_dbg(bq->dev, "Config ADC failed %d\n", ret);
705 return ret;
706 }
707
708 ret = bq25890_get_chip_state(bq, &bq->state);
709 if (ret < 0) {
710 dev_dbg(bq->dev, "Get state failed %d\n", ret);
711 return ret;
712 }
713
714 return 0;
715 }
716
717 static const enum power_supply_property bq25890_power_supply_props[] = {
718 POWER_SUPPLY_PROP_MANUFACTURER,
719 POWER_SUPPLY_PROP_MODEL_NAME,
720 POWER_SUPPLY_PROP_STATUS,
721 POWER_SUPPLY_PROP_CHARGE_TYPE,
722 POWER_SUPPLY_PROP_ONLINE,
723 POWER_SUPPLY_PROP_HEALTH,
724 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
725 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
726 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
727 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
728 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
729 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
730 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
> 731 POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW,
> 732 POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_MIN,
733 POWER_SUPPLY_PROP_CURRENT_NOW,
734 };
735
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 60612 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
@ 2020-04-03 22:14 ` kbuild test robot
2020-04-03 22:14 ` kbuild test robot
2020-04-04 5:14 ` kbuild test robot
2 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 22:14 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 2908 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
>> drivers/power/supply/bq25890_charger.c:381:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
381 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:381:7: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/power/supply/bq25890_charger.c:382:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
382 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:686:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
686 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
> 382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 64409 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
@ 2020-04-03 22:14 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 22:14 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2972 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
>> drivers/power/supply/bq25890_charger.c:381:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
381 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:381:7: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/power/supply/bq25890_charger.c:382:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
382 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: At top level:
drivers/power/supply/bq25890_charger.c:686:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
686 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
> 382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 64409 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 11/14] power: supply: bq25890: show measured VBUS
2020-04-02 14:58 ` [PATCH 11/14] power: supply: bq25890: show measured VBUS Michał Mirosław
@ 2020-04-03 23:04 ` kbuild test robot
2020-04-03 23:04 ` kbuild test robot
1 sibling, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 23:04 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 4030 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
>> drivers/power/supply/bq25890_charger.c:726:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
726 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:738:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
738 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +726 drivers/power/supply/bq25890_charger.c
712
713 static const enum power_supply_property bq25890_power_supply_props[] = {
714 POWER_SUPPLY_PROP_MANUFACTURER,
715 POWER_SUPPLY_PROP_MODEL_NAME,
716 POWER_SUPPLY_PROP_STATUS,
717 POWER_SUPPLY_PROP_CHARGE_TYPE,
718 POWER_SUPPLY_PROP_ONLINE,
719 POWER_SUPPLY_PROP_HEALTH,
720 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
721 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
722 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
723 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
724 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
725 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
> 726 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
727 POWER_SUPPLY_PROP_VOLTAGE_NOW,
728 POWER_SUPPLY_PROP_CURRENT_NOW,
729 };
730
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 64409 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 11/14] power: supply: bq25890: show measured VBUS
@ 2020-04-03 23:04 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-03 23:04 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4107 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on power-supply/for-next]
[also build test ERROR on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/bq25890_charger.c: In function 'bq25890_is_adc_property':
drivers/power/supply/bq25890_charger.c:383:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
383 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:383:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/power/supply/bq25890_charger.c:384:7: error: 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_VOLTAGE_NOW'?
384 | case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_VOLTAGE_NOW
drivers/power/supply/bq25890_charger.c: In function 'bq25890_power_supply_get_property':
drivers/power/supply/bq25890_charger.c:509:7: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared (first use in this function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
509 | case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c: At top level:
>> drivers/power/supply/bq25890_charger.c:726:2: error: 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW' undeclared here (not in a function); did you mean 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT'?
726 | POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT
drivers/power/supply/bq25890_charger.c:738:16: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
738 | .properties = bq25890_power_supply_props,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +726 drivers/power/supply/bq25890_charger.c
712
713 static const enum power_supply_property bq25890_power_supply_props[] = {
714 POWER_SUPPLY_PROP_MANUFACTURER,
715 POWER_SUPPLY_PROP_MODEL_NAME,
716 POWER_SUPPLY_PROP_STATUS,
717 POWER_SUPPLY_PROP_CHARGE_TYPE,
718 POWER_SUPPLY_PROP_ONLINE,
719 POWER_SUPPLY_PROP_HEALTH,
720 POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
721 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
722 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
723 POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
724 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
725 POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
> 726 POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW,
727 POWER_SUPPLY_PROP_VOLTAGE_NOW,
728 POWER_SUPPLY_PROP_CURRENT_NOW,
729 };
730
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 64409 bytes --]
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 03/14] power: supply: bq25890: make property table const
2020-04-02 14:58 ` [PATCH 03/14] power: supply: bq25890: make property table const Michał Mirosław
@ 2020-04-04 3:41 ` kbuild test robot
2020-04-04 3:41 ` kbuild test robot
1 sibling, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-04 3:41 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-188-g79f7ac98-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned int enum power_supply_property *properties @@ got unsignunsigned int enum power_supply_property *properties @@
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: expected unsigned int enum power_supply_property *properties
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: got unsigned int enum power_supply_property const *
vim +692 drivers/power/supply/bq25890_charger.c
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 688
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 689 static const struct power_supply_desc bq25890_power_supply_desc = {
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 690 .name = "bq25890-charger",
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 691 .type = POWER_SUPPLY_TYPE_USB,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 @692 .properties = bq25890_power_supply_props,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 693 .num_properties = ARRAY_SIZE(bq25890_power_supply_props),
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 694 .get_property = bq25890_power_supply_get_property,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 695 };
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 696
:::::: The code at line 692 was first introduced by commit
:::::: 4aeae9cb0dad117f055add68c48decaf489aecf3 power_supply: Add support for TI BQ25890 charger chip
:::::: TO: Laurentiu Palcu <laurentiu.palcu@intel.com>
:::::: CC: Sebastian Reichel <sre@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 03/14] power: supply: bq25890: make property table const
@ 2020-04-04 3:41 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-04 3:41 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2982 bytes --]
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-188-g79f7ac98-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned int enum power_supply_property *properties @@ got unsignunsigned int enum power_supply_property *properties @@
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: expected unsigned int enum power_supply_property *properties
>> drivers/power/supply/bq25890_charger.c:692:23: sparse: got unsigned int enum power_supply_property const *
vim +692 drivers/power/supply/bq25890_charger.c
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 688
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 689 static const struct power_supply_desc bq25890_power_supply_desc = {
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 690 .name = "bq25890-charger",
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 691 .type = POWER_SUPPLY_TYPE_USB,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 @692 .properties = bq25890_power_supply_props,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 693 .num_properties = ARRAY_SIZE(bq25890_power_supply_props),
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 694 .get_property = bq25890_power_supply_get_property,
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 695 };
4aeae9cb0dad11 drivers/power/bq25890_charger.c Laurentiu Palcu 2015-05-19 696
:::::: The code at line 692 was first introduced by commit
:::::: 4aeae9cb0dad117f055add68c48decaf489aecf3 power_supply: Add support for TI BQ25890 charger chip
:::::: TO: Laurentiu Palcu <laurentiu.palcu@intel.com>
:::::: CC: Sebastian Reichel <sre@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
@ 2020-04-04 5:14 ` kbuild test robot
2020-04-03 22:14 ` kbuild test robot
2020-04-04 5:14 ` kbuild test robot
2 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-04 5:14 UTC (permalink / raw)
To: Michał Mirosław
Cc: kbuild-all, Sebastian Reichel, linux-kernel, linux-pm
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-188-g79f7ac98-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: undefined identifier 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW'
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: undefined identifier 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW'
>> drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: incompatible types for 'case' statement
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: incompatible types for 'case' statement
drivers/power/supply/bq25890_charger.c:686:23: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned int enum power_supply_property *properties @@ got unsignunsigned int enum power_supply_property *properties @@
drivers/power/supply/bq25890_charger.c:686:23: sparse: expected unsigned int enum power_supply_property *properties
drivers/power/supply/bq25890_charger.c:686:23: sparse: got unsigned int enum power_supply_property const *
drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: Expected constant expression in case statement
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: Expected constant expression in case statement
vim +/case +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration
@ 2020-04-04 5:14 ` kbuild test robot
0 siblings, 0 replies; 31+ messages in thread
From: kbuild test robot @ 2020-04-04 5:14 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2814 bytes --]
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on power-supply/for-next]
[also build test WARNING on linus/master v5.6 next-20200403]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/power-supply-bq25890-fix-and-extend/20200404-010738
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-188-g79f7ac98-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: undefined identifier 'POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW'
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: undefined identifier 'POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW'
>> drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: incompatible types for 'case' statement
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: incompatible types for 'case' statement
drivers/power/supply/bq25890_charger.c:686:23: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected unsigned int enum power_supply_property *properties @@ got unsignunsigned int enum power_supply_property *properties @@
drivers/power/supply/bq25890_charger.c:686:23: sparse: expected unsigned int enum power_supply_property *properties
drivers/power/supply/bq25890_charger.c:686:23: sparse: got unsigned int enum power_supply_property const *
drivers/power/supply/bq25890_charger.c:381:14: sparse: sparse: Expected constant expression in case statement
drivers/power/supply/bq25890_charger.c:382:14: sparse: sparse: Expected constant expression in case statement
vim +/case +381 drivers/power/supply/bq25890_charger.c
377
378 static bool bq25890_is_adc_property(enum power_supply_property psp)
379 {
380 switch (psp) {
> 381 case POWER_SUPPLY_PROP_INPUT_VOLTAGE_NOW:
382 case POWER_SUPPLY_PROP_OUTPUT_VOLTAGE_NOW:
383 case POWER_SUPPLY_PROP_VOLTAGE_NOW:
384 case POWER_SUPPLY_PROP_CURRENT_NOW:
385 return true;
386
387 default:
388 return false;
389 }
390 }
391
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2020-04-04 5:14 UTC | newest]
Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-02 14:58 [PATCH 00/14] power: supply: bq25890: fix and extend Michał Mirosław
2020-04-02 14:58 ` [PATCH 02/14] power: supply: bq25890: simplify chip name property getter Michał Mirosław
2020-04-02 14:58 ` [PATCH 01/14] power: supply: bq25890: remove redundant I2C bus check Michał Mirosław
2020-04-02 14:58 ` [PATCH 03/14] power: supply: bq25890: make property table const Michał Mirosław
2020-04-03 19:52 ` kbuild test robot
2020-04-03 19:52 ` kbuild test robot
2020-04-04 3:41 ` kbuild test robot
2020-04-04 3:41 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 04/14] power: supply: bq25890: protect view of the chip's state Michał Mirosław
2020-04-02 14:58 ` [PATCH 05/14] power: supply: bq25890: fix ADC mode configuration Michał Mirosław
2020-04-03 20:29 ` kbuild test robot
2020-04-03 20:29 ` kbuild test robot
2020-04-03 22:14 ` kbuild test robot
2020-04-03 22:14 ` kbuild test robot
2020-04-04 5:14 ` kbuild test robot
2020-04-04 5:14 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 06/14] power: supply: bq25890: update state on property read Michał Mirosław
2020-04-02 14:58 ` [PATCH 07/14] power: supply: bq25890: implement CHARGE_TYPE property Michał Mirosław
2020-04-02 14:58 ` [PATCH 09/14] power: supply: bq25890: implement INPUT_CURRENT_LIMIT property Michał Mirosław
2020-04-02 14:58 ` [PATCH 08/14] power: supply: bq25890: implement PRECHARGE_CURRENT property Michał Mirosław
2020-04-02 14:58 ` [PATCH 11/14] power: supply: bq25890: show measured VBUS Michał Mirosław
2020-04-03 21:06 ` kbuild test robot
2020-04-03 21:06 ` kbuild test robot
2020-04-03 23:04 ` kbuild test robot
2020-04-03 23:04 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 10/14] power: supply: bq25890: use proper CURRENT_NOW property for I_BAT Michał Mirosław
2020-04-02 14:58 ` [PATCH 12/14] power: supply: bq25890: show VSYS as output voltage Michał Mirosław
2020-04-03 21:41 ` kbuild test robot
2020-04-03 21:41 ` kbuild test robot
2020-04-02 14:58 ` [PATCH 13/14] power: supply: bq25890: show VBAT as VOLTAGE_NOW Michał Mirosław
2020-04-02 14:58 ` [PATCH 14/14] power: supply: bq25890: support IBAT compensation Michał Mirosław
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.