ChangeSet 1.2452, 2004/11/01 13:06:49-08:00, kay.sievers@vrfy.org [PATCH] take me home, hotplug_path[] Move hotplug_path[] out of kmod.[ch] to kobject_uevent.[ch] where it belongs now. At some time in the future we should fix the remaining bad hotplug calls (no SEQNUM, no netlink uevent): ./drivers/input/input.c (no DEVPATH on some hotplug events!) ./drivers/pnp/pnpbios/core.c ./drivers/s390/crypto/z90main.c Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman drivers/input/input.c | 2 +- drivers/pnp/pnpbios/core.c | 2 +- drivers/s390/crypto/z90main.c | 1 + include/linux/kmod.h | 4 ---- include/linux/kobject_uevent.h | 5 +++++ kernel/cpu.c | 1 - kernel/kmod.c | 23 ----------------------- kernel/sysctl.c | 2 +- lib/kobject_uevent.c | 1 + 9 files changed, 10 insertions(+), 31 deletions(-) diff -Nru a/drivers/input/input.c b/drivers/input/input.c --- a/drivers/input/input.c 2004-11-01 13:35:57 -08:00 +++ b/drivers/input/input.c 2004-11-01 13:35:57 -08:00 @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include diff -Nru a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c --- a/drivers/pnp/pnpbios/core.c 2004-11-01 13:35:57 -08:00 +++ b/drivers/pnp/pnpbios/core.c 2004-11-01 13:35:57 -08:00 @@ -56,7 +56,7 @@ #include #include #include -#include +#include #include #include #include diff -Nru a/drivers/s390/crypto/z90main.c b/drivers/s390/crypto/z90main.c --- a/drivers/s390/crypto/z90main.c 2004-11-01 13:35:57 -08:00 +++ b/drivers/s390/crypto/z90main.c 2004-11-01 13:35:57 -08:00 @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include diff -Nru a/include/linux/kmod.h b/include/linux/kmod.h --- a/include/linux/kmod.h 2004-11-01 13:35:57 -08:00 +++ b/include/linux/kmod.h 2004-11-01 13:35:57 -08:00 @@ -37,8 +37,4 @@ extern int call_usermodehelper(char *path, char *argv[], char *envp[], int wait); extern void usermodehelper_init(void); -#ifdef CONFIG_HOTPLUG -extern char hotplug_path []; -#endif - #endif /* __LINUX_KMOD_H__ */ diff -Nru a/include/linux/kobject_uevent.h b/include/linux/kobject_uevent.h --- a/include/linux/kobject_uevent.h 2004-11-01 13:35:57 -08:00 +++ b/include/linux/kobject_uevent.h 2004-11-01 13:35:57 -08:00 @@ -11,6 +11,11 @@ #ifndef _KOBJECT_EVENT_H_ #define _KOBJECT_EVENT_H_ +#define HOTPLUG_PATH_LEN 256 + +/* path to the hotplug userspace helper executed on an event */ +extern char hotplug_path[]; + /* * If you add an action here, you must also add the proper string to the * lib/kobject_uevent.c file. diff -Nru a/kernel/cpu.c b/kernel/cpu.c --- a/kernel/cpu.c 2004-11-01 13:35:57 -08:00 +++ b/kernel/cpu.c 2004-11-01 13:35:57 -08:00 @@ -11,7 +11,6 @@ #include #include #include -#include /* for hotplug_path */ #include #include #include diff -Nru a/kernel/kmod.c b/kernel/kmod.c --- a/kernel/kmod.c 2004-11-01 13:35:57 -08:00 +++ b/kernel/kmod.c 2004-11-01 13:35:57 -08:00 @@ -115,29 +115,6 @@ EXPORT_SYMBOL(request_module); #endif /* CONFIG_KMOD */ -#ifdef CONFIG_HOTPLUG -/* - hotplug path is set via /proc/sys - invoked by hotplug-aware bus drivers, - with call_usermodehelper - - argv [0] = hotplug_path; - argv [1] = "usb", "scsi", "pci", "network", etc; - ... plus optional type-specific parameters - argv [n] = 0; - - envp [*] = HOME, PATH; optional type-specific parameters - - a hotplug bus should invoke this for device add/remove - events. the command is expected to load drivers when - necessary, and may perform additional system setup. -*/ -char hotplug_path[KMOD_PATH_LEN] = "/sbin/hotplug"; - -EXPORT_SYMBOL(hotplug_path); - -#endif /* CONFIG_HOTPLUG */ - struct subprocess_info { struct completion *complete; char *path; diff -Nru a/kernel/sysctl.c b/kernel/sysctl.c --- a/kernel/sysctl.c 2004-11-01 13:35:57 -08:00 +++ b/kernel/sysctl.c 2004-11-01 13:35:57 -08:00 @@ -394,7 +394,7 @@ .ctl_name = KERN_HOTPLUG, .procname = "hotplug", .data = &hotplug_path, - .maxlen = KMOD_PATH_LEN, + .maxlen = HOTPLUG_PATH_LEN, .mode = 0644, .proc_handler = &proc_dostring, .strategy = &sysctl_string, diff -Nru a/lib/kobject_uevent.c b/lib/kobject_uevent.c --- a/lib/kobject_uevent.c 2004-11-01 13:35:57 -08:00 +++ b/lib/kobject_uevent.c 2004-11-01 13:35:57 -08:00 @@ -177,6 +177,7 @@ #ifdef CONFIG_HOTPLUG +char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug"; u64 hotplug_seqnum; static spinlock_t sequence_lock = SPIN_LOCK_UNLOCKED;