Messages in this thread | | | Subject | Re: [PATCH 1/1] power: supply: sbs-battery: Add ability to force load a battery via the devicetree | From | Richard Tresidder <> | Date | Tue, 30 Jul 2019 11:02:29 +0800 |
| |
Hi Nick and Guenter Just adding you to this one also seeing as you're looking at that other sbs_battery patch for me. Not sure why the get maintainers didn't list you for this one.
Cheers Richard Tresidder > Add the ability to force load a hot pluggable battery during boot where > there is no gpio detect method available and the module is statically > built. Normal polling will then occur on that battery when it is inserted. > > Signed-off-by: Richard Tresidder <rtresidd@electromag.com.au> > --- > > Notes: > Add the ability to force load a hot pluggable battery during boot where > there is no gpio detect method available and the module is statically > built. Normal polling will then occur on that battery when it is inserted. > > drivers/power/supply/sbs-battery.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/supply/sbs-battery.c b/drivers/power/supply/sbs-battery.c > index 048d205..ea8ba3e 100644 > --- a/drivers/power/supply/sbs-battery.c > +++ b/drivers/power/supply/sbs-battery.c > @@ -161,6 +161,7 @@ struct sbs_info { > int poll_time; > u32 i2c_retry_count; > u32 poll_retry_count; > + bool force_load; > struct delayed_work work; > struct mutex mode_lock; > u32 flags; > @@ -852,6 +853,9 @@ static int sbs_probe(struct i2c_client *client, > if (rc) > chip->poll_retry_count = 0; > > + chip->force_load = of_property_read_bool(client->dev.of_node, > + "sbs,force-load"); > + > if (pdata) { > chip->poll_retry_count = pdata->poll_retry_count; > chip->i2c_retry_count = pdata->i2c_retry_count; > @@ -890,7 +894,7 @@ static int sbs_probe(struct i2c_client *client, > * Before we register, we might need to make sure we can actually talk > * to the battery. > */ > - if (!(force_load || chip->gpio_detect)) { > + if (!(force_load || chip->gpio_detect || chip->force_load)) { > rc = sbs_read_word_data(client, sbs_data[REG_STATUS].addr); > > if (rc < 0) {
| |