Commit 00dd53e0 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: mpc624: tidy up the ai conversion speed code

Rename the CamelCase private data 'ulConvertionRate' and MPC624_SPEED_*
defines.

Create a macro to set the OSR bits that set the ai conversion speed and
use it for the various MPC624_SPEED_* defines. Remove the unnecessary
comment describing the speeds, this information is alread in the comedi
driver comment block.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e437b1ab
...@@ -74,50 +74,26 @@ ...@@ -74,50 +74,26 @@
#define MPC624_ADSCK BIT(1) #define MPC624_ADSCK BIT(1)
#define MPC624_ADSDI BIT(0) #define MPC624_ADSDI BIT(0)
/* SDI Speed/Resolution Programming bits */
#define MPC624_OSR4 BIT(31)
#define MPC624_OSR3 BIT(30)
#define MPC624_OSR2 BIT(29)
#define MPC624_OSR1 BIT(28)
#define MPC624_OSR0 BIT(27)
/* 32-bit output value bits' names */ /* 32-bit output value bits' names */
#define MPC624_EOC_BIT BIT(31) #define MPC624_EOC_BIT BIT(31)
#define MPC624_DMY_BIT BIT(30) #define MPC624_DMY_BIT BIT(30)
#define MPC624_SGN_BIT BIT(29) #define MPC624_SGN_BIT BIT(29)
/* Conversion speeds */ /* SDI Speed/Resolution Programming bits */
/* OSR4 OSR3 OSR2 OSR1 OSR0 Conversion rate RMS noise ENOB^ #define MPC624_OSR(x) (((x) & 0x1f) << 27)
* X 0 0 0 1 3.52kHz 23uV 17 #define MPC624_SPEED_3_52_KHZ MPC624_OSR(0x11)
* X 0 0 1 0 1.76kHz 3.5uV 20 #define MPC624_SPEED_1_76_KHZ MPC624_OSR(0x12)
* X 0 0 1 1 880Hz 2uV 21.3 #define MPC624_SPEED_880_HZ MPC624_OSR(0x13)
* X 0 1 0 0 440Hz 1.4uV 21.8 #define MPC624_SPEED_440_HZ MPC624_OSR(0x14)
* X 0 1 0 1 220Hz 1uV 22.4 #define MPC624_SPEED_220_HZ MPC624_OSR(0x15)
* X 0 1 1 0 110Hz 750uV 22.9 #define MPC624_SPEED_110_HZ MPC624_OSR(0x16)
* X 0 1 1 1 55Hz 510nV 23.4 #define MPC624_SPEED_55_HZ MPC624_OSR(0x17)
* X 1 0 0 0 27.5Hz 375nV 24 #define MPC624_SPEED_27_5_HZ MPC624_OSR(0x18)
* X 1 0 0 1 13.75Hz 250nV 24.4 #define MPC624_SPEED_13_75_HZ MPC624_OSR(0x19)
* X 1 1 1 1 6.875Hz 200nV 24.6 #define MPC624_SPEED_6_875_HZ MPC624_OSR(0x1f)
*
* ^ - Effective Number Of Bits
*/
#define MPC624_SPEED_3_52_kHz (MPC624_OSR4 | MPC624_OSR0)
#define MPC624_SPEED_1_76_kHz (MPC624_OSR4 | MPC624_OSR1)
#define MPC624_SPEED_880_Hz (MPC624_OSR4 | MPC624_OSR1 | MPC624_OSR0)
#define MPC624_SPEED_440_Hz (MPC624_OSR4 | MPC624_OSR2)
#define MPC624_SPEED_220_Hz (MPC624_OSR4 | MPC624_OSR2 | MPC624_OSR0)
#define MPC624_SPEED_110_Hz (MPC624_OSR4 | MPC624_OSR2 | MPC624_OSR1)
#define MPC624_SPEED_55_Hz \
(MPC624_OSR4 | MPC624_OSR2 | MPC624_OSR1 | MPC624_OSR0)
#define MPC624_SPEED_27_5_Hz (MPC624_OSR4 | MPC624_OSR3)
#define MPC624_SPEED_13_75_Hz (MPC624_OSR4 | MPC624_OSR3 | MPC624_OSR0)
#define MPC624_SPEED_6_875_Hz \
(MPC624_OSR4 | MPC624_OSR3 | MPC624_OSR2 | MPC624_OSR1 | MPC624_OSR0)
/* -------------------------------------------------------------------------- */
struct mpc624_private { struct mpc624_private {
/* set by mpc624_attach() from driver's parameters */ unsigned long int ai_speed;
unsigned long int ulConvertionRate;
}; };
/* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */
...@@ -183,7 +159,7 @@ static int mpc624_ai_rinsn(struct comedi_device *dev, ...@@ -183,7 +159,7 @@ static int mpc624_ai_rinsn(struct comedi_device *dev,
/* Start reading data */ /* Start reading data */
data_in = 0; data_in = 0;
data_out = devpriv->ulConvertionRate; data_out = devpriv->ai_speed;
udelay(1); udelay(1);
for (i = 0; i < 32; i++) { for (i = 0; i < 32; i++) {
/* Set the clock low */ /* Set the clock low */
...@@ -286,37 +262,37 @@ static int mpc624_attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -286,37 +262,37 @@ static int mpc624_attach(struct comedi_device *dev, struct comedi_devconfig *it)
switch (it->options[1]) { switch (it->options[1]) {
case 0: case 0:
devpriv->ulConvertionRate = MPC624_SPEED_3_52_kHz; devpriv->ai_speed = MPC624_SPEED_3_52_KHZ;
break; break;
case 1: case 1:
devpriv->ulConvertionRate = MPC624_SPEED_1_76_kHz; devpriv->ai_speed = MPC624_SPEED_1_76_KHZ;
break; break;
case 2: case 2:
devpriv->ulConvertionRate = MPC624_SPEED_880_Hz; devpriv->ai_speed = MPC624_SPEED_880_HZ;
break; break;
case 3: case 3:
devpriv->ulConvertionRate = MPC624_SPEED_440_Hz; devpriv->ai_speed = MPC624_SPEED_440_HZ;
break; break;
case 4: case 4:
devpriv->ulConvertionRate = MPC624_SPEED_220_Hz; devpriv->ai_speed = MPC624_SPEED_220_HZ;
break; break;
case 5: case 5:
devpriv->ulConvertionRate = MPC624_SPEED_110_Hz; devpriv->ai_speed = MPC624_SPEED_110_HZ;
break; break;
case 6: case 6:
devpriv->ulConvertionRate = MPC624_SPEED_55_Hz; devpriv->ai_speed = MPC624_SPEED_55_HZ;
break; break;
case 7: case 7:
devpriv->ulConvertionRate = MPC624_SPEED_27_5_Hz; devpriv->ai_speed = MPC624_SPEED_27_5_HZ;
break; break;
case 8: case 8:
devpriv->ulConvertionRate = MPC624_SPEED_13_75_Hz; devpriv->ai_speed = MPC624_SPEED_13_75_HZ;
break; break;
case 9: case 9:
devpriv->ulConvertionRate = MPC624_SPEED_6_875_Hz; devpriv->ai_speed = MPC624_SPEED_6_875_HZ;
break; break;
default: default:
devpriv->ulConvertionRate = MPC624_SPEED_3_52_kHz; devpriv->ai_speed = MPC624_SPEED_3_52_KHZ;
} }
ret = comedi_alloc_subdevices(dev, 1); ret = comedi_alloc_subdevices(dev, 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment