On Mon, Jul 29, 2019 at 8:02 PM Richard Tresidder <rtres...@electromag.com.au> wrote: > > 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 <rtres...@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"); > > +
Maybe it is documented in another patch, which I have not seen. If it isn't, it will have to be documented and reviewed by a devicetree maintainer. Either case, I don't immediately see why the variable needs to reside in struct sbs_info; it seems to be used only in the probe function. > > 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) { >