linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: "alexandre.belloni@bootlin.com" <alexandre.belloni@bootlin.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"mazziesaccount@gmail.com" <mazziesaccount@gmail.com>,
	"mturquette@baylibre.com" <mturquette@baylibre.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"sre@kernel.org" <sre@kernel.org>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"sboyd@kernel.org" <sboyd@kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"a.zummo@towertech.it" <a.zummo@towertech.it>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"Mutanen, Mikko" <Mikko.Mutanen@fi.rohmeurope.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"linux-watchdog@vger.kernel.org"
	<linux-watchdog@vger.kernel.org>l
Subject: Re: [PATCH v11 2/8] mfd: bd70528: Support ROHM bd70528 PMIC - core
Date: Thu, 4 Apr 2019 10:24:49 +0300	[thread overview]
Message-ID: <20190404072449.GE3493@localhost.localdomain> (raw)
In-Reply-To: <20190404065452.GD6830@dell>

On Thu, Apr 04, 2019 at 07:54:52AM +0100, Lee Jones wrote:
> On Thu, 04 Apr 2019, Vaittinen, Matti wrote:
> 
> > Actually, now that I thik of it the right way to do this would have
> > been the function pointer in parent data as was done in original patch
> > set. HW-colleagues tend to re-use HW blocks, and we like to re-use our
> > drivers. If the next PMIC from ROHM uses same RTC block but does not
> > provide watchdog - then it is cleanest solution to fall back to
> > function pointer and leave it to NULL when there is no WDT or when WDT
> > is unused. Another option is to export dummy function - which is not so
> > nice.
> 
> I think the converse is true.
> 
> Pointers to functions outside of a subsystem API context are generally
> horrible.  It's much nicer to call a function which can be easily
> stubbed out in a header file based on a Kconfig option.  It's how most
> kernel APIs work.

I hate to admit but I see your point. This nicely solves any issues in
syncronizing the startup for driver providing function pointer and for
driver using it.

> > Additional benefit from function pointer would have been that the
> > function pointer can be only used by drivers which have acces to it.
> > This exported function is globally visible. The WDT disable/enable is
> > very specific procedure and it actually would be nicer design to not
> > have it visible globally. It is not intended to be used by anything
> > else besides the WDT and RTC here.
> 
> Why would anything else try to use it?
> 
> There are 1000's of exported functions in the kernel.  If it's
> properly namespaced a consumer would have to purposely call it, which
> if they really wanted to, they could do anyway.  I don't really see
> your point.

I could still argue on this. It _is_ less obvous that an exported function
is not meant to be publicly used than it is for function pointers. But
as you say, this is not a strong enough point to see the trouble in
synchronizing the WDT/RTC startup.

> > But I can't say there will be PMIC with same RTC and no WDT coming from
> > ROHM. Also, I am not terribly excited about the option of changing this
> > back to function-pointer as I already removed the pointer from parent
> > data and this changed parent data is already adapted to all sub drivers
> > - so this is all just babbling. Maybe it is just my huge ego shouting
> > there - 'I was right, I must have the final say'.
> 
> No, a call-back function would be a back-step.

You are probably right.

> Ego or no ego, you're wrong. =:-D

I'd rephrase that as "It's not that I am wrong, but you are right." =)

> > As a side note, I already did submit v12 with other styling fixes but
> > which left the WDT function in MFD. If you still see the WDT functions
> > should be exported from WDT - then please ignore the v12. I'll do v13
> > at the afternoon (my time, which is only a bit after noon your time I
> > guess) which will export these functions from WDT. (Well, I had to try
> > once more :D)
> 
> Please keep the WDT code in the WDT driver.  Create a little stub for
> the cases where the WDT driver is not enabled - job done.

Yes Sir.

Br,
	Matti Vaittinen

-- 
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~

  reply	other threads:[~2019-04-04  7:24 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-25 12:04 [PATCH v11 0/8] support ROHM BD70528 PMIC Matti Vaittinen
2019-03-25 12:04 ` [PATCH v11 1/8] mfd: regulator: clk: split rohm-bd718x7.h Matti Vaittinen
2019-04-03  6:19   ` Lee Jones
2019-03-25 12:05 ` [PATCH v11 2/8] mfd: bd70528: Support ROHM bd70528 PMIC - core Matti Vaittinen
2019-04-03  7:31   ` Lee Jones
2019-04-03  8:47     ` Matti Vaittinen
2019-04-03  9:30       ` Lee Jones
2019-04-03 10:10         ` Matti Vaittinen
2019-04-03 11:25           ` Lee Jones
2019-04-03 11:45             ` Vaittinen, Matti
2019-04-04  2:52               ` Lee Jones
2019-04-04  5:57                 ` Vaittinen, Matti
2019-04-04  6:54                   ` Lee Jones
2019-04-04  7:24                     ` Matti Vaittinen [this message]
2019-04-04  7:56                       ` Alexandre Belloni
2019-04-04  8:10                         ` Vaittinen, Matti
2019-04-04  8:21                           ` Lee Jones
2019-04-04  8:06                       ` Lee Jones
2019-03-25 12:05 ` [PATCH v11 3/8] clk: bd718x7: Support ROHM BD70528 clk block Matti Vaittinen
2019-03-25 12:05 ` [PATCH v11 4/8] dt-bindings: mfd: Document first ROHM BD70528 bindings Matti Vaittinen
2019-04-03  7:34   ` Lee Jones
2019-04-03  9:04     ` Matti Vaittinen
2019-03-25 12:06 ` [PATCH v11 5/8] gpio: Initial support for ROHM bd70528 GPIO block Matti Vaittinen
2019-03-25 12:06 ` [PATCH v11 6/8] rtc: bd70528: Initial support for ROHM bd70528 RTC Matti Vaittinen
2019-03-25 17:04   ` Alexandre Belloni
2019-03-26 13:51     ` Vaittinen, Matti
2019-03-26 14:05       ` Alexandre Belloni
2019-03-25 12:06 ` [PATCH v11 7/8] power: supply: Initial support for ROHM BD70528 PMIC charger block Matti Vaittinen
2019-03-25 12:07 ` [PATCH v11 8/8] watchdog: bd70528: Initial support for ROHM BD70528 watchdog block 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=20190404072449.GE3493@localhost.localdomain \
    --to=matti.vaittinen@fi.rohmeurope.com \
    --cc=Mikko.Mutanen@fi.rohmeurope.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=sre@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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).