These macros rely on a local variable having a specific name.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/comedi/drivers/adl_pci9111.c | 29 +++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/staging/comedi/drivers/adl_pci9111.c
b/drivers/staging/comedi/drivers/adl_pci9111.c
index e2c327c..dc37570 100644
--- a/drivers/staging/comedi/drivers/adl_pci9111.c
+++ b/drivers/staging/comedi/drivers/adl_pci9111.c
@@ -99,7 +99,7 @@ TODO:
#define PCI9111_REGISTER_AD_CHANNEL_READBACK 0x06
#define PCI9111_AI_RANGE_REG 0x08
#define PCI9111_RANGE_STATUS_REG 0x08
-#define PCI9111_REGISTER_TRIGGER_MODE_CONTROL 0x0A
+#define PCI9111_AI_MODE_CTRL_REG 0x0A
#define PCI9111_AI_MODE_INT_RB_REG 0x0A
#define PCI9111_SOFTWARE_TRIGGER_REG 0x0E
#define PCI9111_INT_CTRL_REG 0x0C
@@ -133,12 +133,6 @@ TODO:
* Define inlined function
*/
-#define pci9111_trigger_and_autoscan_get() \
- (inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG)&0x0F)
-
-#define pci9111_trigger_and_autoscan_set(flags) \
- outb(flags, dev->iobase + PCI9111_REGISTER_TRIGGER_MODE_CONTROL)
-
#define pci9111_fifo_reset() do { \
outb(PCI9111_FFEN_SET_FIFO_ENABLE, \
dev->iobase + PCI9111_INT_CTRL_REG); \
@@ -256,7 +250,10 @@ static void pci9111_trigger_source_set(struct
comedi_device *dev,
{
int flags;
- flags = pci9111_trigger_and_autoscan_get() & 0x09;
+ /* Read the current trigger mode control bits */
+ flags = inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG);
+ /* Mask off the EITS and TPST bits */
+ flags &= 0x9;
switch (source) {
case software:
@@ -272,31 +269,37 @@ static void pci9111_trigger_source_set(struct
comedi_device *dev,
break;
}
- pci9111_trigger_and_autoscan_set(flags);
+ outb(flags, dev->iobase + PCI9111_AI_MODE_CTRL_REG);
}
static void pci9111_pretrigger_set(struct comedi_device *dev, bool pretrigger)
{
int flags;
- flags = pci9111_trigger_and_autoscan_get() & 0x07;
+ /* Read the current trigger mode control bits */
+ flags = inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG);
+ /* Mask off the PTRG bit */
+ flags &= 0x7;
if (pretrigger)
flags |= PCI9111_PTRG_ON;
- pci9111_trigger_and_autoscan_set(flags);
+ outb(flags, dev->iobase + PCI9111_AI_MODE_CTRL_REG);
}
static void pci9111_autoscan_set(struct comedi_device *dev, bool autoscan)
{
int flags;
- flags = pci9111_trigger_and_autoscan_get() & 0x0e;
+ /* Read the current trigger mode control bits */
+ flags = inb(dev->iobase + PCI9111_AI_MODE_INT_RB_REG);
+ /* Mask off the ASCAN bit */
+ flags &= 0xe;
if (autoscan)
flags |= PCI9111_ASCAN_ON;
- pci9111_trigger_and_autoscan_set(flags);
+ outb(flags, dev->iobase + PCI9111_AI_MODE_CTRL_REG);
}
enum pci9111_ISC0_sources {
--
1.7.11
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel