Use kthread instead of kernel_thread
Klaus-Dieter Wacker [Tue, 24 Mar 2009 03:27:43 +0000 (03:27 +0000)]
Lcs uses low-level kernel_thread implementation.
All drivers should use <linux/kthread.h> API instead.

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/s390/net/lcs.c

index 083f787..840dbf3 100644 (file)
@@ -39,6 +39,7 @@
 #include <linux/in.h>
 #include <linux/igmp.h>
 #include <linux/delay.h>
+#include <linux/kthread.h>
 #include <net/arp.h>
 #include <net/ip.h>
 
@@ -1259,7 +1260,6 @@ lcs_register_mc_addresses(void *data)
        struct in_device *in4_dev;
 
        card = (struct lcs_card *) data;
-       daemonize("regipm");
 
        if (!lcs_do_run_thread(card, LCS_SET_MC_THREAD))
                return 0;
@@ -1753,11 +1753,10 @@ lcs_start_kernel_thread(struct work_struct *work)
        struct lcs_card *card = container_of(work, struct lcs_card, kernel_thread_starter);
        LCS_DBF_TEXT(5, trace, "krnthrd");
        if (lcs_do_start_thread(card, LCS_RECOVERY_THREAD))
-               kernel_thread(lcs_recovery, (void *) card, SIGCHLD);
+               kthread_run(lcs_recovery, card, "lcs_recover");
 #ifdef CONFIG_IP_MULTICAST
        if (lcs_do_start_thread(card, LCS_SET_MC_THREAD))
-               kernel_thread(lcs_register_mc_addresses,
-                               (void *) card, SIGCHLD);
+               kthread_run(lcs_register_mc_addresses, card, "regipm");
 #endif
 }
 
@@ -2269,7 +2268,6 @@ lcs_recovery(void *ptr)
         int rc;
 
        card = (struct lcs_card *) ptr;
-       daemonize("lcs_recover");
 
        LCS_DBF_TEXT(4, trace, "recover1");
        if (!lcs_do_run_thread(card, LCS_RECOVERY_THREAD))