Linux-LEDs Archive on lore.kernel.org
 help / color / Atom feed
From: "Vaittinen, Matti" <Matti.Vaittinen@fi.rohmeurope.com>
To: "lee.jones@linaro.org" <lee.jones@linaro.org>
Cc: "linux-leds@vger.kernel.org" <linux-leds@vger.kernel.org>,
	"dmurphy@ti.com" <dmurphy@ti.com>,
	"linux-rtc@vger.kernel.org" <linux-rtc@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"alexandre.belloni@bootlin.com" <alexandre.belloni@bootlin.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"mturquette@baylibre.com" <mturquette@baylibre.com>,
	"mazziesaccount@gmail.com" <mazziesaccount@gmail.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"jacek.anaszewski@gmail.com" <jacek.anaszewski@gmail.com>,
	"a.zummo@towertech.it" <a.zummo@towertech.it>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"bgolaszewski@baylibre.com" <bgolaszewski@baylibre.com>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"sboyd@kernel.org" <sboyd@kernel.org>,
	"pavel@ucw.cz" <pavel@ucw.cz>,
	"broonie@kernel.org" <broonie@kernel.org>
Subject: Re: [PATCH v10 08/13] regulator: bd718x7: Split driver to common and bd718x7 specific parts
Date: Fri, 17 Jan 2020 10:43:52 +0000
Message-ID: <4bd035fb2c78e96f18006f06c5d8d9d2f1a1b70d.camel@fi.rohmeurope.com> (raw)
In-Reply-To: <20200117102854.GF15507@dell>

Hello Lee,

On Fri, 2020-01-17 at 10:28 +0000, Lee Jones wrote:
> On Fri, 17 Jan 2020, Matti Vaittinen wrote:
> 
> > Few ROHM PMICs allow setting the voltage states for different
> > system states
> > like RUN, IDLE, SUSPEND and LPSR. States are then changed via SoC
> > specific
> > mechanisms. bd718x7 driver implemented device-tree parsing
> > functions for
> > these state specific voltages. The parsing functions can be re-used 
> > by
> > other ROHM chip drivers like bd71828. Split the generic functions
> > from
> > bd718x7-regulator.c to rohm-regulator.c and export them for other
> > modules
> > to use.
> > 
> > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> > Acked-by: Mark Brown <broonie@kernel.org>
> > ---
> > no changes since v9
> > 
> >  drivers/regulator/Kconfig             |   4 +
> >  drivers/regulator/Makefile            |   1 +
> >  drivers/regulator/bd718x7-regulator.c | 183 ++++++++------------
> > ------
> >  drivers/regulator/rohm-regulator.c    |  95 +++++++++++++
> >  include/linux/mfd/rohm-generic.h      |  66 ++++++++++
> >  5 files changed, 221 insertions(+), 128 deletions(-)
> >  create mode 100644 drivers/regulator/rohm-regulator.c
> 
> [...]
> 
> > diff --git a/include/linux/mfd/rohm-generic.h
> > b/include/linux/mfd/rohm-generic.h
> > index ff3dd7578fd3..6cc5a0819959 100644
> > --- a/include/linux/mfd/rohm-generic.h
> > +++ b/include/linux/mfd/rohm-generic.h
> > @@ -4,6 +4,9 @@
> >  #ifndef __LINUX_MFD_ROHM_H__
> >  #define __LINUX_MFD_ROHM_H__
> >  
> > +#include <linux/regmap.h>
> > +#include <linux/regulator/driver.h>
> > +
> >  enum rohm_chip_type {
> >  	ROHM_CHIP_TYPE_BD71837 = 0,
> >  	ROHM_CHIP_TYPE_BD71847,
> > @@ -17,4 +20,67 @@ struct rohm_regmap_dev {
> >  	struct regmap *regmap;
> >  };
> >  
> > +enum {
> > +	ROHM_DVS_LEVEL_UNKNOWN,
> > +	ROHM_DVS_LEVEL_RUN,
> > +	ROHM_DVS_LEVEL_IDLE,
> > +	ROHM_DVS_LEVEL_SUSPEND,
> > +	ROHM_DVS_LEVEL_LPSR,
> > +#define ROHM_DVS_LEVEL_MAX ROHM_DVS_LEVEL_LPSR
> 
> Haven't seen this before.  Is it legit?
> 

I don't know why it wouldn't be :) I kind of grew used to that when I
still did some networking stuff.

It doesn't really matter in this case but for example the netlink
headers do:

enum {
   foo,
#define foo foo
   bar,
#define bar bar
...
};

https://elixir.bootlin.com/linux/v5.5-rc6/source/include/uapi/linux/rtnetlink.h

What is the good here is that this allows one to nicely exclude
unsupported stuff using preprocessor:

#include <header_with_or_without_foo_dependng_on_version.h>

#ifdef foo
use_foo(foo);
#endif

What about:
> 
>      ROHM_DVS_LEVEL_MAX = ROHM_DVS_LEVEL_LPSR

Anyways, I don't see why define wouldn't be Ok here - but sure it can
be changed if you insist ;) Just let me know if you can accept the
define or not :)


> 

  reply index

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-17  9:30 [PATCH v10 00/13] Support ROHM BD71828 PMIC Matti Vaittinen
2020-01-17  9:31 ` [PATCH v10 01/13] dt-bindings: leds: ROHM BD71282 PMIC LED driver Matti Vaittinen
2020-01-17  9:32 ` [PATCH v10 02/13] dt-bindings: mfd: Document ROHM BD71828 bindings Matti Vaittinen
2020-01-17  9:34 ` [PATCH v10 03/13] mfd: rohm PMICs - use platform_device_id to match MFD sub-devices Matti Vaittinen
2020-01-17  9:35 ` [PATCH v10 04/13] mfd: bd718x7: Add compatible for BD71850 Matti Vaittinen
2020-01-17  9:36 ` [PATCH v10 05/13] mfd: bd71828: Support ROHM BD71828 PMIC - core Matti Vaittinen
2020-01-17  9:36 ` [PATCH v10 06/13] mfd: input: bd71828: Add power-key support Matti Vaittinen
2020-01-17  9:37 ` [PATCH v10 07/13] clk: bd718x7: Support ROHM BD71828 clk block Matti Vaittinen
2020-01-17  9:38 ` [PATCH v10 08/13] regulator: bd718x7: Split driver to common and bd718x7 specific parts Matti Vaittinen
2020-01-17 10:28   ` Lee Jones
2020-01-17 10:43     ` Vaittinen, Matti [this message]
2020-01-17 13:40       ` Lee Jones
2020-01-20  7:06         ` Vaittinen, Matti
2020-01-17  9:40 ` [PATCH v10 09/13] mfd: bd70528: Fix hour register mask Matti Vaittinen
2020-01-17 10:21   ` Lee Jones
2020-01-17  9:42 ` [PATCH v10 10/13] rtc: bd70528: add BD71828 support Matti Vaittinen
2020-01-17  9:42 ` [PATCH v10 11/13] gpio: bd71828: Initial support for ROHM BD71828 PMIC GPIOs Matti Vaittinen
2020-01-17 10:21   ` Lee Jones
2020-01-20  6:48     ` Vaittinen, Matti
2020-01-20  8:02       ` Lee Jones
2020-01-23 15:18     ` Linus Walleij
2020-01-17  9:43 ` [PATCH v10 12/13] leds: Add common LED binding parsing support to LED class/core Matti Vaittinen
2020-01-20  8:56   ` Vaittinen, Matti
2020-01-17  9:44 ` [PATCH v10 13/13] led: bd71828: Support LED outputs on ROHM BD71828 PMIC Matti Vaittinen
2020-01-17 10:30 ` [PATCH v10 00/13] Support " Lee Jones
2020-01-17 10:48   ` Vaittinen, Matti
2020-01-17 13:44     ` Lee Jones
2020-02-26 13:42     ` Pavel Machek
2020-02-26 14:25       ` Vaittinen, Matti

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=4bd035fb2c78e96f18006f06c5d8d9d2f1a1b70d.camel@fi.rohmeurope.com \
    --to=matti.vaittinen@fi.rohmeurope.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmurphy@ti.com \
    --cc=jacek.anaszewski@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    /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

Linux-LEDs Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-leds/0 linux-leds/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-leds linux-leds/ https://lore.kernel.org/linux-leds \
		linux-leds@vger.kernel.org
	public-inbox-index linux-leds

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-leds


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git