diff mbox series

of: Export of_node_ktype for modular use of of_init_node

Message ID 1597966267-33614-1-git-send-email-f.fainelli@gmail.com
State Rejected
Headers show
Series of: Export of_node_ktype for modular use of of_init_node | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 7 lines checked

Commit Message

Florian Fainelli Aug. 20, 2020, 11:31 p.m. UTC
To permit the use of of_init_node() by kernel modules, we must export
of_node_ktype which is directly referenced by kobject_init() called from
of_init_node() otherwise modules would be getting linking failures.

Fixes: 0829f6d1f69e ("of: device_node kobject lifecycle fixes")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/of/kobj.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Rob Herring Aug. 21, 2020, 10 p.m. UTC | #1
On Thu, Aug 20, 2020 at 5:31 PM Florian Fainelli <f.fainelli@gmail.com> wrote:
>
> To permit the use of of_init_node() by kernel modules, we must export
> of_node_ktype which is directly referenced by kobject_init() called from
> of_init_node() otherwise modules would be getting linking failures.

You mean of_node_init()?

There's not anything in the kernel using this that's a module. It's a
low level function that I don't really want to see more users for.

Rob
Florian Fainelli Aug. 21, 2020, 10:01 p.m. UTC | #2
On 8/21/20 3:00 PM, Rob Herring wrote:
> On Thu, Aug 20, 2020 at 5:31 PM Florian Fainelli <f.fainelli@gmail.com> wrote:
>>
>> To permit the use of of_init_node() by kernel modules, we must export
>> of_node_ktype which is directly referenced by kobject_init() called from
>> of_init_node() otherwise modules would be getting linking failures.
> 
> You mean of_node_init()?

Yes, I kept inverting the two words.

> 
> There's not anything in the kernel using this that's a module. It's a
> low level function that I don't really want to see more users for.

OK, fair enough, the candidate use I had in mind is probably too ugly to
be submitted upstream anyway.
diff mbox series

Patch

diff --git a/drivers/of/kobj.c b/drivers/of/kobj.c
index a32e60b024b8..d7bbd156a671 100644
--- a/drivers/of/kobj.c
+++ b/drivers/of/kobj.c
@@ -27,6 +27,7 @@  static void of_node_release(struct kobject *kobj)
 struct kobj_type of_node_ktype = {
 	.release = of_node_release,
 };
+EXPORT_SYMBOL_GPL(of_node_ktype);
 
 static ssize_t of_node_property_read(struct file *filp, struct kobject *kobj,
 				struct bin_attribute *bin_attr, char *buf,