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>,
"linux@roeck-us.net" <linux@roeck-us.net>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"bgolaszewski@baylibre.com" <bgolaszewski@baylibre.com>,
"wim@linux-watchdog.org" <wim@linux-watchdog.org>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"linux-rtc@vger.kernel.org" <linux-rtc@vger.kernel.org>,
"Haikola, Heikki" <Heikki.Haikola@fi.rohmeurope.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
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 ~~~
WARNING: multiple messages have this Message-ID (diff)
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: 58+ 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 ` Matti Vaittinen
2019-03-25 12:04 ` [PATCH v11 1/8] mfd: regulator: clk: split rohm-bd718x7.h Matti Vaittinen
2019-03-25 12:04 ` Matti Vaittinen
2019-04-03 6:19 ` Lee Jones
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-03-25 12:05 ` Matti Vaittinen
2019-04-03 7:31 ` Lee Jones
2019-04-03 7:31 ` Lee Jones
2019-04-03 8:47 ` Matti Vaittinen
2019-04-03 8:47 ` Matti Vaittinen
2019-04-03 9:30 ` Lee Jones
2019-04-03 9:30 ` Lee Jones
2019-04-03 10:10 ` Matti Vaittinen
2019-04-03 10:10 ` Matti Vaittinen
2019-04-03 11:25 ` Lee Jones
2019-04-03 11:25 ` Lee Jones
2019-04-03 11:45 ` Vaittinen, Matti
2019-04-03 11:45 ` Vaittinen, Matti
2019-04-04 2:52 ` Lee Jones
2019-04-04 2:52 ` Lee Jones
2019-04-04 5:57 ` Vaittinen, Matti
2019-04-04 5:57 ` Vaittinen, Matti
2019-04-04 6:54 ` Lee Jones
2019-04-04 6:54 ` Lee Jones
2019-04-04 7:24 ` Matti Vaittinen [this message]
2019-04-04 7:24 ` Matti Vaittinen
2019-04-04 7:56 ` Alexandre Belloni
2019-04-04 7:56 ` Alexandre Belloni
2019-04-04 8:10 ` Vaittinen, Matti
2019-04-04 8:10 ` Vaittinen, Matti
2019-04-04 8:21 ` Lee Jones
2019-04-04 8:21 ` Lee Jones
2019-04-04 8:06 ` 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 ` Matti Vaittinen
2019-03-25 12:05 ` [PATCH v11 4/8] dt-bindings: mfd: Document first ROHM BD70528 bindings Matti Vaittinen
2019-03-25 12:05 ` Matti Vaittinen
2019-04-03 7:34 ` Lee Jones
2019-04-03 7:34 ` Lee Jones
2019-04-03 9:04 ` Matti Vaittinen
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 ` Matti Vaittinen
2019-03-25 12:06 ` [PATCH v11 6/8] rtc: bd70528: Initial support for ROHM bd70528 RTC Matti Vaittinen
2019-03-25 12:06 ` Matti Vaittinen
2019-03-25 17:04 ` Alexandre Belloni
2019-03-25 17:04 ` Alexandre Belloni
2019-03-26 13:51 ` Vaittinen, Matti
2019-03-26 13:51 ` Vaittinen, Matti
2019-03-26 14:05 ` Alexandre Belloni
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:06 ` Matti Vaittinen
2019-03-25 12:07 ` [PATCH v11 8/8] watchdog: bd70528: Initial support for ROHM BD70528 watchdog block Matti Vaittinen
2019-03-25 12:07 ` 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=Heikki.Haikola@fi.rohmeurope.com \
--cc=Mikko.Mutanen@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=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-pm@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--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 \
--cc=wim@linux-watchdog.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 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.