.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0 |
---|
1 | 2 | /* |
---|
2 | 3 | * iio/adc/max9611.c |
---|
3 | 4 | * |
---|
.. | .. |
---|
5 | 6 | * 12-bit ADC interface. |
---|
6 | 7 | * |
---|
7 | 8 | * Copyright (C) 2017 Jacopo Mondi |
---|
8 | | - * |
---|
9 | | - * This program is free software; you can redistribute it and/or modify |
---|
10 | | - * it under the terms of the GNU General Public License version 2 as |
---|
11 | | - * published by the Free Software Foundation. |
---|
12 | 9 | */ |
---|
13 | 10 | |
---|
14 | 11 | /* |
---|
.. | .. |
---|
113 | 110 | CONF_TEMP, |
---|
114 | 111 | }; |
---|
115 | 112 | |
---|
116 | | -/** |
---|
| 113 | +/* |
---|
117 | 114 | * max9611_mux_conf - associate ADC mux configuration with register address |
---|
118 | 115 | * where data shall be read from |
---|
119 | 116 | */ |
---|
120 | 117 | static const unsigned int max9611_mux_conf[][2] = { |
---|
121 | | - /* CONF_SENSE_1x */ |
---|
122 | | - { MAX9611_MUX_SENSE_1x, MAX9611_REG_CSA_DATA }, |
---|
123 | | - /* CONF_SENSE_4x */ |
---|
124 | | - { MAX9611_MUX_SENSE_4x, MAX9611_REG_CSA_DATA }, |
---|
125 | | - /* CONF_SENSE_8x */ |
---|
126 | | - { MAX9611_MUX_SENSE_8x, MAX9611_REG_CSA_DATA }, |
---|
127 | | - /* CONF_IN_VOLT */ |
---|
128 | | - { MAX9611_INPUT_VOLT, MAX9611_REG_RS_DATA }, |
---|
129 | | - /* CONF_TEMP */ |
---|
130 | | - { MAX9611_MUX_TEMP, MAX9611_REG_TEMP_DATA }, |
---|
| 118 | + [CONF_SENSE_1x] = { MAX9611_MUX_SENSE_1x, MAX9611_REG_CSA_DATA }, |
---|
| 119 | + [CONF_SENSE_4x] = { MAX9611_MUX_SENSE_4x, MAX9611_REG_CSA_DATA }, |
---|
| 120 | + [CONF_SENSE_8x] = { MAX9611_MUX_SENSE_8x, MAX9611_REG_CSA_DATA }, |
---|
| 121 | + [CONF_IN_VOLT] = { MAX9611_INPUT_VOLT, MAX9611_REG_RS_DATA }, |
---|
| 122 | + [CONF_TEMP] = { MAX9611_MUX_TEMP, MAX9611_REG_TEMP_DATA }, |
---|
131 | 123 | }; |
---|
132 | 124 | |
---|
133 | 125 | enum max9611_csa_gain { |
---|
134 | | - CSA_GAIN_1x, |
---|
135 | | - CSA_GAIN_4x, |
---|
136 | | - CSA_GAIN_8x, |
---|
| 126 | + CSA_GAIN_1x = CONF_SENSE_1x, |
---|
| 127 | + CSA_GAIN_4x = CONF_SENSE_4x, |
---|
| 128 | + CSA_GAIN_8x = CONF_SENSE_8x, |
---|
137 | 129 | }; |
---|
138 | 130 | |
---|
139 | 131 | enum max9611_csa_gain_params { |
---|
.. | .. |
---|
141 | 133 | CSA_GAIN_OFFS_RAW, |
---|
142 | 134 | }; |
---|
143 | 135 | |
---|
144 | | -/** |
---|
| 136 | +/* |
---|
145 | 137 | * max9611_csa_gain_conf - associate gain multiplier with LSB and |
---|
146 | 138 | * offset values. |
---|
147 | 139 | * |
---|
.. | .. |
---|
151 | 143 | * value; use this structure to retrieve the correct LSB and offset values. |
---|
152 | 144 | */ |
---|
153 | 145 | static const unsigned int max9611_gain_conf[][2] = { |
---|
154 | | - { /* [0] CSA_GAIN_1x */ |
---|
155 | | - MAX9611_CSA_1X_LSB_nV, |
---|
156 | | - MAX9611_CSA_1X_OFFS_RAW, |
---|
157 | | - }, |
---|
158 | | - { /* [1] CSA_GAIN_4x */ |
---|
159 | | - MAX9611_CSA_4X_LSB_nV, |
---|
160 | | - MAX9611_CSA_4X_OFFS_RAW, |
---|
161 | | - }, |
---|
162 | | - { /* [2] CSA_GAIN_8x */ |
---|
163 | | - MAX9611_CSA_8X_LSB_nV, |
---|
164 | | - MAX9611_CSA_8X_OFFS_RAW, |
---|
165 | | - }, |
---|
| 146 | + [CSA_GAIN_1x] = { MAX9611_CSA_1X_LSB_nV, MAX9611_CSA_1X_OFFS_RAW, }, |
---|
| 147 | + [CSA_GAIN_4x] = { MAX9611_CSA_4X_LSB_nV, MAX9611_CSA_4X_OFFS_RAW, }, |
---|
| 148 | + [CSA_GAIN_8x] = { MAX9611_CSA_8X_LSB_nV, MAX9611_CSA_8X_OFFS_RAW, }, |
---|
166 | 149 | }; |
---|
167 | 150 | |
---|
168 | 151 | enum max9611_chan_addrs { |
---|
.. | .. |
---|
562 | 545 | if (ret) |
---|
563 | 546 | return ret; |
---|
564 | 547 | |
---|
565 | | - indio_dev->dev.parent = &client->dev; |
---|
566 | | - indio_dev->dev.of_node = client->dev.of_node; |
---|
567 | 548 | indio_dev->name = of_id->data; |
---|
568 | 549 | indio_dev->modes = INDIO_DIRECT_MODE; |
---|
569 | 550 | indio_dev->info = &indio_info; |
---|