Home
last modified time | relevance | path

Searched refs:sensor (Results 1 – 25 of 914) sorted by relevance

12345678910>>...37

/linux/drivers/thermal/st/
H A Dst_thermal.c24 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument
26 struct device *dev = sensor->dev; in st_thermal_alloc_regfields()
27 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields()
28 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields()
30 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
33 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
36 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
39 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields()
40 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields()
41 IS_ERR(sensor->temp_data)) { in st_thermal_alloc_regfields()
[all …]
/linux/drivers/hwmon/
H A Dscpi-hwmon.c57 static void scpi_scale_reading(u64 *value, struct sensor_data *sensor) in scpi_scale_reading() argument
59 if (scpi_scale[sensor->info.class] != sensor->scale) { in scpi_scale_reading()
60 *value *= scpi_scale[sensor->info.class]; in scpi_scale_reading()
61 do_div(*value, sensor->scale); in scpi_scale_reading()
70 struct sensor_data *sensor = &scpi_sensors->data[zone->sensor_id]; in scpi_read_temp() local
74 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); in scpi_read_temp()
78 scpi_scale_reading(&value, sensor); in scpi_read_temp()
90 struct sensor_data *sensor; in scpi_show_sensor() local
94 sensor = container_of(attr, struct sensor_data, dev_attr_input); in scpi_show_sensor()
96 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); in scpi_show_sensor()
[all …]
H A Dcgbc-hwmon.c99 struct cgbc_hwmon_sensor *sensor = hwmon->sensors; in cgbc_hwmon_probe_sensors() local
113 sensor = hwmon->sensors; in cgbc_hwmon_probe_sensors()
134 sensor->type = hwmon_temp; in cgbc_hwmon_probe_sensors()
135 sensor->label = cgbc_hwmon_labels_temp[channel]; in cgbc_hwmon_probe_sensors()
142 sensor->type = cgbc_hwmon_labels_in[channel].type; in cgbc_hwmon_probe_sensors()
143 sensor->label = cgbc_hwmon_labels_in[channel].label; in cgbc_hwmon_probe_sensors()
146 sensor->type = hwmon_fan; in cgbc_hwmon_probe_sensors()
147 sensor->label = cgbc_hwmon_labels_fan[channel]; in cgbc_hwmon_probe_sensors()
154 sensor->active = FIELD_GET(CGBC_HWMON_ACTIVE_BIT, data[1]); in cgbc_hwmon_probe_sensors()
155 sensor->channel = channel; in cgbc_hwmon_probe_sensors()
[all …]
/linux/drivers/iio/common/scmi_sensors/
H A Dscmi_iio.c44 struct scmi_iio_priv *sensor; in scmi_iio_sensor_update_cb() local
52 sensor = container_of(nb, struct scmi_iio_priv, sensor_update_nb); in scmi_iio_sensor_update_cb()
55 sensor->iio_buf[i] = sensor_update->readings[i].value; in scmi_iio_sensor_update_cb()
57 if (!sensor->sensor_info->timestamped) { in scmi_iio_sensor_update_cb()
71 tstamp_scale = sensor->sensor_info->tstamp_scale + 9; in scmi_iio_sensor_update_cb()
80 scmi_iio_dev = sensor->indio_dev; in scmi_iio_sensor_update_cb()
81 iio_push_to_buffers_with_timestamp(scmi_iio_dev, sensor->iio_buf, in scmi_iio_sensor_update_cb()
88 struct scmi_iio_priv *sensor = iio_priv(iio_dev); in scmi_iio_buffer_preenable() local
92 if (sensor->sensor_info->timestamped) in scmi_iio_buffer_preenable()
98 err = sensor->sensor_ops->config_set(sensor->ph, in scmi_iio_buffer_preenable()
[all …]
/linux/drivers/input/rmi4/
H A Drmi_f12.c30 struct rmi_2d_sensor sensor; member
67 struct rmi_2d_sensor *sensor = &f12->sensor; in rmi_f12_read_sensor_tuning() local
68 struct rmi_function *fn = sensor->fn; in rmi_f12_read_sensor_tuning()
103 sensor->max_x = (buf[offset + 1] << 8) | buf[offset]; in rmi_f12_read_sensor_tuning()
104 sensor->max_y = (buf[offset + 3] << 8) | buf[offset + 2]; in rmi_f12_read_sensor_tuning()
109 sensor->max_x, sensor->max_y); in rmi_f12_read_sensor_tuning()
144 sensor->x_mm = sensor->max_x / dpm_resolution; in rmi_f12_read_sensor_tuning()
145 sensor->y_mm = sensor->max_y / dpm_resolution; in rmi_f12_read_sensor_tuning()
157 sensor->x_mm = (pitch_x * rx_receivers) >> 12; in rmi_f12_read_sensor_tuning()
158 sensor->y_mm = (pitch_y * tx_receivers) >> 12; in rmi_f12_read_sensor_tuning()
[all …]
H A Drmi_f11.c533 struct rmi_2d_sensor sensor; member
550 struct rmi_2d_sensor *sensor = &f11->sensor; in rmi_f11_rel_pos_report() local
557 rmi_2d_sensor_rel_report(sensor, x, y); in rmi_f11_rel_pos_report()
561 struct rmi_2d_sensor *sensor, in rmi_f11_abs_pos_process() argument
585 rmi_2d_sensor_abs_process(sensor, obj, n_finger); in rmi_f11_abs_pos_process()
595 struct rmi_2d_sensor *sensor, int size) in rmi_f11_finger_handler() argument
602 int abs_size = sensor->nbr_fingers * RMI_F11_ABS_BYTES; in rmi_f11_finger_handler()
604 if (sensor->report_abs) { in rmi_f11_finger_handler()
608 abs_fingers = sensor->nbr_fingers; in rmi_f11_finger_handler()
619 rmi_f11_abs_pos_process(f11, sensor, &sensor->objs[i], in rmi_f11_finger_handler()
[all …]
/linux/drivers/iio/imu/st_lsm6dsx/
H A Dst_lsm6dsx_shub.c158 struct st_lsm6dsx_sensor *sensor; in st_lsm6dsx_shub_wait_complete() local
161 sensor = iio_priv(hw->iio_devs[ST_LSM6DSX_ID_ACC]); in st_lsm6dsx_shub_wait_complete()
162 odr = (hw->enable_mask & BIT(ST_LSM6DSX_ID_ACC)) ? sensor->odr : 12500; in st_lsm6dsx_shub_wait_complete()
242 static int st_lsm6dsx_shub_master_enable(struct st_lsm6dsx_sensor *sensor, in st_lsm6dsx_shub_master_enable() argument
246 struct st_lsm6dsx_hw *hw = sensor->hw; in st_lsm6dsx_shub_master_enable()
251 err = st_lsm6dsx_sensor_set_enable(sensor, enable); in st_lsm6dsx_shub_master_enable()
283 st_lsm6dsx_shub_read(struct st_lsm6dsx_sensor *sensor, u8 addr, in st_lsm6dsx_shub_read() argument
288 struct st_lsm6dsx_hw *hw = sensor->hw; in st_lsm6dsx_shub_read()
299 config[0] = (sensor->ext_info.addr << 1) | 1; in st_lsm6dsx_shub_read()
308 err = st_lsm6dsx_shub_master_enable(sensor, true); in st_lsm6dsx_shub_read()
[all …]
H A Dst_lsm6dsx_buffer.c106 st_lsm6dsx_get_decimator_val(struct st_lsm6dsx_sensor *sensor, u32 max_odr) in st_lsm6dsx_get_decimator_val() argument
109 u32 decimator = max_odr / sensor->hwfifo_odr_mHz; in st_lsm6dsx_get_decimator_val()
120 sensor->decimator = decimator; in st_lsm6dsx_get_decimator_val()
127 struct st_lsm6dsx_sensor *sensor; in st_lsm6dsx_get_max_min_odr() local
135 sensor = iio_priv(hw->iio_devs[i]); in st_lsm6dsx_get_max_min_odr()
137 if (!(hw->enable_mask & BIT(sensor->id))) in st_lsm6dsx_get_max_min_odr()
140 *max_odr = max(*max_odr, sensor->hwfifo_odr_mHz); in st_lsm6dsx_get_max_min_odr()
141 *min_odr = min(*min_odr, sensor->hwfifo_odr_mHz); in st_lsm6dsx_get_max_min_odr()
145 static u8 st_lsm6dsx_get_sip(struct st_lsm6dsx_sensor *sensor, u32 min_odr) in st_lsm6dsx_get_sip() argument
147 u8 sip = sensor->hwfifo_odr_mHz / min_odr; in st_lsm6dsx_get_sip()
[all …]
H A Dst_lsm6dsx_core.c1610 static int st_lsm6dsx_set_full_scale(struct st_lsm6dsx_sensor *sensor, in st_lsm6dsx_set_full_scale() argument
1617 fs_table = &sensor->hw->settings->fs_table[sensor->id]; in st_lsm6dsx_set_full_scale()
1628 err = st_lsm6dsx_update_bits_locked(sensor->hw, fs_table->reg.addr, in st_lsm6dsx_set_full_scale()
1633 sensor->gain = gain; in st_lsm6dsx_set_full_scale()
1638 int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u32 odr, u8 *val) in st_lsm6dsx_check_odr() argument
1643 odr_table = &sensor->hw->settings->odr_table[sensor->id]; in st_lsm6dsx_check_odr()
1677 st_lsm6dsx_set_odr(struct st_lsm6dsx_sensor *sensor, u32 req_odr) in st_lsm6dsx_set_odr() argument
1679 struct st_lsm6dsx_sensor *ref_sensor = sensor; in st_lsm6dsx_set_odr()
1680 struct st_lsm6dsx_hw *hw = sensor->hw; in st_lsm6dsx_set_odr()
1686 switch (sensor->id) { in st_lsm6dsx_set_odr()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/
H A Dbase.c70 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina2x9_read()
93 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina3221_read()
101 struct nvkm_iccsense_sensor *sensor) in nvkm_iccsense_sensor_config() argument
104 nvkm_trace(subdev, "write config of extdev %i: 0x%04x\n", sensor->id, sensor->config); in nvkm_iccsense_sensor_config()
105 nv_wr16i2cr(sensor->i2c, sensor->addr, 0x00, sensor->config); in nvkm_iccsense_sensor_config()
134 struct nvkm_iccsense_sensor *sensor, *tmps; in nvkm_iccsense_dtor() local
137 list_for_each_entry_safe(sensor, tmps, &iccsense->sensors, head) { in nvkm_iccsense_dtor()
138 list_del(&sensor->head); in nvkm_iccsense_dtor()
139 kfree(sensor); in nvkm_iccsense_dtor()
157 struct nvkm_iccsense_sensor *sensor; in nvkm_iccsense_create_sensor() local
[all …]
/linux/drivers/thermal/qcom/
H A Dtsens-v0_1.c212 priv->sensor[0].slope = 2901; in init_8226()
213 priv->sensor[1].slope = 2846; in init_8226()
214 priv->sensor[2].slope = 3038; in init_8226()
215 priv->sensor[3].slope = 2955; in init_8226()
216 priv->sensor[4].slope = 2901; in init_8226()
217 priv->sensor[5].slope = 2846; in init_8226()
227 priv->sensor[i].slope = 3000; in init_8909()
229 priv->sensor[0].p1_calib_offset = 0; in init_8909()
230 priv->sensor[0].p2_calib_offset = 0; in init_8909()
231 priv->sensor[1].p1_calib_offset = -10; in init_8909()
[all …]
/linux/drivers/thermal/
H A Dthermal_mmio.c26 struct thermal_mmio *sensor = thermal_zone_device_priv(tz); in thermal_mmio_get_temperature() local
28 t = sensor->read_mmio(sensor->mmio_base) & sensor->mask; in thermal_mmio_get_temperature()
29 t *= sensor->factor; in thermal_mmio_get_temperature()
42 struct thermal_mmio *sensor; in thermal_mmio_probe() local
44 struct thermal_mmio *sensor); in thermal_mmio_probe()
49 sensor = devm_kzalloc(&pdev->dev, sizeof(*sensor), GFP_KERNEL); in thermal_mmio_probe()
50 if (!sensor) in thermal_mmio_probe()
53 sensor->mmio_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); in thermal_mmio_probe()
54 if (IS_ERR(sensor->mmio_base)) in thermal_mmio_probe()
55 return PTR_ERR(sensor->mmio_base); in thermal_mmio_probe()
[all …]
H A Dimx_sc_thermal.c48 struct imx_sc_sensor *sensor = thermal_zone_device_priv(tz); in imx_sc_thermal_get_temp() local
51 msg.data.req.resource_id = sensor->resource_id; in imx_sc_thermal_get_temp()
74 struct imx_sc_sensor *sensor; in imx_sc_thermal_probe() local
88 sensor = devm_kzalloc(&pdev->dev, sizeof(*sensor), GFP_KERNEL); in imx_sc_thermal_probe()
89 if (!sensor) in imx_sc_thermal_probe()
92 sensor->resource_id = resource_id[i]; in imx_sc_thermal_probe()
94 sensor->tzd = devm_thermal_of_zone_register(&pdev->dev, sensor->resource_id, in imx_sc_thermal_probe()
95 sensor, &imx_sc_thermal_ops); in imx_sc_thermal_probe()
96 if (IS_ERR(sensor->tzd)) { in imx_sc_thermal_probe()
102 ret = PTR_ERR(sensor->tzd); in imx_sc_thermal_probe()
[all …]
/linux/drivers/iio/temperature/
H A Dltc2983.c192 container_of(_sensor, struct ltc2983_thermocouple, sensor)
195 container_of(_sensor, struct ltc2983_rtd, sensor)
198 container_of(_sensor, struct ltc2983_thermistor, sensor)
201 container_of(_sensor, struct ltc2983_diode, sensor)
204 container_of(_sensor, struct ltc2983_rsense, sensor)
207 container_of(_sensor, struct ltc2983_adc, sensor)
210 container_of(_sensor, struct ltc2983_temp, sensor)
245 const struct ltc2983_sensor *sensor);
262 struct ltc2983_sensor sensor; member
269 struct ltc2983_sensor sensor; member
[all …]
/linux/drivers/media/i2c/ccs/
H A Dccs-quirk.h41 int (*limits)(struct ccs_sensor *sensor);
42 int (*post_poweron)(struct ccs_sensor *sensor);
43 int (*pre_streamon)(struct ccs_sensor *sensor);
44 int (*post_streamoff)(struct ccs_sensor *sensor);
45 unsigned long (*pll_flags)(struct ccs_sensor *sensor);
46 int (*init)(struct ccs_sensor *sensor);
47 int (*reg_access)(struct ccs_sensor *sensor, bool write, u32 *reg,
65 #define ccs_call_quirk(sensor, _quirk, ...) \ argument
66 ((sensor)->minfo.quirk && \
67 (sensor)->minfo.quirk->_quirk ? \
[all …]
H A Dccs-reg-access.h24 int ccs_read_addr(struct ccs_sensor *sensor, u32 reg, u32 *val);
25 int ccs_read_addr_8only(struct ccs_sensor *sensor, u32 reg, u32 *val);
26 int ccs_read_addr_noconv(struct ccs_sensor *sensor, u32 reg, u32 *val);
27 int ccs_write_addr(struct ccs_sensor *sensor, u32 reg, u32 val);
28 int ccs_write_data_regs(struct ccs_sensor *sensor, struct ccs_reg *regs,
31 u32 ccs_reg_conv(struct ccs_sensor *sensor, u32 reg, u32 val);
33 #define ccs_read(sensor, reg_name, val) \ argument
34 ccs_read_addr(sensor, CCS_R_##reg_name, val)
36 #define ccs_write(sensor, reg_name, val) \ argument
37 ccs_write_addr(sensor, CCS_R_##reg_name, val)
/linux/drivers/comedi/drivers/
H A Djr3_pci.c107 struct jr3_sensor __iomem *sensor; member
128 static int is_complete(struct jr3_sensor __iomem *sensor) in is_complete() argument
130 return get_s16(&sensor->command_word0) == 0; in is_complete()
133 static void set_transforms(struct jr3_sensor __iomem *sensor, in set_transforms() argument
140 set_u16(&sensor->transforms[num].link[i].link_type, in set_transforms()
143 set_s16(&sensor->transforms[num].link[i].link_amount, in set_transforms()
151 static void use_transform(struct jr3_sensor __iomem *sensor, in use_transform() argument
154 set_s16(&sensor->command_word0, 0x0500 + (transf_num & 0x000f)); in use_transform()
157 static void use_offset(struct jr3_sensor __iomem *sensor, short offset_num) in use_offset() argument
159 set_s16(&sensor->command_word0, 0x0600 + (offset_num & 0x000f)); in use_offset()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/
H A Dg84.c56 struct nvbios_therm_sensor *sensor = &therm->bios_sensor; in g84_therm_program_alarms() local
61 spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags); in g84_therm_program_alarms()
67 nvkm_wr32(device, 0x20484, sensor->thrs_shutdown.hysteresis); in g84_therm_program_alarms()
68 nvkm_wr32(device, 0x20480, sensor->thrs_shutdown.temp); in g84_therm_program_alarms()
71 nvkm_wr32(device, 0x204c4, sensor->thrs_fan_boost.temp); in g84_therm_program_alarms()
74 nvkm_wr32(device, 0x204c0, sensor->thrs_critical.temp); in g84_therm_program_alarms()
77 nvkm_wr32(device, 0x20414, sensor->thrs_down_clock.temp); in g84_therm_program_alarms()
78 spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags); in g84_therm_program_alarms()
82 sensor->thrs_fan_boost.temp, in g84_therm_program_alarms()
83 sensor->thrs_fan_boost.hysteresis, in g84_therm_program_alarms()
[all …]
H A Dtemp.c62 therm->sensor.alarm_state[thrs] = st; in nvkm_therm_sensor_set_threshold_state()
70 return therm->sensor.alarm_state[thrs]; in nvkm_therm_sensor_get_threshold_state()
165 container_of(alarm, struct nvkm_therm, sensor.therm_poll_alarm); in alarm_timer_callback()
166 struct nvbios_therm_sensor *sensor = &therm->bios_sensor; in alarm_timer_callback() local
170 spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags); in alarm_timer_callback()
172 nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_fan_boost, in alarm_timer_callback()
176 &sensor->thrs_down_clock, in alarm_timer_callback()
179 nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_critical, in alarm_timer_callback()
182 nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_shutdown, in alarm_timer_callback()
185 spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags); in alarm_timer_callback()
[all …]
/linux/drivers/media/usb/gspca/
H A Dt613.c38 u8 sensor; member
513 all_gain_reg[7] = sensor_data[sd->sensor].reg80; in setawb_n_RGB()
535 switch (sd->sensor) { in setfreq()
569 const struct additional_sensor_data *sensor; in sd_init() local
587 sd->sensor = SENSOR_TAS5130A; in sd_init()
591 sd->sensor = SENSOR_LT168G; in sd_init()
595 sd->sensor = SENSOR_OTHER; in sd_init()
599 sd->sensor = SENSOR_OM6802; in sd_init()
606 if (sd->sensor == SENSOR_OM6802) { in sd_init()
631 sensor = &sensor_data[sd->sensor]; in sd_init()
[all …]
/linux/drivers/media/usb/gspca/m5602/
H A Dm5602_core.c116 if (!len || len > sd->sensor->i2c_regW) in m5602_read_sensor()
124 sd->sensor->i2c_slave_id); in m5602_read_sensor()
136 if (sd->sensor->i2c_regW == 1) { in m5602_read_sensor()
169 if (len > sd->sensor->i2c_regW || !len) in m5602_write_sensor()
175 buf[11] = sd->sensor->i2c_slave_id; in m5602_write_sensor()
220 sd->sensor = &po1030; in m5602_probe_sensor()
221 if (!sd->sensor->probe(sd)) in m5602_probe_sensor()
225 sd->sensor = &mt9m111; in m5602_probe_sensor()
226 if (!sd->sensor->probe(sd)) in m5602_probe_sensor()
230 sd->sensor = &s5k4aa; in m5602_probe_sensor()
[all …]
/linux/Documentation/hwmon/
H A Docc.rst16 sensor data from the processor and the system. The OCC can provide the raw
17 sensor data as well as perform thermal and power management on the system.
32 The OCC sensor ID is an integer that represents the unique identifier of the
33 sensor with respect to the OCC. For example, a temperature sensor for the third
34 DIMM slot in the system may have a sensor ID of 7. This mapping is unavailable
35 to the device driver, which must therefore export the sensor ID as-is.
37 Some entries are only present with certain OCC sensor versions or only on
42 OCC sensor ID.
44 [with temperature sensor version 1]
50 [with temperature sensor version >= 2]
[all …]
/linux/drivers/iio/chemical/
H A DKconfig9 tristate "Aosong AGS02MA TVOC sensor driver"
14 Organic Compounds) sensor.
29 * pH SM sensor
30 * EC SM sensor
31 * ORP SM sensor
34 module will be called atlas-ph-sensor.
45 module will be called atlas-ezo-sensor.
48 tristate "Bosch Sensortec BME680 sensor driver"
56 Say yes here to build support for Bosch Sensortec BME680 sensor with
73 tristate "AMS CCS811 VOC sensor"
[all …]
/linux/Documentation/driver-api/media/drivers/
H A Dsh_mobile_ceu_camera.rst11 sensor scales: horizontal and vertical scales, configured by the sensor driver
57 (1) to (2) - sensor cropped left or top
58 (2) to (2') - sensor cropped width or height
59 (3) to (3') - sensor scale
62 (5) to (5') - reverse sensor scale applied to CEU cropped width or height
63 (2) to (5) - reverse sensor scale applied to CEU cropped left or top
72 1. Calculate current sensor scales:
76 2. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at
77 current sensor scales onto input window - this is user S_CROP:
86 4. Calculate sensor output window by applying combined scales to real input
[all …]
/linux/drivers/iio/pressure/
H A DKconfig10 tristate "Honeywell ABP pressure sensor driver"
20 tristate "ROHM BM1390GLV-Z pressure sensor driver"
26 Support for the ROHM BM1390 pressure sensor. The BM1390GLV-Z
29 sensor does also provide temperature measurements.
32 tristate "Bosch Sensortec BMP180/BMP280/BMP380/BMP580 pressure sensor driver"
42 an additional humidity sensor channel.
64 Say yes here to build support for the Barometer sensor when
83 tristate "Infineon DPS310 pressure and temperature sensor"
87 Support for the Infineon DPS310 digital barometric pressure sensor.
104 will be called hid-sensor-press.
[all …]

12345678910>>...37