public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 16/36] staging: comedi: cb_pcidas: simplify the boardinfo
@ 2012-06-27  0:56 H Hartley Sweeten
  2012-06-27  9:20 ` Ian Abbott
  0 siblings, 1 reply; 2+ messages in thread
From: H Hartley Sweeten @ 2012-06-27  0:56 UTC (permalink / raw)
  To: Linux Kernel; +Cc: devel, abbotti, fmhess, gregkh

The boardinfo values 'has_ai_trig_gated' and 'has_ai_trig_invert'
are both only set for the "1602" versions of the boards supported
by this driver.

Simplify the boardinfo, and the code, by replacing these two
variables with one "is_1602" variable.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/cb_pcidas.c | 41 ++++++++++++------------------
 1 file changed, 16 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/comedi/drivers/cb_pcidas.c b/drivers/staging/comedi/drivers/cb_pcidas.c
index 4b653c5..0c14582 100644
--- a/drivers/staging/comedi/drivers/cb_pcidas.c
+++ b/drivers/staging/comedi/drivers/cb_pcidas.c
@@ -250,8 +250,7 @@ struct cb_pcidas_board {
 	const struct comedi_lrange *ranges;
 	enum trimpot_model trimpot;
 	unsigned has_dac08:1;
-	unsigned has_ai_trig_gated:1;	/* Tells if the AI trigger can be gated */
-	unsigned has_ai_trig_invert:1;	/* Tells if the AI trigger can be inverted */
+	unsigned is_1602:1;
 };
 
 static const struct cb_pcidas_board cb_pcidas_boards[] = {
@@ -269,8 +268,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD8402,
 	 .has_dac08 = 1,
-	 .has_ai_trig_gated = 1,
-	 .has_ai_trig_invert = 1,
+	 .is_1602 = 1,
 	 },
 	{
 	 .name = "pci-das1200",
@@ -285,8 +283,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 0,
-	 .has_ai_trig_invert = 0,
+	 .is_1602 = 0,
 	 },
 	{
 	 .name = "pci-das1602/12",
@@ -302,8 +299,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 1,
-	 .has_ai_trig_invert = 1,
+	 .is_1602 = 1,
 	 },
 	{
 	 .name = "pci-das1200/jr",
@@ -318,8 +314,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 0,
-	 .has_ai_trig_invert = 0,
+	 .is_1602 = 0,
 	 },
 	{
 	 .name = "pci-das1602/16/jr",
@@ -334,8 +329,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD8402,
 	 .has_dac08 = 1,
-	 .has_ai_trig_gated = 1,
-	 .has_ai_trig_invert = 1,
+	 .is_1602 = 1,
 	 },
 	{
 	 .name = "pci-das1000",
@@ -350,8 +344,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 0,
-	 .has_ai_trig_invert = 0,
+	 .is_1602 = 0,
 	 },
 	{
 	 .name = "pci-das1001",
@@ -366,8 +359,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_alt_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 0,
-	 .has_ai_trig_invert = 0,
+	 .is_1602 = 0,
 	 },
 	{
 	 .name = "pci-das1002",
@@ -382,8 +374,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
 	 .ranges = &cb_pcidas_ranges,
 	 .trimpot = AD7376,
 	 .has_dac08 = 0,
-	 .has_ai_trig_gated = 0,
-	 .has_ai_trig_invert = 0,
+	 .is_1602 = 0,
 	 },
 };
 
@@ -938,8 +929,7 @@ static int cb_pcidas_ai_cmdtest(struct comedi_device *dev,
 			    ~(CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT));
 			err++;
 		}
-		if (!thisboard->has_ai_trig_invert &&
-		    (cmd->start_arg & CR_INVERT)) {
+		if (!thisboard->is_1602 && (cmd->start_arg & CR_INVERT)) {
 			cmd->start_arg &= (CR_FLAGS_MASK & ~CR_INVERT);
 			err++;
 		}
@@ -1118,11 +1108,12 @@ static int cb_pcidas_ai_cmd(struct comedi_device *dev,
 		bits |= SW_TRIGGER;
 	else if (cmd->start_src == TRIG_EXT) {
 		bits |= EXT_TRIGGER | TGEN | XTRCL;
-		if (thisboard->has_ai_trig_invert
-		    && (cmd->start_arg & CR_INVERT))
-			bits |= TGPOL;
-		if (thisboard->has_ai_trig_gated && (cmd->start_arg & CR_EDGE))
-			bits |= TGSEL;
+		if (thisboard->is_1602) {
+		    	if (cmd->start_arg & CR_INVERT)
+				bits |= TGPOL;
+			if (cmd->start_arg & CR_EDGE)
+				bits |= TGSEL;
+		}
 	} else {
 		comedi_error(dev, "bug!");
 		return -1;
-- 
1.7.11


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 16/36] staging: comedi: cb_pcidas: simplify the boardinfo
  2012-06-27  0:56 [PATCH 16/36] staging: comedi: cb_pcidas: simplify the boardinfo H Hartley Sweeten
@ 2012-06-27  9:20 ` Ian Abbott
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Abbott @ 2012-06-27  9:20 UTC (permalink / raw)
  To: H Hartley Sweeten
  Cc: Linux Kernel, devel@driverdev.osuosl.org, Ian Abbott,
	fmhess@users.sourceforge.net, gregkh@linuxfoundation.org

On 2012-06-27 01:56, H Hartley Sweeten wrote:
> The boardinfo values 'has_ai_trig_gated' and 'has_ai_trig_invert'
> are both only set for the "1602" versions of the boards supported
> by this driver.
>
> Simplify the boardinfo, and the code, by replacing these two
> variables with one "is_1602" variable.

This doesn't save any code and would make it harder to add a board that 
would need 'has_ai_trig_gated' and 'has_ai_trig_invert' set to different 
values (although it's pretty unlikely that new such boards would be 
added to this driver).

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-06-27  9:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-27  0:56 [PATCH 16/36] staging: comedi: cb_pcidas: simplify the boardinfo H Hartley Sweeten
2012-06-27  9:20 ` Ian Abbott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox