diff -r 388901f44a5e -r 60ca68d853b8 examples/dc_rtai/dc_rtai_sample.c --- a/examples/dc_rtai/dc_rtai_sample.c Tue Jul 28 16:06:21 2009 +0000 +++ b/examples/dc_rtai/dc_rtai_sample.c Wed Jul 29 09:19:53 2009 +0000 @@ -238,24 +238,28 @@ /*****************************************************************************/ -void send_callback(ec_master_t *master) -{ +void send_callback(void *cb_data) +{ + ec_master_t *m = (ec_master_t *) cb_data; + // too close to the next real time cycle: deny access... if (get_cycles() - t_last_cycle <= t_critical) { rt_sem_wait(&master_sem); - ecrt_master_send_ext(master); + ecrt_master_send_ext(m); rt_sem_signal(&master_sem); } } /*****************************************************************************/ -void receive_callback(ec_master_t *master) -{ +void receive_callback(void *cb_data) +{ + ec_master_t *m = (ec_master_t *) cb_data; + // too close to the next real time cycle: deny access... if (get_cycles() - t_last_cycle <= t_critical) { rt_sem_wait(&master_sem); - ecrt_master_receive(master); + ecrt_master_receive(m); rt_sem_signal(&master_sem); } } @@ -281,7 +285,7 @@ goto out_return; } - ecrt_master_callbacks(master, send_callback, receive_callback); + ecrt_master_callbacks(master, send_callback, receive_callback, master); printk(KERN_INFO PFX "Registering domain...\n"); if (!(domain1 = ecrt_master_create_domain(master))) {