| /linux/drivers/thermal/st/ |
| H A D | st_thermal.c | 24 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 D | scpi-hwmon.c | 57 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 D | cgbc-hwmon.c | 99 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 D | scmi_iio.c | 44 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 D | rmi_f12.c | 30 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 D | rmi_f11.c | 533 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 D | st_lsm6dsx_shub.c | 158 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 D | st_lsm6dsx_buffer.c | 106 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 D | st_lsm6dsx_core.c | 1610 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 D | base.c | 70 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 D | tsens-v0_1.c | 212 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 D | thermal_mmio.c | 26 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 D | imx_sc_thermal.c | 48 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 D | ltc2983.c | 192 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 D | ccs-quirk.h | 41 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 D | ccs-reg-access.h | 24 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 D | jr3_pci.c | 107 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 D | g84.c | 56 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 D | temp.c | 62 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 D | t613.c | 38 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 D | m5602_core.c | 116 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 D | occ.rst | 16 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 D | Kconfig | 9 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 D | sh_mobile_ceu_camera.rst | 11 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 D | Kconfig | 10 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 …]
|