mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <sha@pengutronix.de>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Michael Riesch <michael.riesch@wolfvision.net>,
	barebox@lists.infradead.org,
	Frank Wunderlich <frank-w@public-files.de>
Subject: Re: [PATCH v2 1/7] soc: rockchip: add driver for rockchip io domains
Date: Thu, 22 Sep 2022 10:23:01 +0200	[thread overview]
Message-ID: <20220922082301.GH986@pengutronix.de> (raw)
In-Reply-To: <d4e9f025-4327-2370-89f1-ad79d72e62af@pengutronix.de>

On Thu, Sep 22, 2022 at 09:13:35AM +0100, Ahmad Fatoum wrote:
> Hi,
> 
> On 22.09.22 09:03, Sascha Hauer wrote:
> > On Wed, Sep 21, 2022 at 01:49:49PM +0200, Michael Riesch wrote:
> >> Hi Sascha,
> >>
> >> On 9/21/22 11:46, Sascha Hauer wrote:
> >>> On Mon, Sep 19, 2022 at 01:39:42PM +0200, Michael Riesch wrote:
> >>>> The IO domains in Rockchip SoCs need to be configured to match the
> >>>> corresponding bank voltage. In Linux this is achieved by means of a
> >>>> platform driver that reads the voltage value of the supplies and
> >>>> configures the bits in the general register file (GRF) accordingly.
> >>>> Port this driver to barebox to provide support for the Rockchip
> >>>> RK356x SoCs.
> >>>>
> >>>> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
> >>>> ---
> >>>>  drivers/soc/Kconfig              |   1 +
> >>>>  drivers/soc/Makefile             |   1 +
> >>>>  drivers/soc/rockchip/Kconfig     |  17 +++
> >>>>  drivers/soc/rockchip/Makefile    |   6 +
> >>>>  drivers/soc/rockchip/io-domain.c | 223 +++++++++++++++++++++++++++++++
> >>>>  5 files changed, 248 insertions(+)
> >>>>  create mode 100644 drivers/soc/rockchip/Kconfig
> >>>>  create mode 100644 drivers/soc/rockchip/Makefile
> >>>>  create mode 100644 drivers/soc/rockchip/io-domain.c
> >>>
> >>> There's nothing in this driver that makes sure it is probed before the
> >>> users of the io domains. What happens when the users are probed before
> >>> the io domain driver?
> >>
> >> Correct. Unfortunately, the situation is quite the same in the kernel.
> >> Only recently there was a discussion as to how to resolve this issue
> >> [0]. While the RFC in [0] was received well there is no mainline
> >> solution to this problem. I would suggest that the mainline kernel
> >> solution is adopted once there is one.
> >>
> >> In the mean time we could
> >>  - accept that it just works for some reason (TM)
> >>  - leave the magic bits in the low-level initialization to be on the
> >>    safe side
> > 
> > Decided for this solution for now.
> > 
> > I added the following as a reminder that there's still something
> > to do.
> 
> Why not do an of_device_ensure_probed for the I/O domain driver in
> rk3568_init()?

We can't do a of_device_ensure_probed() properly from plain initcalls.
For example rk3568_init() is called at postcore level, at that time the
io-domain driver is not yet registered.

We would have to find an initcall level where the io-domain driver and
all its dependencies (i2c bus driver, PMIC driver) is registered, but
none of its consumers are probed. While we could probably find the right
initcall level this defeats the purpose of deep probe.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



  reply	other threads:[~2022-09-22  8:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-19 11:39 [PATCH v2 0/7] " Michael Riesch
2022-09-19 11:39 ` [PATCH v2 1/7] " Michael Riesch
2022-09-21  9:46   ` Sascha Hauer
2022-09-21 11:49     ` Michael Riesch
2022-09-22  8:03       ` Sascha Hauer
2022-09-22  8:13         ` Ahmad Fatoum
2022-09-22  8:23           ` Sascha Hauer [this message]
2022-09-19 11:39 ` [PATCH v2 2/7] arm: rockchip_v8_defconfig: enable io domain driver Michael Riesch
2022-09-19 11:39 ` [PATCH v2 3/7] arm: rockchip: radxa-rock3: remove io domain configuration Michael Riesch
2022-09-19 11:39 ` [PATCH v2 4/7] arm: rockchip: rk3568-evb: " Michael Riesch
2022-09-19 11:39 ` [PATCH v2 5/7] arm: rockchip: rk3568-bpi-r2pro: " Michael Riesch
2022-09-19 11:39 ` [PATCH v2 6/7] arm: rockchip: rk3568: refactor common rk3568_start method Michael Riesch
2022-09-21  9:17   ` Sascha Hauer
2022-09-21 11:57     ` Michael Riesch
2022-09-21 12:21       ` Sascha Hauer
2022-09-21 12:34         ` Michael Riesch
2022-09-19 11:39 ` [PATCH v2 7/7] arm: rockchip: rk3568-bpi-r2pro: use common method rk3568_start Michael Riesch

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=20220922082301.GH986@pengutronix.de \
    --to=sha@pengutronix.de \
    --cc=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=frank-w@public-files.de \
    --cc=michael.riesch@wolfvision.net \
    /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