linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
@ 2016-05-17  9:52 Ian Abbott
  2016-05-17  9:52 ` [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
                   ` (16 more replies)
  0 siblings, 17 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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(-)

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

* [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17 17:14   ` Hartley Sweeten
  2016-05-17  9:52 ` [PATCH 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Remove some commented out code.  Some of it uses constructs that don't
exist in the driver, and probably come from the source code for the MS
Windows driver.

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

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 57ab668..8c9a024 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -278,9 +278,7 @@ struct daqboard2000_private {
 
 static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
 {
-	/* udelay(4); */
 	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
-	/* udelay(4); */
 	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
 }
 
@@ -315,10 +313,6 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 		word3 = 0;
 		break;
 	}
-/*
-  dev->eeprom.correctionDACSE[i][j][k].offset = 0x800;
-  dev->eeprom.correctionDACSE[i][j][k].gain = 0xc00;
-*/
 	/* These should be read from EEPROM */
 	word2 |= 0x0800;
 	word3 |= 0xc000;
-- 
2.8.1

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

* [PATCH 02/14] staging: comedi: daqboard2000: use usual block comment style
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
  2016-05-17  9:52 ` [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Reformat one of the block comments to conform to the usual style (it's
the only one that doesn't).

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

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 8c9a024..54a2a58 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -359,10 +359,12 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	gain = CR_RANGE(insn->chanspec);
 	chan = CR_CHAN(insn->chanspec);
 
-	/* This doesn't look efficient.  I decided to take the conservative
+	/*
+	 * This doesn't look efficient.  I decided to take the conservative
 	 * approach when I did the insn conversion.  Perhaps it would be
 	 * better to have broken it completely, then someone would have been
-	 * forced to fix it.  --ds */
+	 * forced to fix it.  --ds
+	 */
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-- 
2.8.1

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

* [PATCH 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*'
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
  2016-05-17  9:52 ` [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
  2016-05-17  9:52 ` [PATCH 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Fix checkpatch issues of the form "CHECK: spaces preferred around that
'*' (ctx:VxV)".

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
CamelCase issues in this patch will be dealt with by later patches.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 54a2a58..4dea8cc 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -169,17 +169,17 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define dioP3hsioData			0x32		/* s16 */
 #define dioP3Control			0x34		/* u16 */
 #define calEepromControl		0x36		/* u16 */
-#define dacSetting(x)			(0x38 + (x)*2)	/* s16 */
+#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 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 dioP2ExpansionIO16Bit(x)	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
 #define DAQBOARD2000_SeqStartScanList            0x0011
-- 
2.8.1

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

* [PATCH 04/14] staging: comedi: daqboard2000: add blank line after struct declaration
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (2 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Fix checkpatch issue: "CHECK: Please use a black line after
function/struct/union/enum declarations".

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 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 4dea8cc..fde0924 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

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

* [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (3 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17 17:22   ` Hartley Sweeten
  2016-05-17  9:52 ` [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
                   ` (11 subsequent siblings)
  16 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename the macros defining values for the Serial EEPROM Control Register
to avoid CamelCase.

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

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index fde0924..b3b68e8 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -116,12 +116,12 @@
 #define DAQBOARD2000_SUBSYSTEM_IDS4	0x0004	/* Daqboard/2000 - 4 Dacs */
 
 /* Initialization bits for the Serial EEPROM Control Register */
-#define DAQBOARD2000_SECRProgPinHi      0x8001767e
-#define DAQBOARD2000_SECRProgPinLo      0x8000767e
-#define DAQBOARD2000_SECRLocalBusHi     0xc000767e
-#define DAQBOARD2000_SECRLocalBusLo     0x8000767e
-#define DAQBOARD2000_SECRReloadHi       0xa000767e
-#define DAQBOARD2000_SECRReloadLo       0x8000767e
+#define DAQBOARD2000_SECR_PROG_PIN_HI	0x8001767e
+#define DAQBOARD2000_SECR_PROG_PIN_LO	0x8000767e
+#define DAQBOARD2000_SECR_LOCAL_BUS_HI	0xc000767e
+#define DAQBOARD2000_SECR_LOCAL_BUS_LO	0x8000767e
+#define DAQBOARD2000_SECR_RELOAD_HI	0xa000767e
+#define DAQBOARD2000_SECR_RELOAD_LO	0x8000767e
 
 /* SECR status bits */
 #define DAQBOARD2000_EEPROM_PRESENT     0x10000000
@@ -438,9 +438,9 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRLocalBusHi, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_LOCAL_BUS_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRLocalBusLo, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_LOCAL_BUS_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -448,11 +448,11 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadHi, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_RELOAD_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -460,9 +460,9 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRProgPinHi, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_PROG_PIN_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRProgPinLo, devpriv->plx + 0x6c);
+	writel(DAQBOARD2000_SECR_PROG_PIN_LO, devpriv->plx + 0x6c);
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-- 
2.8.1

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

* [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (4 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17 17:27   ` Hartley Sweeten
  2016-05-17  9:52 ` [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
                   ` (10 subsequent siblings)
  16 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
Other CamelCase issues in this patch will be dealt with by later
patches in the series.
---
 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 b3b68e8..92ff8f4 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 DAQBOARD2000_REG_ACQ_CONTROL			0x00 /* u16 */
+#define DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO		0x02 /* u16 */
+#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04 /* u32 */
+#define DAQBOARD2000_REG_ACQ_SCAN_COUNTER		0x08 /* u16 */
+#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_HIGH	0x0a /* u16 */
+#define DAQBOARD2000_REG_ACQ_TRIGGER_COUNT		0x0c /* u16 */
+#define DAQBOARD2000_REG_ACQ_RESULTS_FIFO		0x10 /* u16 */
+#define DAQBOARD2000_REG_ACQ_RESULTS_SHADOW		0x14 /* u16 */
+#define DAQBOARD2000_REG_ACQ_ADC_RESULT			0x18 /* u16 */
+#define DAQBOARD2000_REG_DAC_SCAN_COUNTER		0x1c /* u16 */
+#define DAQBOARD2000_REG_DAC_CONTROL			0x20 /* u16 */
+#define DAQBOARD2000_REG_DAC_FIFO			0x24 /* s16 */
+#define DAQBOARD2000_REG_DAC_PACER_CLOCK_DIV		0x2a /* u16 */
+#define DAQBOARD2000_REG_REF_DACS			0x2c /* u16 */
+#define DAQBOARD2000_REG_DIO_CONTROL			0x30 /* u16 */
+#define DAQBOARD2000_REG_P3_HSIO_DATA			0x32 /* s16 */
+#define DAQBOARD2000_REG_P3_CONTROL			0x34 /* u16 */
+#define DAQBOARD2000_REG_CAL_EEPROM_CONTROL		0x36 /* u16 */
+#define DAQBOARD2000_REG_DAC_SETTING(x)		(0x38 + (x) * 2) /* s16 */
+#define DAQBOARD2000_REG_DIO_P2_EXP_IO_8_BIT		0x40 /* s16 */
+#define DAQBOARD2000_REG_COUNTER_TIMER_CONTROL		0x80 /* u16 */
+#define DAQBOARD2000_REG_COUNTER_INPUT(x)	(0x88 + (x) * 2) /* s16 */
+#define DAQBOARD2000_REG_TIMER_DIV(x)		(0xa0 + (x) * 2) /* u16 */
+#define DAQBOARD2000_REG_DMA_CONTROL			0xb0 /* u16 */
+#define DAQBOARD2000_REG_TRIG_CONTROL			0xb2 /* u16 */
+#define DAQBOARD2000_REG_CAL_EEPROM			0xb8 /* u16 */
+#define DAQBOARD2000_REG_ACQ_DIGITAL_MARK		0xba /* u16 */
+#define DAQBOARD2000_REG_TRIG_DACS			0xbc /* u16 */
+#define DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO);
+	writew((entry >> 8) & 0x00ff,
+	       dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_LOW);
+	writew(0, dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_RESULTS_FIFO);
+		writew(DAQBOARD2000_AdcPacerDisable,
+		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
+		writew(DAQBOARD2000_SeqStopScanList,
+		       dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_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 + DAQBOARD2000_REG_TRIG_CONTROL);
 	udelay(2);
 	writew(DAQBOARD2000_TrigTTL | DAQBOARD2000_TrigDisable,
-	       dev->mmio + trigControl);
+	       dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_CONTROL);
 
 	/* Stop the pacer clock */
 	udelay(2);
-	writew(DAQBOARD2000_AdcPacerDisable, dev->mmio + acqControl);
+	writew(DAQBOARD2000_AdcPacerDisable,
+	       dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + dacControl);
+		val = readw(dev->mmio + DAQBOARD2000_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);
+				DAQBOARD2000_REG_DIO_P2_EXP_IO_8_BIT);
 }
 
 static void daqboard2000_detach(struct comedi_device *dev)
-- 
2.8.1

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

* [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (5 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH 08/14] staging: comedi: daqboard2000: rename acq status register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (6 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
 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 3634331..2cdd882 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 DAQBOARD2000_REG_ACQ_CONTROL			0x00 /* u16 */
+#define DAQBOARD2000_REG_ACQ_CONTROL			0x00 /* u16 (w) */
+#define DAQBOARD2000_REG_ACQ_STATUS			0x00 /* u16 (r) */
 #define DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO		0x02 /* u16 */
 #define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04 /* u32 */
 #define DAQBOARD2000_REG_ACQ_SCAN_COUNTER		0x08 /* u16 */
@@ -190,19 +191,6 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_ACQ_CONTROL_RESET_RESULTS_FIFO		0x0002
 #define DAQBOARD2000_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 DAQBOARD2000_ACQ_CONTROL_ADC_PACER_INTERNAL		0x0030
 #define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_EXTERNAL		0x0032
@@ -214,6 +202,18 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_INTERNAL_OUT_ENABLE	0x0008
 #define DAQBOARD2000_ACQ_CONTROL_ADC_PACER_EXTERNAL_RISING	0x0100
 
+/* Acquisition status bits */
+#define DAQBOARD2000_ACQ_STATUS_RESULTS_FIFO_MORE_1_SAMPLE	0x0001
+#define DAQBOARD2000_ACQ_STATUS_RESULTS_FIFO_HAS_DATA		0x0002
+#define DAQBOARD2000_ACQ_STATUS_RESULTS_FIFO_OVERRUN		0x0004
+#define DAQBOARD2000_ACQ_STATUS_LOGIC_SCANNING			0x0008
+#define DAQBOARD2000_ACQ_STATUS_CONFIG_PIPE_FULL		0x0010
+#define DAQBOARD2000_ACQ_STATUS_SCAN_LIST_FIFO_EMPTY		0x0020
+#define DAQBOARD2000_ACQ_STATUS_ADC_NOT_READY			0x0040
+#define DAQBOARD2000_ACQ_STATUS_ARBITRATION_FAILURE		0x0080
+#define DAQBOARD2000_ACQ_STATUS_ADC_PACER_OVERRUN		0x0100
+#define DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_CONTROL);
+	status = readw(dev->mmio + DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
-				     DAQBOARD2000_AcqConfigPipeFull);
+				     DAQBOARD2000_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 + DAQBOARD2000_REG_ACQ_CONTROL);
 
 		ret = comedi_timeout(dev, s, insn, daqboard2000_ai_status,
-				     DAQBOARD2000_AcqLogicScanning);
+				     DAQBOARD2000_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,
+			       DAQBOARD2000_ACQ_STATUS_RESULTS_FIFO_HAS_DATA);
 		if (ret)
 			return ret;
 
-- 
2.8.1

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

* [PATCH 09/14] staging: comedi: daqboard2000: redo DAC control register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (7 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
 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 2cdd882..4066cfa 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 DAQBOARD2000_DAC_CONTROL_ENABLE_BIT			0x0001
+#define DAQBOARD2000_DAC_CONTROL_DATA_IS_SIGNED			0x0002
+#define DAQBOARD2000_DAC_CONTROL_RESET_FIFO			0x0004
+#define DAQBOARD2000_DAC_CONTROL_DAC_DISABLE(x)		(0x0020 + ((x) << 4))
+#define DAQBOARD2000_DAC_CONTROL_DAC_ENABLE(x)		(0x0021 + ((x) << 4))
+#define DAQBOARD2000_DAC_CONTROL_PATTERN_DISABLE		0x0060
+#define DAQBOARD2000_DAC_CONTROL_PATTERN_ENABLE			0x0061
 
 /* Trigger Control */
 #define DAQBOARD2000_TrigAnalog                  0x0000
-- 
2.8.1

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

* [PATCH 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (8 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
 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 4066cfa..b292e70 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 DAQBOARD2000_REG_ACQ_RESULTS_SHADOW		0x14 /* u16 */
 #define DAQBOARD2000_REG_ACQ_ADC_RESULT			0x18 /* u16 */
 #define DAQBOARD2000_REG_DAC_SCAN_COUNTER		0x1c /* u16 */
-#define DAQBOARD2000_REG_DAC_CONTROL			0x20 /* u16 */
+#define DAQBOARD2000_REG_DAC_CONTROL			0x20 /* u16 (w) */
+#define DAQBOARD2000_REG_DAC_STATUS			0x20 /* u16 (r) */
 #define DAQBOARD2000_REG_DAC_FIFO			0x24 /* s16 */
 #define DAQBOARD2000_REG_DAC_PACER_CLOCK_DIV		0x2a /* u16 */
 #define DAQBOARD2000_REG_REF_DACS			0x2c /* u16 */
@@ -215,14 +216,11 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define DAQBOARD2000_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 DAQBOARD2000_DAC_STATUS_DAC_FULL			0x0001
+#define DAQBOARD2000_DAC_STATUS_REF_BUSY			0x0002
+#define DAQBOARD2000_DAC_STATUS_TRIG_BUSY			0x0004
+#define DAQBOARD2000_DAC_STATUS_CAL_BUSY			0x0008
+#define DAQBOARD2000_DAC_STATUS_DAC_BUSY(x)			(0x0010 << (x))
 
 /* DAC control */
 #define DAQBOARD2000_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 + DAQBOARD2000_REG_DAC_CONTROL);
-	if ((status & ((chan + 1) * 0x0010)) == 0)
+	status = readw(dev->mmio + DAQBOARD2000_REG_DAC_STATUS);
+	if ((status & DAQBOARD2000_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 + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_CONTROL);
-		if ((val & DAQBOARD2000_RefBusy) == 0)
+		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_STATUS);
+		if ((val & DAQBOARD2000_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 + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
-		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_CONTROL);
-		if ((val & DAQBOARD2000_RefBusy) == 0)
+		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_STATUS);
+		if ((val & DAQBOARD2000_DAC_STATUS_REF_BUSY) == 0)
 			break;
 		udelay(2);
 	}
-- 
2.8.1

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

* [PATCH 11/14] staging: comedi: daqboard2000: rename trigger control register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (9 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
 drivers/staging/comedi/drivers/daqboard2000.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index b292e70..b6b4ee4 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 DAQBOARD2000_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 DAQBOARD2000_TRIG_CONTROL_TYPE_ANALOG			0x0000
+#define DAQBOARD2000_TRIG_CONTROL_TYPE_TTL			0x0010
+#define DAQBOARD2000_TRIG_CONTROL_EDGE_HI_LO			0x0004
+#define DAQBOARD2000_TRIG_CONTROL_EDGE_LO_HI			0x0000
+#define DAQBOARD2000_TRIG_CONTROL_LEVEL_ABOVE			0x0000
+#define DAQBOARD2000_TRIG_CONTROL_LEVEL_BELOW			0x0004
+#define DAQBOARD2000_TRIG_CONTROL_SENSE_LEVEL			0x0002
+#define DAQBOARD2000_TRIG_CONTROL_SENSE_EDGE			0x0000
+#define DAQBOARD2000_TRIG_CONTROL_ENABLE			0x0001
+#define DAQBOARD2000_TRIG_CONTROL_DISABLE			0x0000
 
 /* Reference Dac Selection */
 #define DAQBOARD2000_PosRefDacSelect             0x0100
@@ -543,10 +543,12 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 {
 	/* Disable hardware triggers */
 	udelay(2);
-	writew(DAQBOARD2000_TrigAnalog | DAQBOARD2000_TrigDisable,
+	writew(DAQBOARD2000_TRIG_CONTROL_TYPE_ANALOG |
+	       DAQBOARD2000_TRIG_CONTROL_DISABLE,
 	       dev->mmio + DAQBOARD2000_REG_TRIG_CONTROL);
 	udelay(2);
-	writew(DAQBOARD2000_TrigTTL | DAQBOARD2000_TrigDisable,
+	writew(DAQBOARD2000_TRIG_CONTROL_TYPE_TTL |
+	       DAQBOARD2000_TRIG_CONTROL_DISABLE,
 	       dev->mmio + DAQBOARD2000_REG_TRIG_CONTROL);
 
 	/* Stop the scan list FIFO from loading the configuration pipe */
-- 
2.8.1

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

* [PATCH 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (10 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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>
---
 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 b6b4ee4..7034e68 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 DAQBOARD2000_TRIG_CONTROL_DISABLE			0x0000
 
 /* Reference Dac Selection */
-#define DAQBOARD2000_PosRefDacSelect             0x0100
-#define DAQBOARD2000_NegRefDacSelect             0x0000
+#define DAQBOARD2000_REF_DACS_SET				0x0080
+#define DAQBOARD2000_REF_DACS_SELECT_POS_REF			0x0100
+#define DAQBOARD2000_REF_DACS_SELECT_NEG_REF			0x0000
 
 struct daq200_boardtype {
 	const char *name;
@@ -571,7 +572,7 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	int timeout;
 
 	/*  Set the + reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_PosRefDacSelect,
+	writew(DAQBOARD2000_REF_DACS_SET | DAQBOARD2000_REF_DACS_SELECT_POS_REF,
 	       dev->mmio + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
 		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_STATUS);
@@ -581,7 +582,7 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	}
 
 	/*  Set the - reference dac value in the FPGA */
-	writew(0x80 | DAQBOARD2000_NegRefDacSelect,
+	writew(DAQBOARD2000_REF_DACS_SET | DAQBOARD2000_REF_DACS_SELECT_NEG_REF,
 	       dev->mmio + DAQBOARD2000_REG_REF_DACS);
 	for (timeout = 0; timeout < 20; timeout++) {
 		val = readw(dev->mmio + DAQBOARD2000_REG_DAC_STATUS);
-- 
2.8.1

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

* [PATCH 13/14] staging: comedi: daqboard2000: rename CamelCase functions
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (11 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17  9:52 ` [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename functions to avoid CamelCase warnings from checkpatch, and to use
namespace associated with the driver.

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

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 7034e68..846de82 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -265,14 +265,16 @@ struct daqboard2000_private {
 	void __iomem *plx;
 };
 
-static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
+static void daqboard2000_write_acq_scan_list_entry(struct comedi_device *dev,
+						   u16 entry)
 {
 	writew(entry & 0x00ff, dev->mmio + DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO);
 	writew((entry >> 8) & 0x00ff,
 	       dev->mmio + DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO);
 }
 
-static void setup_sampling(struct comedi_device *dev, int chan, int gain)
+static void daqboard2000_setup_sampling(struct comedi_device *dev, int chan,
+					int gain)
 {
 	u16 word0, word1, word2, word3;
 
@@ -306,10 +308,10 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 	/* These should be read from EEPROM */
 	word2 |= 0x0800;
 	word3 |= 0xc000;
-	writeAcqScanListEntry(dev, word0);
-	writeAcqScanListEntry(dev, word1);
-	writeAcqScanListEntry(dev, word2);
-	writeAcqScanListEntry(dev, word3);
+	daqboard2000_write_acq_scan_list_entry(dev, word0);
+	daqboard2000_write_acq_scan_list_entry(dev, word1);
+	daqboard2000_write_acq_scan_list_entry(dev, word2);
+	daqboard2000_write_acq_scan_list_entry(dev, word3);
 }
 
 static int daqboard2000_ai_status(struct comedi_device *dev,
@@ -357,7 +359,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	 * forced to fix it.  --ds
 	 */
 	for (i = 0; i < insn->n; i++) {
-		setup_sampling(dev, chan, gain);
+		daqboard2000_setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
 		writew(DAQBOARD2000_ACQ_CONTROL_SEQ_START_SCAN_LIST,
 		       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
@@ -429,7 +431,7 @@ static int daqboard2000_ao_insn_write(struct comedi_device *dev,
 	return insn->n;
 }
 
-static void daqboard2000_resetLocalBus(struct comedi_device *dev)
+static void daqboard2000_reset_local_bus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -439,7 +441,7 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_reloadPLX(struct comedi_device *dev)
+static void daqboard2000_reload_plx(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -451,7 +453,7 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_pulseProgPin(struct comedi_device *dev)
+static void daqboard2000_pulse_prog_pin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -461,7 +463,7 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
+static int daqboard2000_poll_cpld(struct comedi_device *dev, int mask)
 {
 	int result = 0;
 	int i;
@@ -480,7 +482,7 @@ static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
 	return result;
 }
 
-static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
+static int daqboard2000_write_cpld(struct comedi_device *dev, int data)
 {
 	int result = 0;
 
@@ -493,9 +495,9 @@ static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
 	return result;
 }
 
-static int initialize_daqboard2000(struct comedi_device *dev,
-				   const u8 *cpld_array, size_t len,
-				   unsigned long context)
+static int daqboard2000_load_firmware(struct comedi_device *dev,
+				      const u8 *cpld_array, size_t len,
+				      unsigned long context)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 	int result = -EIO;
@@ -510,10 +512,10 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 		return -EIO;
 
 	for (retry = 0; retry < 3; retry++) {
-		daqboard2000_resetLocalBus(dev);
-		daqboard2000_reloadPLX(dev);
-		daqboard2000_pulseProgPin(dev);
-		if (daqboard2000_pollCPLD(dev, DAQBOARD2000_CPLD_INIT)) {
+		daqboard2000_reset_local_bus(dev);
+		daqboard2000_reload_plx(dev);
+		daqboard2000_pulse_prog_pin(dev);
+		if (daqboard2000_poll_cpld(dev, DAQBOARD2000_CPLD_INIT)) {
 			for (i = 0; i < len; i++) {
 				if (cpld_array[i] == 0xff &&
 				    cpld_array[i + 1] == 0x20)
@@ -522,12 +524,12 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 			for (; i < len; i += 2) {
 				int data =
 				    (cpld_array[i] << 8) + cpld_array[i + 1];
-				if (!daqboard2000_writeCPLD(dev, data))
+				if (!daqboard2000_write_cpld(dev, data))
 					break;
 			}
 			if (i >= len) {
-				daqboard2000_resetLocalBus(dev);
-				daqboard2000_reloadPLX(dev);
+				daqboard2000_reset_local_bus(dev);
+				daqboard2000_reload_plx(dev);
 				result = 0;
 				break;
 			}
@@ -536,11 +538,11 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 	return result;
 }
 
-static void daqboard2000_adcStopDmaTransfer(struct comedi_device *dev)
+static void daqboard2000_adc_stop_dma_transfer(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_adcDisarm(struct comedi_device *dev)
+static void daqboard2000_adc_disarm(struct comedi_device *dev)
 {
 	/* Disable hardware triggers */
 	udelay(2);
@@ -563,10 +565,10 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 	       dev->mmio + DAQBOARD2000_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
-	daqboard2000_adcStopDmaTransfer(dev);
+	daqboard2000_adc_stop_dma_transfer(dev);
 }
 
-static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
+static void daqboard2000_activate_reference_dacs(struct comedi_device *dev)
 {
 	unsigned int val;
 	int timeout;
@@ -592,29 +594,29 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	}
 }
 
-static void daqboard2000_initializeCtrs(struct comedi_device *dev)
+static void daqboard2000_initialize_ctrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeTmrs(struct comedi_device *dev)
+static void daqboard2000_initialize_tmrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_dacDisarm(struct comedi_device *dev)
+static void daqboard2000_dac_disarm(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeAdc(struct comedi_device *dev)
+static void daqboard2000_initialize_adc(struct comedi_device *dev)
 {
-	daqboard2000_adcDisarm(dev);
-	daqboard2000_activateReferenceDacs(dev);
-	daqboard2000_initializeCtrs(dev);
-	daqboard2000_initializeTmrs(dev);
+	daqboard2000_adc_disarm(dev);
+	daqboard2000_activate_reference_dacs(dev);
+	daqboard2000_initialize_ctrs(dev);
+	daqboard2000_initialize_tmrs(dev);
 }
 
-static void daqboard2000_initializeDac(struct comedi_device *dev)
+static void daqboard2000_initialize_dac(struct comedi_device *dev)
 {
-	daqboard2000_dacDisarm(dev);
+	daqboard2000_dac_disarm(dev);
 }
 
 static int daqboard2000_8255_cb(struct comedi_device *dev,
@@ -681,12 +683,12 @@ static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 	result = comedi_load_firmware(dev, &comedi_to_pci_dev(dev)->dev,
 				      DAQBOARD2000_FIRMWARE,
-				      initialize_daqboard2000, 0);
+				      daqboard2000_load_firmware, 0);
 	if (result < 0)
 		return result;
 
-	daqboard2000_initializeAdc(dev);
-	daqboard2000_initializeDac(dev);
+	daqboard2000_initialize_adc(dev);
+	daqboard2000_initialize_dac(dev);
 
 	s = &dev->subdevices[0];
 	/* ai subdevice */
-- 
2.8.1

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

* [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (12 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
@ 2016-05-17  9:52 ` Ian Abbott
  2016-05-17 17:42   ` Hartley Sweeten
  2016-05-17 17:46 ` [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Hartley Sweeten
                   ` (2 subsequent siblings)
  16 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-17  9:52 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* RE: [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code
  2016-05-17  9:52 ` [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
@ 2016-05-17 17:14   ` Hartley Sweeten
  2016-05-18 10:21     ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-17 17:14 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
> Remove some commented out code.  Some of it uses constructs that don't
> exist in the driver, and probably come from the source code for the MS
> Windows driver.
>
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> ---
>  drivers/staging/comedi/drivers/daqboard2000.c | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
> index 57ab668..8c9a024 100644
> --- a/drivers/staging/comedi/drivers/daqboard2000.c
> +++ b/drivers/staging/comedi/drivers/daqboard2000.c
> @@ -278,9 +278,7 @@ struct daqboard2000_private {
>  
>  static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
>  {
> -	/* udelay(4); */
>  	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
> -	/* udelay(4); */
>  	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
>  }
>  
> @@ -315,10 +313,6 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
>  		word3 = 0;
>  		break;
>  	}
> -/*
> -  dev->eeprom.correctionDACSE[i][j][k].offset = 0x800;
> -  dev->eeprom.correctionDACSE[i][j][k].gain = 0xc00;
> -*/
>  	/* These should be read from EEPROM */
>  	word2 |= 0x0800;
>  	word3 |= 0xc000;

It might be a good idea to add a comment about the magic 0x0800 and 0xc000 values:

>  	word2 |= 0x0800;	/* offset */
>  	word3 |= 0xc000;	/* gain */

Wish I could find a register map for this board. I sent an email to Measurement Computing
to see if one is available.

Regards,
Hartley

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

* RE: [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros
  2016-05-17  9:52 ` [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
@ 2016-05-17 17:22   ` Hartley Sweeten
  2016-05-18 10:25     ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-17 17:22 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
> Rename the macros defining values for the Serial EEPROM Control Register
> to avoid CamelCase.
>
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> ---
>  drivers/staging/comedi/drivers/daqboard2000.c | 26 +++++++++++++-------------
>  1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
> index fde0924..b3b68e8 100644
> --- a/drivers/staging/comedi/drivers/daqboard2000.c
> +++ b/drivers/staging/comedi/drivers/daqboard2000.c
> @@ -116,12 +116,12 @@
>  #define DAQBOARD2000_SUBSYSTEM_IDS4	0x0004	/* Daqboard/2000 - 4 Dacs */

Ian,

This board uses a PLX-9080 chip for the PCI interface.

If would be better to include <plx9080.h> and use the register/bit defines
to remove the magic numbers.

The only PLX register used is PLX_CONTROL_REG (0x6c).

>  /* Initialization bits for the Serial EEPROM Control Register */
> -#define DAQBOARD2000_SECRProgPinHi      0x8001767e
> -#define DAQBOARD2000_SECRProgPinLo      0x8000767e
> -#define DAQBOARD2000_SECRLocalBusHi     0xc000767e
> -#define DAQBOARD2000_SECRLocalBusLo     0x8000767e
> -#define DAQBOARD2000_SECRReloadHi       0xa000767e
> -#define DAQBOARD2000_SECRReloadLo       0x8000767e
> +#define DAQBOARD2000_SECR_PROG_PIN_HI	0x8001767e
> +#define DAQBOARD2000_SECR_PROG_PIN_LO	0x8000767e
> +#define DAQBOARD2000_SECR_LOCAL_BUS_HI	0xc000767e
> +#define DAQBOARD2000_SECR_LOCAL_BUS_LO	0x8000767e
> +#define DAQBOARD2000_SECR_RELOAD_HI	0xa000767e
> +#define DAQBOARD2000_SECR_RELOAD_LO	0x8000767e

These "Initialization bits" are just various combinations of the
PLX_CONTROL_REG bit defines (CTL_*) to toggle the various
EEPROM bits.
 
>  /* SECR status bits */
>  #define DAQBOARD2000_EEPROM_PRESENT     0x10000000
> @@ -438,9 +438,9 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
>  {
>  	struct daqboard2000_private *devpriv = dev->private;
>  
> -	writel(DAQBOARD2000_SECRLocalBusHi, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_LOCAL_BUS_HI, devpriv->plx + 0x6c);
>  	mdelay(10);
> -	writel(DAQBOARD2000_SECRLocalBusLo, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_LOCAL_BUS_LO, devpriv->plx + 0x6c);
>  	mdelay(10);
>  }
>  
> @@ -448,11 +448,11 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
>  {
>  	struct daqboard2000_private *devpriv = dev->private;
>  
> -	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_RELOAD_LO, devpriv->plx + 0x6c);
>  	mdelay(10);
> -	writel(DAQBOARD2000_SECRReloadHi, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_RELOAD_HI, devpriv->plx + 0x6c);
>  	mdelay(10);
> -	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_RELOAD_LO, devpriv->plx + 0x6c);
>  	mdelay(10);
>  }
 >
> @@ -460,9 +460,9 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
>  {
>  	struct daqboard2000_private *devpriv = dev->private;
>  
> -	writel(DAQBOARD2000_SECRProgPinHi, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_PROG_PIN_HI, devpriv->plx + 0x6c);
>  	mdelay(10);
> -	writel(DAQBOARD2000_SECRProgPinLo, devpriv->plx + 0x6c);
> +	writel(DAQBOARD2000_SECR_PROG_PIN_LO, devpriv->plx + 0x6c);
>  	mdelay(10);	/* Not in the original code, but I like symmetry... */
>  }

Regards,
Hartley

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

* RE: [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-17  9:52 ` [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
@ 2016-05-17 17:27   ` Hartley Sweeten
  2016-05-18 10:27     ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-17 17:27 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Tuesday, May 17, 2016 2:53 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>
> ---
> Other CamelCase issues in this patch will be dealt with by later
> patches in the series.
> ---
>  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 b3b68e8..92ff8f4 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 DAQBOARD2000_REG_ACQ_CONTROL			0x00 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO		0x02 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04 /* u32 */
> +#define DAQBOARD2000_REG_ACQ_SCAN_COUNTER		0x08 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_HIGH	0x0a /* u16 */
> +#define DAQBOARD2000_REG_ACQ_TRIGGER_COUNT		0x0c /* u16 */
> +#define DAQBOARD2000_REG_ACQ_RESULTS_FIFO		0x10 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_RESULTS_SHADOW		0x14 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_ADC_RESULT			0x18 /* u16 */
> +#define DAQBOARD2000_REG_DAC_SCAN_COUNTER		0x1c /* u16 */
> +#define DAQBOARD2000_REG_DAC_CONTROL			0x20 /* u16 */
> +#define DAQBOARD2000_REG_DAC_FIFO			0x24 /* s16 */
> +#define DAQBOARD2000_REG_DAC_PACER_CLOCK_DIV		0x2a /* u16 */
> +#define DAQBOARD2000_REG_REF_DACS			0x2c /* u16 */
> +#define DAQBOARD2000_REG_DIO_CONTROL			0x30 /* u16 */
> +#define DAQBOARD2000_REG_P3_HSIO_DATA			0x32 /* s16 */
> +#define DAQBOARD2000_REG_P3_CONTROL			0x34 /* u16 */
> +#define DAQBOARD2000_REG_CAL_EEPROM_CONTROL		0x36 /* u16 */
> +#define DAQBOARD2000_REG_DAC_SETTING(x)		(0x38 + (x) * 2) /* s16 */
> +#define DAQBOARD2000_REG_DIO_P2_EXP_IO_8_BIT		0x40 /* s16 */
> +#define DAQBOARD2000_REG_COUNTER_TIMER_CONTROL		0x80 /* u16 */
> +#define DAQBOARD2000_REG_COUNTER_INPUT(x)	(0x88 + (x) * 2) /* s16 */
> +#define DAQBOARD2000_REG_TIMER_DIV(x)		(0xa0 + (x) * 2) /* u16 */
> +#define DAQBOARD2000_REG_DMA_CONTROL			0xb0 /* u16 */
> +#define DAQBOARD2000_REG_TRIG_CONTROL			0xb2 /* u16 */
> +#define DAQBOARD2000_REG_CAL_EEPROM			0xb8 /* u16 */
> +#define DAQBOARD2000_REG_ACQ_DIGITAL_MARK		0xba /* u16 */
> +#define DAQBOARD2000_REG_TRIG_DACS			0xbc /* u16 */
> +#define DAQBOARD2000_REG_DIO_P2_EXP_IO_16_BIT(x) (0xc0 + (x) * 2) /* s16 */

Any chance we can shorten the namespace prefix? It's not a big deal but
the DAQBOARD2000_ is pretty long. How about DB2K_ or even D2K_?

Regards,
Hartley

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

* RE: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
  2016-05-17  9:52 ` [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
@ 2016-05-17 17:42   ` Hartley Sweeten
  2016-05-18 10:28     ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-17 17:42 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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

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

* RE: [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (13 preceding siblings ...)
  2016-05-17  9:52 ` [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
@ 2016-05-17 17:46 ` Hartley Sweeten
  2016-05-18 12:00   ` Ian Abbott
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
  16 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-17 17:46 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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

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

* Re: [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code
  2016-05-17 17:14   ` Hartley Sweeten
@ 2016-05-18 10:21     ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 10:21 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 17/05/16 18:14, Hartley Sweeten wrote:
> On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
>> Remove some commented out code.  Some of it uses constructs that don't
>> exist in the driver, and probably come from the source code for the MS
>> Windows driver.
>>
>> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
>> ---
>>   drivers/staging/comedi/drivers/daqboard2000.c | 6 ------
>>   1 file changed, 6 deletions(-)
>>
>> diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
>> index 57ab668..8c9a024 100644
>> --- a/drivers/staging/comedi/drivers/daqboard2000.c
>> +++ b/drivers/staging/comedi/drivers/daqboard2000.c
[snip]
>> @@ -315,10 +313,6 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
>>   		word3 = 0;
>>   		break;
>>   	}
>> -/*
>> -  dev->eeprom.correctionDACSE[i][j][k].offset = 0x800;
>> -  dev->eeprom.correctionDACSE[i][j][k].gain = 0xc00;
>> -*/
>>   	/* These should be read from EEPROM */
>>   	word2 |= 0x0800;
>>   	word3 |= 0xc000;
>
> It might be a good idea to add a comment about the magic 0x0800 and 0xc000 values:
>
>>   	word2 |= 0x0800;	/* offset */
>>   	word3 |= 0xc000;	/* gain */

Fair enough.

> Wish I could find a register map for this board. I sent an email to Measurement Computing
> to see if one is available.

I think the board was made by IOTech and added to Measurement 
Computing's catalog, and the Windows driver appears to have been done by 
IOTech too.

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

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

* Re: [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros
  2016-05-17 17:22   ` Hartley Sweeten
@ 2016-05-18 10:25     ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 10:25 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 17/05/16 18:22, Hartley Sweeten wrote:
> On Tuesday, May 17, 2016 2:53 AM, Ian Abbott wrote:
>> Rename the macros defining values for the Serial EEPROM Control Register
>> to avoid CamelCase.
>>
>> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
>> ---
>>   drivers/staging/comedi/drivers/daqboard2000.c | 26 +++++++++++++-------------
>>   1 file changed, 13 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
>> index fde0924..b3b68e8 100644
>> --- a/drivers/staging/comedi/drivers/daqboard2000.c
>> +++ b/drivers/staging/comedi/drivers/daqboard2000.c
>> @@ -116,12 +116,12 @@
>>   #define DAQBOARD2000_SUBSYSTEM_IDS4	0x0004	/* Daqboard/2000 - 4 Dacs */
>
> Ian,
>
> This board uses a PLX-9080 chip for the PCI interface.
>
> If would be better to include <plx9080.h> and use the register/bit defines
> to remove the magic numbers.

I was planning to do that, but want to massage plx9080.h a bit first.

>
> The only PLX register used is PLX_CONTROL_REG (0x6c).
>
>>   /* Initialization bits for the Serial EEPROM Control Register */
>> -#define DAQBOARD2000_SECRProgPinHi      0x8001767e
>> -#define DAQBOARD2000_SECRProgPinLo      0x8000767e
>> -#define DAQBOARD2000_SECRLocalBusHi     0xc000767e
>> -#define DAQBOARD2000_SECRLocalBusLo     0x8000767e
>> -#define DAQBOARD2000_SECRReloadHi       0xa000767e
>> -#define DAQBOARD2000_SECRReloadLo       0x8000767e
>> +#define DAQBOARD2000_SECR_PROG_PIN_HI	0x8001767e
>> +#define DAQBOARD2000_SECR_PROG_PIN_LO	0x8000767e
>> +#define DAQBOARD2000_SECR_LOCAL_BUS_HI	0xc000767e
>> +#define DAQBOARD2000_SECR_LOCAL_BUS_LO	0x8000767e
>> +#define DAQBOARD2000_SECR_RELOAD_HI	0xa000767e
>> +#define DAQBOARD2000_SECR_RELOAD_LO	0x8000767e
>
> These "Initialization bits" are just various combinations of the
> PLX_CONTROL_REG bit defines (CTL_*) to toggle the various
> EEPROM bits.

Yes, it would be better to read the control register and only change the 
bits of interest.

I plan to do some more work on this driver.  This series is mainly to 
get the checkpatch warnings (well, most of them) out of the way first.

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

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

* Re: [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-17 17:27   ` Hartley Sweeten
@ 2016-05-18 10:27     ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 10:27 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 17/05/16 18:27, Hartley Sweeten wrote:
> On Tuesday, May 17, 2016 2:53 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>
>> ---
>> Other CamelCase issues in this patch will be dealt with by later
>> patches in the series.
>> ---
>>   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 b3b68e8..92ff8f4 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 DAQBOARD2000_REG_ACQ_CONTROL			0x00 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_SCAN_LIST_FIFO		0x02 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_LOW	0x04 /* u32 */
>> +#define DAQBOARD2000_REG_ACQ_SCAN_COUNTER		0x08 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_PACER_CLOCK_DIV_HIGH	0x0a /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_TRIGGER_COUNT		0x0c /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_RESULTS_FIFO		0x10 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_RESULTS_SHADOW		0x14 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_ADC_RESULT			0x18 /* u16 */
>> +#define DAQBOARD2000_REG_DAC_SCAN_COUNTER		0x1c /* u16 */
>> +#define DAQBOARD2000_REG_DAC_CONTROL			0x20 /* u16 */
>> +#define DAQBOARD2000_REG_DAC_FIFO			0x24 /* s16 */
>> +#define DAQBOARD2000_REG_DAC_PACER_CLOCK_DIV		0x2a /* u16 */
>> +#define DAQBOARD2000_REG_REF_DACS			0x2c /* u16 */
>> +#define DAQBOARD2000_REG_DIO_CONTROL			0x30 /* u16 */
>> +#define DAQBOARD2000_REG_P3_HSIO_DATA			0x32 /* s16 */
>> +#define DAQBOARD2000_REG_P3_CONTROL			0x34 /* u16 */
>> +#define DAQBOARD2000_REG_CAL_EEPROM_CONTROL		0x36 /* u16 */
>> +#define DAQBOARD2000_REG_DAC_SETTING(x)		(0x38 + (x) * 2) /* s16 */
>> +#define DAQBOARD2000_REG_DIO_P2_EXP_IO_8_BIT		0x40 /* s16 */
>> +#define DAQBOARD2000_REG_COUNTER_TIMER_CONTROL		0x80 /* u16 */
>> +#define DAQBOARD2000_REG_COUNTER_INPUT(x)	(0x88 + (x) * 2) /* s16 */
>> +#define DAQBOARD2000_REG_TIMER_DIV(x)		(0xa0 + (x) * 2) /* u16 */
>> +#define DAQBOARD2000_REG_DMA_CONTROL			0xb0 /* u16 */
>> +#define DAQBOARD2000_REG_TRIG_CONTROL			0xb2 /* u16 */
>> +#define DAQBOARD2000_REG_CAL_EEPROM			0xb8 /* u16 */
>> +#define DAQBOARD2000_REG_ACQ_DIGITAL_MARK		0xba /* u16 */
>> +#define DAQBOARD2000_REG_TRIG_DACS			0xbc /* u16 */
>> +#define DAQBOARD2000_REG_DIO_P2_EXP_IO_16_BIT(x) (0xc0 + (x) * 2) /* s16 */
>
> Any chance we can shorten the namespace prefix? It's not a big deal but
> the DAQBOARD2000_ is pretty long. How about DB2K_ or even D2K_?

Fair enough.

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

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

* Re: [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range()
  2016-05-17 17:42   ` Hartley Sweeten
@ 2016-05-18 10:28     ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 10:28 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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/  )=-

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

* Re: [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-17 17:46 ` [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Hartley Sweeten
@ 2016-05-18 12:00   ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:00 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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/  )=-

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

* [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (14 preceding siblings ...)
  2016-05-17 17:46 ` [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Hartley Sweeten
@ 2016-05-18 12:36 ` Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
                     ` (14 more replies)
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
  16 siblings, 15 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:36 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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()

v2: Incorporate suggestions by H Hartley Sweeten, adding a couple of
comments in patch 01, changing a prefix from `DAQBOARD2000_` to `DB2K_`
in patches 05 onwards, and changing a `udelay(10)` to `usleep_range(10,
20)` in patch 14.

 drivers/staging/comedi/drivers/daqboard2000.c | 380 +++++++++++++-------------
 1 file changed, 189 insertions(+), 191 deletions(-)

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

* [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
@ 2016-05-18 12:36   ` Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
                     ` (13 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:36 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Remove some commented out code.  Some of it uses constructs that don't
exist in the driver, and probably come from the source code for the MS
Windows driver.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: added comments to offset and gain values that should be read from
EEPROM, as suggested by Hartley.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 57ab668..63d68fd 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -278,9 +278,7 @@ struct daqboard2000_private {
 
 static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
 {
-	/* udelay(4); */
 	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
-	/* udelay(4); */
 	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
 }
 
@@ -315,13 +313,9 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 		word3 = 0;
 		break;
 	}
-/*
-  dev->eeprom.correctionDACSE[i][j][k].offset = 0x800;
-  dev->eeprom.correctionDACSE[i][j][k].gain = 0xc00;
-*/
 	/* These should be read from EEPROM */
-	word2 |= 0x0800;
-	word3 |= 0xc000;
+	word2 |= 0x0800;	/* offset */
+	word3 |= 0xc000;	/* gain */
 	writeAcqScanListEntry(dev, word0);
 	writeAcqScanListEntry(dev, word1);
 	writeAcqScanListEntry(dev, word2);
-- 
2.8.1

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

* [PATCH v2 02/14] staging: comedi: daqboard2000: use usual block comment style
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
@ 2016-05-18 12:36   ` Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
                     ` (12 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:36 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Reformat one of the block comments to conform to the usual style (it's
the only one that doesn't).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 63d68fd..905b005 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -359,10 +359,12 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	gain = CR_RANGE(insn->chanspec);
 	chan = CR_CHAN(insn->chanspec);
 
-	/* This doesn't look efficient.  I decided to take the conservative
+	/*
+	 * This doesn't look efficient.  I decided to take the conservative
 	 * approach when I did the insn conversion.  Perhaps it would be
 	 * better to have broken it completely, then someone would have been
-	 * forced to fix it.  --ds */
+	 * forced to fix it.  --ds
+	 */
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-- 
2.8.1

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

* [PATCH v2 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*'
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
@ 2016-05-18 12:36   ` Ian Abbott
  2016-05-18 12:36   ` [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
                     ` (11 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:36 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Fix checkpatch issues of the form "CHECK: spaces preferred around that
'*' (ctx:VxV)".

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

v2: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 905b005..904de95 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -169,17 +169,17 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define dioP3hsioData			0x32		/* s16 */
 #define dioP3Control			0x34		/* u16 */
 #define calEepromControl		0x36		/* u16 */
-#define dacSetting(x)			(0x38 + (x)*2)	/* s16 */
+#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 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 dioP2ExpansionIO16Bit(x)	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
 #define DAQBOARD2000_SeqStartScanList            0x0011
-- 
2.8.1

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

* [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (2 preceding siblings ...)
  2016-05-18 12:36   ` [PATCH v2 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
@ 2016-05-18 12:36   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
                     ` (10 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:36 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (3 preceding siblings ...)
  2016-05-18 12:36   ` [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
                     ` (9 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename the macros defining values for the Serial EEPROM Control Register
to avoid CamelCase.

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 | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index cbbeb50..ceb910d 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -116,12 +116,12 @@
 #define DAQBOARD2000_SUBSYSTEM_IDS4	0x0004	/* Daqboard/2000 - 4 Dacs */
 
 /* Initialization bits for the Serial EEPROM Control Register */
-#define DAQBOARD2000_SECRProgPinHi      0x8001767e
-#define DAQBOARD2000_SECRProgPinLo      0x8000767e
-#define DAQBOARD2000_SECRLocalBusHi     0xc000767e
-#define DAQBOARD2000_SECRLocalBusLo     0x8000767e
-#define DAQBOARD2000_SECRReloadHi       0xa000767e
-#define DAQBOARD2000_SECRReloadLo       0x8000767e
+#define DB2K_SECR_PROG_PIN_HI		0x8001767e
+#define DB2K_SECR_PROG_PIN_LO		0x8000767e
+#define DB2K_SECR_LOCAL_BUS_HI		0xc000767e
+#define DB2K_SECR_LOCAL_BUS_LO		0x8000767e
+#define DB2K_SECR_RELOAD_HI		0xa000767e
+#define DB2K_SECR_RELOAD_LO		0x8000767e
 
 /* SECR status bits */
 #define DAQBOARD2000_EEPROM_PRESENT     0x10000000
@@ -438,9 +438,9 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRLocalBusHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_LOCAL_BUS_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRLocalBusLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_LOCAL_BUS_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -448,11 +448,11 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -460,9 +460,9 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRProgPinHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_PROG_PIN_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRProgPinLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_PROG_PIN_LO, devpriv->plx + 0x6c);
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-- 
2.8.1

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

* [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (4 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 22:45     ` Hartley Sweeten
  2016-05-19  9:55     ` [PATCH v3 " Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
                     ` (8 subsequent siblings)
  14 siblings, 2 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (5 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
                     ` (7 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (6 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
                     ` (6 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (7 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
                     ` (5 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (8 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
                     ` (4 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (9 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
                     ` (3 subsequent siblings)
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (10 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 22:35     ` Hartley Sweeten
  2016-05-19  9:58     ` [PATCH v3 " Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
                     ` (2 subsequent siblings)
  14 siblings, 2 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v2 13/14] staging: comedi: daqboard2000: rename CamelCase functions
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (11 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-18 12:37   ` [PATCH v2 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
  2016-05-19 10:02   ` [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename functions to avoid CamelCase warnings from checkpatch, 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>
---
v2: No change, except to some diff context lines from previous patches.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 80 ++++++++++++++-------------
 1 file changed, 41 insertions(+), 39 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 4c6c881..856ed1cb 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -265,14 +265,16 @@ struct daqboard2000_private {
 	void __iomem *plx;
 };
 
-static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
+static void daqboard2000_write_acq_scan_list_entry(struct comedi_device *dev,
+						   u16 entry)
 {
 	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)
+static void daqboard2000_setup_sampling(struct comedi_device *dev, int chan,
+					int gain)
 {
 	u16 word0, word1, word2, word3;
 
@@ -306,10 +308,10 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 	/* These should be read from EEPROM */
 	word2 |= 0x0800;	/* offset */
 	word3 |= 0xc000;	/* gain */
-	writeAcqScanListEntry(dev, word0);
-	writeAcqScanListEntry(dev, word1);
-	writeAcqScanListEntry(dev, word2);
-	writeAcqScanListEntry(dev, word3);
+	daqboard2000_write_acq_scan_list_entry(dev, word0);
+	daqboard2000_write_acq_scan_list_entry(dev, word1);
+	daqboard2000_write_acq_scan_list_entry(dev, word2);
+	daqboard2000_write_acq_scan_list_entry(dev, word3);
 }
 
 static int daqboard2000_ai_status(struct comedi_device *dev,
@@ -357,7 +359,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	 * forced to fix it.  --ds
 	 */
 	for (i = 0; i < insn->n; i++) {
-		setup_sampling(dev, chan, gain);
+		daqboard2000_setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
 		writew(DB2K_ACQ_CONTROL_SEQ_START_SCAN_LIST,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
@@ -429,7 +431,7 @@ static int daqboard2000_ao_insn_write(struct comedi_device *dev,
 	return insn->n;
 }
 
-static void daqboard2000_resetLocalBus(struct comedi_device *dev)
+static void daqboard2000_reset_local_bus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -439,7 +441,7 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_reloadPLX(struct comedi_device *dev)
+static void daqboard2000_reload_plx(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -451,7 +453,7 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_pulseProgPin(struct comedi_device *dev)
+static void daqboard2000_pulse_prog_pin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -461,7 +463,7 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
+static int daqboard2000_poll_cpld(struct comedi_device *dev, int mask)
 {
 	int result = 0;
 	int i;
@@ -480,7 +482,7 @@ static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
 	return result;
 }
 
-static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
+static int daqboard2000_write_cpld(struct comedi_device *dev, int data)
 {
 	int result = 0;
 
@@ -493,9 +495,9 @@ static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
 	return result;
 }
 
-static int initialize_daqboard2000(struct comedi_device *dev,
-				   const u8 *cpld_array, size_t len,
-				   unsigned long context)
+static int daqboard2000_load_firmware(struct comedi_device *dev,
+				      const u8 *cpld_array, size_t len,
+				      unsigned long context)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 	int result = -EIO;
@@ -510,10 +512,10 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 		return -EIO;
 
 	for (retry = 0; retry < 3; retry++) {
-		daqboard2000_resetLocalBus(dev);
-		daqboard2000_reloadPLX(dev);
-		daqboard2000_pulseProgPin(dev);
-		if (daqboard2000_pollCPLD(dev, DAQBOARD2000_CPLD_INIT)) {
+		daqboard2000_reset_local_bus(dev);
+		daqboard2000_reload_plx(dev);
+		daqboard2000_pulse_prog_pin(dev);
+		if (daqboard2000_poll_cpld(dev, DAQBOARD2000_CPLD_INIT)) {
 			for (i = 0; i < len; i++) {
 				if (cpld_array[i] == 0xff &&
 				    cpld_array[i + 1] == 0x20)
@@ -522,12 +524,12 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 			for (; i < len; i += 2) {
 				int data =
 				    (cpld_array[i] << 8) + cpld_array[i + 1];
-				if (!daqboard2000_writeCPLD(dev, data))
+				if (!daqboard2000_write_cpld(dev, data))
 					break;
 			}
 			if (i >= len) {
-				daqboard2000_resetLocalBus(dev);
-				daqboard2000_reloadPLX(dev);
+				daqboard2000_reset_local_bus(dev);
+				daqboard2000_reload_plx(dev);
 				result = 0;
 				break;
 			}
@@ -536,11 +538,11 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 	return result;
 }
 
-static void daqboard2000_adcStopDmaTransfer(struct comedi_device *dev)
+static void daqboard2000_adc_stop_dma_transfer(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_adcDisarm(struct comedi_device *dev)
+static void daqboard2000_adc_disarm(struct comedi_device *dev)
 {
 	/* Disable hardware triggers */
 	udelay(2);
@@ -561,10 +563,10 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
-	daqboard2000_adcStopDmaTransfer(dev);
+	daqboard2000_adc_stop_dma_transfer(dev);
 }
 
-static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
+static void daqboard2000_activate_reference_dacs(struct comedi_device *dev)
 {
 	unsigned int val;
 	int timeout;
@@ -590,29 +592,29 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	}
 }
 
-static void daqboard2000_initializeCtrs(struct comedi_device *dev)
+static void daqboard2000_initialize_ctrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeTmrs(struct comedi_device *dev)
+static void daqboard2000_initialize_tmrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_dacDisarm(struct comedi_device *dev)
+static void daqboard2000_dac_disarm(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeAdc(struct comedi_device *dev)
+static void daqboard2000_initialize_adc(struct comedi_device *dev)
 {
-	daqboard2000_adcDisarm(dev);
-	daqboard2000_activateReferenceDacs(dev);
-	daqboard2000_initializeCtrs(dev);
-	daqboard2000_initializeTmrs(dev);
+	daqboard2000_adc_disarm(dev);
+	daqboard2000_activate_reference_dacs(dev);
+	daqboard2000_initialize_ctrs(dev);
+	daqboard2000_initialize_tmrs(dev);
 }
 
-static void daqboard2000_initializeDac(struct comedi_device *dev)
+static void daqboard2000_initialize_dac(struct comedi_device *dev)
 {
-	daqboard2000_dacDisarm(dev);
+	daqboard2000_dac_disarm(dev);
 }
 
 static int daqboard2000_8255_cb(struct comedi_device *dev,
@@ -679,12 +681,12 @@ static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 	result = comedi_load_firmware(dev, &comedi_to_pci_dev(dev)->dev,
 				      DAQBOARD2000_FIRMWARE,
-				      initialize_daqboard2000, 0);
+				      daqboard2000_load_firmware, 0);
 	if (result < 0)
 		return result;
 
-	daqboard2000_initializeAdc(dev);
-	daqboard2000_initializeDac(dev);
+	daqboard2000_initialize_adc(dev);
+	daqboard2000_initialize_dac(dev);
 
 	s = &dev->subdevices[0];
 	/* ai subdevice */
-- 
2.8.1

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

* [PATCH v2 14/14] staging: comedi: daqboard2000: prefer usleep_range()
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (12 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
@ 2016-05-18 12:37   ` Ian Abbott
  2016-05-19 10:02   ` [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
  14 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-18 12:37 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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.  Replace it with a fairly tight
`usleep_range(10, 20)` to avoid slowing down firmware loading too much.
The firmware is fairly short, so this would only slow it down firmware
loading by about 20 milliseconds or so.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Replaced the 10 microsecond udelay with a fairly tight usleep_range,
as suggested by Hartley.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 856ed1cb..fa41799 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;
@@ -486,7 +486,7 @@ static int daqboard2000_write_cpld(struct comedi_device *dev, int data)
 {
 	int result = 0;
 
-	udelay(10);
+	usleep_range(10, 20);
 	writew(data, dev->mmio + 0x1000);
 	if ((readw(dev->mmio + 0x1000) & DAQBOARD2000_CPLD_INIT) ==
 	    DAQBOARD2000_CPLD_INIT) {
-- 
2.8.1

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

* RE: [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-18 12:37   ` [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
@ 2016-05-18 22:35     ` Hartley Sweeten
  2016-05-19  9:58     ` [PATCH v3 " Ian Abbott
  1 sibling, 0 replies; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-18 22:35 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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

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

* RE: [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-18 12:37   ` [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
@ 2016-05-18 22:45     ` Hartley Sweeten
  2016-05-19  9:55     ` [PATCH v3 " Ian Abbott
  1 sibling, 0 replies; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-18 22:45 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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

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

* [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-18 12:37   ` [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
  2016-05-18 22:45     ` Hartley Sweeten
@ 2016-05-19  9:55     ` Ian Abbott
  2016-05-19 16:49       ` Hartley Sweeten
  1 sibling, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-19  9:55 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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

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

* [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-18 12:37   ` [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
  2016-05-18 22:35     ` Hartley Sweeten
@ 2016-05-19  9:58     ` Ian Abbott
  2016-05-19 10:07       ` Ian Abbott
  2016-05-19 10:11       ` [PATCH v4 " Ian Abbott
  1 sibling, 2 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19  9:58 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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
`0x0080` 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_`.
v3: Corrected typo in commit:  0x80 --> 0x0080.
---
 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 e9efdbc..15f2b8a5 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

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

* Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
                     ` (13 preceding siblings ...)
  2016-05-18 12:37   ` [PATCH v2 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
@ 2016-05-19 10:02   ` Ian Abbott
  2016-05-19 10:16     ` Ian Abbott
  14 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 10:02 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, H Hartley Sweeten, linux-kernel

On 18/05/16 13:36, Ian Abbott wrote:
> 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()
>
> v2: Incorporate suggestions by H Hartley Sweeten, adding a couple of
> comments in patch 01, changing a prefix from `DAQBOARD2000_` to `DB2K_`
> in patches 05 onwards, and changing a `udelay(10)` to `usleep_range(10,
> 20)` in patch 14.
>
>   drivers/staging/comedi/drivers/daqboard2000.c | 380 +++++++++++++-------------
>   1 file changed, 189 insertions(+), 191 deletions(-)
>

I posted a v3 of patches 06 and 12, following Hartley's comments:

[PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset 
macros
[PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs 
register macros

I can repost it as a full series if necessary.

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

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

* Re: [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-19  9:58     ` [PATCH v3 " Ian Abbott
@ 2016-05-19 10:07       ` Ian Abbott
  2016-05-19 10:11       ` [PATCH v4 " Ian Abbott
  1 sibling, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 10:07 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, H Hartley Sweeten, linux-kernel

On 19/05/16 10:58, 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
> `0x0080` 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_`.
> v3: Corrected typo in commit:  0x80 --> 0x0080.
> ---
>   drivers/staging/comedi/drivers/daqboard2000.c | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)

Dammit!  I missed the other, glaring typo in the commit. 
`DAQBOARD2000_REF_DACS_SET` should be `DB2K_REQ_DACS_SET`.  I'll post a 
v4 of this patch.  Sorry for the bother.

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

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

* [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-19  9:58     ` [PATCH v3 " Ian Abbott
  2016-05-19 10:07       ` Ian Abbott
@ 2016-05-19 10:11       ` Ian Abbott
  1 sibling, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 10:11 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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 `DB2K_REG_DACS_SET` for the value `0x0080`
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_`.
v3: Corrected typo in commit:  0x80 --> 0x0080.
v4: Corrected typo in commit: DAQBOARD2000_REF_DACS_SET -->
    DB2K_REG_DACS_SET
---
 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 e9efdbc..15f2b8a5 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

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

* Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-19 10:02   ` [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
@ 2016-05-19 10:16     ` Ian Abbott
  2016-05-19 18:04       ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 10:16 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, H Hartley Sweeten, linux-kernel

On 19/05/16 11:02, Ian Abbott wrote:
> On 18/05/16 13:36, Ian Abbott wrote:
>> 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()
>>
>> v2: Incorporate suggestions by H Hartley Sweeten, adding a couple of
>> comments in patch 01, changing a prefix from `DAQBOARD2000_` to `DB2K_`
>> in patches 05 onwards, and changing a `udelay(10)` to `usleep_range(10,
>> 20)` in patch 14.
>>
>>   drivers/staging/comedi/drivers/daqboard2000.c | 380
>> +++++++++++++-------------
>>   1 file changed, 189 insertions(+), 191 deletions(-)
>>
>
> I posted a v3 of patches 06 and 12, following Hartley's comments:
>
> [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset
> macros
> [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs
> register macros

And then I posted a v4 of patch 12, correcting a typo I missed in v3:

[PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs 
register macros

So patch 06/14 is at v3, patch 12/14 is at v4, and all the others are 
v2.  If that's too much hassle to deal with, let me know, and I'll 
repost the whole series as v4.  And sorry for the hassle.

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

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

* RE: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-19  9:55     ` [PATCH v3 " Ian Abbott
@ 2016-05-19 16:49       ` Hartley Sweeten
  2016-05-19 17:42         ` Ian Abbott
  0 siblings, 1 reply; 66+ messages in thread
From: Hartley Sweeten @ 2016-05-19 16:49 UTC (permalink / raw)
  To: Ian Abbott, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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

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

* Re: [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-19 16:49       ` Hartley Sweeten
@ 2016-05-19 17:42         ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 17:42 UTC (permalink / raw)
  To: Hartley Sweeten, devel; +Cc: Greg Kroah-Hartman, linux-kernel

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/  )=-

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

* Re: [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-19 10:16     ` Ian Abbott
@ 2016-05-19 18:04       ` Ian Abbott
  0 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:04 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, H Hartley Sweeten, linux-kernel

On 19/05/16 11:16, Ian Abbott wrote:
> On 19/05/16 11:02, Ian Abbott wrote:
>> On 18/05/16 13:36, Ian Abbott wrote:
>>> 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()
>>>
>>> v2: Incorporate suggestions by H Hartley Sweeten, adding a couple of
>>> comments in patch 01, changing a prefix from `DAQBOARD2000_` to `DB2K_`
>>> in patches 05 onwards, and changing a `udelay(10)` to `usleep_range(10,
>>> 20)` in patch 14.
>>>
>>>   drivers/staging/comedi/drivers/daqboard2000.c | 380
>>> +++++++++++++-------------
>>>   1 file changed, 189 insertions(+), 191 deletions(-)
>>>
>>
>> I posted a v3 of patches 06 and 12, following Hartley's comments:
>>
>> [PATCH v3 06/14] staging: comedi: daqboard2000: rename register offset
>> macros
>> [PATCH v3 12/14] staging: comedi: daqboard2000: rename reference DACs
>> register macros
>
> And then I posted a v4 of patch 12, correcting a typo I missed in v3:
>
> [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs
> register macros
>
> So patch 06/14 is at v3, patch 12/14 is at v4, and all the others are
> v2.  If that's too much hassle to deal with, let me know, and I'll
> repost the whole series as v4.  And sorry for the hassle.
>

Scratch all that, I'm posting a full v4 series.

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

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

* [PATCH v4 00/14] staging: comedi: daqboard2000: checkpatch clean-ups
  2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
                   ` (15 preceding siblings ...)
  2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
@ 2016-05-19 18:15 ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
                     ` (13 more replies)
  16 siblings, 14 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

s 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()

v2: Incorporate suggestions by H Hartley Sweeten, adding a couple of
comments in patch 01, changing a prefix from `DAQBOARD2000_` to `DB2K_`
in patches 05 onwards, and changing a `udelay(10)` to `usleep_range(10,
20)` in patch 14.

v3: Fix a space before tab formatting error that crept in to patch 06v2,
and a typo in the commit message for patch 12.

v4: Fix two more typos in the commit message for patch 12 and 12v2.

 drivers/staging/comedi/drivers/daqboard2000.c | 380 +++++++++++++-------------
 1 file changed, 189 insertions(+), 191 deletions(-)

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

* [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
                     ` (12 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Remove some commented out code.  Some of it uses constructs that don't
exist in the driver, and probably come from the source code for the MS
Windows driver.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Added comments to offset and gain values that should be read from
EEPROM, as suggested by Hartley.
v3, v4: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 57ab668..63d68fd 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -278,9 +278,7 @@ struct daqboard2000_private {
 
 static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
 {
-	/* udelay(4); */
 	writew(entry & 0x00ff, dev->mmio + acqScanListFIFO);
-	/* udelay(4); */
 	writew((entry >> 8) & 0x00ff, dev->mmio + acqScanListFIFO);
 }
 
@@ -315,13 +313,9 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 		word3 = 0;
 		break;
 	}
-/*
-  dev->eeprom.correctionDACSE[i][j][k].offset = 0x800;
-  dev->eeprom.correctionDACSE[i][j][k].gain = 0xc00;
-*/
 	/* These should be read from EEPROM */
-	word2 |= 0x0800;
-	word3 |= 0xc000;
+	word2 |= 0x0800;	/* offset */
+	word3 |= 0xc000;	/* gain */
 	writeAcqScanListEntry(dev, word0);
 	writeAcqScanListEntry(dev, word1);
 	writeAcqScanListEntry(dev, word2);
-- 
2.8.1

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

* [PATCH v4 02/14] staging: comedi: daqboard2000: use usual block comment style
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
                     ` (11 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Reformat one of the block comments to conform to the usual style (it's
the only one that doesn't).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2, v3, v4: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 63d68fd..905b005 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -359,10 +359,12 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	gain = CR_RANGE(insn->chanspec);
 	chan = CR_CHAN(insn->chanspec);
 
-	/* This doesn't look efficient.  I decided to take the conservative
+	/*
+	 * This doesn't look efficient.  I decided to take the conservative
 	 * approach when I did the insn conversion.  Perhaps it would be
 	 * better to have broken it completely, then someone would have been
-	 * forced to fix it.  --ds */
+	 * forced to fix it.  --ds
+	 */
 	for (i = 0; i < insn->n; i++) {
 		setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
-- 
2.8.1

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

* [PATCH v4 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*'
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
                     ` (10 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Fix checkpatch issues of the form "CHECK: spaces preferred around that
'*' (ctx:VxV)".

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

v2, v3, v4: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 905b005..904de95 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -169,17 +169,17 @@ static const struct comedi_lrange range_daqboard2000_ai = {
 #define dioP3hsioData			0x32		/* s16 */
 #define dioP3Control			0x34		/* u16 */
 #define calEepromControl		0x36		/* u16 */
-#define dacSetting(x)			(0x38 + (x)*2)	/* s16 */
+#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 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 dioP2ExpansionIO16Bit(x)	(0xc0 + (x) * 2) /* s16 */
 
 /* Scan Sequencer programming */
 #define DAQBOARD2000_SeqStartScanList            0x0011
-- 
2.8.1

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

* [PATCH v4 04/14] staging: comedi: daqboard2000: add blank line after struct declaration
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (2 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
                     ` (9 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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`.
v3, v4: No change.
---
 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

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

* [PATCH v4 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (3 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
                     ` (8 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename the macros defining values for the Serial EEPROM Control Register
to avoid CamelCase.

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

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index cbbeb50..ceb910d 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -116,12 +116,12 @@
 #define DAQBOARD2000_SUBSYSTEM_IDS4	0x0004	/* Daqboard/2000 - 4 Dacs */
 
 /* Initialization bits for the Serial EEPROM Control Register */
-#define DAQBOARD2000_SECRProgPinHi      0x8001767e
-#define DAQBOARD2000_SECRProgPinLo      0x8000767e
-#define DAQBOARD2000_SECRLocalBusHi     0xc000767e
-#define DAQBOARD2000_SECRLocalBusLo     0x8000767e
-#define DAQBOARD2000_SECRReloadHi       0xa000767e
-#define DAQBOARD2000_SECRReloadLo       0x8000767e
+#define DB2K_SECR_PROG_PIN_HI		0x8001767e
+#define DB2K_SECR_PROG_PIN_LO		0x8000767e
+#define DB2K_SECR_LOCAL_BUS_HI		0xc000767e
+#define DB2K_SECR_LOCAL_BUS_LO		0x8000767e
+#define DB2K_SECR_RELOAD_HI		0xa000767e
+#define DB2K_SECR_RELOAD_LO		0x8000767e
 
 /* SECR status bits */
 #define DAQBOARD2000_EEPROM_PRESENT     0x10000000
@@ -438,9 +438,9 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRLocalBusHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_LOCAL_BUS_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRLocalBusLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_LOCAL_BUS_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -448,11 +448,11 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_RELOAD_LO, devpriv->plx + 0x6c);
 	mdelay(10);
 }
 
@@ -460,9 +460,9 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
-	writel(DAQBOARD2000_SECRProgPinHi, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_PROG_PIN_HI, devpriv->plx + 0x6c);
 	mdelay(10);
-	writel(DAQBOARD2000_SECRProgPinLo, devpriv->plx + 0x6c);
+	writel(DB2K_SECR_PROG_PIN_LO, devpriv->plx + 0x6c);
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-- 
2.8.1

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

* [PATCH v4 06/14] staging: comedi: daqboard2000: rename register offset macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (4 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
                     ` (7 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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.
v4: No change.
---
 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

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

* [PATCH v4 07/14] staging: comedi: daqboard2000: rename acquisition control register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (5 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
                     ` (6 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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_`.
v3: Rebased due to v3 change in previous patches.
v4: No change.
---
 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 7c6a2450..4d3e3c6 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

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

* [PATCH v4 08/14] staging: comedi: daqboard2000: rename acq status register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (6 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
                     ` (5 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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_`.
v3, v4: No change.
---
 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 4d3e3c6..08d4809 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

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

* [PATCH v4 09/14] staging: comedi: daqboard2000: redo DAC control register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (7 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
                     ` (4 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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_`.
v3, v4: No change.
---
 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 08d4809..d8a3345 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

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

* [PATCH v4 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (8 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
                     ` (3 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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_`.
v3, v4: No change.

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 d8a3345..d56bf20 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

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

* [PATCH v4 11/14] staging: comedi: daqboard2000: rename trigger control register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (9 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
                     ` (2 subsequent siblings)
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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_`.
v3, v4: No change.
---
 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 d56bf20..e9efdbc 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

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

* [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs register macros
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (10 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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 `DB2K_REG_DACS_SET` for the value `0x0080`
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_`.
v3: Corrected typo in commit:  0x80 --> 0x0080.
v4: Corrected typo in commit: DAQBOARD2000_REF_DACS_SET -->
DB2K_REG_DACS_SET
---
 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 e9efdbc..15f2b8a5 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

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

* [PATCH v4 13/14] staging: comedi: daqboard2000: rename CamelCase functions
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (11 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  2016-05-19 18:15   ` [PATCH v4 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Rename functions to avoid CamelCase warnings from checkpatch, 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>
---
v2: Rebased due to v2 changes in previous patches.
v3, v4: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 80 ++++++++++++++-------------
 1 file changed, 41 insertions(+), 39 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 15f2b8a5..fd9fb21 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
@@ -265,14 +265,16 @@ struct daqboard2000_private {
 	void __iomem *plx;
 };
 
-static void writeAcqScanListEntry(struct comedi_device *dev, u16 entry)
+static void daqboard2000_write_acq_scan_list_entry(struct comedi_device *dev,
+						   u16 entry)
 {
 	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)
+static void daqboard2000_setup_sampling(struct comedi_device *dev, int chan,
+					int gain)
 {
 	u16 word0, word1, word2, word3;
 
@@ -306,10 +308,10 @@ static void setup_sampling(struct comedi_device *dev, int chan, int gain)
 	/* These should be read from EEPROM */
 	word2 |= 0x0800;	/* offset */
 	word3 |= 0xc000;	/* gain */
-	writeAcqScanListEntry(dev, word0);
-	writeAcqScanListEntry(dev, word1);
-	writeAcqScanListEntry(dev, word2);
-	writeAcqScanListEntry(dev, word3);
+	daqboard2000_write_acq_scan_list_entry(dev, word0);
+	daqboard2000_write_acq_scan_list_entry(dev, word1);
+	daqboard2000_write_acq_scan_list_entry(dev, word2);
+	daqboard2000_write_acq_scan_list_entry(dev, word3);
 }
 
 static int daqboard2000_ai_status(struct comedi_device *dev,
@@ -357,7 +359,7 @@ static int daqboard2000_ai_insn_read(struct comedi_device *dev,
 	 * forced to fix it.  --ds
 	 */
 	for (i = 0; i < insn->n; i++) {
-		setup_sampling(dev, chan, gain);
+		daqboard2000_setup_sampling(dev, chan, gain);
 		/* Enable reading from the scanlist FIFO */
 		writew(DB2K_ACQ_CONTROL_SEQ_START_SCAN_LIST,
 		       dev->mmio + DB2K_REG_ACQ_CONTROL);
@@ -429,7 +431,7 @@ static int daqboard2000_ao_insn_write(struct comedi_device *dev,
 	return insn->n;
 }
 
-static void daqboard2000_resetLocalBus(struct comedi_device *dev)
+static void daqboard2000_reset_local_bus(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -439,7 +441,7 @@ static void daqboard2000_resetLocalBus(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_reloadPLX(struct comedi_device *dev)
+static void daqboard2000_reload_plx(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -451,7 +453,7 @@ static void daqboard2000_reloadPLX(struct comedi_device *dev)
 	mdelay(10);
 }
 
-static void daqboard2000_pulseProgPin(struct comedi_device *dev)
+static void daqboard2000_pulse_prog_pin(struct comedi_device *dev)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 
@@ -461,7 +463,7 @@ static void daqboard2000_pulseProgPin(struct comedi_device *dev)
 	mdelay(10);	/* Not in the original code, but I like symmetry... */
 }
 
-static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
+static int daqboard2000_poll_cpld(struct comedi_device *dev, int mask)
 {
 	int result = 0;
 	int i;
@@ -480,7 +482,7 @@ static int daqboard2000_pollCPLD(struct comedi_device *dev, int mask)
 	return result;
 }
 
-static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
+static int daqboard2000_write_cpld(struct comedi_device *dev, int data)
 {
 	int result = 0;
 
@@ -493,9 +495,9 @@ static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
 	return result;
 }
 
-static int initialize_daqboard2000(struct comedi_device *dev,
-				   const u8 *cpld_array, size_t len,
-				   unsigned long context)
+static int daqboard2000_load_firmware(struct comedi_device *dev,
+				      const u8 *cpld_array, size_t len,
+				      unsigned long context)
 {
 	struct daqboard2000_private *devpriv = dev->private;
 	int result = -EIO;
@@ -510,10 +512,10 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 		return -EIO;
 
 	for (retry = 0; retry < 3; retry++) {
-		daqboard2000_resetLocalBus(dev);
-		daqboard2000_reloadPLX(dev);
-		daqboard2000_pulseProgPin(dev);
-		if (daqboard2000_pollCPLD(dev, DAQBOARD2000_CPLD_INIT)) {
+		daqboard2000_reset_local_bus(dev);
+		daqboard2000_reload_plx(dev);
+		daqboard2000_pulse_prog_pin(dev);
+		if (daqboard2000_poll_cpld(dev, DAQBOARD2000_CPLD_INIT)) {
 			for (i = 0; i < len; i++) {
 				if (cpld_array[i] == 0xff &&
 				    cpld_array[i + 1] == 0x20)
@@ -522,12 +524,12 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 			for (; i < len; i += 2) {
 				int data =
 				    (cpld_array[i] << 8) + cpld_array[i + 1];
-				if (!daqboard2000_writeCPLD(dev, data))
+				if (!daqboard2000_write_cpld(dev, data))
 					break;
 			}
 			if (i >= len) {
-				daqboard2000_resetLocalBus(dev);
-				daqboard2000_reloadPLX(dev);
+				daqboard2000_reset_local_bus(dev);
+				daqboard2000_reload_plx(dev);
 				result = 0;
 				break;
 			}
@@ -536,11 +538,11 @@ static int initialize_daqboard2000(struct comedi_device *dev,
 	return result;
 }
 
-static void daqboard2000_adcStopDmaTransfer(struct comedi_device *dev)
+static void daqboard2000_adc_stop_dma_transfer(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_adcDisarm(struct comedi_device *dev)
+static void daqboard2000_adc_disarm(struct comedi_device *dev)
 {
 	/* Disable hardware triggers */
 	udelay(2);
@@ -561,10 +563,10 @@ static void daqboard2000_adcDisarm(struct comedi_device *dev)
 	       dev->mmio + DB2K_REG_ACQ_CONTROL);
 
 	/* Stop the input dma (abort channel 1) */
-	daqboard2000_adcStopDmaTransfer(dev);
+	daqboard2000_adc_stop_dma_transfer(dev);
 }
 
-static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
+static void daqboard2000_activate_reference_dacs(struct comedi_device *dev)
 {
 	unsigned int val;
 	int timeout;
@@ -590,29 +592,29 @@ static void daqboard2000_activateReferenceDacs(struct comedi_device *dev)
 	}
 }
 
-static void daqboard2000_initializeCtrs(struct comedi_device *dev)
+static void daqboard2000_initialize_ctrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeTmrs(struct comedi_device *dev)
+static void daqboard2000_initialize_tmrs(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_dacDisarm(struct comedi_device *dev)
+static void daqboard2000_dac_disarm(struct comedi_device *dev)
 {
 }
 
-static void daqboard2000_initializeAdc(struct comedi_device *dev)
+static void daqboard2000_initialize_adc(struct comedi_device *dev)
 {
-	daqboard2000_adcDisarm(dev);
-	daqboard2000_activateReferenceDacs(dev);
-	daqboard2000_initializeCtrs(dev);
-	daqboard2000_initializeTmrs(dev);
+	daqboard2000_adc_disarm(dev);
+	daqboard2000_activate_reference_dacs(dev);
+	daqboard2000_initialize_ctrs(dev);
+	daqboard2000_initialize_tmrs(dev);
 }
 
-static void daqboard2000_initializeDac(struct comedi_device *dev)
+static void daqboard2000_initialize_dac(struct comedi_device *dev)
 {
-	daqboard2000_dacDisarm(dev);
+	daqboard2000_dac_disarm(dev);
 }
 
 static int daqboard2000_8255_cb(struct comedi_device *dev,
@@ -679,12 +681,12 @@ static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 	result = comedi_load_firmware(dev, &comedi_to_pci_dev(dev)->dev,
 				      DAQBOARD2000_FIRMWARE,
-				      initialize_daqboard2000, 0);
+				      daqboard2000_load_firmware, 0);
 	if (result < 0)
 		return result;
 
-	daqboard2000_initializeAdc(dev);
-	daqboard2000_initializeDac(dev);
+	daqboard2000_initialize_adc(dev);
+	daqboard2000_initialize_dac(dev);
 
 	s = &dev->subdevices[0];
 	/* ai subdevice */
-- 
2.8.1

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

* [PATCH v4 14/14] staging: comedi: daqboard2000: prefer usleep_range()
  2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
                     ` (12 preceding siblings ...)
  2016-05-19 18:15   ` [PATCH v4 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
@ 2016-05-19 18:15   ` Ian Abbott
  13 siblings, 0 replies; 66+ messages in thread
From: Ian Abbott @ 2016-05-19 18:15 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

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.  Replace it with a fairly tight
`usleep_range(10, 20)` to avoid slowing down firmware loading too much.
The firmware is fairly short, so this would only slow it down firmware
loading by about 20 milliseconds or so.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
---
v2: Replaced the 10 microsecond udelay with a fairly tight usleep_range,
as suggested by Hartley.
v3, v4: No change.
---
 drivers/staging/comedi/drivers/daqboard2000.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index fd9fb21..b259d41 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;
@@ -486,7 +486,7 @@ static int daqboard2000_write_cpld(struct comedi_device *dev, int data)
 {
 	int result = 0;
 
-	udelay(10);
+	usleep_range(10, 20);
 	writew(data, dev->mmio + 0x1000);
 	if ((readw(dev->mmio + 0x1000) & DAQBOARD2000_CPLD_INIT) ==
 	    DAQBOARD2000_CPLD_INIT) {
-- 
2.8.1

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

end of thread, other threads:[~2016-05-19 18:18 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-17  9:52 [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
2016-05-17  9:52 ` [PATCH 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
2016-05-17 17:14   ` Hartley Sweeten
2016-05-18 10:21     ` Ian Abbott
2016-05-17  9:52 ` [PATCH 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
2016-05-17  9:52 ` [PATCH 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
2016-05-17  9:52 ` [PATCH 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
2016-05-17  9:52 ` [PATCH 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
2016-05-17 17:22   ` Hartley Sweeten
2016-05-18 10:25     ` Ian Abbott
2016-05-17  9:52 ` [PATCH 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
2016-05-17 17:27   ` Hartley Sweeten
2016-05-18 10:27     ` Ian Abbott
2016-05-17  9:52 ` [PATCH 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
2016-05-17  9:52 ` [PATCH 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
2016-05-17  9:52 ` [PATCH 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
2016-05-17  9:52 ` [PATCH 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
2016-05-17  9:52 ` [PATCH 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
2016-05-17  9:52 ` [PATCH 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
2016-05-17  9:52 ` [PATCH 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
2016-05-17  9:52 ` [PATCH 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
2016-05-17 17:42   ` Hartley Sweeten
2016-05-18 10:28     ` Ian Abbott
2016-05-17 17:46 ` [PATCH 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Hartley Sweeten
2016-05-18 12:00   ` Ian Abbott
2016-05-18 12:36 ` [PATCH v2 " Ian Abbott
2016-05-18 12:36   ` [PATCH v2 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
2016-05-18 12:36   ` [PATCH v2 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
2016-05-18 12:36   ` [PATCH v2 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
2016-05-18 12:36   ` [PATCH v2 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
2016-05-18 12:37   ` [PATCH v2 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
2016-05-18 12:37   ` [PATCH v2 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
2016-05-18 22:45     ` Hartley Sweeten
2016-05-19  9:55     ` [PATCH v3 " Ian Abbott
2016-05-19 16:49       ` Hartley Sweeten
2016-05-19 17:42         ` Ian Abbott
2016-05-18 12:37   ` [PATCH v2 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
2016-05-18 12:37   ` [PATCH v2 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
2016-05-18 12:37   ` [PATCH v2 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
2016-05-18 12:37   ` [PATCH v2 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
2016-05-18 12:37   ` [PATCH v2 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
2016-05-18 12:37   ` [PATCH v2 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
2016-05-18 22:35     ` Hartley Sweeten
2016-05-19  9:58     ` [PATCH v3 " Ian Abbott
2016-05-19 10:07       ` Ian Abbott
2016-05-19 10:11       ` [PATCH v4 " Ian Abbott
2016-05-18 12:37   ` [PATCH v2 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
2016-05-18 12:37   ` [PATCH v2 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott
2016-05-19 10:02   ` [PATCH v2 00/14] staging: comedi: daqboard2000: checkpatch clean-ups Ian Abbott
2016-05-19 10:16     ` Ian Abbott
2016-05-19 18:04       ` Ian Abbott
2016-05-19 18:15 ` [PATCH v4 " Ian Abbott
2016-05-19 18:15   ` [PATCH v4 01/14] staging: comedi: daqboard2000: remove commented out code Ian Abbott
2016-05-19 18:15   ` [PATCH v4 02/14] staging: comedi: daqboard2000: use usual block comment style Ian Abbott
2016-05-19 18:15   ` [PATCH v4 03/14] staging: comedi: daqboard2000: CHECK: spaces preferred around that '*' Ian Abbott
2016-05-19 18:15   ` [PATCH v4 04/14] staging: comedi: daqboard2000: add blank line after struct declaration Ian Abbott
2016-05-19 18:15   ` [PATCH v4 05/14] staging: comedi: daqboard2000: rename serial EEPROM register macros Ian Abbott
2016-05-19 18:15   ` [PATCH v4 06/14] staging: comedi: daqboard2000: rename register offset macros Ian Abbott
2016-05-19 18:15   ` [PATCH v4 07/14] staging: comedi: daqboard2000: rename acquisition control register macros Ian Abbott
2016-05-19 18:15   ` [PATCH v4 08/14] staging: comedi: daqboard2000: rename acq status " Ian Abbott
2016-05-19 18:15   ` [PATCH v4 09/14] staging: comedi: daqboard2000: redo DAC control " Ian Abbott
2016-05-19 18:15   ` [PATCH v4 10/14] staging: comedi: daqboard2000: redo DAC status macros and fix busy Ian Abbott
2016-05-19 18:15   ` [PATCH v4 11/14] staging: comedi: daqboard2000: rename trigger control register macros Ian Abbott
2016-05-19 18:15   ` [PATCH v4 12/14] staging: comedi: daqboard2000: rename reference DACs " Ian Abbott
2016-05-19 18:15   ` [PATCH v4 13/14] staging: comedi: daqboard2000: rename CamelCase functions Ian Abbott
2016-05-19 18:15   ` [PATCH v4 14/14] staging: comedi: daqboard2000: prefer usleep_range() Ian Abbott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).