From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161122AbbBCUFD (ORCPT ); Tue, 3 Feb 2015 15:05:03 -0500 Received: from hofr.at ([212.69.189.236]:54481 "EHLO mail.hofr.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966296AbbBCUFB (ORCPT ); Tue, 3 Feb 2015 15:05:01 -0500 Date: Tue, 3 Feb 2015 21:04:58 +0100 From: Nicholas Mc Guire To: Ian Abbott Cc: Nicholas Mc Guire , H Hartley Sweeten , Greg Kroah-Hartman , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC] staging: comedi: dt282x: condition with no effect - if identical to else Message-ID: <20150203200458.GA28515@opentech.at> References: <1422967091-14798-1-git-send-email-hofrat@osadl.org> <54D0E572.7030607@mev.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54D0E572.7030607@mev.co.uk> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 03 Feb 2015, Ian Abbott wrote: > On 03/02/15 12:38, Nicholas Mc Guire wrote: >> The if and the else branch code are identical - so the condition has no >> effect on the effective code - this patch removes the condition and the >> duplicated code. >> >> Signed-off-by: Nicholas Mc Guire >> --- >> >> The if and else branch are identical code thus the condition has no effect >> >> if (cmd->scan_begin_src == TRIG_FOLLOW) { >> /* internal trigger */ >> err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, 0); >> } else { >> /* external trigger */ >> /* should be level/edge, hi/lo specification here */ >> err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, 0); >> } >> >> As the comments indicate that they are serving different purposes this >> looks like a bug. In any case - if intentional - it would need some >> comments on why. >> >> This needs a review by someone that knows the details of this driver. >> Also not sure about the retained comment string if that is still valid now. >> >> Patch was only compile tested for x86_64_defconfig + CONFIG_STAGING=y >> CONFIG_COMEDI=m, COMEDI_ISA_DRIVERS=y, CONFIG_COMEDI_DT282X=m >> >> Patch is against 3.0.19-rc7 (localversion = -next-20150203) >> >> drivers/staging/comedi/drivers/dt282x.c | 10 ++-------- >> 1 file changed, 2 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c >> index 051dfb2..22c59e5 100644 >> --- a/drivers/staging/comedi/drivers/dt282x.c >> +++ b/drivers/staging/comedi/drivers/dt282x.c >> @@ -685,14 +685,8 @@ static int dt282x_ai_cmdtest(struct comedi_device *dev, >> >> err |= cfc_check_trigger_arg_is(&cmd->start_arg, 0); >> >> - if (cmd->scan_begin_src == TRIG_FOLLOW) { >> - /* internal trigger */ >> - err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, 0); >> - } else { >> - /* external trigger */ >> - /* should be level/edge, hi/lo specification here */ > > I think what that comment means is that it should allow scan_begin_arg > to have various combinations of the CR_EDGE and CR_INVERT bits set. I.e. > it ought to allow whatever combination of CR_EDGE and CR_INVERT better > describes the nature of the external trigger signal, in addition to > allowing the lazy default value 0. > > I don't know what the nature of the external trigger signal is, as I > haven't seen the manual. I think Hartley might have seen one. > >> - err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, 0); >> - } >> + /* internal trigger */ > > That comment would be misleading as it could be an internal or external > trigger. > yup - was unsure on what to put there (if any). > > If you want to apply this patch, remove that comment first. But I'd > rather leave the existing code there as a reminder. > if that is the preferred solution maybe someone with suitable knowledge could add a comment in the else case explaining why it is the same or at least making it clear that it is an intentional placeholder. >> + err |= cfc_check_trigger_arg_is(&cmd->scan_begin_arg, 0); >> >> err |= cfc_check_trigger_arg_min(&cmd->convert_arg, 4000); >> >> > thanks for your review comments! thx! hofrat