2020-11-26 15:04:08

by Chanho Park

[permalink] [raw]
Subject: [PATCH] drivers core: export symbols for device hotplug

To support module build for cpu hotplug driver on type-1 hypervisor
such as drivers/xen/cpu_hotplug.c, we need to export below four symbols.

lock_device_hotplug / unlock_device_hotplug
device_online / device_offline

Signed-off-by: Chanho Park <[email protected]>
---
drivers/base/core.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index d661ada1518f..1bfd0c54a778 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1586,11 +1586,13 @@ void lock_device_hotplug(void)
{
mutex_lock(&device_hotplug_lock);
}
+EXPORT_SYMBOL_GPL(lock_device_hotplug);

void unlock_device_hotplug(void)
{
mutex_unlock(&device_hotplug_lock);
}
+EXPORT_SYMBOL_GPL(unlock_device_hotplug);

int lock_device_hotplug_sysfs(void)
{
@@ -3419,6 +3421,7 @@ int device_offline(struct device *dev)

return ret;
}
+EXPORT_SYMBOL_GPL(device_offline);

/**
* device_online - Put the device back online after successful device_offline().
@@ -3450,6 +3453,7 @@ int device_online(struct device *dev)

return ret;
}
+EXPORT_SYMBOL_GPL(device_online);

struct root_device {
struct device dev;
--
2.23.0


2020-11-26 17:26:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] drivers core: export symbols for device hotplug

On Fri, Nov 27, 2020 at 12:01:38AM +0900, Chanho Park wrote:
> To support module build for cpu hotplug driver on type-1 hypervisor
> such as drivers/xen/cpu_hotplug.c, we need to export below four symbols.
>
> lock_device_hotplug / unlock_device_hotplug
> device_online / device_offline
>
> Signed-off-by: Chanho Park <[email protected]>
> ---
> drivers/base/core.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index d661ada1518f..1bfd0c54a778 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -1586,11 +1586,13 @@ void lock_device_hotplug(void)
> {
> mutex_lock(&device_hotplug_lock);
> }
> +EXPORT_SYMBOL_GPL(lock_device_hotplug);

Ick, really? Anyway, where is the follow-on patch that uses this in a
module? We need that in order to export these otherwise we will just
un-export them with no in-kernel users.

thanks,

greg k-h