lkml.org 
[lkml]   [2019]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 1/1] power: supply: sbs-battery: Add ability to force load a battery via the devicetree
On Mon, Jul 29, 2019 at 8:02 PM Richard Tresidder
<rtresidd@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 <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");
> > +

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

\
 
 \ /
  Last update: 2019-07-30 06:11    [W:0.089 / U:1.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site