From 69910e8087cd05a8058aafc312ec50b7273ccc8a Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 13 Nov 2012 17:55:42 -0700 Subject: [PATCH] --- yaml --- r: 337919 b: refs/heads/master c: 39c7bba8ccaee3bec441cb3de7763b96b1b76d94 h: refs/heads/master i: 337917: 193510758dfbf40874df7a0d1ee37b0a610b0e6e 337915: 7eb9309165e56029bded20b4b2769f1fd38f5b92 337911: e507bd4446740ecec28125d65dcb3044fa1bd5c1 337903: 83cc04e661d40087e53fd61e1de650ff6caf4016 337887: 98f5c4858a9c24ddbfc0c373ae52e851264bff0a 337855: f7a238b37d0d6d15d4b9ab82abf5aa880edc4b45 337791: 1b7bc676307fc04db5394863303da9c6194f21b0 337663: 574af93a3f22698b0cbb74411c6ae0009a6b2d6d 337407: 3a0a194d55d2aa0f35dc9871d38771cf89062ff7 336895: eeb42294b50386d43edb4baffd22b58a565b28cc 335871: 3e43c2f1c537ec292c9eb6ef6ca10dd05db0394f v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/dt3000.c | 53 ++++++------------- 2 files changed, 17 insertions(+), 38 deletions(-) diff --git a/[refs] b/[refs] index 9095e1223dd2..c60577751bbb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 61e55b88fd19331e33fb09e6b423ac0975aaa26d +refs/heads/master: 39c7bba8ccaee3bec441cb3de7763b96b1b76d94 diff --git a/trunk/drivers/staging/comedi/drivers/dt3000.c b/trunk/drivers/staging/comedi/drivers/dt3000.c index 71c24954640b..f6d4ebd6cb59 100644 --- a/trunk/drivers/staging/comedi/drivers/dt3000.c +++ b/trunk/drivers/staging/comedi/drivers/dt3000.c @@ -468,51 +468,30 @@ static int dt3k_ai_cmdtest(struct comedi_device *dev, if (err) return 2; - /* step 3: make sure arguments are trivially compatible */ + /* Step 3: check if arguments are trivially valid */ - if (cmd->start_arg != 0) { - cmd->start_arg = 0; - err++; - } + err |= cfc_check_trigger_arg_is(&cmd->start_arg, 0); if (cmd->scan_begin_src == TRIG_TIMER) { - if (cmd->scan_begin_arg < this_board->ai_speed) { - cmd->scan_begin_arg = this_board->ai_speed; - err++; - } - if (cmd->scan_begin_arg > 100 * 16 * 65535) { - cmd->scan_begin_arg = 100 * 16 * 65535; - err++; - } + err |= cfc_check_trigger_arg_min(&cmd->scan_begin_arg, + this_board->ai_speed); + err |= cfc_check_trigger_arg_max(&cmd->scan_begin_arg, + 100 * 16 * 65535); } if (cmd->convert_src == TRIG_TIMER) { - if (cmd->convert_arg < this_board->ai_speed) { - cmd->convert_arg = this_board->ai_speed; - err++; - } - if (cmd->convert_arg > 50 * 16 * 65535) { - cmd->convert_arg = 50 * 16 * 65535; - err++; - } + err |= cfc_check_trigger_arg_min(&cmd->convert_arg, + this_board->ai_speed); + err |= cfc_check_trigger_arg_max(&cmd->convert_arg, + 50 * 16 * 65535); } - if (cmd->scan_end_arg != cmd->chanlist_len) { - cmd->scan_end_arg = cmd->chanlist_len; - err++; - } - if (cmd->stop_src == TRIG_COUNT) { - if (cmd->stop_arg > 0x00ffffff) { - cmd->stop_arg = 0x00ffffff; - err++; - } - } else { - /* TRIG_NONE */ - if (cmd->stop_arg != 0) { - cmd->stop_arg = 0; - err++; - } - } + err |= cfc_check_trigger_arg_is(&cmd->scan_end_arg, cmd->chanlist_len); + + if (cmd->stop_src == TRIG_COUNT) + err |= cfc_check_trigger_arg_max(&cmd->stop_arg, 0x00ffffff); + else /* TRIG_NONE */ + err |= cfc_check_trigger_arg_is(&cmd->stop_arg, 0); if (err) return 3;