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

Reply via email to