Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db9c02fa authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Linus Torvalds
Browse files

pnpbios: convert to use the kthread API



This patches modifies the pnpbios kernel thread to start with ktrhead_run
not kernel_thread and deamonize.  Doing this makes the code a little
simpler and easier to maintain.

Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1bd0cf1f
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@
#include <linux/delay.h>
#include <linux/acpi.h>
#include <linux/freezer.h>
#include <linux/kthread.h>

#include <asm/page.h>
#include <asm/desc.h>
@@ -159,9 +160,7 @@ static int pnp_dock_thread(void * unused)
{
	static struct pnp_docking_station_info now;
	int docked = -1, d = 0;
	daemonize("kpnpbiosd");
	allow_signal(SIGKILL);
	while(!unloading && !signal_pending(current))
	while (!unloading)
	{
		int status;
		
@@ -170,11 +169,8 @@ static int pnp_dock_thread(void * unused)
		 */
		msleep_interruptible(2000);

		if(signal_pending(current)) {
		if (try_to_freeze())
			continue;
			break;
		}

		status = pnp_bios_dock_station_info(&now);

@@ -581,6 +577,7 @@ subsys_initcall(pnpbios_init);

static int __init pnpbios_thread_init(void)
{
	struct task_struct *task;
#if defined(CONFIG_PPC_MERGE)
	if (check_legacy_ioport(PNPBIOS_BASE))
		return 0;
@@ -589,7 +586,8 @@ static int __init pnpbios_thread_init(void)
		return 0;
#ifdef CONFIG_HOTPLUG
	init_completion(&unload_sem);
	if (kernel_thread(pnp_dock_thread, NULL, CLONE_KERNEL) > 0)
	task = kthread_run(pnp_dock_thread, NULL, "kpnpbiosd");
	if (!IS_ERR(task))
		unloading = 0;
#endif
	return 0;