From: Dan Carpenter <dan.carpenter@linaro.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Lee Jones" <lee@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
linux-kernel@vger.kernel.org, "Rob Herring" <robh@kernel.org>,
"André Draszik" <andre.draszik@linaro.org>,
"Peter Griffin" <peter.griffin@linaro.org>
Subject: Re: [PATCH 0/2] mfd: syscon: introduce no-auto-mmio DT property
Date: Thu, 30 Oct 2025 10:33:15 +0300 [thread overview]
Message-ID: <aQMUu08phVPqfgEB@stanley.mountain> (raw)
In-Reply-To: <3fd4beba-0d0b-4a20-b6ed-4e00df109b66@app.fastmail.com>
On Wed, Oct 29, 2025 at 08:43:33PM +0100, Arnd Bergmann wrote:
> On Wed, Oct 29, 2025, at 18:27, Dan Carpenter wrote:
> > Most syscons are accessed via MMMIO and created automatically. But one
> > example of a syscon that isn't is in drivers/soc/samsung/exynos-pmu.c
> > where the syscon can only be accessed via the secure partition. We are
> > looking at upstreaming a different driver where the syscon will be
> > accessed via SCMI.
> >
> > Normally, syscons are accessed by doing something like
> > syscon_regmap_lookup_by_phandle_args() but that function will
> > automatically create an MMIO syscon if one hasn't been registered. So
> > the ordering becomes a problem. The exynos-pmu.c driver solves this
> > but it's a bit awkward and it would be even trickier if there were
> > several drivers accessing the same syscon.
>
> What would happen on the current exynos platform if we just take away
> the 'regs' property? I would hope that we can avoid encoding what
> is essentially operating system policy in that driver and instead
> just describe it as a device that expects to be implemented by
> firmware and doesn't need registers?
Exynos solves this because they only have one phandle so when they parse
it, that's when then they create the syscon. If you had multiple drivers
accessing the same syscon then that doesn't work.
If we left out the "regs" property it wouldn't be created automatically
but syscon_regmap_lookup_by_phandle() will return -EINVAL and probe would
fail. It needs to be -EPROBE_DEFER so the probe tries again after the
regmap is registered. We'd need to add a check like this (untested):
I can test this probably later today when the test system is back.
regards,
dan carpenter
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
index ae71a2710bed..41da49a0c767 100644
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -51,6 +51,9 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_res)
WARN_ON(!mutex_is_locked(&syscon_list_lock));
+ if (!of_find_property(np, "regs", NULL))
+ return ERR_PTR(-EPROBE_DEFER);
+
struct syscon *syscon __free(kfree) = kzalloc(sizeof(*syscon), GFP_KERNEL);
if (!syscon)
return ERR_PTR(-ENOMEM);
next prev parent reply other threads:[~2025-10-30 7:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 17:27 [PATCH 0/2] mfd: syscon: introduce no-auto-mmio DT property Dan Carpenter
2025-10-29 17:27 ` [PATCH 1/2] dt-bindings: mfd: syscon: introduce no-auto-mmio property for syscons Dan Carpenter
2025-10-29 17:33 ` Conor Dooley
2025-10-29 17:41 ` Dan Carpenter
2025-10-29 18:37 ` Conor Dooley
2025-10-29 18:47 ` Dan Carpenter
2025-10-29 22:00 ` Conor Dooley
2025-10-30 8:20 ` Krzysztof Kozlowski
2025-10-30 18:16 ` Rob Herring
2025-10-29 19:43 ` [PATCH 0/2] mfd: syscon: introduce no-auto-mmio DT property Arnd Bergmann
2025-10-30 7:33 ` Dan Carpenter [this message]
2025-10-30 8:33 ` Arnd Bergmann
2025-10-30 8:49 ` Dan Carpenter
2025-10-30 12:39 ` Dan Carpenter
2025-10-30 12:50 ` Chen-Yu Tsai
2025-10-30 13:09 ` Dan Carpenter
2025-10-30 14:10 ` Arnd Bergmann
2025-10-30 14:39 ` Chen-Yu Tsai
2025-10-30 18:21 ` Rob Herring
2025-10-30 12:59 ` Peter Griffin
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=aQMUu08phVPqfgEB@stanley.mountain \
--to=dan.carpenter@linaro.org \
--cc=andre.draszik@linaro.org \
--cc=arnd@arndb.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.griffin@linaro.org \
--cc=robh@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).