[Xenomai-git] Gilles Chanteperdrix : drivers/testing: adapt timerbench after RTDM changes
Module: xenomai-gch Branch: for-forge-rtdm-rework Commit: 0abbd5240c737b5d704f660844f52d97cef70195 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=0abbd5240c737b5d704f660844f52d97cef70195 Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Sat Feb 1 20:22:27 2014 +0100 drivers/testing: adapt timerbench after RTDM changes --- kernel/drivers/testing/timerbench.c | 89 +++ 1 file changed, 39 insertions(+), 50 deletions(-) diff --git a/kernel/drivers/testing/timerbench.c b/kernel/drivers/testing/timerbench.c index af75d56..4cf6c44 100644 --- a/kernel/drivers/testing/timerbench.c +++ b/kernel/drivers/testing/timerbench.c @@ -186,12 +186,11 @@ static void timer_proc(rtdm_timer_t *timer) } while (err); } -static int rt_tmbench_open(struct rtdm_dev_context *context, - rtdm_user_info_t *user_info, int oflags) +static int rt_tmbench_open(struct rtdm_fd *context, int oflags) { struct rt_tmbench_context *ctx; - ctx = (struct rt_tmbench_context *)context-dev_private; + ctx = rtdm_context_to_private(context); ctx-mode = RTTST_TMBENCH_INVALID; sema_init(ctx-nrt_mutex, 1); @@ -199,12 +198,11 @@ static int rt_tmbench_open(struct rtdm_dev_context *context, return 0; } -static int rt_tmbench_close(struct rtdm_dev_context *context, - rtdm_user_info_t *user_info) +static void rt_tmbench_close(struct rtdm_fd *context) { struct rt_tmbench_context *ctx; - ctx = (struct rt_tmbench_context *)context-dev_private; + ctx = rtdm_context_to_private(context); down(ctx-nrt_mutex); @@ -224,13 +222,10 @@ static int rt_tmbench_close(struct rtdm_dev_context *context, } up(ctx-nrt_mutex); - - return 0; } -static int rt_tmbench_start(struct rtdm_dev_context *context, +static int rt_tmbench_start(struct rtdm_fd *context, struct rt_tmbench_context *ctx, - rtdm_user_info_t *user_info, struct rttst_tmbench_config __user *user_config) { int err = 0; @@ -240,9 +235,9 @@ static int rt_tmbench_start(struct rtdm_dev_context *context, struct rttst_tmbench_config *config = (struct rttst_tmbench_config *)user_config; - if (user_info) { + if (rtdm_context_user_p(context)) { if (rtdm_safe_copy_from_user - (user_info, config_buf,user_config, + (context, config_buf,user_config, sizeof(struct rttst_tmbench_config)) 0) return -EFAULT; @@ -293,32 +288,28 @@ static int rt_tmbench_start(struct rtdm_dev_context *context, rtdm_event_init(ctx-result_event, 0); if (config-mode == RTTST_TMBENCH_TASK) { - if (!test_bit(RTDM_CLOSING, context-context_flags)) { - err = rtdm_task_init(ctx-timer_task, timerbench, -timer_task_proc, ctx, -config-priority, 0); - if (!err) - ctx-mode = RTTST_TMBENCH_TASK; - } + err = rtdm_task_init(ctx-timer_task, timerbench, + timer_task_proc, ctx, + config-priority, 0); + if (!err) + ctx-mode = RTTST_TMBENCH_TASK; } else { rtdm_timer_init(ctx-timer, timer_proc, - context-device-device_name); + rtdm_context_device(context)-device_name); ctx-curr.test_loops = 0; - if (!test_bit(RTDM_CLOSING, context-context_flags)) { - ctx-mode = RTTST_TMBENCH_HANDLER; + ctx-mode = RTTST_TMBENCH_HANDLER; - cobalt_atomic_enter(s); - ctx-start_time = rtdm_clock_read_monotonic(); + cobalt_atomic_enter(s); + ctx-start_time = rtdm_clock_read_monotonic(); - /* first event: one millisecond from now. */ - ctx-date = ctx-start_time + 100; + /* first event: one millisecond from now. */ + ctx-date = ctx-start_time + 100; - err = rtdm_timer_start(ctx-timer, ctx-date, 0, - RTDM_TIMERMODE_ABSOLUTE); - cobalt_atomic_leave(s); - } + err = rtdm_timer_start(ctx-timer, ctx-date, 0, + RTDM_TIMERMODE_ABSOLUTE); + cobalt_atomic_leave(s); } up(ctx-nrt_mutex); @@ -327,9 +318,9 @@ static int rt_tmbench_start(struct rtdm_dev_context *context, } static int rt_tmbench_stop(struct rt_tmbench_context *ctx, -
[Xenomai-git] Gilles Chanteperdrix : drivers/testing: adapt timerbench after RTDM changes
Module: xenomai-gch Branch: for-forge Commit: 25cb0437cc4c5a1c1409cc7bcafd518d0815602a URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=25cb0437cc4c5a1c1409cc7bcafd518d0815602a Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org Date: Sat Feb 1 20:22:27 2014 +0100 drivers/testing: adapt timerbench after RTDM changes --- kernel/drivers/testing/timerbench.c | 90 +++ 1 file changed, 39 insertions(+), 51 deletions(-) diff --git a/kernel/drivers/testing/timerbench.c b/kernel/drivers/testing/timerbench.c index 6563fd5..8696f4d 100644 --- a/kernel/drivers/testing/timerbench.c +++ b/kernel/drivers/testing/timerbench.c @@ -189,12 +189,11 @@ static void timer_proc(rtdm_timer_t *timer) } while (err); } -static int rt_tmbench_open(struct rtdm_dev_context *context, - rtdm_user_info_t *user_info, int oflags) +static int rt_tmbench_open(struct xnfd *context, int oflags) { struct rt_tmbench_context *ctx; - ctx = (struct rt_tmbench_context *)context-dev_private; + ctx = rtdm_context_to_private(context); ctx-mode = RTTST_TMBENCH_INVALID; sema_init(ctx-nrt_mutex, 1); @@ -202,12 +201,11 @@ static int rt_tmbench_open(struct rtdm_dev_context *context, return 0; } -static int rt_tmbench_close(struct rtdm_dev_context *context, - rtdm_user_info_t *user_info) +static void rt_tmbench_close(struct xnfd *context) { struct rt_tmbench_context *ctx; - ctx = (struct rt_tmbench_context *)context-dev_private; + ctx = rtdm_context_to_private(context); down(ctx-nrt_mutex); @@ -227,13 +225,10 @@ static int rt_tmbench_close(struct rtdm_dev_context *context, } up(ctx-nrt_mutex); - - return 0; } -static int rt_tmbench_start(struct rtdm_dev_context *context, +static int rt_tmbench_start(struct xnfd *context, struct rt_tmbench_context *ctx, - rtdm_user_info_t *user_info, struct rttst_tmbench_config __user *user_config) { int err = 0; @@ -242,9 +237,9 @@ static int rt_tmbench_start(struct rtdm_dev_context *context, struct rttst_tmbench_config *config = (struct rttst_tmbench_config *)user_config; - if (user_info) { + if (rtdm_context_user_p(context)) { if (rtdm_safe_copy_from_user - (user_info, config_buf,user_config, + (context, config_buf,user_config, sizeof(struct rttst_tmbench_config)) 0) return -EFAULT; @@ -295,33 +290,28 @@ static int rt_tmbench_start(struct rtdm_dev_context *context, rtdm_event_init(ctx-result_event, 0); if (config-mode == RTTST_TMBENCH_TASK) { - if (!test_bit(RTDM_CLOSING, context-context_flags)) { - err = rtdm_task_init(ctx-timer_task, timerbench, -timer_task_proc, ctx, -config-priority, 0); - if (!err) - ctx-mode = RTTST_TMBENCH_TASK; - } + err = rtdm_task_init(ctx-timer_task, timerbench, + timer_task_proc, ctx, + config-priority, 0); + if (!err) + ctx-mode = RTTST_TMBENCH_TASK; } else { rtdm_timer_init(ctx-timer, timer_proc, - context-device-device_name); + rtdm_context_device(context)-device_name); ctx-curr.test_loops = 0; - if (!test_bit(RTDM_CLOSING, context-context_flags)) { - ctx-mode = RTTST_TMBENCH_HANDLER; + ctx-mode = RTTST_TMBENCH_HANDLER; - RTDM_EXECUTE_ATOMICALLY( - ctx-start_time = rtdm_clock_read_monotonic(); + RTDM_EXECUTE_ATOMICALLY( + ctx-start_time = rtdm_clock_read_monotonic(); - /* first event: one millisecond from now. */ - ctx-date = ctx-start_time + 100; + /* first event: one millisecond from now. */ + ctx-date = ctx-start_time + 100; - err = - rtdm_timer_start(ctx-timer, ctx-date, 0, -RTDM_TIMERMODE_ABSOLUTE); - ); - } + err = rtdm_timer_start(ctx-timer, ctx-date, 0, + RTDM_TIMERMODE_ABSOLUTE); + ); } up(ctx-nrt_mutex); @@ -330,9 +320,9 @@ static int rt_tmbench_start(struct rtdm_dev_context *context,