void cleanup_module(void) { rt_free_timer(); rt_reset_irq_to_sym_mode(TIMER_8254_IRQ); rt_free_global_irq(TIMER_8254_IRQ); rt_umount_rtai(); }
void cleanup_module(void) { rt_free_timer(); rtf_destroy(CMDF); rt_umount_rtai(); return; }
void cleanup_module(void) { rt_free_timer(); rt_mbx_delete(&mbx); rt_task_delete(&sup_task); rt_printk("HANDLER INTERRUPT MODULE REMOVED, OVERUNS %d\n", overuns); }
void _rtapi_module_timer_stop(void) { stop_rt_timer(); #if RTAI_VERSION <= 400 rt_free_timer(); #else rt_free_timers(); #endif }
void cleanup_module(void) { int cpuid; rt_reset_irq_to_sym_mode(0); CLEAR_8254_TSC_EMULATION; rt_free_timer(); rtf_destroy(CMDF); if (Mode) { rt_sem_delete(&sem); } rt_task_delete(&thread); printk("\n\nCPU USE SUMMARY\n"); for (cpuid = 0; cpuid < NR_RT_CPUS; cpuid++) { printk("# %d -> %d\n", cpuid, cpu_used[cpuid]); } printk("# ints -> %d\n", cpu_used[NR_RT_CPUS]); printk("END OF CPU USE SUMMARY\n\n"); }
void cleanup_module(void) { rt_free_timer(); }
static long long user_srq(unsigned long whatever) { extern int calibrate_8254(void); unsigned long args[MAXARGS]; int ret; ret = copy_from_user(args, (unsigned long *)whatever, MAXARGS*sizeof(unsigned long)); switch (args[0]) { case CAL_8254: { return calibrate_8254(); break; } case KTHREADS: case KLATENCY: { rt_set_oneshot_mode(); period = start_rt_timer(nano2count(args[1])); if (args[0] == KLATENCY) { rt_task_init_cpuid(&rtask, spv, args[2], STACKSIZE, 0, 0, 0, hard_cpu_id()); } else { // rt_kthread_init_cpuid(&rtask, spv, args[2], STACKSIZE, 0, 0, 0, hard_cpu_id()); } expected = rt_get_time() + 100*period; rt_task_make_periodic(&rtask, expected, period); break; } case END_KLATENCY: { stop_rt_timer(); rt_task_delete(&rtask); break; } case FREQ_CAL: { times.intrs = -1; reset_count = args[1]*HZ; count = 0; rt_assign_irq_to_cpu(TIMER_8254_IRQ, 1 << hard_cpu_id()); rt_request_timer(just_ret, COUNT, 1); rt_request_global_irq(TIMER_8254_IRQ, calibrate); break; } case END_FREQ_CAL: { rt_free_timer(); rt_reset_irq_to_sym_mode(TIMER_8254_IRQ); rt_free_global_irq(TIMER_8254_IRQ); break; } case BUS_CHECK: { loops = maxj = 0; bus_period = imuldiv(args[1], CPU_FREQ, 1000000000); bus_threshold = imuldiv(args[2], CPU_FREQ, 1000000000); use_parport = args[3]; rt_assign_irq_to_cpu(TIMER_8254_IRQ, 1 << hard_cpu_id()); rt_request_timer((void *)rt_timer_tick_ext, imuldiv(args[1], FREQ_8254, 1000000000), 0); rt_set_global_irq_ext(TIMER_8254_IRQ, 1, 0); break; } case END_BUS_CHECK: { rt_free_timer(); rt_reset_irq_to_sym_mode(TIMER_8254_IRQ); break; } case GET_PARAMS: { rtf_put(0, ¶ms, sizeof(params)); break; } } return 0; }
void rt_free_apic_timers(void) { rt_free_timer(); }
void _rtapi_module_timer_stop(void) { stop_rt_timer(); rt_free_timer(); }