forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/iio/potentiostat/lmp91000.c
....@@ -11,7 +11,7 @@
1111 #include <linux/module.h>
1212 #include <linux/i2c.h>
1313 #include <linux/delay.h>
14
-#include <linux/of.h>
14
+#include <linux/mod_devicetable.h>
1515 #include <linux/regmap.h>
1616 #include <linux/iio/iio.h>
1717 #include <linux/iio/buffer.h>
....@@ -113,7 +113,7 @@
113113 return -EINVAL;
114114
115115 /* delay till first temperature reading is complete */
116
- if ((state != channel) && (channel == LMP91000_REG_MODECN_TEMP))
116
+ if (state != channel && channel == LMP91000_REG_MODECN_TEMP)
117117 usleep_range(3000, 4000);
118118
119119 data->chan_select = channel != LMP91000_REG_MODECN_3LEAD;
....@@ -205,18 +205,16 @@
205205 static int lmp91000_read_config(struct lmp91000_data *data)
206206 {
207207 struct device *dev = data->dev;
208
- struct device_node *np = dev->of_node;
209208 unsigned int reg, val;
210209 int i, ret;
211210
212
- ret = of_property_read_u32(np, "ti,tia-gain-ohm", &val);
211
+ ret = device_property_read_u32(dev, "ti,tia-gain-ohm", &val);
213212 if (ret) {
214
- if (of_property_read_bool(np, "ti,external-tia-resistor"))
215
- val = 0;
216
- else {
217
- dev_err(dev, "no ti,tia-gain-ohm defined");
213
+ if (!device_property_read_bool(dev, "ti,external-tia-resistor")) {
214
+ dev_err(dev, "no ti,tia-gain-ohm defined and external resistor not specified\n");
218215 return ret;
219216 }
217
+ val = 0;
220218 }
221219
222220 ret = -EINVAL;
....@@ -233,7 +231,7 @@
233231 return ret;
234232 }
235233
236
- ret = of_property_read_u32(np, "ti,rload-ohm", &val);
234
+ ret = device_property_read_u32(dev, "ti,rload-ohm", &val);
237235 if (ret) {
238236 val = 100;
239237 dev_info(dev, "no ti,rload-ohm defined, default to %d\n", val);
....@@ -255,8 +253,8 @@
255253
256254 regmap_write(data->regmap, LMP91000_REG_LOCK, 0);
257255 regmap_write(data->regmap, LMP91000_REG_TIACN, reg);
258
- regmap_write(data->regmap, LMP91000_REG_REFCN, LMP91000_REG_REFCN_EXT_REF
259
- | LMP91000_REG_REFCN_50_ZERO);
256
+ regmap_write(data->regmap, LMP91000_REG_REFCN,
257
+ LMP91000_REG_REFCN_EXT_REF | LMP91000_REG_REFCN_50_ZERO);
260258 regmap_write(data->regmap, LMP91000_REG_LOCK, 1);
261259
262260 return 0;
....@@ -276,8 +274,7 @@
276274 static const struct iio_trigger_ops lmp91000_trigger_ops = {
277275 };
278276
279
-
280
-static int lmp91000_buffer_preenable(struct iio_dev *indio_dev)
277
+static int lmp91000_buffer_postenable(struct iio_dev *indio_dev)
281278 {
282279 struct lmp91000_data *data = iio_priv(indio_dev);
283280
....@@ -294,8 +291,7 @@
294291 }
295292
296293 static const struct iio_buffer_setup_ops lmp91000_buffer_setup_ops = {
297
- .preenable = lmp91000_buffer_preenable,
298
- .postenable = iio_triggered_buffer_postenable,
294
+ .postenable = lmp91000_buffer_postenable,
299295 .predisable = lmp91000_buffer_predisable,
300296 };
301297
....@@ -315,7 +311,6 @@
315311 indio_dev->channels = lmp91000_channels;
316312 indio_dev->num_channels = ARRAY_SIZE(lmp91000_channels);
317313 indio_dev->name = LMP91000_DRV_NAME;
318
- indio_dev->dev.parent = &client->dev;
319314 indio_dev->modes = INDIO_DIRECT_MODE;
320315 i2c_set_clientdata(client, indio_dev);
321316
....@@ -426,7 +421,7 @@
426421 static struct i2c_driver lmp91000_driver = {
427422 .driver = {
428423 .name = LMP91000_DRV_NAME,
429
- .of_match_table = of_match_ptr(lmp91000_of_match),
424
+ .of_match_table = lmp91000_of_match,
430425 },
431426 .probe = lmp91000_probe,
432427 .remove = lmp91000_remove,