Thread (13 messages) 13 messages, 5 authors, 2025-07-10

Re: [PATCH RFC] timer: of: Create a platform_device before the framework is initialized

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2025-07-01 07:54:12
Also in: linux-arch, lkml

On Tue, Jul 1, 2025, at 01:53, William McVicker wrote:
quoted
@@ -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.

I feel that this RFC by itself a good step in the direction we want, 
so Daniel should go ahead with prototyping the next two steps:
adding the platform_driver registration into OF_DECLARE_PDEV,
and converting a driver so it can be used either with the _OF_DECLARE()
or the platform_driver case.

Regarding the sh_early_platform_driver code that Rob mentioned,
I think this one is already better since it doesn't duplicate
parts of the platform_driver framework and it interfaces with
device tree based probing.

     Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help