Lines Matching refs:data

61 static int max31865_read(struct max31865_data *data, u8 reg,
64 return spi_write_then_read(data->spi, &reg, 1, data->buf, read_size);
67 static int max31865_write(struct max31865_data *data, size_t len)
69 return spi_write(data->spi, data->buf, len);
72 static int enable_bias(struct max31865_data *data)
77 ret = max31865_read(data, MAX31865_CFG_REG, 1);
81 cfg = data->buf[0];
83 data->buf[0] = MAX31865_CFG_REG | MAX31865_RD_WR_BIT;
84 data->buf[1] = cfg | MAX31865_CFG_VBIAS;
86 return max31865_write(data, 2);
89 static int disable_bias(struct max31865_data *data)
94 ret = max31865_read(data, MAX31865_CFG_REG, 1);
98 cfg = data->buf[0];
101 data->buf[0] = MAX31865_CFG_REG | MAX31865_RD_WR_BIT;
102 data->buf[1] = cfg;
104 return max31865_write(data, 2);
107 static int max31865_rtd_read(struct max31865_data *data, int *val)
113 ret = enable_bias(data);
120 ret = max31865_read(data, MAX31865_CFG_REG, 1);
124 reg = data->buf[0];
126 data->buf[0] = MAX31865_CFG_REG | MAX31865_RD_WR_BIT;
127 data->buf[1] = reg;
129 ret = max31865_write(data, 2);
133 if (data->filter_50hz) {
141 ret = max31865_read(data, MAX31865_RTD_MSB, 2);
145 *val = get_unaligned_be16(&data->buf) >> 1;
147 return disable_bias(data);
154 struct max31865_data *data = iio_priv(indio_dev);
159 mutex_lock(&data->lock);
160 ret = max31865_rtd_read(data, val);
161 mutex_unlock(&data->lock);
175 static int max31865_init(struct max31865_data *data)
180 ret = max31865_read(data, MAX31865_CFG_REG, 1);
184 cfg = data->buf[0];
186 if (data->three_wire)
190 if (data->filter_50hz)
194 data->buf[0] = MAX31865_CFG_REG | MAX31865_RD_WR_BIT;
195 data->buf[1] = cfg;
197 return max31865_write(data, 2);
205 struct max31865_data *data = iio_priv(indio_dev);
207 ret = max31865_read(data, MAX31865_FAULT_STATUS, 1);
211 fault = data->buf[0] & faultbit;
228 struct max31865_data *data = iio_priv(indio_dev);
230 return sysfs_emit(buf, "%d\n", data->filter_50hz ? 50 : 60);
239 struct max31865_data *data = iio_priv(indio_dev);
249 data->filter_50hz = true;
252 data->filter_50hz = false;
258 mutex_lock(&data->lock);
259 ret = max31865_init(data);
260 mutex_unlock(&data->lock);
292 struct max31865_data *data;
295 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*data));
299 data = iio_priv(indio_dev);
300 data->spi = spi;
301 data->filter_50hz = false;
302 mutex_init(&data->lock);
312 data->three_wire = 1;
315 data->three_wire = 0;
318 ret = max31865_init(data);