| /kernel/linux/linux-5.10/drivers/thermal/st/ |
| D | st_thermal.c | 3 * ST Thermal Sensor Driver core routines 23 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument 25 struct device *dev = sensor->dev; in st_thermal_alloc_regfields() 26 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields() 27 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields() 29 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 32 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 35 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 38 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields() 39 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields() [all …]
|
| D | stm_thermal.c | 102 static int stm_enable_irq(struct stm_thermal_sensor *sensor) in stm_enable_irq() argument 106 dev_dbg(sensor->dev, "low:%d high:%d\n", sensor->low_temp_enabled, in stm_enable_irq() 107 sensor->high_temp_enabled); in stm_enable_irq() 110 value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq() 113 if (sensor->low_temp_enabled) in stm_enable_irq() 116 if (sensor->high_temp_enabled) in stm_enable_irq() 120 writel_relaxed(value, sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq() 127 struct stm_thermal_sensor *sensor = sdata; in stm_thermal_irq_handler() local 129 dev_dbg(sensor->dev, "sr:%d\n", in stm_thermal_irq_handler() 130 readl_relaxed(sensor->base + DTS_SR_OFFSET)); in stm_thermal_irq_handler() [all …]
|
| D | st_thermal_memmap.c | 3 * ST Thermal Sensor Driver for memory mapped sensors. 19 /* Power control bits for the memory mapped thermal sensor */ 25 * According to the STIH416 MPE temp sensor data sheet - 28 * sensor. regmap_update_bits() will be used to update the register. 39 struct st_thermal_sensor *sensor = sdata; in st_mmap_thermal_trip_handler() local 41 thermal_zone_device_update(sensor->thermal_dev, in st_mmap_thermal_trip_handler() 48 static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor, in st_mmap_power_ctrl() argument 54 return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val); in st_mmap_power_ctrl() 57 static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor) in st_mmap_alloc_regfields() argument 59 struct device *dev = sensor->dev; in st_mmap_alloc_regfields() [all …]
|
| /kernel/linux/linux-6.6/drivers/thermal/st/ |
| D | st_thermal.c | 3 * ST Thermal Sensor Driver core routines 23 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument 25 struct device *dev = sensor->dev; in st_thermal_alloc_regfields() 26 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields() 27 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields() 29 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 32 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 35 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields() 38 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields() 39 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields() [all …]
|
| D | stm_thermal.c | 99 static int stm_enable_irq(struct stm_thermal_sensor *sensor) in stm_enable_irq() argument 103 dev_dbg(sensor->dev, "low:%d high:%d\n", sensor->low_temp_enabled, in stm_enable_irq() 104 sensor->high_temp_enabled); in stm_enable_irq() 107 value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq() 110 if (sensor->low_temp_enabled) in stm_enable_irq() 113 if (sensor->high_temp_enabled) in stm_enable_irq() 117 writel_relaxed(value, sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq() 124 struct stm_thermal_sensor *sensor = sdata; in stm_thermal_irq_handler() local 126 dev_dbg(sensor->dev, "sr:%d\n", in stm_thermal_irq_handler() 127 readl_relaxed(sensor->base + DTS_SR_OFFSET)); in stm_thermal_irq_handler() [all …]
|
| D | st_thermal_memmap.c | 3 * ST Thermal Sensor Driver for memory mapped sensors. 19 /* Power control bits for the memory mapped thermal sensor */ 25 * According to the STIH416 MPE temp sensor data sheet - 28 * sensor. regmap_update_bits() will be used to update the register. 39 struct st_thermal_sensor *sensor = sdata; in st_mmap_thermal_trip_handler() local 41 thermal_zone_device_update(sensor->thermal_dev, in st_mmap_thermal_trip_handler() 48 static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor, in st_mmap_power_ctrl() argument 54 return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val); in st_mmap_power_ctrl() 57 static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor) in st_mmap_alloc_regfields() argument 59 struct device *dev = sensor->dev; in st_mmap_alloc_regfields() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/i2c/smiapp/ |
| D | smiapp-core.c | 12 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com> 60 static u32 smiapp_get_limit(struct smiapp_sensor *sensor, in smiapp_get_limit() argument 66 return sensor->limits[limit]; in smiapp_get_limit() 69 #define SMIA_LIM(sensor, limit) \ argument 70 smiapp_get_limit(sensor, SMIAPP_LIMIT_##limit) 72 static int smiapp_read_all_smia_limits(struct smiapp_sensor *sensor) in smiapp_read_all_smia_limits() argument 74 struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); in smiapp_read_all_smia_limits() 82 sensor, smiapp_reg_limits[i].addr, &val); in smiapp_read_all_smia_limits() 86 sensor->limits[i] = val; in smiapp_read_all_smia_limits() 93 if (SMIA_LIM(sensor, SCALER_N_MIN) == 0) in smiapp_read_all_smia_limits() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/i2c/ccs/ |
| D | ccs-core.c | 13 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com> 90 static int ccs_limit_ptr(struct ccs_sensor *sensor, unsigned int limit, in ccs_limit_ptr() argument 100 if (WARN_ON(!sensor->ccs_limits) || in ccs_limit_ptr() 105 *__ptr = sensor->ccs_limits + ccs_limit_offsets[limit].lim + offset; in ccs_limit_ptr() 110 void ccs_replace_limit(struct ccs_sensor *sensor, in ccs_replace_limit() argument 113 struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); in ccs_replace_limit() 118 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_replace_limit() 130 u32 ccs_get_limit(struct ccs_sensor *sensor, unsigned int limit, in ccs_get_limit() argument 137 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_get_limit() 156 return ccs_reg_conv(sensor, ccs_limits[limit].reg, val); in ccs_get_limit() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/i2c/ |
| D | ov2680.c | 3 * Omnivision OV2680 CMOS Image Sensor driver 7 * Based on OV5640 Sensor Driver 206 /* Sensor control register tweaks */ 273 static void ov2680_power_up(struct ov2680_dev *sensor) in ov2680_power_up() argument 275 if (!sensor->pwdn_gpio) in ov2680_power_up() 278 gpiod_set_value(sensor->pwdn_gpio, 0); in ov2680_power_up() 282 static void ov2680_power_down(struct ov2680_dev *sensor) in ov2680_power_down() argument 284 if (!sensor->pwdn_gpio) in ov2680_power_down() 287 gpiod_set_value(sensor->pwdn_gpio, 1); in ov2680_power_down() 291 static void ov2680_set_bayer_order(struct ov2680_dev *sensor, in ov2680_set_bayer_order() argument [all …]
|
| D | st-vgxy61.c | 3 * Driver for VGXY61 global shutter sensor family driver 482 static s32 get_pixel_rate(struct vgxy61_dev *sensor) in get_pixel_rate() argument 484 return div64_u64((u64)sensor->data_rate_in_mbps * sensor->nb_of_lane, in get_pixel_rate() 485 get_bpp_by_code(sensor->fmt.code)); in get_pixel_rate() 499 static unsigned int get_chunk_size(struct vgxy61_dev *sensor) in get_chunk_size() argument 501 struct i2c_adapter *adapter = sensor->i2c_client->adapter; in get_chunk_size() 512 static int vgxy61_read_multiple(struct vgxy61_dev *sensor, u32 reg, in vgxy61_read_multiple() argument 515 struct i2c_client *client = sensor->i2c_client; in vgxy61_read_multiple() 546 static inline int vgxy61_read_reg(struct vgxy61_dev *sensor, u32 reg) in vgxy61_read_reg() argument 548 return vgxy61_read_multiple(sensor, reg & VGXY61_REG_ADDR_MASK, in vgxy61_read_reg() [all …]
|
| D | imx296.c | 3 * Driver for IMX296 CMOS Image Sensor from Sony 219 static int imx296_read(struct imx296 *sensor, u32 addr) in imx296_read() argument 224 ret = regmap_raw_read(sensor->regmap, addr & IMX296_REG_ADDR_MASK, data, in imx296_read() 232 static int imx296_write(struct imx296 *sensor, u32 addr, u32 value, int *err) in imx296_write() argument 240 ret = regmap_raw_write(sensor->regmap, addr & IMX296_REG_ADDR_MASK, in imx296_write() 243 dev_err(sensor->dev, "%u-bit write to 0x%04x failed: %d\n", in imx296_write() 253 static int imx296_power_on(struct imx296 *sensor) in imx296_power_on() argument 257 ret = regulator_bulk_enable(ARRAY_SIZE(sensor->supplies), in imx296_power_on() 258 sensor->supplies); in imx296_power_on() 264 ret = gpiod_direction_output(sensor->reset, 0); in imx296_power_on() [all …]
|
| D | imx415.c | 3 * Driver for the Sony IMX415 CMOS Image Sensor. 465 static int imx415_read(struct imx415 *sensor, u32 addr) in imx415_read() argument 470 ret = regmap_raw_read(sensor->regmap, addr & IMX415_REG_ADDR_MASK, data, in imx415_read() 478 static int imx415_write(struct imx415 *sensor, u32 addr, u32 value) in imx415_write() argument 483 ret = regmap_raw_write(sensor->regmap, addr & IMX415_REG_ADDR_MASK, in imx415_write() 486 dev_err_ratelimited(sensor->dev, in imx415_write() 494 static int imx415_set_testpattern(struct imx415 *sensor, int val) in imx415_set_testpattern() argument 499 ret = imx415_write(sensor, IMX415_BLKLEVEL, 0x00); in imx415_set_testpattern() 502 ret = imx415_write(sensor, IMX415_TPG_EN_DUOUT, 0x01); in imx415_set_testpattern() 505 ret = imx415_write(sensor, IMX415_TPG_PATSEL_DUOUT, val - 1); in imx415_set_testpattern() [all …]
|
| D | s5k6a3.c | 3 * Samsung S5K6A3 image sensor driver 45 * struct s5k6a3 - fimc-is sensor data structure 47 * @subdev: the image sensor's v4l2 subdev 49 * @supplies: image sensor's voltage regulator supplies 50 * @gpio_reset: GPIO connected to the sensor's reset pin 52 * @format: media bus format at the sensor's source pad 126 struct s5k6a3 *sensor, struct v4l2_subdev_state *sd_state, in __s5k6a3_get_format() argument 130 return sd_state ? v4l2_subdev_get_try_format(&sensor->subdev, in __s5k6a3_get_format() 133 return &sensor->format; in __s5k6a3_get_format() 140 struct s5k6a3 *sensor = sd_to_s5k6a3(sd); in s5k6a3_set_fmt() local [all …]
|
| D | ar0521.c | 161 static int ar0521_code_to_bpp(struct ar0521_dev *sensor) in ar0521_code_to_bpp() argument 163 switch (sensor->fmt.code) { in ar0521_code_to_bpp() 172 static int ar0521_write_regs(struct ar0521_dev *sensor, const __be16 *data, in ar0521_write_regs() argument 175 struct i2c_client *client = sensor->i2c_client; in ar0521_write_regs() 187 v4l2_err(&sensor->sd, "%s: I2C write error\n", __func__); in ar0521_write_regs() 194 static int ar0521_write_reg(struct ar0521_dev *sensor, u16 reg, u16 val) in ar0521_write_reg() argument 198 return ar0521_write_regs(sensor, buf, 2); in ar0521_write_reg() 201 static int ar0521_set_geometry(struct ar0521_dev *sensor) in ar0521_set_geometry() argument 204 u16 x = clamp((AR0521_WIDTH_MAX - sensor->fmt.width) / 2, in ar0521_set_geometry() 206 u16 y = clamp(((AR0521_HEIGHT_MAX - sensor->fmt.height) / 2) & ~1, in ar0521_set_geometry() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/i2c/ |
| D | ov2680.c | 3 * Omnivision OV2680 CMOS Image Sensor driver 7 * Based on OV5640 Sensor Driver 180 static struct device *ov2680_to_dev(struct ov2680_dev *sensor) in ov2680_to_dev() argument 182 return &sensor->i2c_client->dev; in ov2680_to_dev() 191 static int __ov2680_write_reg(struct ov2680_dev *sensor, u16 reg, in __ov2680_write_reg() argument 194 struct i2c_client *client = sensor->i2c_client; in __ov2680_write_reg() 221 static int __ov2680_read_reg(struct ov2680_dev *sensor, u16 reg, in __ov2680_read_reg() argument 224 struct i2c_client *client = sensor->i2c_client; in __ov2680_read_reg() 263 static int ov2680_mod_reg(struct ov2680_dev *sensor, u16 reg, u8 mask, u8 val) in ov2680_mod_reg() argument 268 ret = ov2680_read_reg(sensor, reg, &readval); in ov2680_mod_reg() [all …]
|
| D | s5k6a3.c | 3 * Samsung S5K6A3 image sensor driver 45 * struct s5k6a3 - fimc-is sensor data structure 47 * @subdev: the image sensor's v4l2 subdev 49 * @supplies: image sensor's voltage regulator supplies 50 * @gpio_reset: GPIO connected to the sensor's reset pin 52 * @format: media bus format at the sensor's source pad 126 struct s5k6a3 *sensor, struct v4l2_subdev_pad_config *cfg, in __s5k6a3_get_format() argument 130 return cfg ? v4l2_subdev_get_try_format(&sensor->subdev, cfg, pad) : NULL; in __s5k6a3_get_format() 132 return &sensor->format; in __s5k6a3_get_format() 139 struct s5k6a3 *sensor = sd_to_s5k6a3(sd); in s5k6a3_set_fmt() local [all …]
|
| D | mt9m032.c | 3 * Driver for MT9M032 CMOS Image Sensor from Micron 125 * for this sensor. 155 #define to_dev(sensor) \ argument 156 (&((struct i2c_client *)v4l2_get_subdevdata(&(sensor)->subdev))->dev) 168 static u32 mt9m032_row_time(struct mt9m032 *sensor, unsigned int width) in mt9m032_row_time() argument 174 ns = div_u64(1000000000ULL * effective_width, sensor->pix_clock); in mt9m032_row_time() 175 dev_dbg(to_dev(sensor), "MT9M032 line time: %u ns\n", ns); in mt9m032_row_time() 179 static int mt9m032_update_timing(struct mt9m032 *sensor, in mt9m032_update_timing() argument 182 struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); in mt9m032_update_timing() 183 struct v4l2_rect *crop = &sensor->crop; in mt9m032_update_timing() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/pci/intel/ |
| D | ipu-bridge.c | 44 * Do not add an entry for a sensor that is not actually supported. 111 /* camera sensor depends on IVSC in DSDT if exist */ in ipu_bridge_get_ivsc_acpi_dev() 161 static int ipu_bridge_check_ivsc_dev(struct ipu_sensor *sensor, in ipu_bridge_check_ivsc_dev() argument 176 sensor->csi_dev = csi_dev; in ipu_bridge_check_ivsc_dev() 177 sensor->ivsc_adev = adev; in ipu_bridge_check_ivsc_dev() 275 int ipu_bridge_parse_ssdb(struct acpi_device *adev, struct ipu_sensor *sensor) in ipu_bridge_parse_ssdb() argument 294 sensor->link = ssdb.link; in ipu_bridge_parse_ssdb() 295 sensor->lanes = ssdb.lanes; in ipu_bridge_parse_ssdb() 296 sensor->mclkspeed = ssdb.mclkspeed; in ipu_bridge_parse_ssdb() 297 sensor->rotation = ipu_bridge_parse_rotation(adev, &ssdb); in ipu_bridge_parse_ssdb() [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/light/ |
| D | Kconfig | 11 tristate "ACPI Ambient Light Sensor" 18 Ambient Light Sensor. 24 tristate "ADJD-S311-CR999 digital color sensor" 30 digital color light sensor. 36 tristate "ADUX1020 photometric sensor" 41 ADUX1020 photometric sensor. 47 tristate "AL3010 ambient light sensor" 51 ambient light sensor. 57 tristate "AL3320A ambient light sensor" 61 ambient light sensor. [all …]
|
| /kernel/linux/linux-6.6/drivers/iio/common/scmi_sensors/ |
| D | scmi_iio.c | 4 * System Control and Management Interface(SCMI) based IIO sensor driver 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 + in scmi_iio_sensor_update_cb() 81 scmi_iio_dev = sensor->indio_dev; in scmi_iio_sensor_update_cb() 82 iio_push_to_buffers_with_timestamp(scmi_iio_dev, sensor->iio_buf, in scmi_iio_sensor_update_cb() 89 struct scmi_iio_priv *sensor = iio_priv(iio_dev); in scmi_iio_buffer_preenable() local 93 if (sensor->sensor_info->timestamped) in scmi_iio_buffer_preenable() [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/light/ |
| D | Kconfig | 11 tristate "ACPI Ambient Light Sensor" 18 Ambient Light Sensor. 24 tristate "ADJD-S311-CR999 digital color sensor" 30 digital color light sensor. 36 tristate "ADUX1020 photometric sensor" 41 ADUX1020 photometric sensor. 47 tristate "AL3010 ambient light sensor" 51 ambient light sensor. 57 tristate "AL3320A ambient light sensor" 61 ambient light sensor. [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/ |
| D | hisi_thermal.c | 2 * Hisilicon thermal sensor driver 77 int (*get_temp)(struct hisi_thermal_sensor *sensor); 78 int (*enable_sensor)(struct hisi_thermal_sensor *sensor); 79 int (*disable_sensor)(struct hisi_thermal_sensor *sensor); 80 int (*irq_handler)(struct hisi_thermal_sensor *sensor); 86 struct hisi_thermal_sensor *sensor; member 252 * Temperature configuration register - Sensor selection 256 * 0x0: local sensor (default) 257 * 0x1: remote sensor 1 (ACPU cluster 1) 258 * 0x2: remote sensor 2 (ACPU cluster 0) [all …]
|
| /kernel/linux/linux-6.6/drivers/thermal/ |
| D | hisi_thermal.c | 3 * HiSilicon thermal sensor driver 68 int (*get_temp)(struct hisi_thermal_sensor *sensor); 69 int (*enable_sensor)(struct hisi_thermal_sensor *sensor); 70 int (*disable_sensor)(struct hisi_thermal_sensor *sensor); 71 int (*irq_handler)(struct hisi_thermal_sensor *sensor); 77 struct hisi_thermal_sensor *sensor; member 243 * Temperature configuration register - Sensor selection 247 * 0x0: local sensor (default) 248 * 0x1: remote sensor 1 (ACPU cluster 1) 249 * 0x2: remote sensor 2 (ACPU cluster 0) [all …]
|
| /kernel/linux/linux-6.6/drivers/input/rmi4/ |
| D | rmi_2d_sensor.c | 22 void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_process() argument 26 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_process() 33 obj->x = sensor->max_x - obj->x; in rmi_2d_sensor_abs_process() 36 obj->y = sensor->max_y - obj->y; in rmi_2d_sensor_abs_process() 56 obj->x = min(sensor->max_x, obj->x); in rmi_2d_sensor_abs_process() 59 obj->y = min(sensor->max_y, obj->y); in rmi_2d_sensor_abs_process() 61 sensor->tracking_pos[slot].x = obj->x; in rmi_2d_sensor_abs_process() 62 sensor->tracking_pos[slot].y = obj->y; in rmi_2d_sensor_abs_process() 66 void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_report() argument 70 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_report() [all …]
|
| /kernel/linux/linux-5.10/drivers/input/rmi4/ |
| D | rmi_2d_sensor.c | 22 void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_process() argument 26 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_process() 33 obj->x = sensor->max_x - obj->x; in rmi_2d_sensor_abs_process() 36 obj->y = sensor->max_y - obj->y; in rmi_2d_sensor_abs_process() 56 obj->x = min(sensor->max_x, obj->x); in rmi_2d_sensor_abs_process() 59 obj->y = min(sensor->max_y, obj->y); in rmi_2d_sensor_abs_process() 61 sensor->tracking_pos[slot].x = obj->x; in rmi_2d_sensor_abs_process() 62 sensor->tracking_pos[slot].y = obj->y; in rmi_2d_sensor_abs_process() 66 void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_report() argument 70 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_report() [all …]
|