diff options
author | Sukadev Bhattiprolu <sukadev@us.ibm.com> | 2006-09-29 10:59:31 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 18:18:08 +0200 |
commit | 563d075702454f6fa745ff8b0db605c73478078e (patch) | |
tree | 8879eeb7aa0c6f7f944cad5cab6b4587fac977e2 /drivers/base/firmware_class.c | |
parent | [PATCH] rcu: add lock annotations to rcu{,_bh}_torture_read_{lock,unlock} (diff) | |
download | linux-563d075702454f6fa745ff8b0db605c73478078e.tar.xz linux-563d075702454f6fa745ff8b0db605c73478078e.zip |
[PATCH] kthread: drivers/base/firmware_class.c
Replace kernel_thread() call in drivers/base/firmware_class.c with
kthread_create() since kernel_thread() is deprecated in drivers.
Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Serge E. Hallyn <serue@us.ibm.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Manuel Estrada Sainz <ranty@debian.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r-- | drivers/base/firmware_class.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 77bf8826e2f9..14615694ae9a 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -16,6 +16,7 @@ #include <linux/interrupt.h> #include <linux/bitops.h> #include <linux/mutex.h> +#include <linux/kthread.h> #include <linux/firmware.h> #include "base.h" @@ -511,7 +512,6 @@ request_firmware_work_func(void *arg) WARN_ON(1); return 0; } - daemonize("%s/%s", "firmware", fw_work->name); ret = _request_firmware(&fw, fw_work->name, fw_work->device, fw_work->uevent); if (ret < 0) @@ -546,9 +546,9 @@ request_firmware_nowait( const char *name, struct device *device, void *context, void (*cont)(const struct firmware *fw, void *context)) { + struct task_struct *task; struct firmware_work *fw_work = kmalloc(sizeof (struct firmware_work), GFP_ATOMIC); - int ret; if (!fw_work) return -ENOMEM; @@ -566,14 +566,14 @@ request_firmware_nowait( .uevent = uevent, }; - ret = kernel_thread(request_firmware_work_func, fw_work, - CLONE_FS | CLONE_FILES); + task = kthread_run(request_firmware_work_func, fw_work, + "firmware/%s", name); - if (ret < 0) { + if (IS_ERR(task)) { fw_work->cont(NULL, fw_work->context); module_put(fw_work->module); kfree(fw_work); - return ret; + return PTR_ERR(task); } return 0; } |