void cleanup_module(void) { rt_shutdown_irq(parirq); rt_free_global_irq(parirq); outb(0, PAR_CONTROL); /* Important: First close the socket! */ while (rt_socket_close(sock) == -EAGAIN) { printk("rt_server: Socket busy - waiting...\n"); set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(1*HZ); /* wait a second */ } rt_printk("rt_task_delete() = %d\n",rt_task_delete(&rt_task)); rt_sem_delete(&tx_sem); rtf_destroy(PRINT_FIFO); }
void cleanup_module(void) { rt_shutdown_irq(parirq); rt_free_global_irq(parirq); outb(0, PAR_CONTROL); /* stop timer */ stop_rt_timer(); /* rt_task_delete */ rt_task_delete(&rt_task); /* close th rt-socket */ rt_socket_close(sock); rt_sem_delete(&tx_sem); /* destroy the fifo */ rtf_destroy(PRINT); }
static int comedi_rt_release_irq(struct comedi_irq_struct *it) { rt_shutdown_irq(it->irq); rt_free_global_irq(it->irq); return 0; }