From: "Arnd Bergmann" <arnd@arndb.de>
To: "William McVicker" <willmcvicker@google.com>
Cc: "Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org,
"Lorenzo Pieralisi" <lorenzo.pieralisi@linaro.org>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
"Rob Herring" <robh@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"John Stultz" <jstultz@google.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Saravana Kannan" <saravanak@google.com>,
Linux-Arch <linux-arch@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE"
<devicetree@vger.kernel.org>
Subject: Re: [PATCH RFC] timer: of: Create a platform_device before the framework is initialized
Date: Tue, 01 Jul 2025 22:55:24 +0200 [thread overview]
Message-ID: <92daf35f-9240-450f-a05f-b7869fafeb6b@app.fastmail.com> (raw)
In-Reply-To: <aGQnOMDyBckks78k@google.com>
On Tue, Jul 1, 2025, at 20:21, William McVicker wrote:
> On 07/01/2025, Arnd Bergmann wrote:
>> On Tue, Jul 1, 2025, at 01:53, William McVicker wrote:
>> >> @@ -1550,6 +1553,8 @@ typedef void (*of_init_fn_1)(struct device_node *);
>> >> _OF_DECLARE(table, name, compat, fn, of_init_fn_1_ret)
>> >> #define OF_DECLARE_2(table, name, compat, fn) \
>> >> _OF_DECLARE(table, name, compat, fn, of_init_fn_2)
>> >> +#define OF_DECLARE_PDEV(table, name, compat, fn) \
>> >> + _OF_DECLARE(table, name, compat, fn, of_init_fn_pdev)
>> >
>> > To support auto-module loading you'll need to also define the
>> > MODULE_DEVICE_TABLE() as part of TIMER_OF_DECLARE_PDEV().
>> >
>> > I haven't tested the patch yet, but aside from my comment above it LGTM.
>>
>> The patch doesn't actually have a module_platform_driver_probe()
>> yet either, so loading the module wouldn't actually do anything.
>
> Probing with TIMER_OF_DECLARE() just consists of running the match table's data
> function pointer. So that is covered by Daniel's patch AFAICT. However, it's
> not clear if this implementation allows you to load the kernel module after the
> device boots? For example, will the Exynos MCT timer probe if I load the
> exynos_mct driver after the device boots? My guess is you'd need to register
> the device as a platform device with a dedicated probe function to handle that.
Yes, that's what I meant: the loadable module needs a module_init()
function that registers the actual platform driver in order for the
probe function to be called. module_platform_driver_probe()
is the way I would suggest to arrange it, though that is just a
convenience helper around the registration.
The platform device at that point is created by the normal DT scan,
so there is no need to create an extra one. On the contrary, in case
we successfully call the probe function from timer_init(), we end
up with two separate 'struct platform_device' instances
Arnd
next prev parent reply other threads:[~2025-07-01 20:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-25 8:57 [PATCH RFC] timer: of: Create a platform_device before the framework is initialized Daniel Lezcano
2025-06-25 10:20 ` Bryan O'Donoghue
2025-06-25 12:25 ` Daniel Lezcano
2025-06-27 13:34 ` Rob Herring
2025-06-30 23:53 ` William McVicker
2025-07-01 7:52 ` Arnd Bergmann
2025-07-01 18:21 ` William McVicker
2025-07-01 20:55 ` Arnd Bergmann [this message]
2025-07-01 22:28 ` William McVicker
2025-07-07 15:02 ` Daniel Lezcano
2025-07-08 9:50 ` Daniel Lezcano
2025-07-08 16:10 ` Arnd Bergmann
2025-07-10 10:54 ` Daniel Lezcano
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=92daf35f-9240-450f-a05f-b7869fafeb6b@app.fastmail.com \
--to=arnd@arndb.de \
--cc=bryan.odonoghue@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jstultz@google.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo.pieralisi@linaro.org \
--cc=robh@kernel.org \
--cc=saravanak@google.com \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=willmcvicker@google.com \
/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