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 ~~~
next prev parent 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).