Lines Matching defs:sensor
173 container_of(_sensor, struct ltc2983_thermocouple, sensor)
176 container_of(_sensor, struct ltc2983_rtd, sensor)
179 container_of(_sensor, struct ltc2983_thermistor, sensor)
182 container_of(_sensor, struct ltc2983_diode, sensor)
185 container_of(_sensor, struct ltc2983_rsense, sensor)
188 container_of(_sensor, struct ltc2983_adc, sensor)
214 const struct ltc2983_sensor *sensor);
215 /* specifies the sensor channel */
217 /* sensor type */
222 /* raw table sensor data */
231 struct ltc2983_sensor sensor;
238 struct ltc2983_sensor sensor;
247 struct ltc2983_sensor sensor;
255 struct ltc2983_sensor sensor;
262 struct ltc2983_sensor sensor;
267 struct ltc2983_sensor sensor;
314 const struct ltc2983_sensor *sensor,
317 u32 reg = LTC2983_CHAN_START_ADDR(sensor->chan);
319 chan_val |= LTC2983_CHAN_TYPE(sensor->type);
337 * configuring the sensor channel, we must write the number of
351 * sensor, a steinhart sensor might have been added changing
358 "Not space left(%d) for new custom sensor(%zu)",
373 dev_dbg(dev, "Assign custom sensor, reg:0x%04X, off:%d, sz:%zu",
376 /* write custom sensor table */
420 dev_err(dev, "No space left(%d) for new custom sensor(%zu)",
469 * sensor will sit in a correct address without the need of filling
501 const struct ltc2983_sensor *sensor)
503 struct ltc2983_thermocouple *thermo = to_thermocouple(sensor);
517 return __ltc2983_chan_assign_common(st, sensor, chan_val);
521 const struct ltc2983_sensor *sensor)
523 struct ltc2983_rtd *rtd = to_rtd(sensor);
539 return __ltc2983_chan_assign_common(st, sensor, chan_val);
543 const struct ltc2983_sensor *sensor)
545 struct ltc2983_thermistor *thermistor = to_thermistor(sensor);
562 return __ltc2983_chan_assign_common(st, sensor, chan_val);
566 const struct ltc2983_sensor *sensor)
568 struct ltc2983_diode *diode = to_diode(sensor);
575 return __ltc2983_chan_assign_common(st, sensor, chan_val);
579 const struct ltc2983_sensor *sensor)
581 struct ltc2983_rsense *rsense = to_rsense(sensor);
586 return __ltc2983_chan_assign_common(st, sensor, chan_val);
590 const struct ltc2983_sensor *sensor)
592 struct ltc2983_adc *adc = to_adc(sensor);
597 return __ltc2983_chan_assign_common(st, sensor, chan_val);
603 const struct ltc2983_sensor *sensor)
617 ret = of_property_read_u32(child, "adi,sensor-oc-current-microamp",
647 sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
650 sensor->chan);
671 /* check custom sensor */
672 if (sensor->type == LTC2983_SENSOR_THERMOCOUPLE_CUSTOM) {
685 thermo->sensor.fault_handler = ltc2983_thermocouple_fault_handler;
686 thermo->sensor.assign_chan = ltc2983_thermocouple_assign_chan;
689 return &thermo->sensor;
694 const struct ltc2983_sensor *sensor)
782 if (sensor->chan < min || sensor->chan > max) {
784 sensor->chan);
791 if (sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
793 "Invalid chann:%d for RTD", sensor->chan);
800 /* check custom sensor */
801 if (sensor->type == LTC2983_SENSOR_RTD_CUSTOM) {
812 rtd->sensor.fault_handler = ltc2983_common_fault_handler;
813 rtd->sensor.assign_chan = ltc2983_rtd_assign_chan;
858 return &rtd->sensor;
867 const struct ltc2983_sensor *sensor)
904 sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
907 sensor->chan);
912 /* check custom sensor */
913 if (sensor->type >= LTC2983_SENSOR_THERMISTOR_STEINHART) {
917 if (sensor->type == LTC2983_SENSOR_THERMISTOR_STEINHART) {
934 thermistor->sensor.fault_handler = ltc2983_common_fault_handler;
935 thermistor->sensor.assign_chan = ltc2983_thermistor_assign_chan;
941 if (sensor->type >= LTC2983_SENSOR_THERMISTOR_STEINHART)
951 if (sensor->type >=
1003 return &thermistor->sensor;
1012 const struct ltc2983_sensor *sensor)
1033 sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
1036 sensor->chan);
1040 diode->sensor.fault_handler = ltc2983_common_fault_handler;
1041 diode->sensor.assign_chan = ltc2983_diode_assign_chan;
1072 return &diode->sensor;
1077 const struct ltc2983_sensor *sensor)
1088 if (sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
1090 sensor->chan);
1108 rsense->sensor.assign_chan = ltc2983_r_sense_assign_chan;
1110 return &rsense->sensor;
1115 const struct ltc2983_sensor *sensor)
1127 sensor->chan < LTC2983_DIFFERENTIAL_CHAN_MIN) {
1129 sensor->chan);
1133 adc->sensor.assign_chan = ltc2983_adc_assign_chan;
1134 adc->sensor.fault_handler = ltc2983_common_fault_handler;
1136 return &adc->sensor;
1140 const struct ltc2983_sensor *sensor, int *val)
1147 start_conversion |= LTC2983_STATUS_CHAN_SEL(sensor->chan);
1149 sensor->chan, start_conversion);
1159 * Depending on the sensor configuration, there are 2/3 conversions
1170 ret = regmap_bulk_read(st->regmap, LTC2983_CHAN_RES_ADDR(sensor->chan),
1182 ret = sensor->fault_handler(st, *val);
1285 struct ltc2983_sensor sensor;
1287 ret = of_property_read_u32(child, "reg", &sensor.chan);
1294 if (sensor.chan < LTC2983_MIN_CHANNELS_NR ||
1295 sensor.chan > LTC2983_MAX_CHANNELS_NR) {
1298 "chan:%d must be from 1 to 20\n", sensor.chan);
1300 } else if (channel_avail_mask & BIT(sensor.chan)) {
1302 dev_err(dev, "chan:%d already in use\n", sensor.chan);
1306 ret = of_property_read_u32(child, "adi,sensor-type",
1307 &sensor.type);
1310 "adi,sensor-type property must given for child nodes\n");
1314 dev_dbg(dev, "Create new sensor, type %u, chann %u",
1315 sensor.type,
1316 sensor.chan);
1318 if (sensor.type >= LTC2983_SENSOR_THERMOCOUPLE &&
1319 sensor.type <= LTC2983_SENSOR_THERMOCOUPLE_CUSTOM) {
1321 &sensor);
1322 } else if (sensor.type >= LTC2983_SENSOR_RTD &&
1323 sensor.type <= LTC2983_SENSOR_RTD_CUSTOM) {
1324 st->sensors[chan] = ltc2983_rtd_new(child, st, &sensor);
1325 } else if (sensor.type >= LTC2983_SENSOR_THERMISTOR &&
1326 sensor.type <= LTC2983_SENSOR_THERMISTOR_CUSTOM) {
1328 &sensor);
1329 } else if (sensor.type == LTC2983_SENSOR_DIODE) {
1331 &sensor);
1332 } else if (sensor.type == LTC2983_SENSOR_SENSE_RESISTOR) {
1334 &sensor);
1337 } else if (sensor.type == LTC2983_SENSOR_DIRECT_ADC) {
1338 st->sensors[chan] = ltc2983_adc_new(child, st, &sensor);
1340 dev_err(dev, "Unknown sensor type %d\n", sensor.type);
1346 dev_err(dev, "Failed to create sensor %ld",
1351 /* set generic sensor parameters */
1352 st->sensors[chan]->chan = sensor.chan;
1353 st->sensors[chan]->type = sensor.type;
1355 channel_avail_mask |= BIT(sensor.chan);
1417 * reference the sensor given the iio_chan_spec