staging: comedi: range: introduce some simple mA ranges
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 3 Apr 2013 20:40:13 +0000 (13:40 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 21:13:30 +0000 (14:13 -0700)
The simple mA ranges 0 to 20, 4 to 20, and 0 to 32 are fairly common.
Introduce them in the comedi core and use them in the drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/comedidev.h
drivers/staging/comedi/drivers/dt2815.c
drivers/staging/comedi/drivers/ni_670x.c
drivers/staging/comedi/drivers/pcl726.c
drivers/staging/comedi/range.c

index 6abb7a8f059c9a6fcad394d6c34a0d10db013764..9df79cafc1c58d60698876f851227dfbc6538a37 100644 (file)
@@ -295,6 +295,9 @@ extern const struct comedi_lrange range_bipolar2_5;
 extern const struct comedi_lrange range_unipolar10;
 extern const struct comedi_lrange range_unipolar5;
 extern const struct comedi_lrange range_unipolar2_5;
+extern const struct comedi_lrange range_0_20mA;
+extern const struct comedi_lrange range_4_20mA;
+extern const struct comedi_lrange range_0_32mA;
 extern const struct comedi_lrange range_unknown;
 
 #define range_digital          range_unipolar5
index 1e0cfe4972a6f39ecffdd2ecba2c374b89659ab9..10828fc7e16cecfabaf7df0b2b1c25de9e03208b 100644 (file)
@@ -61,12 +61,6 @@ Configuration options:
 #include <linux/ioport.h>
 #include <linux/delay.h>
 
-static const struct comedi_lrange
-       range_dt2815_ao_32_current = {1, {RANGE_mA(0, 32)} };
-
-static const struct comedi_lrange
-       range_dt2815_ao_20_current = {1, {RANGE_mA(4, 20)} };
-
 #define DT2815_SIZE 2
 
 #define DT2815_DATA 0
@@ -199,7 +193,7 @@ static int dt2815_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        s->range_table_list = devpriv->range_type_list;
 
        current_range_type = (it->options[3])
-           ? &range_dt2815_ao_20_current : &range_dt2815_ao_32_current;
+           ? &range_4_20mA : &range_0_32mA;
        voltage_range_type = (it->options[2])
            ? &range_bipolar5 : &range_unipolar5;
        for (i = 0; i < 8; i++) {
index e9d486238c85e92e1c119c0979bb6a9d21bcb060..42ab6dbf9d3940cb5fcf2af2ce2f2404eb65277c 100644 (file)
@@ -94,8 +94,6 @@ struct ni_670x_private {
        unsigned int ao_readback[32];
 };
 
-static struct comedi_lrange range_0_20mA = { 1, {RANGE_mA(0, 20)} };
-
 static int ni_670x_ao_winsn(struct comedi_device *dev,
                            struct comedi_subdevice *s,
                            struct comedi_insn *insn, unsigned int *data)
index 50e01968f19c6ae445997ca43a5a61cf0056bd7f..1cc0aa88f372bdef8bd9624eb4a37c515f4fcc19 100644 (file)
@@ -90,9 +90,6 @@ Interrupts are not supported.
 #define PCL727_DI_HI  0
 #define PCL727_DI_LO  1
 
-static const struct comedi_lrange range_4_20mA = { 1, {RANGE_mA(4, 20)} };
-static const struct comedi_lrange range_0_20mA = { 1, {RANGE_mA(0, 20)} };
-
 static const struct comedi_lrange *const rangelist_726[] = {
        &range_unipolar5, &range_unipolar10,
        &range_bipolar5, &range_bipolar10,
index efec9022a7aec0ed019e0563cec0ae8e296bc9eb..d68491d1c37dab59a6b010e3a240a09293602bf0 100644 (file)
@@ -37,6 +37,12 @@ const struct comedi_lrange range_unipolar5 = { 1, {UNI_RANGE(5)} };
 EXPORT_SYMBOL(range_unipolar5);
 const struct comedi_lrange range_unipolar2_5 = { 1, {UNI_RANGE(2.5)} };
 EXPORT_SYMBOL(range_unipolar2_5);
+const struct comedi_lrange range_0_20mA = { 1, {RANGE_mA(0, 20)} };
+EXPORT_SYMBOL(range_0_20mA);
+const struct comedi_lrange range_4_20mA = { 1, {RANGE_mA(4, 20)} };
+EXPORT_SYMBOL(range_4_20mA);
+const struct comedi_lrange range_0_32mA = { 1, {RANGE_mA(0, 32)} };
+EXPORT_SYMBOL(range_0_32mA);
 const struct comedi_lrange range_unknown = { 1, {{0, 1000000, UNIT_none} } };
 EXPORT_SYMBOL(range_unknown);