Exemplo n.º 1
0
static void __exit aotom_cleanup_module(void)
{
	int i;

	if (aotom_standby == pm_power_off)
		pm_power_off = NULL;
	
	if(!draw_thread_stop && draw_task)
		kthread_stop(draw_task);

	for (i = 0; i < LASTLED; i++)
		if(!led_state[i].stop && led_state[i].led_task) {
			up(&led_state[i].led_sem);
			kthread_stop(led_state[i].led_task);
		}

	while(!draw_thread_stop && !led_thread_active())
		msleep(1);

	dprintk(5, "[BTN] unloading ...\n");
	button_dev_exit();

	unregister_chrdev(VFD_MAJOR,"VFD");
	YWPANEL_VFD_Term();
	printk("Fulan front panel module unloading\n");
}
Exemplo n.º 2
0
static void __exit aotom_cleanup_module(void)
{
	remove_proc_entry(NAME_NODE, own_proc_dir);
	dprintk(5, "Remove .../proc/%s\n", NAME_DIR);
	remove_proc_entry(NAME_DIR, NULL);
	dprintk(5, "Remove .../proc/%s/%s\n", NAME_DIR, NAME_NODE);
	
	dprintk(5, "[BTN] unloading ...\n");
	button_dev_exit();

	//kthread_stop(time_thread);

	unregister_chrdev(VFD_MAJOR,"VFD");
	
	printk("Fulan front panel module unloading\n");
}
Exemplo n.º 3
0
void __exit button_exit(void)
{
	dprintk("unloading ...\n");

	button_dev_exit();
}