"Step 2" of each do_cmdtest checks that the trigger sources are
unique by doing something like this for each trigger:
	if (cmd->start_src != TRIG_TIMER &&
	    cmd->start_src != TRIG_FOLLOW &&
	    cmd->start_src != TRIG_EXT)
		err++;
	/* Test the remaining triggers similarly */
	if (err)
		return 2;
Introduce a helper function in comedi_fc to handle this boilerplate.
The drivers can then just do:
	err |= cfc_check_trigger_is_unique(cmd->start_src);
	/* Test the remaining triggers similarly */
	if (err)
		return 2;
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        return 0;
 }
 
+/**
+ * cfc_check_trigger_is_unique() - make sure a trigger source is unique
+ * @src: the trigger source to check
+ */
+static inline int cfc_check_trigger_is_unique(unsigned int src)
+{
+       /* this test is true if more than one _src bit is set */
+       if ((src & (src - 1)) != 0)
+               return -EINVAL;
+       return 0;
+}
+
 #endif /* _COMEDI_FC_H */