* [BK] Changing driver core/sysfs/kobject symbol exports to GPL only
@ 2004-09-25 3:42 Patrick Mochel
2004-09-25 3:55 ` Greg KH
2004-09-25 4:24 ` Dmitry Torokhov
0 siblings, 2 replies; 5+ messages in thread
From: Patrick Mochel @ 2004-09-25 3:42 UTC (permalink / raw)
To: greg; +Cc: linux-kernel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 5480 bytes --]
What's life without a little controversey once in a while?
The attached patch and referenced BK tree changes all the symbol exports
in the driver core, sysfs, and the kobject core to EXPORT_SYMBOL_GPL [1].
While I derive a certain amount of pleasure from being cantankerous, the
justification is more pragmatic. The users of these functions are all, in
most cases, other subsystems, which provide a layer of abstraction for the
downstream users (drivers, etc). The exportation of these wrappers is of
course under the control of that subsystem.
Many of those subsystems cannot be built modularly [2]. I have no idea,
and it is impossible to tell, if and how many out-of-tree subsystems (a)
there are and (b) use any of these functions.
What's more is that if anything is to change in these functions, either in
form or in semantics, it will have a direct effect on the users. and in
the absence of auditing could cause obscure bugs. Throughout the course of
development, we've tried to make sure that nothing broke when core changes
were made. Of course mistakes have been made, but not nearly so many if
any of the subsystems we were effecting had been out of the tree.
In short, being able to audit all of the users of these functions is
necessary to their continued evolution (whatever that may entail). It
would make the most sense if all users were part of the kernel, and it
makes little sense to suppor their use by any unknown or binary modules.
So, my question is - does this make sense to others? Are there are any
technical reasons for not doing this? If not, then please apply/pull.
Thanks,
Pat
[1] - Well, it at least changes the files that I originally created. Some
of those include functions that Greg actually wrote, but I figure he'll
accept/reject them with the rest..
[2] - It would be good to remove the symbols that are not used by any
known modules, but that's fodder for another set of patches.
Please pull from
bk://kernel.bkbits.net:/home/mochel/linux-2.6-core
This will update the following files:
drivers/base/bus.c | 28 ++++++++++++++--------------
drivers/base/class.c | 34 +++++++++++++++++-----------------
drivers/base/core.c | 22 +++++++++++-----------
drivers/base/driver.c | 14 +++++++-------
drivers/base/firmware.c | 4 ++--
drivers/base/platform.c | 16 ++++++++--------
drivers/base/power/main.c | 2 +-
drivers/base/power/resume.c | 4 ++--
drivers/base/power/suspend.c | 4 ++--
drivers/base/sys.c | 16 ++++++++--------
fs/sysfs/bin.c | 4 ++--
fs/sysfs/dir.c | 6 +++---
fs/sysfs/file.c | 6 +++---
fs/sysfs/group.c | 4 ++--
fs/sysfs/symlink.c | 4 ++--
15 files changed, 84 insertions(+), 84 deletions(-)
through these ChangeSets:
<mochel@digitalimplant.org> (04/09/24 1.1946.5.15)
[driver core] Change symbol exports to GPL only in power/suspend.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.14)
[driver core] Change symbol exports to GPL only in power/resume.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.13)
[driver core] Change symbol exports to GPL only in power/main.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.12)
[sysfs] Change symbol exports to GPL only in symlink.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.11)
[sysfs] Change symbol exports to GPL only in group.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.10)
[sysfs] Change symbol exports to GPL only in file.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.9)
[sysfs] Change symbol exports to GPL only in dir.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.8)
[sysfs] Change symbol exports to GPL only in bin.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.7)
[driver model] Change symbol exports to GPL only in sys.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.6)
[driver model] Change symbol exports to GPL only in platform.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.5)
[driver model] Change symbol exports to GPL only in firmware.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.4)
[driver model] Change symbol exports to GPL only in driver.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.3)
[driver model] Change symbol exports to GPL only in core.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.2)
[driver model] Change sybmols exports to GPL only in class.c
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
<mochel@digitalimplant.org> (04/09/24 1.1946.5.1)
[driver model] Change symbol exports to GPL only in drivers/base/bus.c.
Signed-of-by Patrick Mochel <mochel@digitalimplant.org>
[-- Attachment #2: Type: TEXT/PLAIN, Size: 13106 bytes --]
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/bus.c linux-2.6-core/drivers/base/bus.c
--- linux-2.6/drivers/base/bus.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/bus.c 2004-09-24 11:53:37.000000000 -0700
@@ -721,20 +721,20 @@
}
-EXPORT_SYMBOL(bus_for_each_dev);
-EXPORT_SYMBOL(bus_for_each_drv);
+EXPORT_SYMBOL_GPL(bus_for_each_dev);
+EXPORT_SYMBOL_GPL(bus_for_each_drv);
-EXPORT_SYMBOL(device_bind_driver);
-EXPORT_SYMBOL(device_release_driver);
+EXPORT_SYMBOL_GPL(device_bind_driver);
+EXPORT_SYMBOL_GPL(device_release_driver);
-EXPORT_SYMBOL(bus_add_device);
-EXPORT_SYMBOL(bus_remove_device);
-EXPORT_SYMBOL(bus_register);
-EXPORT_SYMBOL(bus_unregister);
-EXPORT_SYMBOL(bus_rescan_devices);
-EXPORT_SYMBOL(get_bus);
-EXPORT_SYMBOL(put_bus);
-EXPORT_SYMBOL(find_bus);
+EXPORT_SYMBOL_GPL(bus_add_device);
+EXPORT_SYMBOL_GPL(bus_remove_device);
+EXPORT_SYMBOL_GPL(bus_register);
+EXPORT_SYMBOL_GPL(bus_unregister);
+EXPORT_SYMBOL_GPL(bus_rescan_devices);
+EXPORT_SYMBOL_GPL(get_bus);
+EXPORT_SYMBOL_GPL(put_bus);
+EXPORT_SYMBOL_GPL(find_bus);
-EXPORT_SYMBOL(bus_create_file);
-EXPORT_SYMBOL(bus_remove_file);
+EXPORT_SYMBOL_GPL(bus_create_file);
+EXPORT_SYMBOL_GPL(bus_remove_file);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/class.c linux-2.6-core/drivers/base/class.c
--- linux-2.6/drivers/base/class.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/class.c 2004-09-24 11:53:37.000000000 -0700
@@ -528,22 +528,22 @@
return 0;
}
-EXPORT_SYMBOL(class_create_file);
-EXPORT_SYMBOL(class_remove_file);
-EXPORT_SYMBOL(class_register);
-EXPORT_SYMBOL(class_unregister);
-EXPORT_SYMBOL(class_get);
-EXPORT_SYMBOL(class_put);
+EXPORT_SYMBOL_GPL(class_create_file);
+EXPORT_SYMBOL_GPL(class_remove_file);
+EXPORT_SYMBOL_GPL(class_register);
+EXPORT_SYMBOL_GPL(class_unregister);
+EXPORT_SYMBOL_GPL(class_get);
+EXPORT_SYMBOL_GPL(class_put);
-EXPORT_SYMBOL(class_device_register);
-EXPORT_SYMBOL(class_device_unregister);
-EXPORT_SYMBOL(class_device_initialize);
-EXPORT_SYMBOL(class_device_add);
-EXPORT_SYMBOL(class_device_del);
-EXPORT_SYMBOL(class_device_get);
-EXPORT_SYMBOL(class_device_put);
-EXPORT_SYMBOL(class_device_create_file);
-EXPORT_SYMBOL(class_device_remove_file);
+EXPORT_SYMBOL_GPL(class_device_register);
+EXPORT_SYMBOL_GPL(class_device_unregister);
+EXPORT_SYMBOL_GPL(class_device_initialize);
+EXPORT_SYMBOL_GPL(class_device_add);
+EXPORT_SYMBOL_GPL(class_device_del);
+EXPORT_SYMBOL_GPL(class_device_get);
+EXPORT_SYMBOL_GPL(class_device_put);
+EXPORT_SYMBOL_GPL(class_device_create_file);
+EXPORT_SYMBOL_GPL(class_device_remove_file);
-EXPORT_SYMBOL(class_interface_register);
-EXPORT_SYMBOL(class_interface_unregister);
+EXPORT_SYMBOL_GPL(class_interface_register);
+EXPORT_SYMBOL_GPL(class_interface_unregister);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/core.c linux-2.6-core/drivers/base/core.c
--- linux-2.6/drivers/base/core.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/core.c 2004-09-24 11:53:37.000000000 -0700
@@ -401,17 +401,17 @@
return subsystem_register(&devices_subsys);
}
-EXPORT_SYMBOL(device_for_each_child);
+EXPORT_SYMBOL_GPL(device_for_each_child);
-EXPORT_SYMBOL(device_initialize);
-EXPORT_SYMBOL(device_add);
-EXPORT_SYMBOL(device_register);
+EXPORT_SYMBOL_GPL(device_initialize);
+EXPORT_SYMBOL_GPL(device_add);
+EXPORT_SYMBOL_GPL(device_register);
-EXPORT_SYMBOL(device_del);
-EXPORT_SYMBOL(device_unregister);
-EXPORT_SYMBOL(get_device);
-EXPORT_SYMBOL(put_device);
-EXPORT_SYMBOL(device_find);
+EXPORT_SYMBOL_GPL(device_del);
+EXPORT_SYMBOL_GPL(device_unregister);
+EXPORT_SYMBOL_GPL(get_device);
+EXPORT_SYMBOL_GPL(put_device);
+EXPORT_SYMBOL_GPL(device_find);
-EXPORT_SYMBOL(device_create_file);
-EXPORT_SYMBOL(device_remove_file);
+EXPORT_SYMBOL_GPL(device_create_file);
+EXPORT_SYMBOL_GPL(device_remove_file);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/driver.c linux-2.6-core/drivers/base/driver.c
--- linux-2.6/drivers/base/driver.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/driver.c 2004-09-24 11:53:37.000000000 -0700
@@ -129,11 +129,11 @@
return NULL;
}
-EXPORT_SYMBOL(driver_register);
-EXPORT_SYMBOL(driver_unregister);
-EXPORT_SYMBOL(get_driver);
-EXPORT_SYMBOL(put_driver);
-EXPORT_SYMBOL(driver_find);
+EXPORT_SYMBOL_GPL(driver_register);
+EXPORT_SYMBOL_GPL(driver_unregister);
+EXPORT_SYMBOL_GPL(get_driver);
+EXPORT_SYMBOL_GPL(put_driver);
+EXPORT_SYMBOL_GPL(driver_find);
-EXPORT_SYMBOL(driver_create_file);
-EXPORT_SYMBOL(driver_remove_file);
+EXPORT_SYMBOL_GPL(driver_create_file);
+EXPORT_SYMBOL_GPL(driver_remove_file);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/firmware.c linux-2.6-core/drivers/base/firmware.c
--- linux-2.6/drivers/base/firmware.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/firmware.c 2004-09-24 11:53:37.000000000 -0700
@@ -30,5 +30,5 @@
return subsystem_register(&firmware_subsys);
}
-EXPORT_SYMBOL(firmware_register);
-EXPORT_SYMBOL(firmware_unregister);
+EXPORT_SYMBOL_GPL(firmware_register);
+EXPORT_SYMBOL_GPL(firmware_unregister);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/platform.c linux-2.6-core/drivers/base/platform.c
--- linux-2.6/drivers/base/platform.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/platform.c 2004-09-24 11:53:37.000000000 -0700
@@ -298,13 +298,13 @@
}
return mask & *dev->dma_mask;
}
-EXPORT_SYMBOL(dma_get_required_mask);
+EXPORT_SYMBOL_GPL(dma_get_required_mask);
#endif
-EXPORT_SYMBOL(platform_bus);
-EXPORT_SYMBOL(platform_bus_type);
-EXPORT_SYMBOL(platform_device_register);
-EXPORT_SYMBOL(platform_device_register_simple);
-EXPORT_SYMBOL(platform_device_unregister);
-EXPORT_SYMBOL(platform_get_irq);
-EXPORT_SYMBOL(platform_get_resource);
+EXPORT_SYMBOL_GPL(platform_bus);
+EXPORT_SYMBOL_GPL(platform_bus_type);
+EXPORT_SYMBOL_GPL(platform_device_register);
+EXPORT_SYMBOL_GPL(platform_device_register_simple);
+EXPORT_SYMBOL_GPL(platform_device_unregister);
+EXPORT_SYMBOL_GPL(platform_get_irq);
+EXPORT_SYMBOL_GPL(platform_get_resource);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/power/main.c linux-2.6-core/drivers/base/power/main.c
--- linux-2.6/drivers/base/power/main.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/power/main.c 2004-09-24 19:26:03.000000000 -0700
@@ -66,7 +66,7 @@
dev->power.pm_parent = parent;
device_pm_hold(parent);
}
-EXPORT_SYMBOL(device_pm_set_parent);
+EXPORT_SYMBOL_GPL(device_pm_set_parent);
int device_pm_add(struct device * dev)
{
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/power/resume.c linux-2.6-core/drivers/base/power/resume.c
--- linux-2.6/drivers/base/power/resume.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/power/resume.c 2004-09-24 19:26:03.000000000 -0700
@@ -58,7 +58,7 @@
up(&dpm_sem);
}
-EXPORT_SYMBOL(device_resume);
+EXPORT_SYMBOL_GPL(device_resume);
/**
@@ -97,6 +97,6 @@
dpm_power_up();
}
-EXPORT_SYMBOL(device_power_up);
+EXPORT_SYMBOL_GPL(device_power_up);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/power/suspend.c linux-2.6-core/drivers/base/power/suspend.c
--- linux-2.6/drivers/base/power/suspend.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/power/suspend.c 2004-09-24 19:26:03.000000000 -0700
@@ -100,7 +100,7 @@
goto Done;
}
-EXPORT_SYMBOL(device_suspend);
+EXPORT_SYMBOL_GPL(device_suspend);
/**
@@ -132,5 +132,5 @@
goto Done;
}
-EXPORT_SYMBOL(device_power_down);
+EXPORT_SYMBOL_GPL(device_power_down);
diff -Nur -X /home/mochel/dontdiff linux-2.6/drivers/base/sys.c linux-2.6-core/drivers/base/sys.c
--- linux-2.6/drivers/base/sys.c 2004-09-23 12:04:36.000000000 -0700
+++ linux-2.6-core/drivers/base/sys.c 2004-09-24 11:53:37.000000000 -0700
@@ -73,8 +73,8 @@
sysfs_remove_file(&s->kobj, &a->attr);
}
-EXPORT_SYMBOL(sysdev_create_file);
-EXPORT_SYMBOL(sysdev_remove_file);
+EXPORT_SYMBOL_GPL(sysdev_create_file);
+EXPORT_SYMBOL_GPL(sysdev_remove_file);
/*
* declare system_subsys
@@ -98,8 +98,8 @@
kset_unregister(&cls->kset);
}
-EXPORT_SYMBOL(sysdev_class_register);
-EXPORT_SYMBOL(sysdev_class_unregister);
+EXPORT_SYMBOL_GPL(sysdev_class_register);
+EXPORT_SYMBOL_GPL(sysdev_class_unregister);
static LIST_HEAD(global_drivers);
@@ -157,8 +157,8 @@
up_write(&system_subsys.rwsem);
}
-EXPORT_SYMBOL(sysdev_driver_register);
-EXPORT_SYMBOL(sysdev_driver_unregister);
+EXPORT_SYMBOL_GPL(sysdev_driver_register);
+EXPORT_SYMBOL_GPL(sysdev_driver_unregister);
@@ -392,5 +392,5 @@
return subsystem_register(&system_subsys);
}
-EXPORT_SYMBOL(sysdev_register);
-EXPORT_SYMBOL(sysdev_unregister);
+EXPORT_SYMBOL_GPL(sysdev_register);
+EXPORT_SYMBOL_GPL(sysdev_unregister);
diff -Nur -X /home/mochel/dontdiff linux-2.6/fs/sysfs/bin.c linux-2.6-core/fs/sysfs/bin.c
--- linux-2.6/fs/sysfs/bin.c 2004-09-23 12:05:16.000000000 -0700
+++ linux-2.6-core/fs/sysfs/bin.c 2004-09-24 11:53:40.000000000 -0700
@@ -199,5 +199,5 @@
return 0;
}
-EXPORT_SYMBOL(sysfs_create_bin_file);
-EXPORT_SYMBOL(sysfs_remove_bin_file);
+EXPORT_SYMBOL_GPL(sysfs_create_bin_file);
+EXPORT_SYMBOL_GPL(sysfs_remove_bin_file);
diff -Nur -X /home/mochel/dontdiff linux-2.6/fs/sysfs/dir.c linux-2.6-core/fs/sysfs/dir.c
--- linux-2.6/fs/sysfs/dir.c 2004-09-23 12:05:16.000000000 -0700
+++ linux-2.6-core/fs/sysfs/dir.c 2004-09-24 11:53:40.000000000 -0700
@@ -193,7 +193,7 @@
return error;
}
-EXPORT_SYMBOL(sysfs_create_dir);
-EXPORT_SYMBOL(sysfs_remove_dir);
-EXPORT_SYMBOL(sysfs_rename_dir);
+EXPORT_SYMBOL_GPL(sysfs_create_dir);
+EXPORT_SYMBOL_GPL(sysfs_remove_dir);
+EXPORT_SYMBOL_GPL(sysfs_rename_dir);
diff -Nur -X /home/mochel/dontdiff linux-2.6/fs/sysfs/file.c linux-2.6-core/fs/sysfs/file.c
--- linux-2.6/fs/sysfs/file.c 2004-09-23 12:05:16.000000000 -0700
+++ linux-2.6-core/fs/sysfs/file.c 2004-09-24 11:53:40.000000000 -0700
@@ -436,7 +436,7 @@
}
-EXPORT_SYMBOL(sysfs_create_file);
-EXPORT_SYMBOL(sysfs_remove_file);
-EXPORT_SYMBOL(sysfs_update_file);
+EXPORT_SYMBOL_GPL(sysfs_create_file);
+EXPORT_SYMBOL_GPL(sysfs_remove_file);
+EXPORT_SYMBOL_GPL(sysfs_update_file);
diff -Nur -X /home/mochel/dontdiff linux-2.6/fs/sysfs/group.c linux-2.6-core/fs/sysfs/group.c
--- linux-2.6/fs/sysfs/group.c 2004-09-23 12:05:16.000000000 -0700
+++ linux-2.6-core/fs/sysfs/group.c 2004-09-24 11:53:40.000000000 -0700
@@ -78,5 +78,5 @@
}
-EXPORT_SYMBOL(sysfs_create_group);
-EXPORT_SYMBOL(sysfs_remove_group);
+EXPORT_SYMBOL_GPL(sysfs_create_group);
+EXPORT_SYMBOL_GPL(sysfs_remove_group);
diff -Nur -X /home/mochel/dontdiff linux-2.6/fs/sysfs/symlink.c linux-2.6-core/fs/sysfs/symlink.c
--- linux-2.6/fs/sysfs/symlink.c 2004-09-23 12:05:16.000000000 -0700
+++ linux-2.6-core/fs/sysfs/symlink.c 2004-09-24 11:53:40.000000000 -0700
@@ -159,6 +159,6 @@
free_page((unsigned long)page);
}
-EXPORT_SYMBOL(sysfs_create_link);
-EXPORT_SYMBOL(sysfs_remove_link);
+EXPORT_SYMBOL_GPL(sysfs_create_link);
+EXPORT_SYMBOL_GPL(sysfs_remove_link);
diff -Nur -X /home/mochel/dontdiff linux-2.6/lib/kobject.c linux-2.6-core/lib/kobject.c
--- linux-2.6/lib/kobject.c 2004-09-23 12:05:32.000000000 -0700
+++ linux-2.6-core/lib/kobject.c 2004-09-24 11:54:51.000000000 -0700
@@ -393,7 +393,7 @@
return error;
}
-EXPORT_SYMBOL(kobject_set_name);
+EXPORT_SYMBOL_GPL(kobject_set_name);
/**
@@ -645,23 +645,23 @@
}
}
-EXPORT_SYMBOL(kobject_get_path);
-EXPORT_SYMBOL(kobject_init);
-EXPORT_SYMBOL(kobject_register);
-EXPORT_SYMBOL(kobject_unregister);
-EXPORT_SYMBOL(kobject_get);
-EXPORT_SYMBOL(kobject_put);
-EXPORT_SYMBOL(kobject_add);
-EXPORT_SYMBOL(kobject_del);
-EXPORT_SYMBOL(kobject_rename);
-EXPORT_SYMBOL(kobject_hotplug);
-
-EXPORT_SYMBOL(kset_register);
-EXPORT_SYMBOL(kset_unregister);
-EXPORT_SYMBOL(kset_find_obj);
-
-EXPORT_SYMBOL(subsystem_init);
-EXPORT_SYMBOL(subsystem_register);
-EXPORT_SYMBOL(subsystem_unregister);
-EXPORT_SYMBOL(subsys_create_file);
-EXPORT_SYMBOL(subsys_remove_file);
+EXPORT_SYMBOL_GPL(kobject_get_path);
+EXPORT_SYMBOL_GPL(kobject_init);
+EXPORT_SYMBOL_GPL(kobject_register);
+EXPORT_SYMBOL_GPL(kobject_unregister);
+EXPORT_SYMBOL_GPL(kobject_get);
+EXPORT_SYMBOL_GPL(kobject_put);
+EXPORT_SYMBOL_GPL(kobject_add);
+EXPORT_SYMBOL_GPL(kobject_del);
+EXPORT_SYMBOL_GPL(kobject_rename);
+EXPORT_SYMBOL_GPL(kobject_hotplug);
+
+EXPORT_SYMBOL_GPL(kset_register);
+EXPORT_SYMBOL_GPL(kset_unregister);
+EXPORT_SYMBOL_GPL(kset_find_obj);
+
+EXPORT_SYMBOL_GPL(subsystem_init);
+EXPORT_SYMBOL_GPL(subsystem_register);
+EXPORT_SYMBOL_GPL(subsystem_unregister);
+EXPORT_SYMBOL_GPL(subsys_create_file);
+EXPORT_SYMBOL_GPL(subsys_remove_file);
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [BK] Changing driver core/sysfs/kobject symbol exports to GPL only
2004-09-25 3:42 [BK] Changing driver core/sysfs/kobject symbol exports to GPL only Patrick Mochel
@ 2004-09-25 3:55 ` Greg KH
2004-09-25 4:24 ` Dmitry Torokhov
1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2004-09-25 3:55 UTC (permalink / raw)
To: Patrick Mochel; +Cc: linux-kernel
On Fri, Sep 24, 2004 at 08:42:31PM -0700, Patrick Mochel wrote:
>
> What's life without a little controversey once in a while?
Boring :)
> Many of those subsystems cannot be built modularly [2].
Hey, some of them can. Like i2c and usb for example. And one of these
days we'll get pci modular just because it's a fun thing to attempt.
> So, my question is - does this make sense to others?
Yes, I completely agree with this change.
> Are there are any technical reasons for not doing this?
Nope.
> If not, then please apply/pull.
I will do so in a few minutes, thanks for the patches.
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BK] Changing driver core/sysfs/kobject symbol exports to GPL only
2004-09-25 3:42 [BK] Changing driver core/sysfs/kobject symbol exports to GPL only Patrick Mochel
2004-09-25 3:55 ` Greg KH
@ 2004-09-25 4:24 ` Dmitry Torokhov
2004-09-25 4:36 ` Patrick Mochel
1 sibling, 1 reply; 5+ messages in thread
From: Dmitry Torokhov @ 2004-09-25 4:24 UTC (permalink / raw)
To: linux-kernel; +Cc: Patrick Mochel, greg
On Friday 24 September 2004 10:42 pm, Patrick Mochel wrote:
> What's life without a little controversey once in a while?
>
> The attached patch and referenced BK tree changes all the symbol exports
> in the driver core, sysfs, and the kobject core to EXPORT_SYMBOL_GPL [1].
May I ask to keep class_simple and maybe platform_device_register_simple
available to non-GPL modules. These functions offer limited and documented
semantic and while it is impossible to build entire new subsystem around
them it will allow non-GPL stuff still be somewhat integrated - standard
hotplug mostly I think...
--
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BK] Changing driver core/sysfs/kobject symbol exports to GPL only
2004-09-25 4:24 ` Dmitry Torokhov
@ 2004-09-25 4:36 ` Patrick Mochel
2004-09-25 4:57 ` Dmitry Torokhov
0 siblings, 1 reply; 5+ messages in thread
From: Patrick Mochel @ 2004-09-25 4:36 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: linux-kernel, greg
On Fri, 24 Sep 2004, Dmitry Torokhov wrote:
> On Friday 24 September 2004 10:42 pm, Patrick Mochel wrote:
> > What's life without a little controversey once in a while?
> >
> > The attached patch and referenced BK tree changes all the symbol exports
> > in the driver core, sysfs, and the kobject core to EXPORT_SYMBOL_GPL [1].
>
> May I ask to keep class_simple and maybe platform_device_register_simple
> available to non-GPL modules. These functions offer limited and documented
> semantic and while it is impossible to build entire new subsystem around
> them it will allow non-GPL stuff still be somewhat integrated - standard
> hotplug mostly I think...
I didn't touch class_simple. Are there really external modules that use
platform_device_register_simple(), or you speaking hypothetically?
IOW, this is a call to anyone that has external modules (that aren't GPL)
to step up and claim usage and make arguments for their non-GPL
exportability.
Pat
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BK] Changing driver core/sysfs/kobject symbol exports to GPL only
2004-09-25 4:36 ` Patrick Mochel
@ 2004-09-25 4:57 ` Dmitry Torokhov
0 siblings, 0 replies; 5+ messages in thread
From: Dmitry Torokhov @ 2004-09-25 4:57 UTC (permalink / raw)
To: Patrick Mochel; +Cc: linux-kernel, greg
On Friday 24 September 2004 11:36 pm, Patrick Mochel wrote:
>
> On Fri, 24 Sep 2004, Dmitry Torokhov wrote:
>
> > On Friday 24 September 2004 10:42 pm, Patrick Mochel wrote:
> > > What's life without a little controversey once in a while?
> > >
> > > The attached patch and referenced BK tree changes all the symbol exports
> > > in the driver core, sysfs, and the kobject core to EXPORT_SYMBOL_GPL [1].
> >
> > May I ask to keep class_simple and maybe platform_device_register_simple
> > available to non-GPL modules. These functions offer limited and documented
> > semantic and while it is impossible to build entire new subsystem around
> > them it will allow non-GPL stuff still be somewhat integrated - standard
> > hotplug mostly I think...
>
> I didn't touch class_simple.
OOps, my bad. I thought I've seen it there... Must be my tired eyes playing
tricks on me.
> Are there really external modules that use
> platform_device_register_simple(), or you speaking hypothetically?
Since I just recently added it (for serio sysfs benefits mostly) I highly
doubt that anyone else uses it. On the other hand it is very very limited
and may be suited for "wierd" cases that do not use existing subsystems.
But then I doubt that any non-GPL would do anything besides PCI/USB/1394
Now that I gave it some more thought I am sure that
platform_device_register_simple can be safely switched to EXPORT_SYMBOL_GPL
Sorry for the noise.
--
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-09-25 4:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-25 3:42 [BK] Changing driver core/sysfs/kobject symbol exports to GPL only Patrick Mochel
2004-09-25 3:55 ` Greg KH
2004-09-25 4:24 ` Dmitry Torokhov
2004-09-25 4:36 ` Patrick Mochel
2004-09-25 4:57 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox