All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vaittinen, Matti" <Matti.Vaittinen@fi.rohmeurope.com>
To: "andriy.shevchenko@linux.intel.com"  <andriy.shevchenko@linux.intel.com>
Cc: "tglx@linutronix.de" <tglx@linutronix.de>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"talgi@mellanox.com" <talgi@mellanox.com>,
	"brendanhiggins@google.com" <brendanhiggins@google.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Gary.Hook@amd.com" <Gary.Hook@amd.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davidgow@google.com" <davidgow@google.com>,
	"changbin.du@intel.com" <changbin.du@intel.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
	"olteanv@gmail.com" <olteanv@gmail.com>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"rdunlap@infradead.org" <rdunlap@infradead.org>,
	"yamada.masahiro@socionext.com" <yamada.masahiro@socionext.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"Mutanen, Mikko" <Mikko.Mutanen@fi.rohmeurope.com>,
	"bp@suse.de" <bp@suse.de>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>,
	"krzk@kernel.org" <krzk@kernel.org>,
	"mazziesaccount@gmail.com" <mazziesaccount@gmail.com>,
	"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"Laine, Markus" <Markus.Laine@fi.rohmeurope.com>,
	"vincenzo.frascino@arm.com" <vincenzo.frascino@arm.com>,
	"sre@kernel.org" <sre@kernel.org>,
	"ardb@kernel.org" <ardb@kernel.org>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"zaslonko@linux.ibm.com" <zaslonko@linux.ibm.com>,
	"uwe@kleine-koenig.org" <uwe@kleine-koenig.org>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Subject: Re: [PATCH v6 09/10] power: supply: Support ROHM bd99954 charger
Date: Tue, 24 Mar 2020 10:53:09 +0000	[thread overview]
Message-ID: <03f7053576e60632d7ac3bc074afe5d8d63e3714.camel@fi.rohmeurope.com> (raw)
In-Reply-To: <20200324095024.GE1922688@smile.fi.intel.com>


Hello Andy,

I do agree with most of the things you pointed out. I didn't comment
them.

On Tue, 2020-03-24 at 11:50 +0200, Andy Shevchenko wrote:
> On Tue, Mar 24, 2020 at 10:32:19AM +0200, Matti Vaittinen wrote:
> > The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-
> > Ion
> > secondary battery intended to be used in space-constraint equipment
> > such
> > as Low profile Notebook PC, Tablets and other applications. BD99954
> > provides a Dual-source Battery Charger, two port BC1.2 detection
> > and a
> > Battery Monitor.
> ...
> 
> > +#include <linux/acpi.h>
> > +#include <linux/of.h>
> 
> I didn't find any evidence of use of those two, otherwise, missed
> property.h
> and perhaps mod_devicetable.h.
> 

I'll check this, thanks.

> 
> > +	.cache_type = REGCACHE_RBTREE,
> > +
> > +	.ranges = regmap_range_cfg,
> > +	.num_ranges = ARRAY_SIZE(regmap_range_cfg),
> > +	.val_format_endian = REGMAP_ENDIAN_LITTLE,
> > +	.wr_table = &bd9995x_writeable_regs,
> > +	.volatile_table = &bd9995x_volatile_regs,
> > +};
> 
> ...
> 
> > +#define IDI0T_BIT 0x1
> 
> In contemporary world somebody can be offended (not me).

Yeah. And when someone gets offended and complains I will change this
:) And maybe explain to him/her why I think this is an idiot bit.
Besides, it describes the bit quite well.

> ...
> 
> > +		/*
> > +		 * the actual range : 2560 to 19200 mV. No matter what
> > the
> 
> t -> T
> 
> > +		 * register says
> > +		 */
> > +		val->intval = max(val->intval, 2560);
> > +		val->intval = min(val->intval, 19200);
> 
> clamp_val()

Thanks! I didn't know of this. I learned something again :)

> ...
> 
> > +	for (i = ffs(tmp); i; i = ffs(tmp)) {
> 
> NIH of for_each_set_bit().

What does the NIH stand for?
Anyways, I agree. This is probably better if I use for_each_set_bit()

> 
> > +	do {
> > +		ret = regmap_field_read(bd->rmap_fields[F_OTPLD_STATE], 
> > &state);
> > +		if (ret)
> > +			return ret;
> > +
> > +		msleep(10);
> > +	} while (state == 0 && --rst_check_counter);
> 
> regmap_read_poll_timeout() exists, but I see you use it for field.
> Perhaps it's
> a time to introduce similar helper for field polling.

This series is again getting lengthy... I'll see if I add such an API
in this series. I've learned that adding changes will increase the time
it takes to push the series through. It might be more reviewer friendly
to add it in own patch with limited review audience (as would be the
patch 10/10 in this series). But I think your point is valid.

> ...
> 
> > +static const struct linear_range input_current_limit_ranges[] = {
> > +	{
> > +		.min = 0,
> > +		.step = 32000,
> > +		.min_sel = 0x0,
> 
> Perhaps 0x000 to match max_sel width. Same applies to other places.

I don't really see the value of this suggestion.

> > +		.max_sel = 0x1ff,
> > +	},
> > +};
> 
> ...
> 
> > +	/*
> > +	 *  the power_supply_get_battery_info does not support getting
> > values
> 
> t -> T
> Also when we refer to function use () suffix.
> 
> > +	 * from ACPI. Let's fix it if required :)
> > +	 */
> 
> And yes, good question why you simple do not fix it there?
> 

Because I don't need ACPI at the moment and because I would like to
limit the size of already lengthy series. 

> ...
> 
> > +static int bd9995x_probe(struct i2c_client *client,
> > +			 const struct i2c_device_id *id)
> 
> Can you switch to ->probe_new() (Note, it doesn't mean you need to
> drop I²C ID table)

I can. Thanks.

> 
> ...
> 
> > +	if (!dev->platform_data) {
> 
> dev_get_platdata()
> 
> > +		ret = bd9995x_fw_probe(bd);
> > +		if (ret < 0) {
> > +			dev_err(dev, "Cannot read device
> > properties.\n");
> > +			return ret;
> > +		}
> > +	} else {
> > +		return -ENODEV;
> 
> So, existing platform data leads to an error?!

Yes. As currently we only use DT. If someone needs platdata they need
to improve the driver

> > +#ifndef BD99954_CHARGER_H
> > +#define BD99954_CHARGER_H
> > +
> > +#include <linux/regmap.h>
> 
> It is not the header you have users for.
> Proper one should be bits.h.

Huh? struct reg_field is in regmap.h, right?

Br,
	Matti Vaittinen

  parent reply	other threads:[~2020-03-24 11:08 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-24  8:27 [PATCH v6 00/10] Support ROHM BD99954 charger IC Matti Vaittinen
2020-03-24  8:27 ` [PATCH v6 01/10] dt-bindings: battery: add new battery parameters Matti Vaittinen
2020-03-24  8:28 ` [PATCH v6 02/10] dt_bindings: ROHM BD99954 Charger Matti Vaittinen
2020-03-24  8:29 ` [PATCH v6 03/10] lib: add linear ranges helpers Matti Vaittinen
2020-03-24 14:16   ` Mark Brown
2020-03-27 19:34   ` Linus Walleij
2020-03-24  8:29 ` [PATCH v6 04/10] lib/test_linear_ranges: add a test for the 'linear_ranges' Matti Vaittinen
2020-03-24  9:14   ` Andy Shevchenko
2020-03-24  9:51     ` Vaittinen, Matti
2020-03-24  8:30 ` [PATCH v6 05/10] power: supply: bd70528: rename linear_range to avoid collision Matti Vaittinen
2020-03-24  8:30 ` [PATCH v6 06/10] regulator: use linear_ranges helper Matti Vaittinen
2020-03-24 14:24   ` Mark Brown
2020-03-25  6:58     ` Vaittinen, Matti
2020-03-25 11:34       ` Mark Brown
2020-03-25 11:46         ` Vaittinen, Matti
2020-03-24 16:41   ` Charles Keepax
2020-03-24 16:48   ` Adam Thomson
2020-03-24  8:31 ` [PATCH v6 07/10] power: supply: bd70528: use linear ranges Matti Vaittinen
2020-03-24  8:31 ` [PATCH v6 08/10] power: supply: add battery parameters Matti Vaittinen
2020-03-24  8:32 ` [PATCH v6 09/10] power: supply: Support ROHM bd99954 charger Matti Vaittinen
2020-03-24  9:50   ` Andy Shevchenko
2020-03-24  9:51     ` Andy Shevchenko
2020-03-24 10:30       ` Vaittinen, Matti
2020-03-24 10:35     ` Andy Shevchenko
2020-03-25 11:36       ` Vaittinen, Matti
2020-03-25 12:09         ` andriy.shevchenko
2020-03-25 13:00           ` Vaittinen, Matti
2020-03-25 13:20             ` andriy.shevchenko
2020-03-25 13:21               ` andriy.shevchenko
2020-03-25 13:47                 ` Vaittinen, Matti
2020-03-24 10:53     ` Vaittinen, Matti [this message]
2020-03-24 11:56       ` andriy.shevchenko
2020-03-25 10:14         ` Vaittinen, Matti
2020-03-25 12:05           ` andriy.shevchenko
2020-03-25  9:47       ` Vaittinen, Matti
2020-03-24  8:32 ` [PATCH v6 10/10] power: supply: Fix Kconfig help text indentiation Matti Vaittinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=03f7053576e60632d7ac3bc074afe5d8d63e3714.camel@fi.rohmeurope.com \
    --to=matti.vaittinen@fi.rohmeurope.com \
    --cc=Gary.Hook@amd.com \
    --cc=Markus.Laine@fi.rohmeurope.com \
    --cc=Mikko.Mutanen@fi.rohmeurope.com \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=ardb@kernel.org \
    --cc=bp@suse.de \
    --cc=brendanhiggins@google.com \
    --cc=broonie@kernel.org \
    --cc=changbin.du@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=davem@davemloft.net \
    --cc=davidgow@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=krzk@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=olteanv@gmail.com \
    --cc=rdunlap@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=sre@kernel.org \
    --cc=talgi@mellanox.com \
    --cc=tglx@linutronix.de \
    --cc=uwe@kleine-koenig.org \
    --cc=vincenzo.frascino@arm.com \
    --cc=yamada.masahiro@socionext.com \
    --cc=zaslonko@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.