Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1402251 > unrolled thread

[PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups

Started byIan Abbott <abbotti@mev.co.uk>
First post2016-05-17 12:00 +0200
Last post2016-05-19 20:20 +0200
Articles 20 on this page of 48 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-17 12:00 +0200
    [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-17 12:00 +0200
    [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott <abbotti@mev.co.uk> - 2016-05-17 12:00 +0200
      RE: [PATCH 14/14] staging: comedi: daqboard2000: prefer  usleep_range() Hartley Sweeten <HartleyS@visionengravers.com> - 2016-05-17 19:50 +0200
        Re: [PATCH 14/14] staging: comedi: daqboard2000: prefer  usleep_range() Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 12:30 +0200
    RE: [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Hartley Sweeten <HartleyS@visionengravers.com> - 2016-05-17 20:10 +0200
      Re: [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:10 +0200
    [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
      RE: [PATCH v2 06/14] staging: comedi: daqboard2000: rename register  offset macros Hartley Sweeten <HartleyS@visionengravers.com> - 2016-05-19 00:50 +0200
      [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:00 +0200
        RE: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register  offset macros Hartley Sweeten <HartleyS@visionengravers.com> - 2016-05-19 18:50 +0200
          Re: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register  offset macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 19:50 +0200
    [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
      RE: [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference  DACs register macros Hartley Sweeten <HartleyS@visionengravers.com> - 2016-05-19 01:00 +0200
      [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:00 +0200
        Re: [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference  DACs register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:10 +0200
        [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:20 +0200
    [PATCH v2 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:40 +0200
    [PATCH v2 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:50 +0200
    [PATCH v2 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:50 +0200
    [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:50 +0200
      [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott <abbotti@mev.co.uk> - 2016-05-18 14:50 +0200
      Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch  clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:10 +0200
        Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch  clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 12:20 +0200
          Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch  clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:10 +0200
    [PATCH v4 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 08/14] staging: comedi: daqboard2000: rename acq status register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 09/14] staging: comedi: daqboard2000: redo DAC control register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200
      [PATCH v4 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott <abbotti@mev.co.uk> - 2016-05-19 20:20 +0200

Page 1 of 3  [1] 2 3  Next page →


#1402251 — [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-17 12:00 +0200
Subject[PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
Message-ID<rzJXb-2UD-3@gated-at.bofh.it>
This series of patches to the daqboard2000 driver is mostly to fix the
checkpatch.pl warnings.  There is one warning remaining about one of the
`udelay` calls with a parameter of 10 microseconds, but I decided to
leave it alone, as converting it to `usleep_range` could increase
firmware loading time.

Patches 03 and 06 have checkpatch warnings themselves about CamelCase
issues, but they are not "new" issues, and are resolved by the later
patches in the series.

01) staging: comedi: daqboard2000: remove commented out code
02) staging: comedi: daqboard2000: use usual block comment style
03) staging: comedi: daqboard2000: CHECK: spaces preferred around that
    '*'
04) staging: comedi: daqboard2000: add blank line after struct
    declaration
05) staging: comedi: daqboard2000: rename serial EEPROM register macros
06) staging: comedi: daqboard2000: rename register offset macros
07) staging: comedi: daqboard2000: rename acquisition control register
    macros
08) staging: comedi: daqboard2000: rename acq status register macros
09) staging: comedi: daqboard2000: redo DAC control register macros
10) staging: comedi: daqboard2000: redo DAC status macros and fix busy
11) staging: comedi: daqboard2000: rename trigger control register
    macros
12) staging: comedi: daqboard2000: rename reference DACs register macros
13) staging: comedi: daqboard2000: rename CamelCase functions
14) staging: comedi: daqboard2000: prefer usleep_range()

 drivers/staging/comedi/drivers/daqboard2000.c | 376 +++++++++++++-------------
 1 file changed, 188 insertions(+), 188 deletions(-)

[toc] | [next] | [standalone]


#1402252 — [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-17 12:00 +0200
Subject[PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros
Message-ID<rzJXi-2UD-51@gated-at.bofh.it>
In reply to#1402251
Rename the macros defining values for the acquisition control register
to avoid CamelCase, and to make it clearer which register they are
associated with.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/drivers/daqboard2000.c | 50 ++++++++++++---------------
 1 file changed, 23 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 92ff8f4..3634331 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -182,13 +182,13 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_REG_DIO_P2_EXP_IO_16_BIT(x) (0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
-#define DAQBOARD2000_SeqStartScanList            0x0011
-#define DAQBOARD2000_SeqStopScanList             0x0010
+#define DAQBOARD2000_ACQ_CONTROL_SEQ_START_SCAN_LIST		0x0011
+#define DAQBOARD2000_ACQ_CONTROL_SEQ_STOP_SCAN_LIST		0x0010
 
 /* Prepare for acquisition */
-#define DAQBOARD2000_AcqResetScanListFifo        0x0004
-#define DAQBOARD2000_AcqResetResultsFifo         0x0002
-#define DAQBOARD2000_AcqResetConfigPipe          0x0001
+#define DAQBOARD2000_ACQ_CONTROL_RESET_SCAN_LIST_FIFO		0x0004
+#define DAQBOARD2000_ACQ_CONTROL_RESET_RESULTS_FIFO		0x0002
+#define DAQBOARD2000_ACQ_CONTROL_RESET_CONFIG_PIPE		0x0001
 
 /* Acqusition status bits */
 #define DAQBOARD2000_AcqResultsFIFOMore1Sample   0x0001
@@ -203,20 +203,16 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_DacPacerOverrun             0x0200
 #define DAQBOARD2000_AcqHardwareError            0x01c0
 
-/* Scan Sequencer programming */
-#define DAQBOARD2000_SeqStartScanList            0x0011
-#define DAQBOARD2000_SeqStopScanList             0x0010
-
 /* Pacer Clock Control */
-#define DAQBOARD2000_AdcPacerInternal            0x0030
-#define DAQBOARD2000_AdcPacerExternal            0x0032
-#define DAQBOARD2000_AdcPacerEnable              0x0031
-#define DAQBOARD2000_AdcPacerEnableDacPacer      0x0034
-#define DAQBOARD2000_AdcPacerDisable             0x0030
-#define DAQBOARD2000_AdcPacerNormalMode          0x0060
-#define DAQBOARD2000_AdcPacerCompatibilityMode   0x0061
-#define DAQBOARD2000_AdcPacerInternalOutEnable   0x0008
-#define DAQBOARD2000_AdcPacerExternalRising      0x0100
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_INTERNAL		0x0030
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_EXTERNAL		0x0032
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_ENABLE		0x0031
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_ENABLE_DAC_PACER	0x0034
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_DISABLE		0x0030
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_NORMAL_MODE		0x0060
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_COMPATIBILITY_MODE	0x0061
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_INTERNAL_OUT_ENABLE	0x0008
+#define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_EXTERNAL_RISING	0x0100
 
 /* DAC status */
 #define DAQBOARD2000_DacFull                     0x0001
@@ -346,9 +342,9 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	int ret;
 	int i;
 
-	writew(DAQBOARD2000_AcqResetScanListFifo |
-	       DAQBOARD2000_AcqResetResultsFifo |
-	       DAQBOARD2000_AcqResetConfigPipe,
+	writew(DAQBOARD2000_ACQ_CONTROL_RESET_SCAN_LIST_FIFO |
+	       DAQBOARD2000_ACQ_CONTROL_RESET_RESULTS_FIFO |
+	       DAQBOARD2000_ACQ_CONTROL_RESET_CONFIG_PIPE,
 	       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 	/*
@@ -371,7 +367,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-		writew(DAQBOARD2000_SeqStartScanList,
+		writew(DAQBOARD2000_ACQ_CONTROL_SEQ_START_SCAN_LIST,
 		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
@@ -379,7 +375,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		if (ret)
 			return ret;
 
-		writew(DAQBOARD2000_AdcPacerEnable,
+		writew(DAQBOARD2000_ACQ_CONTROL_ADC_PACER_ENABLE,
 		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
@@ -393,9 +389,9 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 			return ret;
 
 		data[i] = readw(dev->mmio + DAQBOARD2000_REG_ACQ_RESULTS_FIFO);
-		writew(DAQBOARD2000_AdcPacerDisable,
+		writew(DAQBOARD2000_ACQ_CONTROL_ADC_PACER_DISABLE,
 		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
-		writew(DAQBOARD2000_SeqStopScanList,
+		writew(DAQBOARD2000_ACQ_CONTROL_SEQ_STOP_SCAN_LIST,
 		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 	}
 
@@ -563,12 +559,12 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
 	udelay(2);
-	writew(DAQBOARD2000_SeqStopScanList,
+	writew(DAQBOARD2000_ACQ_CONTROL_SEQ_STOP_SCAN_LIST,
 	       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 	/* Stop the pacer clock */
 	udelay(2);
-	writew(DAQBOARD2000_AdcPacerDisable,
+	writew(DAQBOARD2000_ACQ_CONTROL_ADC_PACER_DISABLE,
 	       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402253 — [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-17 12:00 +0200
Subject[PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
Message-ID<rzJXi-2UD-53@gated-at.bofh.it>
In reply to#1402251
The checkpatch.pl warns about two `udelay(x)` calls, one of 100
microseconds, and one of 10 microseconds.  The 100 microseconds one is
used when waiting for FPGA to become ready to accept firmware, and is
not that critical, so replace it with a call to `usleep_range(100,
1000)`.  The 10 microseconds one is called as each 16-bit word of
firmware data is written.  A longer sleep would slow down firmware
loading, so leave it alone.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/drivers/daqboard2000.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 846de82..0831547 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -476,7 +476,7 @@ static int daqboard2000_poll_cpld(struct comedi_device *dev, int mask)
 			result = 1;
 			break;
 		}
-		udelay(100);
+		usleep_range(100, 1000);
 	}
 	udelay(5);
 	return result;
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402498 — RE: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()

FromHartley Sweeten <HartleyS@visionengravers.com>
Date2016-05-17 19:50 +0200
SubjectRE: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
Message-ID<rzRi1-7zt-5@gated-at.bofh.it>
In reply to#1402253
On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
> The checkpatch.pl warns about two `udelay(x)` calls, one of 100
> microseconds, and one of 10 microseconds.  The 100 microseconds one is
> used when waiting for FPGA to become ready to accept firmware, and is
> not that critical, so replace it with a call to `usleep_range(100,
> 1000)`.  The 10 microseconds one is called as each 16-bit word of
> firmware data is written.  A longer sleep would slow down firmware
> loading, so leave it alone.

The firmware blob in comedi-nonfree-firmware/daqboard2000 is
41236 bytes or 20618 words. With the 10 microsecond delay for
each word to total delay time is only 0.0206 seconds. I don't think a
small usleep_range() would slow down the firmware loading by much.
How about usleep_range(10, 20)?

Regards,
Hartley

[toc] | [prev] | [next] | [standalone]


#1402868 — Re: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 12:30 +0200
SubjectRe: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
Message-ID<rA6TM-Pd-15@gated-at.bofh.it>
In reply to#1402498
On 17/05/16 18:42, Hartley Sweeten wrote:
> On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
>> The checkpatch.pl warns about two `udelay(x)` calls, one of 100
>> microseconds, and one of 10 microseconds.  The 100 microseconds one is
>> used when waiting for FPGA to become ready to accept firmware, and is
>> not that critical, so replace it with a call to `usleep_range(100,
>> 1000)`.  The 10 microseconds one is called as each 16-bit word of
>> firmware data is written.  A longer sleep would slow down firmware
>> loading, so leave it alone.
>
> The firmware blob in comedi-nonfree-firmware/daqboard2000 is
> 41236 bytes or 20618 words. With the 10 microsecond delay for
> each word to total delay time is only 0.0206 seconds. I don't think a
> small usleep_range() would slow down the firmware loading by much.
> How about usleep_range(10, 20)?
>
> Regards,
> Hartley

Okay.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

[toc] | [prev] | [next] | [standalone]


#1402509

FromHartley Sweeten <HartleyS@visionengravers.com>
Date2016-05-17 20:10 +0200
Message-ID<rzRBo-7V2-11@gated-at.bofh.it>
In reply to#1402251
On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
> This series of patches to the daqboard2000 driver is mostly to fix the
> checkpatch.pl warnings.  There is one warning remaining about one of the
> `udelay` calls with a parameter of 10 microseconds, but I decided to
> leave it alone, as converting it to `usleep_range` could increase
> firmware loading time.
>
> Patches 03 and 06 have checkpatch warnings themselves about CamelCase
> issues, but they are not "new" issues, and are resolved by the later
> patches in the series.
>
> 01) staging: comedi: daqboard2000: remove commented out code
> 02) staging: comedi: daqboard2000: use usual block comment style
> 03) staging: comedi: daqboard2000: CHECK: spaces preferred around that
>     '*'
> 04) staging: comedi: daqboard2000: add blank line after struct
>     declaration
> 05) staging: comedi: daqboard2000: rename serial EEPROM register macros
> 06) staging: comedi: daqboard2000: rename register offset macros
> 07) staging: comedi: daqboard2000: rename acquisition control register
>     macros
> 08) staging: comedi: daqboard2000: rename acq status register macros
> 09) staging: comedi: daqboard2000: redo DAC control register macros
> 10) staging: comedi: daqboard2000: redo DAC status macros and fix busy
> 11) staging: comedi: daqboard2000: rename trigger control register
>     macros
> 12) staging: comedi: daqboard2000: rename reference DACs register macros
> 13) staging: comedi: daqboard2000: rename CamelCase functions
> 14) staging: comedi: daqboard2000: prefer usleep_range()
>
>  drivers/staging/comedi/drivers/daqboard2000.c | 376 +++++++++++++-------------
>  1 file changed, 188 insertions(+), 188 deletions(-)

Ian,

I had a couple comments on patches 1, 5, 6, and 14 but they are really just
nitpicks. If you prefer to leave this series as-is:

Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>

Thanks for going through this one, it's annoyed me...

Hartley

[toc] | [prev] | [next] | [standalone]


#1402905

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:10 +0200
Message-ID<rA8sy-1WF-5@gated-at.bofh.it>
In reply to#1402509
On 17/05/16 18:46, Hartley Sweeten wrote:
> On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
>> This series of patches to the daqboard2000 driver is mostly to fix the
>> checkpatch.pl warnings.  There is one warning remaining about one of the
>> `udelay` calls with a parameter of 10 microseconds, but I decided to
>> leave it alone, as converting it to `usleep_range` could increase
>> firmware loading time.
>>
>> Patches 03 and 06 have checkpatch warnings themselves about CamelCase
>> issues, but they are not "new" issues, and are resolved by the later
>> patches in the series.
>>
>> 01) staging: comedi: daqboard2000: remove commented out code
>> 02) staging: comedi: daqboard2000: use usual block comment style
>> 03) staging: comedi: daqboard2000: CHECK: spaces preferred around that
>>      '*'
>> 04) staging: comedi: daqboard2000: add blank line after struct
>>      declaration
>> 05) staging: comedi: daqboard2000: rename serial EEPROM register macros
>> 06) staging: comedi: daqboard2000: rename register offset macros
>> 07) staging: comedi: daqboard2000: rename acquisition control register
>>      macros
>> 08) staging: comedi: daqboard2000: rename acq status register macros
>> 09) staging: comedi: daqboard2000: redo DAC control register macros
>> 10) staging: comedi: daqboard2000: redo DAC status macros and fix busy
>> 11) staging: comedi: daqboard2000: rename trigger control register
>>      macros
>> 12) staging: comedi: daqboard2000: rename reference DACs register macros
>> 13) staging: comedi: daqboard2000: rename CamelCase functions
>> 14) staging: comedi: daqboard2000: prefer usleep_range()
>>
>>   drivers/staging/comedi/drivers/daqboard2000.c | 376 +++++++++++++-------------
>>   1 file changed, 188 insertions(+), 188 deletions(-)
>
> Ian,
>
> I had a couple comments on patches 1, 5, 6, and 14 but they are really just
> nitpicks. If you prefer to leave this series as-is:
>
> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>

Okay, I'll post a new series soon, taking your suggestions into account, 
apart from your comments on patch 5, which I'll leave until I modify the 
driver further.

I'll edit in your `Reviewed-by` lines if that's okay by you, since the 
changes are just following your suggestions, and are pretty trivial. 
The least trivial change is changing patch 14 to change `udelay(10)` to 
`usleep_range(10, 20)` as you suggested.  The other changes are just 
renaming macros and tagging on a couple of comments.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

[toc] | [prev] | [next] | [standalone]


#1402932 — [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy
Message-ID<rA8Vz-2a6-3@gated-at.bofh.it>
In reply to#1402251
Rename the macros defining values for the DAC status register to avoid
CamelCase, and to make it clear which register they are associated with.
Refactor the macros defining the regular DAC channel "busy" bits into a
single macro that takes the DAC channel number as a parameter.

Add a macro to define the offset of the read-only DAC status register.
It is the same offset as the DAC control register, which is write-only.

The code in `daqboard2000_ao_eoc()` that checks the status for
completion of the DAC conversion looks wrong.  The register has a "busy"
bit for each channel, but the existing code only works for channels 0
and 1.  The driver only supports two DAC channels at the moment, so the
bug is currently harmless, but fix it so we can support four DAC
channels on some board models.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.

squash! staging: comedi: daqboard2000: redo DAC status macros and fix busy
---
 drivers/staging/comedi/drivers/daqboard2000.c | 28 +++++++++++++--------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index aea40ee..37aa3a4 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -162,7 +162,8 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_REG_ACQ_RESULTS_SHADOW		0x14		/* u16 */
 #define DB2K_REG_ACQ_ADC_RESULT			0x18		/* u16 */
 #define DB2K_REG_DAC_SCAN_COUNTER		0x1c		/* u16 */
-#define DB2K_REG_DAC_CONTROL			0x20		/* u16 */
+#define DB2K_REG_DAC_CONTROL			0x20		/* u16 (w) */
+#define DB2K_REG_DAC_STATUS			0x20		/* u16 (r) */
 #define DB2K_REG_DAC_FIFO			0x24		/* s16 */
 #define DB2K_REG_DAC_PACER_CLOCK_DIV		0x2a		/* u16 */
 #define DB2K_REG_REF_DACS			0x2c		/* u16 */
@@ -215,14 +216,11 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_ACQ_STATUS_DAC_PACER_OVERRUN		0x0200
 
 /* DAC status */
-#define DAQBOARD2000_DacFull                     0x0001
-#define DAQBOARD2000_RefBusy                     0x0002
-#define DAQBOARD2000_TrgBusy                     0x0004
-#define DAQBOARD2000_CalBusy                     0x0008
-#define DAQBOARD2000_Dac0Busy                    0x0010
-#define DAQBOARD2000_Dac1Busy                    0x0020
-#define DAQBOARD2000_Dac2Busy                    0x0040
-#define DAQBOARD2000_Dac3Busy                    0x0080
+#define DB2K_DAC_STATUS_DAC_FULL			0x0001
+#define DB2K_DAC_STATUS_REF_BUSY			0x0002
+#define DB2K_DAC_STATUS_TRIG_BUSY			0x0004
+#define DB2K_DAC_STATUS_CAL_BUSY			0x0008
+#define DB2K_DAC_STATUS_DAC_BUSY(x)			(0x0010 << (x))
 
 /* DAC control */
 #define DB2K_DAC_CONTROL_ENABLE_BIT			0x0001
@@ -400,8 +398,8 @@ static int daqboard2000_ao_eoc(struct comedi_device *dev,
 	unsigned int chan = CR_CHAN(insn->chanspec);
 	unsigned int status;
 
-	status = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
-	if ((status & ((chan + 1) * 0x0010)) == 0)
+	status = readw(dev->mmio + DB2K_REG_DAC_STATUS);
+	if ((status & DB2K_DAC_STATUS_DAC_BUSY(chan)) == 0)
 		return 0;
 	return -EBUSY;
 }
@@ -574,8 +572,8 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	writew(0x80 | DAQBOARD2000_PosRefDacSelect,
 	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
-		if ((val & DAQBOARD2000_RefBusy) == 0)
+		val = readw(dev->mmio + DB2K_REG_DAC_STATUS);
+		if ((val & DB2K_DAC_STATUS_REF_BUSY) == 0)
 			break;
 		udelay(2);
 	}
@@ -584,8 +582,8 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	writew(0x80 | DAQBOARD2000_NegRefDacSelect,
 	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
-		if ((val & DAQBOARD2000_RefBusy) == 0)
+		val = readw(dev->mmio + DB2K_REG_DAC_STATUS);
+		if ((val & DB2K_DAC_STATUS_REF_BUSY) == 0)
 			break;
 		udelay(2);
 	}
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402933 — [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros
Message-ID<rA8Vz-2a6-7@gated-at.bofh.it>
In reply to#1402251
Rename the macros defining register offsets to avoid CamelCase, and to
use namespace associated with the driver.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
Other CamelCase issues in this patch will be dealt with by later
patches in the series.

v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 112 ++++++++++++++------------
 1 file changed, 61 insertions(+), 51 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index ceb910d..b068746 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -151,35 +151,35 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 /*
  * Register Memory Map
  */
-#define acqControl			0x00		/* u16 */
-#define acqScanListFIFO			0x02		/* u16 */
-#define acqPacerClockDivLow		0x04		/* u32 */
-#define acqScanCounter			0x08		/* u16 */
-#define acqPacerClockDivHigh		0x0a		/* u16 */
-#define acqTriggerCount			0x0c		/* u16 */
-#define acqResultsFIFO			0x10		/* u16 */
-#define acqResultsShadow		0x14		/* u16 */
-#define acqAdcResult			0x18		/* u16 */
-#define dacScanCounter			0x1c		/* u16 */
-#define dacControl			0x20		/* u16 */
-#define dacFIFO				0x24		/* s16 */
-#define dacPacerClockDiv		0x2a		/* u16 */
-#define refDacs				0x2c		/* u16 */
-#define dioControl			0x30		/* u16 */
-#define dioP3hsioData			0x32		/* s16 */
-#define dioP3Control			0x34		/* u16 */
-#define calEepromControl		0x36		/* u16 */
-#define dacSetting(x)			(0x38 + (x) * 2) /* s16 */
-#define dioP2ExpansionIO8Bit		0x40		/* s16 */
-#define ctrTmrControl			0x80		/* u16 */
-#define ctrInput(x)			(0x88 + (x) * 2) /* s16 */
-#define timerDivisor(x)			(0xa0 + (x) * 2) /* u16 */
-#define dmaControl			0xb0		/* u16 */
-#define trigControl			0xb2		/* u16 */
-#define calEeprom			0xb8		/* u16 */
-#define acqDigitalMark			0xba		/* u16 */
-#define trigDacs			0xbc		/* u16 */
-#define dioP2ExpansionIO16Bit(x)	(0xc0 + (x) * 2) /* s16 */
+#define DB2K_REG_ACQ_CONTROL			0x00		/* u16 */
+#define DB2K_REG_ACQ_SCAN_LIST_FIFO		0x02		/* u16 */
+#define DB2K_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04		/* u32 */
+#define DB2K_REG_ACQ_SCAN_COUNTER		0x08		/* u16 */
+#define DB2K_REG_ACQ_PACER_CLOCK_DIV_HIGH	0x0a		/* u16 */
+#define DB2K_REG_ACQ_TRIGGER_COUNT		0x0c		/* u16 */
+#define DB2K_REG_ACQ_RESULTS_FIFO		0x10		/* u16 */
+#define DB2K_REG_ACQ_RESULTS_SHADOW		0x14		/* u16 */
+#define DB2K_REG_ACQ_ADC_RESULT			0x18		/* u16 */
+#define DB2K_REG_DAC_SCAN_COUNTER		0x1c		/* u16 */
+#define DB2K_REG_DAC_CONTROL			0x20		/* u16 */
+#define DB2K_REG_DAC_FIFO			0x24		/* s16 */
+#define DB2K_REG_DAC_PACER_CLOCK_DIV		0x2a		/* u16 */
+#define DB2K_REG_REF_DACS			0x2c		/* u16 */
+#define DB2K_REG_DIO_CONTROL			0x30		/* u16 */
+#define DB2K_REG_P3_HSIO_DATA			0x32		/* s16 */
+#define DB2K_REG_P3_CONTROL			0x34		/* u16 */
+#define DB2K_REG_CAL_EEPROM_CONTROL		0x36		/* u16 */
+#define DB2K_REG_DAC_SETTING(x)			(0x38 + (x) * 2) /* s16 */
+#define DB2K_REG_DIO_P2_EXP_IO_8_BIT		0x40		/* s16 */
+#define DB2K_REG_COUNTER_TIMER_CONTROL		0x80		/* u16 */
+#define DB2K_REG_COUNTER_INPUT(x)		(0x88 + (x) * 2) /* s16 */
+#define DB2K_REG_TIMER_DIV(x)			(0xa0 + (x) * 2) /* u16 */
+#define DB2K_REG_DMA_CONTROL			0xb0		/* u16 */
+#define DB2K_REG_TRIG_CONTROL			0xb2		/* u16 */
+#define DB2K_REG_CAL_EEPROM			0xb8		/* u16 */
+#define DB2K_REG_ACQ_DIGITAL_MARK		0xba		/* u16 */
+#define DB2K_REG_TRIG_DACS			0xbc		/* u16 */
+#define DB2K_REG_DIO_P2_EXP_IO_16_BIT(x) 	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
 #define DAQBOARD2000_SeqStartScanList            0x0011
@@ -279,8 +279,9 @@ struct daqboard2000_private {
 
 static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
 {
-	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
-	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
+	writew(entry & 0x00ff, dev->mmio + DB2K_REG_ACQ_SCAN_LIST_FIFO);
+	writew((entry >> 8) & 0x00ff,
+	       dev->mmio + DB2K_REG_ACQ_SCAN_LIST_FIFO);
 }
 
 static void setup_sampling(struct comedi_device *dev, int chan, int gain)
@@ -330,7 +331,7 @@ static int daqboard2000_ai_status(struct comedi_device *dev,
 {
 	unsigned int status;
 
-	status = readw(dev->mmio + acqControl);
+	status = readw(dev->mmio + DB2K_REG_ACQ_CONTROL);
 	if (status & context)
 		return 0;
 	return -EBUSY;
@@ -347,15 +348,16 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 
 	writew(DAQBOARD2000_AcqResetScanListFifo |
 	       DAQBOARD2000_AcqResetResultsFifo |
-	       DAQBOARD2000_AcqResetConfigPipe, dev->mmio + acqControl);
+	       DAQBOARD2000_AcqResetConfigPipe,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/*
 	 * If pacer clock is not set to some high value (> 10 us), we
 	 * risk multiple samples to be put into the result FIFO.
 	 */
 	/* 1 second, should be long enough */
-	writel(1000000, dev->mmio + acqPacerClockDivLow);
-	writew(0, dev->mmio + acqPacerClockDivHigh);
+	writel(1000000, dev->mmio + DB2K_REG_ACQ_PACER_CLOCK_DIV_LOW);
+	writew(0, dev->mmio + DB2K_REG_ACQ_PACER_CLOCK_DIV_HIGH);
 
 	gain = CR_RANGE(insn->chanspec);
 	chan = CR_CHAN(insn->chanspec);
@@ -369,14 +371,16 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-		writew(DAQBOARD2000_SeqStartScanList, dev->mmio + acqControl);
+		writew(DAQBOARD2000_SeqStartScanList,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
 				     DAQBOARD2000_AcqConfigPipeFull);
 		if (ret)
 			return ret;
 
-		writew(DAQBOARD2000_AdcPacerEnable, dev->mmio + acqControl);
+		writew(DAQBOARD2000_AdcPacerEnable,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
 				     DAQBOARD2000_AcqLogicScanning);
@@ -388,9 +392,11 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		if (ret)
 			return ret;
 
-		data[i] = readw(dev->mmio + acqResultsFIFO);
-		writew(DAQBOARD2000_AdcPacerDisable, dev->mmio + acqControl);
-		writew(DAQBOARD2000_SeqStopScanList, dev->mmio + acqControl);
+		data[i] = readw(dev->mmio + DB2K_REG_ACQ_RESULTS_FIFO);
+		writew(DAQBOARD2000_AdcPacerDisable,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
+		writew(DAQBOARD2000_SeqStopScanList,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 	}
 
 	return i;
@@ -404,7 +410,7 @@ static int daqboard2000_ao_eoc(struct comedi_device *dev,
 	unsigned int chan = CR_CHAN(insn->chanspec);
 	unsigned int status;
 
-	status = readw(dev->mmio + dacControl);
+	status = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 	if ((status & ((chan + 1) * 0x0010)) == 0)
 		return 0;
 	return -EBUSY;
@@ -422,7 +428,7 @@ static int daqboard2000_ao_insn_write(struct comedi_device *dev,
 		unsigned int val = data[i];
 		int ret;
 
-		writew(val, dev->mmio + dacSetting(chan));
+		writew(val, dev->mmio + DB2K_REG_DAC_SETTING(chan));
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ao_eoc, 0);
 		if (ret)
@@ -550,18 +556,20 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 	/* Disable hardware triggers */
 	udelay(2);
 	writew(DAQBOARD2000_TrigAnalog | DAQBOARD2000_TrigDisable,
-	       dev->mmio + trigControl);
+	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 	udelay(2);
 	writew(DAQBOARD2000_TrigTTL | DAQBOARD2000_TrigDisable,
-	       dev->mmio + trigControl);
+	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
 	udelay(2);
-	writew(DAQBOARD2000_SeqStopScanList, dev->mmio + acqControl);
+	writew(DAQBOARD2000_SeqStopScanList,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the pacer clock */
 	udelay(2);
-	writew(DAQBOARD2000_AdcPacerDisable, dev->mmio + acqControl);
+	writew(DAQBOARD2000_AdcPacerDisable,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
 	daqboard2000_adcStopDmaTransfer(dev);
@@ -573,18 +581,20 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	int timeout;
 
 	/*  Set the + reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_PosRefDacSelect, dev->mmio + refDacs);
+	writew(0x80 | DAQBOARD2000_PosRefDacSelect,
+	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 		if ((val & DAQBOARD2000_RefBusy) == 0)
 			break;
 		udelay(2);
 	}
 
 	/*  Set the - reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_NegRefDacSelect, dev->mmio + refDacs);
+	writew(0x80 | DAQBOARD2000_NegRefDacSelect,
+	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 		if ((val & DAQBOARD2000_RefBusy) == 0)
 			break;
 		udelay(2);
@@ -711,7 +721,7 @@ static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 	s = &dev->subdevices[2];
 	return subdev_8255_init(dev, s, daqboard2000_8255_cb,
-				dioP2ExpansionIO8Bit);
+				DB2K_REG_DIO_P2_EXP_IO_8_BIT);
 }
 
 static void daqboard2000_detach(struct comedi_device *dev)
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1403331 — RE: [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros

FromHartley Sweeten <HartleyS@visionengravers.com>
Date2016-05-19 00:50 +0200
SubjectRE: [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros
Message-ID<rAirT-8d7-11@gated-at.bofh.it>
In reply to#1402933
On Wednesday, May 18, 2016 5:37 AM, Ian Abbott wrote:
> Rename the macros defining register offsets to avoid CamelCase, and to
> use namespace associated with the driver.
>
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> ---
> Other CamelCase issues in this patch will be dealt with by later
> patches in the series.
>
> v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
> ---
>  drivers/staging/comedi/drivers/daqboard2000.c | 112 ++++++++++++++------------
>  1 file changed, 61 insertions(+), 51 deletions(-)

[snip]

+#define DB2K_REG_DIO_P2_EXP_IO_16_BIT(x) 	(0xc0 + (x) * 2) /* s16 */

You slipped an extra space in here:
WARNING: please, no space before tabs
#184: FILE: drivers/staging/comedi/drivers/daqboard2000.c:184:
+#define DB2K_REG_DIO_P2_EXP_IO_16_BIT(x) ^I(0xc0 + (x) * 2) /* s16 */$

Regards,
Hartley

[toc] | [prev] | [next] | [standalone]


#1403611 — [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-19 12:00 +0200
Subject[PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
Message-ID<rAsUh-6sS-13@gated-at.bofh.it>
In reply to#1402933
Rename the macros defining register offsets to avoid CamelCase, and to
use namespace associated with the driver.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
Other CamelCase issues in this patch will be dealt with by later
patches in the series.

v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
v3: Removed a space before tab that slipped in in v2.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 112 ++++++++++++++------------
 1 file changed, 61 insertions(+), 51 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index ceb910d..7c6a2450 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -151,35 +151,35 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 /*
  * Register Memory Map
  */
-#define acqControl			0x00		/* u16 */
-#define acqScanListFIFO			0x02		/* u16 */
-#define acqPacerClockDivLow		0x04		/* u32 */
-#define acqScanCounter			0x08		/* u16 */
-#define acqPacerClockDivHigh		0x0a		/* u16 */
-#define acqTriggerCount			0x0c		/* u16 */
-#define acqResultsFIFO			0x10		/* u16 */
-#define acqResultsShadow		0x14		/* u16 */
-#define acqAdcResult			0x18		/* u16 */
-#define dacScanCounter			0x1c		/* u16 */
-#define dacControl			0x20		/* u16 */
-#define dacFIFO				0x24		/* s16 */
-#define dacPacerClockDiv		0x2a		/* u16 */
-#define refDacs				0x2c		/* u16 */
-#define dioControl			0x30		/* u16 */
-#define dioP3hsioData			0x32		/* s16 */
-#define dioP3Control			0x34		/* u16 */
-#define calEepromControl		0x36		/* u16 */
-#define dacSetting(x)			(0x38 + (x) * 2) /* s16 */
-#define dioP2ExpansionIO8Bit		0x40		/* s16 */
-#define ctrTmrControl			0x80		/* u16 */
-#define ctrInput(x)			(0x88 + (x) * 2) /* s16 */
-#define timerDivisor(x)			(0xa0 + (x) * 2) /* u16 */
-#define dmaControl			0xb0		/* u16 */
-#define trigControl			0xb2		/* u16 */
-#define calEeprom			0xb8		/* u16 */
-#define acqDigitalMark			0xba		/* u16 */
-#define trigDacs			0xbc		/* u16 */
-#define dioP2ExpansionIO16Bit(x)	(0xc0 + (x) * 2) /* s16 */
+#define DB2K_REG_ACQ_CONTROL			0x00		/* u16 */
+#define DB2K_REG_ACQ_SCAN_LIST_FIFO		0x02		/* u16 */
+#define DB2K_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04		/* u32 */
+#define DB2K_REG_ACQ_SCAN_COUNTER		0x08		/* u16 */
+#define DB2K_REG_ACQ_PACER_CLOCK_DIV_HIGH	0x0a		/* u16 */
+#define DB2K_REG_ACQ_TRIGGER_COUNT		0x0c		/* u16 */
+#define DB2K_REG_ACQ_RESULTS_FIFO		0x10		/* u16 */
+#define DB2K_REG_ACQ_RESULTS_SHADOW		0x14		/* u16 */
+#define DB2K_REG_ACQ_ADC_RESULT			0x18		/* u16 */
+#define DB2K_REG_DAC_SCAN_COUNTER		0x1c		/* u16 */
+#define DB2K_REG_DAC_CONTROL			0x20		/* u16 */
+#define DB2K_REG_DAC_FIFO			0x24		/* s16 */
+#define DB2K_REG_DAC_PACER_CLOCK_DIV		0x2a		/* u16 */
+#define DB2K_REG_REF_DACS			0x2c		/* u16 */
+#define DB2K_REG_DIO_CONTROL			0x30		/* u16 */
+#define DB2K_REG_P3_HSIO_DATA			0x32		/* s16 */
+#define DB2K_REG_P3_CONTROL			0x34		/* u16 */
+#define DB2K_REG_CAL_EEPROM_CONTROL		0x36		/* u16 */
+#define DB2K_REG_DAC_SETTING(x)			(0x38 + (x) * 2) /* s16 */
+#define DB2K_REG_DIO_P2_EXP_IO_8_BIT		0x40		/* s16 */
+#define DB2K_REG_COUNTER_TIMER_CONTROL		0x80		/* u16 */
+#define DB2K_REG_COUNTER_INPUT(x)		(0x88 + (x) * 2) /* s16 */
+#define DB2K_REG_TIMER_DIV(x)			(0xa0 + (x) * 2) /* u16 */
+#define DB2K_REG_DMA_CONTROL			0xb0		/* u16 */
+#define DB2K_REG_TRIG_CONTROL			0xb2		/* u16 */
+#define DB2K_REG_CAL_EEPROM			0xb8		/* u16 */
+#define DB2K_REG_ACQ_DIGITAL_MARK		0xba		/* u16 */
+#define DB2K_REG_TRIG_DACS			0xbc		/* u16 */
+#define DB2K_REG_DIO_P2_EXP_IO_16_BIT(x)	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
 #define DAQBOARD2000_SeqStartScanList            0x0011
@@ -279,8 +279,9 @@ struct daqboard2000_private {
 
 static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
 {
-	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
-	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
+	writew(entry & 0x00ff, dev->mmio + DB2K_REG_ACQ_SCAN_LIST_FIFO);
+	writew((entry >> 8) & 0x00ff,
+	       dev->mmio + DB2K_REG_ACQ_SCAN_LIST_FIFO);
 }
 
 static void setup_sampling(struct comedi_device *dev, int chan, int gain)
@@ -330,7 +331,7 @@ static int daqboard2000_ai_status(struct comedi_device *dev,
 {
 	unsigned int status;
 
-	status = readw(dev->mmio + acqControl);
+	status = readw(dev->mmio + DB2K_REG_ACQ_CONTROL);
 	if (status & context)
 		return 0;
 	return -EBUSY;
@@ -347,15 +348,16 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 
 	writew(DAQBOARD2000_AcqResetScanListFifo |
 	       DAQBOARD2000_AcqResetResultsFifo |
-	       DAQBOARD2000_AcqResetConfigPipe, dev->mmio + acqControl);
+	       DAQBOARD2000_AcqResetConfigPipe,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/*
 	 * If pacer clock is not set to some high value (> 10 us), we
 	 * risk multiple samples to be put into the result FIFO.
 	 */
 	/* 1 second, should be long enough */
-	writel(1000000, dev->mmio + acqPacerClockDivLow);
-	writew(0, dev->mmio + acqPacerClockDivHigh);
+	writel(1000000, dev->mmio + DB2K_REG_ACQ_PACER_CLOCK_DIV_LOW);
+	writew(0, dev->mmio + DB2K_REG_ACQ_PACER_CLOCK_DIV_HIGH);
 
 	gain = CR_RANGE(insn->chanspec);
 	chan = CR_CHAN(insn->chanspec);
@@ -369,14 +371,16 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-		writew(DAQBOARD2000_SeqStartScanList, dev->mmio + acqControl);
+		writew(DAQBOARD2000_SeqStartScanList,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
 				     DAQBOARD2000_AcqConfigPipeFull);
 		if (ret)
 			return ret;
 
-		writew(DAQBOARD2000_AdcPacerEnable, dev->mmio + acqControl);
+		writew(DAQBOARD2000_AdcPacerEnable,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
 				     DAQBOARD2000_AcqLogicScanning);
@@ -388,9 +392,11 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		if (ret)
 			return ret;
 
-		data[i] = readw(dev->mmio + acqResultsFIFO);
-		writew(DAQBOARD2000_AdcPacerDisable, dev->mmio + acqControl);
-		writew(DAQBOARD2000_SeqStopScanList, dev->mmio + acqControl);
+		data[i] = readw(dev->mmio + DB2K_REG_ACQ_RESULTS_FIFO);
+		writew(DAQBOARD2000_AdcPacerDisable,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
+		writew(DAQBOARD2000_SeqStopScanList,
+		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 	}
 
 	return i;
@@ -404,7 +410,7 @@ static int daqboard2000_ao_eoc(struct comedi_device *dev,
 	unsigned int chan = CR_CHAN(insn->chanspec);
 	unsigned int status;
 
-	status = readw(dev->mmio + dacControl);
+	status = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 	if ((status & ((chan + 1) * 0x0010)) == 0)
 		return 0;
 	return -EBUSY;
@@ -422,7 +428,7 @@ static int daqboard2000_ao_insn_write(struct comedi_device *dev,
 		unsigned int val = data[i];
 		int ret;
 
-		writew(val, dev->mmio + dacSetting(chan));
+		writew(val, dev->mmio + DB2K_REG_DAC_SETTING(chan));
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ao_eoc, 0);
 		if (ret)
@@ -550,18 +556,20 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 	/* Disable hardware triggers */
 	udelay(2);
 	writew(DAQBOARD2000_TrigAnalog | DAQBOARD2000_TrigDisable,
-	       dev->mmio + trigControl);
+	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 	udelay(2);
 	writew(DAQBOARD2000_TrigTTL | DAQBOARD2000_TrigDisable,
-	       dev->mmio + trigControl);
+	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
 	udelay(2);
-	writew(DAQBOARD2000_SeqStopScanList, dev->mmio + acqControl);
+	writew(DAQBOARD2000_SeqStopScanList,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the pacer clock */
 	udelay(2);
-	writew(DAQBOARD2000_AdcPacerDisable, dev->mmio + acqControl);
+	writew(DAQBOARD2000_AdcPacerDisable,
+	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
 	daqboard2000_adcStopDmaTransfer(dev);
@@ -573,18 +581,20 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	int timeout;
 
 	/*  Set the + reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_PosRefDacSelect, dev->mmio + refDacs);
+	writew(0x80 | DAQBOARD2000_PosRefDacSelect,
+	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 		if ((val & DAQBOARD2000_RefBusy) == 0)
 			break;
 		udelay(2);
 	}
 
 	/*  Set the - reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_NegRefDacSelect, dev->mmio + refDacs);
+	writew(0x80 | DAQBOARD2000_NegRefDacSelect,
+	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DB2K_REG_DAC_CONTROL);
 		if ((val & DAQBOARD2000_RefBusy) == 0)
 			break;
 		udelay(2);
@@ -711,7 +721,7 @@ static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 	s = &dev->subdevices[2];
 	return subdev_8255_init(dev, s, daqboard2000_8255_cb,
-				dioP2ExpansionIO8Bit);
+				DB2K_REG_DIO_P2_EXP_IO_8_BIT);
 }
 
 static void daqboard2000_detach(struct comedi_device *dev)
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1403854 — RE: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros

FromHartley Sweeten <HartleyS@visionengravers.com>
Date2016-05-19 18:50 +0200
SubjectRE: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
Message-ID<rAzj4-2e6-9@gated-at.bofh.it>
In reply to#1403611
On Thursday, May 19, 2016 2:56 AM, Ian Abbott wrote:
> Rename the macros defining register offsets to avoid CamelCase, and to
> use namespace associated with the driver.
>
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> ---
> Other CamelCase issues in this patch will be dealt with by later
> patches in the series.
>
> v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
> v3: Removed a space before tab that slipped in in v2.

Ian,

Your [PATCH v2 07/14: ...] does not apply after this one.

It's probably better if Greg drops the previous patches and you
post a full series.

Regards,
Hartley

[toc] | [prev] | [next] | [standalone]


#1403882 — Re: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-19 19:50 +0200
SubjectRe: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
Message-ID<rAAf7-2QX-3@gated-at.bofh.it>
In reply to#1403854
On 19/05/16 17:49, Hartley Sweeten wrote:
> On Thursday, May 19, 2016 2:56 AM, Ian Abbott wrote:
>> Rename the macros defining register offsets to avoid CamelCase, and to
>> use namespace associated with the driver.
>>
>> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
>> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>> ---
>> Other CamelCase issues in this patch will be dealt with by later
>> patches in the series.
>>
>> v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
>> v3: Removed a space before tab that slipped in in v2.
>
> Ian,
>
> Your [PATCH v2 07/14: ...] does not apply after this one.
>
> It's probably better if Greg drops the previous patches and you
> post a full series.

I must be having a bad day!

I'll repost it all as v4.


-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

[toc] | [prev] | [next] | [standalone]


#1402934 — [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros
Message-ID<rA8Vz-2a6-9@gated-at.bofh.it>
In reply to#1402251
Rename the macros that define values for the trigger control register to
avoid CamelCase, and to make it clearer which register they are
associated with.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 37aa3a4..9bf831b 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -232,16 +232,16 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_DAC_CONTROL_PATTERN_ENABLE			0x0061
 
 /* Trigger Control */
-#define DAQBOARD2000_TrigAnalog                  0x0000
-#define DAQBOARD2000_TrigTTL                     0x0010
-#define DAQBOARD2000_TrigTransHiLo               0x0004
-#define DAQBOARD2000_TrigTransLoHi               0x0000
-#define DAQBOARD2000_TrigAbove                   0x0000
-#define DAQBOARD2000_TrigBelow                   0x0004
-#define DAQBOARD2000_TrigLevelSense              0x0002
-#define DAQBOARD2000_TrigEdgeSense               0x0000
-#define DAQBOARD2000_TrigEnable                  0x0001
-#define DAQBOARD2000_TrigDisable                 0x0000
+#define DB2K_TRIG_CONTROL_TYPE_ANALOG			0x0000
+#define DB2K_TRIG_CONTROL_TYPE_TTL			0x0010
+#define DB2K_TRIG_CONTROL_EDGE_HI_LO			0x0004
+#define DB2K_TRIG_CONTROL_EDGE_LO_HI			0x0000
+#define DB2K_TRIG_CONTROL_LEVEL_ABOVE			0x0000
+#define DB2K_TRIG_CONTROL_LEVEL_BELOW			0x0004
+#define DB2K_TRIG_CONTROL_SENSE_LEVEL			0x0002
+#define DB2K_TRIG_CONTROL_SENSE_EDGE			0x0000
+#define DB2K_TRIG_CONTROL_ENABLE			0x0001
+#define DB2K_TRIG_CONTROL_DISABLE			0x0000
 
 /* Reference Dac Selection */
 #define DAQBOARD2000_PosRefDacSelect             0x0100
@@ -543,10 +543,10 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 {
 	/* Disable hardware triggers */
 	udelay(2);
-	writew(DAQBOARD2000_TrigAnalog | DAQBOARD2000_TrigDisable,
+	writew(DB2K_TRIG_CONTROL_TYPE_ANALOG | DB2K_TRIG_CONTROL_DISABLE,
 	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 	udelay(2);
-	writew(DAQBOARD2000_TrigTTL | DAQBOARD2000_TrigDisable,
+	writew(DB2K_TRIG_CONTROL_TYPE_TTL | DB2K_TRIG_CONTROL_DISABLE,
 	       dev->mmio + DB2K_REG_TRIG_CONTROL);
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402935 — [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status register macros
Message-ID<rA8VA-2a6-13@gated-at.bofh.it>
In reply to#1402251
Rename the macros associated with the acquisition status register to
avoid CamelCase and to make it clear which register they are associated
with.

Add a macro to define the offset of the read-only acquisition status
register.  It's the same offset as the acquisition control register,
which is write-only.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 39 ++++++++++++++-------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index e77a65a..271ad83 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -151,7 +151,8 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 /*
  * Register Memory Map
  */
-#define DB2K_REG_ACQ_CONTROL			0x00		/* u16 */
+#define DB2K_REG_ACQ_CONTROL			0x00		/* u16 (w) */
+#define DB2K_REG_ACQ_STATUS			0x00		/* u16 (r) */
 #define DB2K_REG_ACQ_SCAN_LIST_FIFO		0x02		/* u16 */
 #define DB2K_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04		/* u32 */
 #define DB2K_REG_ACQ_SCAN_COUNTER		0x08		/* u16 */
@@ -190,19 +191,6 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_ACQ_CONTROL_RESET_RESULTS_FIFO		0x0002
 #define DB2K_ACQ_CONTROL_RESET_CONFIG_PIPE		0x0001
 
-/* Acqusition status bits */
-#define DAQBOARD2000_AcqResultsFIFOMore1Sample   0x0001
-#define DAQBOARD2000_AcqResultsFIFOHasValidData  0x0002
-#define DAQBOARD2000_AcqResultsFIFOOverrun       0x0004
-#define DAQBOARD2000_AcqLogicScanning            0x0008
-#define DAQBOARD2000_AcqConfigPipeFull           0x0010
-#define DAQBOARD2000_AcqScanListFIFOEmpty        0x0020
-#define DAQBOARD2000_AcqAdcNotReady              0x0040
-#define DAQBOARD2000_ArbitrationFailure          0x0080
-#define DAQBOARD2000_AcqPacerOverrun             0x0100
-#define DAQBOARD2000_DacPacerOverrun             0x0200
-#define DAQBOARD2000_AcqHardwareError            0x01c0
-
 /* Pacer Clock Control */
 #define DB2K_ACQ_CONTROL_ADC_PACER_INTERNAL		0x0030
 #define DB2K_ACQ_CONTROL_ADC_PACER_EXTERNAL		0x0032
@@ -214,6 +202,18 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_ACQ_CONTROL_ADC_PACER_INTERNAL_OUT_ENABLE	0x0008
 #define DB2K_ACQ_CONTROL_ADC_PACER_EXTERNAL_RISING	0x0100
 
+/* Acquisition status bits */
+#define DB2K_ACQ_STATUS_RESULTS_FIFO_MORE_1_SAMPLE	0x0001
+#define DB2K_ACQ_STATUS_RESULTS_FIFO_HAS_DATA		0x0002
+#define DB2K_ACQ_STATUS_RESULTS_FIFO_OVERRUN		0x0004
+#define DB2K_ACQ_STATUS_LOGIC_SCANNING			0x0008
+#define DB2K_ACQ_STATUS_CONFIG_PIPE_FULL		0x0010
+#define DB2K_ACQ_STATUS_SCAN_LIST_FIFO_EMPTY		0x0020
+#define DB2K_ACQ_STATUS_ADC_NOT_READY			0x0040
+#define DB2K_ACQ_STATUS_ARBITRATION_FAILURE		0x0080
+#define DB2K_ACQ_STATUS_ADC_PACER_OVERRUN		0x0100
+#define DB2K_ACQ_STATUS_DAC_PACER_OVERRUN		0x0200
+
 /* DAC status */
 #define DAQBOARD2000_DacFull                     0x0001
 #define DAQBOARD2000_RefBusy                     0x0002
@@ -327,7 +327,7 @@ static int daqboard2000_ai_status(struct comedi_device *dev,
 {
 	unsigned int status;
 
-	status = readw(dev->mmio + DB2K_REG_ACQ_CONTROL);
+	status = readw(dev->mmio + DB2K_REG_ACQ_STATUS);
 	if (status & context)
 		return 0;
 	return -EBUSY;
@@ -371,7 +371,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
-				     DAQBOARD2000_AcqConfigPipeFull);
+				     DB2K_ACQ_STATUS_CONFIG_PIPE_FULL);
 		if (ret)
 			return ret;
 
@@ -379,12 +379,13 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
-				     DAQBOARD2000_AcqLogicScanning);
+				     DB2K_ACQ_STATUS_LOGIC_SCANNING);
 		if (ret)
 			return ret;
 
-		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
-				     DAQBOARD2000_AcqResultsFIFOHasValidData);
+		ret =
+		comedi_timeout(dev, s, insn, daqboard2000_ai_status,
+			       DB2K_ACQ_STATUS_RESULTS_FIFO_HAS_DATA);
 		if (ret)
 			return ret;
 
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402936 — [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros
Message-ID<rA8VA-2a6-17@gated-at.bofh.it>
In reply to#1402251
Rename the macros defining values for the acquisition control register
to avoid CamelCase, and to make it clearer which register they are
associated with.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 50 ++++++++++++---------------
 1 file changed, 23 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index b068746..e77a65a 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -182,13 +182,13 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_REG_DIO_P2_EXP_IO_16_BIT(x) 	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
-#define DAQBOARD2000_SeqStartScanList            0x0011
-#define DAQBOARD2000_SeqStopScanList             0x0010
+#define DB2K_ACQ_CONTROL_SEQ_START_SCAN_LIST		0x0011
+#define DB2K_ACQ_CONTROL_SEQ_STOP_SCAN_LIST		0x0010
 
 /* Prepare for acquisition */
-#define DAQBOARD2000_AcqResetScanListFifo        0x0004
-#define DAQBOARD2000_AcqResetResultsFifo         0x0002
-#define DAQBOARD2000_AcqResetConfigPipe          0x0001
+#define DB2K_ACQ_CONTROL_RESET_SCAN_LIST_FIFO		0x0004
+#define DB2K_ACQ_CONTROL_RESET_RESULTS_FIFO		0x0002
+#define DB2K_ACQ_CONTROL_RESET_CONFIG_PIPE		0x0001
 
 /* Acqusition status bits */
 #define DAQBOARD2000_AcqResultsFIFOMore1Sample   0x0001
@@ -203,20 +203,16 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_DacPacerOverrun             0x0200
 #define DAQBOARD2000_AcqHardwareError            0x01c0
 
-/* Scan Sequencer programming */
-#define DAQBOARD2000_SeqStartScanList            0x0011
-#define DAQBOARD2000_SeqStopScanList             0x0010
-
 /* Pacer Clock Control */
-#define DAQBOARD2000_AdcPacerInternal            0x0030
-#define DAQBOARD2000_AdcPacerExternal            0x0032
-#define DAQBOARD2000_AdcPacerEnable              0x0031
-#define DAQBOARD2000_AdcPacerEnableDacPacer      0x0034
-#define DAQBOARD2000_AdcPacerDisable             0x0030
-#define DAQBOARD2000_AdcPacerNormalMode          0x0060
-#define DAQBOARD2000_AdcPacerCompatibilityMode   0x0061
-#define DAQBOARD2000_AdcPacerInternalOutEnable   0x0008
-#define DAQBOARD2000_AdcPacerExternalRising      0x0100
+#define DB2K_ACQ_CONTROL_ADC_PACER_INTERNAL		0x0030
+#define DB2K_ACQ_CONTROL_ADC_PACER_EXTERNAL		0x0032
+#define DB2K_ACQ_CONTROL_ADC_PACER_ENABLE		0x0031
+#define DB2K_ACQ_CONTROL_ADC_PACER_ENABLE_DAC_PACER	0x0034
+#define DB2K_ACQ_CONTROL_ADC_PACER_DISABLE		0x0030
+#define DB2K_ACQ_CONTROL_ADC_PACER_NORMAL_MODE		0x0060
+#define DB2K_ACQ_CONTROL_ADC_PACER_COMPATIBILITY_MODE	0x0061
+#define DB2K_ACQ_CONTROL_ADC_PACER_INTERNAL_OUT_ENABLE	0x0008
+#define DB2K_ACQ_CONTROL_ADC_PACER_EXTERNAL_RISING	0x0100
 
 /* DAC status */
 #define DAQBOARD2000_DacFull                     0x0001
@@ -346,9 +342,9 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	int ret;
 	int i;
 
-	writew(DAQBOARD2000_AcqResetScanListFifo |
-	       DAQBOARD2000_AcqResetResultsFifo |
-	       DAQBOARD2000_AcqResetConfigPipe,
+	writew(DB2K_ACQ_CONTROL_RESET_SCAN_LIST_FIFO |
+	       DB2K_ACQ_CONTROL_RESET_RESULTS_FIFO |
+	       DB2K_ACQ_CONTROL_RESET_CONFIG_PIPE,
 	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/*
@@ -371,7 +367,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-		writew(DAQBOARD2000_SeqStartScanList,
+		writew(DB2K_ACQ_CONTROL_SEQ_START_SCAN_LIST,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
@@ -379,7 +375,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 		if (ret)
 			return ret;
 
-		writew(DAQBOARD2000_AdcPacerEnable,
+		writew(DB2K_ACQ_CONTROL_ADC_PACER_ENABLE,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
@@ -393,9 +389,9 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 			return ret;
 
 		data[i] = readw(dev->mmio + DB2K_REG_ACQ_RESULTS_FIFO);
-		writew(DAQBOARD2000_AdcPacerDisable,
+		writew(DB2K_ACQ_CONTROL_ADC_PACER_DISABLE,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
-		writew(DAQBOARD2000_SeqStopScanList,
+		writew(DB2K_ACQ_CONTROL_SEQ_STOP_SCAN_LIST,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
 	}
 
@@ -563,12 +559,12 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
 	udelay(2);
-	writew(DAQBOARD2000_SeqStopScanList,
+	writew(DB2K_ACQ_CONTROL_SEQ_STOP_SCAN_LIST,
 	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the pacer clock */
 	udelay(2);
-	writew(DAQBOARD2000_AdcPacerDisable,
+	writew(DB2K_ACQ_CONTROL_ADC_PACER_DISABLE,
 	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402937 — [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control register macros
Message-ID<rA8VA-2a6-19@gated-at.bofh.it>
In reply to#1402251
Rename the macros used to define values for the DAC control register to
avoid CamelCase and to make it clearer which register they are
associated with.  Refactor the macros used to define values to enable or
disable DAC channels to use the channel number as a parameter.  None of
these macros are currently used by the driver.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 271ad83..aea40ee 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -225,20 +225,13 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_Dac3Busy                    0x0080
 
 /* DAC control */
-#define DAQBOARD2000_Dac0Enable                  0x0021
-#define DAQBOARD2000_Dac1Enable                  0x0031
-#define DAQBOARD2000_Dac2Enable                  0x0041
-#define DAQBOARD2000_Dac3Enable                  0x0051
-#define DAQBOARD2000_DacEnableBit                0x0001
-#define DAQBOARD2000_Dac0Disable                 0x0020
-#define DAQBOARD2000_Dac1Disable                 0x0030
-#define DAQBOARD2000_Dac2Disable                 0x0040
-#define DAQBOARD2000_Dac3Disable                 0x0050
-#define DAQBOARD2000_DacResetFifo                0x0004
-#define DAQBOARD2000_DacPatternDisable           0x0060
-#define DAQBOARD2000_DacPatternEnable            0x0061
-#define DAQBOARD2000_DacSelectSignedData         0x0002
-#define DAQBOARD2000_DacSelectUnsignedData       0x0000
+#define DB2K_DAC_CONTROL_ENABLE_BIT			0x0001
+#define DB2K_DAC_CONTROL_DATA_IS_SIGNED			0x0002
+#define DB2K_DAC_CONTROL_RESET_FIFO			0x0004
+#define DB2K_DAC_CONTROL_DAC_DISABLE(x)			(0x0020 + ((x) << 4))
+#define DB2K_DAC_CONTROL_DAC_ENABLE(x)			(0x0021 + ((x) << 4))
+#define DB2K_DAC_CONTROL_PATTERN_DISABLE		0x0060
+#define DB2K_DAC_CONTROL_PATTERN_ENABLE			0x0061
 
 /* Trigger Control */
 #define DAQBOARD2000_TrigAnalog                  0x0000
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402938 — [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration
Message-ID<rA8VA-2a6-21@gated-at.bofh.it>
In reply to#1402251
Fix checkpatch issue: "CHECK: Please use a blank line after
function/struct/union/enum declarations".

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Fixed typo in patch description: `black line` --> `blank line`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 904de95..cbbeb50 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -264,6 +264,7 @@ struct daq200_boardtype {
 	const char *name;
 	int id;
 };
+
 static const struct daq200_boardtype boardtypes[] = {
 	{"ids2", DAQBOARD2000_SUBSYSTEM_IDS2},
 	{"ids4", DAQBOARD2000_SUBSYSTEM_IDS4},
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1402939 — [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros

FromIan Abbott <abbotti@mev.co.uk>
Date2016-05-18 14:40 +0200
Subject[PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
Message-ID<rA8VA-2a6-15@gated-at.bofh.it>
In reply to#1402251
Rename the macros that define values for the reference DACs register to
avoid CamelCase, and to make it clearer which register they are
associated with.  Add a macro `DAQBOARD2000_REF_DACS_SET` for the value
`0x80` that triggers setting one of the references.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Shortened prefix from `DAQBOARD2000_` to `DB2K_`.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 9bf831b..4c6c881 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -244,8 +244,9 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DB2K_TRIG_CONTROL_DISABLE			0x0000
 
 /* Reference Dac Selection */
-#define DAQBOARD2000_PosRefDacSelect             0x0100
-#define DAQBOARD2000_NegRefDacSelect             0x0000
+#define DB2K_REF_DACS_SET				0x0080
+#define DB2K_REF_DACS_SELECT_POS_REF			0x0100
+#define DB2K_REF_DACS_SELECT_NEG_REF			0x0000
 
 struct daq200_boardtype {
 	const char *name;
@@ -569,7 +570,7 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	int timeout;
 
 	/*  Set the + reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_PosRefDacSelect,
+	writew(DB2K_REF_DACS_SET | DB2K_REF_DACS_SELECT_POS_REF,
 	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
 		val = readw(dev->mmio + DB2K_REG_DAC_STATUS);
@@ -579,7 +580,7 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	}
 
 	/*  Set the - reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_NegRefDacSelect,
+	writew(DB2K_REF_DACS_SET | DB2K_REF_DACS_SELECT_NEG_REF,
 	       dev->mmio + DB2K_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
 		val = readw(dev->mmio + DB2K_REG_DAC_STATUS);
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1403334 — RE: [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros

FromHartley Sweeten <HartleyS@visionengravers.com>
Date2016-05-19 01:00 +0200
SubjectRE: [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
Message-ID<rAiBA-8gC-27@gated-at.bofh.it>
In reply to#1402939
On Wednesday, May 18, 2016 5:37 AM, Ian Abbott wrote:
> Rename the macros that define values for the reference DACs register to
> avoid CamelCase, and to make it clearer which register they are
> associated with.  Add a macro `DAQBOARD2000_REF_DACS_SET` for the value
> `0x80` that triggers setting one of the references.

[snip]

+#define DB2K_REF_DACS_SET				0x0080

Minor issue... Typo in the commit. Not sure if it's worth a v3.

Regards,
Hartley

[toc] | [prev] | [next] | [standalone]


Page 1 of 3  [1] 2 3  Next page →

Back to top | Article view | linux.kernel


csiph-web