sensor 361 arch/powerpc/include/asm/rtas.h extern int rtas_get_sensor(int sensor, int index, int *state); sensor 362 arch/powerpc/include/asm/rtas.h extern int rtas_get_sensor_fast(int sensor, int index, int *state); sensor 123 arch/powerpc/kernel/rtas-proc.c struct individual_sensor sensor[MAX_SENSORS]; sensor 405 arch/powerpc/kernel/rtas-proc.c struct individual_sensor *p = &sensors.sensor[i]; sensor 447 arch/powerpc/kernel/rtas-proc.c sensors.sensor[i].token = *utmp++; sensor 448 arch/powerpc/kernel/rtas-proc.c sensors.sensor[i].quant = *utmp++; sensor 585 arch/powerpc/kernel/rtas.c int rtas_get_sensor(int sensor, int index, int *state) sensor 594 arch/powerpc/kernel/rtas.c rc = rtas_call(token, 2, 2, state, sensor, index); sensor 603 arch/powerpc/kernel/rtas.c int rtas_get_sensor_fast(int sensor, int index, int *state) sensor 611 arch/powerpc/kernel/rtas.c rc = rtas_call(token, 2, 2, state, sensor, index); sensor 118 arch/powerpc/platforms/powernv/opal-sensor.c struct device_node *sensor; sensor 120 arch/powerpc/platforms/powernv/opal-sensor.c sensor = of_find_node_by_path("/ibm,opal/sensors"); sensor 121 arch/powerpc/platforms/powernv/opal-sensor.c if (!sensor) { sensor 126 arch/powerpc/platforms/powernv/opal-sensor.c pdev = of_platform_device_create(sensor, "opal-sensor", NULL); sensor 127 arch/powerpc/platforms/powernv/opal-sensor.c of_node_put(sensor); sensor 221 drivers/firmware/arm_scmi/sensors.c struct scmi_msg_sensor_reading_get *sensor; sensor 226 drivers/firmware/arm_scmi/sensors.c SCMI_PROTOCOL_SENSOR, sizeof(*sensor), sensor 231 drivers/firmware/arm_scmi/sensors.c sensor = t->tx.buf; sensor 232 drivers/firmware/arm_scmi/sensors.c sensor->id = cpu_to_le32(sensor_id); sensor 235 drivers/firmware/arm_scmi/sensors.c sensor->flags = cpu_to_le32(SENSOR_READ_ASYNC); sensor 241 drivers/firmware/arm_scmi/sensors.c sensor->flags = cpu_to_le32(0); sensor 737 drivers/firmware/arm_scpi.c static int scpi_sensor_get_value(u16 sensor, u64 *val) sensor 739 drivers/firmware/arm_scpi.c __le16 id = cpu_to_le16(sensor); sensor 186 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c bool amdgpu_is_internal_thermal_sensor(enum amdgpu_int_thermal_type sensor) sensor 188 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c switch (sensor) { sensor 499 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h int amdgpu_dpm_read_sensor(struct amdgpu_device *adev, enum amd_pp_sensors sensor, sensor 502 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h bool amdgpu_is_internal_thermal_sensor(enum amdgpu_int_thermal_type sensor); sensor 100 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c int amdgpu_dpm_read_sensor(struct amdgpu_device *adev, enum amd_pp_sensors sensor, sensor 109 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c ret = smu_read_sensor(&adev->smu, sensor, data, size); sensor 113 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c sensor, data, size); sensor 387 drivers/gpu/drm/amd/powerplay/amdgpu_smu.c int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor, sensor 397 drivers/gpu/drm/amd/powerplay/amdgpu_smu.c switch (sensor) { sensor 933 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c enum amd_pp_sensors sensor, sensor 946 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c switch (sensor) { sensor 979 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c enum amd_pp_sensors sensor, sensor 992 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c switch (sensor) { sensor 1014 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c enum amd_pp_sensors sensor, sensor 1025 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c switch (sensor) { sensor 1033 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c sensor, sensor 1044 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c ret = arcturus_thermal_get_temperature(smu, sensor, sensor 1049 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c ret = smu_smc_read_sensor(smu, sensor, data, size); sensor 432 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h int (*read_sensor)(struct smu_context *smu, enum amd_pp_sensors sensor, sensor 503 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h int (*read_sensor)(struct smu_context *smu, enum amd_pp_sensors sensor, sensor 654 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h #define smu_read_sensor(smu, sensor, data, size) \ sensor 655 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h ((smu)->ppt_funcs->read_sensor? (smu)->ppt_funcs->read_sensor((smu), (sensor), (data), (size)) : 0) sensor 656 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h #define smu_smc_read_sensor(smu, sensor, data, size) \ sensor 657 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h ((smu)->funcs->read_sensor? (smu)->funcs->read_sensor((smu), (sensor), (data), (size)) : -EINVAL) sensor 797 drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor, sensor 961 drivers/gpu/drm/amd/powerplay/navi10_ppt.c enum amd_pp_sensors sensor, sensor 974 drivers/gpu/drm/amd/powerplay/navi10_ppt.c switch (sensor) { sensor 1353 drivers/gpu/drm/amd/powerplay/navi10_ppt.c enum amd_pp_sensors sensor, sensor 1366 drivers/gpu/drm/amd/powerplay/navi10_ppt.c switch (sensor) { sensor 1388 drivers/gpu/drm/amd/powerplay/navi10_ppt.c enum amd_pp_sensors sensor, sensor 1399 drivers/gpu/drm/amd/powerplay/navi10_ppt.c switch (sensor) { sensor 1406 drivers/gpu/drm/amd/powerplay/navi10_ppt.c ret = navi10_get_current_activity_percent(smu, sensor, (uint32_t *)data); sensor 1416 drivers/gpu/drm/amd/powerplay/navi10_ppt.c ret = navi10_thermal_get_temperature(smu, sensor, (uint32_t *)data); sensor 1420 drivers/gpu/drm/amd/powerplay/navi10_ppt.c ret = smu_smc_read_sensor(smu, sensor, data, size); sensor 1244 drivers/gpu/drm/amd/powerplay/smu_v11_0.c enum amd_pp_sensors sensor, sensor 1252 drivers/gpu/drm/amd/powerplay/smu_v11_0.c switch (sensor) { sensor 1270 drivers/gpu/drm/amd/powerplay/smu_v11_0.c ret = smu_common_read_sensor(smu, sensor, data, size); sensor 2948 drivers/gpu/drm/amd/powerplay/vega20_ppt.c enum amd_pp_sensors sensor, sensor 2961 drivers/gpu/drm/amd/powerplay/vega20_ppt.c switch (sensor) { sensor 2977 drivers/gpu/drm/amd/powerplay/vega20_ppt.c enum amd_pp_sensors sensor, sensor 2992 drivers/gpu/drm/amd/powerplay/vega20_ppt.c switch (sensor) { sensor 3019 drivers/gpu/drm/amd/powerplay/vega20_ppt.c enum amd_pp_sensors sensor, sensor 3030 drivers/gpu/drm/amd/powerplay/vega20_ppt.c switch (sensor) { sensor 3038 drivers/gpu/drm/amd/powerplay/vega20_ppt.c sensor, sensor 3049 drivers/gpu/drm/amd/powerplay/vega20_ppt.c ret = vega20_thermal_get_temperature(smu, sensor, (uint32_t *)data); sensor 3053 drivers/gpu/drm/amd/powerplay/vega20_ppt.c ret = smu_smc_read_sensor(smu, sensor, data, size); sensor 82 drivers/gpu/drm/nouveau/include/nvkm/subdev/therm.h } sensor; sensor 69 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c struct nvbios_therm_sensor *sensor) sensor 96 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->offset_constant = offset; sensor 102 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_critical.temp = (value & 0xff0) >> 4; sensor 103 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_critical.hysteresis = value & 0xf; sensor 109 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_down_clock.temp = (value & 0xff0) >> 4; sensor 110 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_down_clock.hysteresis = value & 0xf; sensor 116 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_fan_boost.temp = (value & 0xff0) >> 4; sensor 117 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_fan_boost.hysteresis = value & 0xf; sensor 123 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->offset_num = value; sensor 128 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->offset_den = value; sensor 133 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->slope_mult = value; sensor 138 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->slope_div = value; sensor 142 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_shutdown.temp = (value & 0xff0) >> 4; sensor 143 drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c sensor->thrs_shutdown.hysteresis = value & 0xf; sensor 70 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, sensor 93 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, sensor 101 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor) sensor 104 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c nvkm_trace(subdev, "write config of extdev %i: 0x%04x\n", sensor->id, sensor->config); sensor 105 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c nv_wr16i2cr(sensor->i2c, sensor->addr, 0x00, sensor->config); sensor 134 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor, *tmps; sensor 137 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c list_for_each_entry_safe(sensor, tmps, &iccsense->sensors, head) { sensor 138 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c list_del(&sensor->head); sensor 139 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c kfree(sensor); sensor 157 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor; sensor 191 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor = kmalloc(sizeof(*sensor), GFP_KERNEL); sensor 192 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c if (!sensor) sensor 195 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c list_add_tail(&sensor->head, &iccsense->sensors); sensor 196 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->id = id; sensor 197 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->type = extdev.type; sensor 198 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->i2c = &i2c_bus->i2c; sensor 199 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->addr = addr; sensor 200 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->config = 0x0; sensor 201 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c return sensor; sensor 207 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor; sensor 208 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c list_for_each_entry(sensor, &iccsense->sensors, head) { sensor 209 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c if (sensor->id == id) sensor 210 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c return sensor; sensor 244 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor; sensor 250 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor = nvkm_iccsense_get_sensor(iccsense, pwr_rail->extdev_id); sensor 251 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c if (!sensor) sensor 254 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c if (!sensor->config) sensor 255 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c sensor->config = pwr_rail->config; sensor 256 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c else if (sensor->config != pwr_rail->config) sensor 268 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c switch (sensor->type) { sensor 287 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c rail->sensor = sensor; sensor 301 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c struct nvkm_iccsense_sensor *sensor; sensor 302 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c list_for_each_entry(sensor, &iccsense->sensors, head) sensor 303 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c nvkm_iccsense_sensor_config(iccsense, sensor); sensor 20 drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/priv.h struct nvkm_iccsense_sensor *sensor; sensor 432 drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c spin_lock_init(&therm->sensor.alarm_program_lock); sensor 56 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 61 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags); sensor 67 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c nvkm_wr32(device, 0x20484, sensor->thrs_shutdown.hysteresis); sensor 68 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c nvkm_wr32(device, 0x20480, sensor->thrs_shutdown.temp); sensor 71 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c nvkm_wr32(device, 0x204c4, sensor->thrs_fan_boost.temp); sensor 74 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c nvkm_wr32(device, 0x204c0, sensor->thrs_critical.temp); sensor 77 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c nvkm_wr32(device, 0x20414, sensor->thrs_down_clock.temp); sensor 78 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags); sensor 82 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_fan_boost.temp, sensor 83 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_fan_boost.hysteresis, sensor 84 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_down_clock.temp, sensor 85 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_down_clock.hysteresis, sensor 86 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_critical.temp, sensor 87 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_critical.hysteresis, sensor 88 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_shutdown.temp, sensor 89 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c sensor->thrs_shutdown.hysteresis); sensor 143 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 147 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags); sensor 154 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c &sensor->thrs_down_clock, sensor 162 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c &sensor->thrs_shutdown, sensor 170 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c &sensor->thrs_fan_boost, sensor 178 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c &sensor->thrs_critical, sensor 190 drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags); sensor 34 drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 52 drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c info->type, info->addr, sensor->offset_constant); sensor 76 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 90 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c if (!sensor->slope_div || !sensor->slope_mult || sensor 91 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c !sensor->offset_num || !sensor->offset_den) sensor 94 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c core_temp = core_temp * sensor->slope_mult / sensor->slope_div; sensor 95 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c core_temp = core_temp + sensor->offset_num / sensor->offset_den; sensor 96 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c core_temp = core_temp + sensor->offset_constant - 8; sensor 132 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 138 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c if (!sensor->slope_div || !sensor->slope_mult || sensor 139 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c !sensor->offset_num || !sensor->offset_den) sensor 142 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c core_temp = core_temp * sensor->slope_mult / sensor->slope_div; sensor 143 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c core_temp = core_temp + sensor->offset_num / sensor->offset_den; sensor 144 drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c core_temp = core_temp + sensor->offset_constant - 8; sensor 62 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c therm->sensor.alarm_state[thrs] = st; sensor 70 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c return therm->sensor.alarm_state[thrs]; sensor 165 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c container_of(alarm, struct nvkm_therm, sensor.therm_poll_alarm); sensor 166 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 170 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags); sensor 172 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_fan_boost, sensor 176 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c &sensor->thrs_down_clock, sensor 179 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_critical, sensor 182 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c nvkm_therm_threshold_hyst_polling(therm, &sensor->thrs_shutdown, sensor 185 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags); sensor 195 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c struct nvbios_therm_sensor *sensor = &therm->bios_sensor; sensor 199 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_fan_boost.temp, sensor 200 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_fan_boost.hysteresis, sensor 201 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_down_clock.temp, sensor 202 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_down_clock.hysteresis, sensor 203 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_critical.temp, sensor 204 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_critical.hysteresis, sensor 205 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_shutdown.temp, sensor 206 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c sensor->thrs_shutdown.hysteresis); sensor 208 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c alarm_timer_callback(&therm->sensor.therm_poll_alarm); sensor 223 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c nvkm_timer_alarm(tmr, 0, &therm->sensor.therm_poll_alarm); sensor 244 drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c nvkm_alarm_init(&therm->sensor.therm_poll_alarm, alarm_timer_callback); sensor 764 drivers/gpu/drm/radeon/r600_dpm.c bool r600_is_internal_thermal_sensor(enum radeon_int_thermal_type sensor) sensor 766 drivers/gpu/drm/radeon/r600_dpm.c switch (sensor) { sensor 221 drivers/gpu/drm/radeon/r600_dpm.h bool r600_is_internal_thermal_sensor(enum radeon_int_thermal_type sensor); sensor 182 drivers/hid/hid-roccat-koneplus.c KONEPLUS_BIN_ATTRIBUTE_RW(sensor, SENSOR); sensor 49 drivers/hid/hid-roccat-konepure.c ROCCAT_COMMON2_BIN_ATTRIBUTE_RW(sensor, 0x0f, 0x06); sensor 33 drivers/hid/hid-roccat-savu.c ROCCAT_COMMON2_BIN_ATTRIBUTE_RW(sensor, 0xc, 0x04); sensor 80 drivers/hwmon/ab8500.c static int ab8500_read_sensor(struct abx500_temp *data, u8 sensor, int *temp) sensor 85 drivers/hwmon/ab8500.c if (sensor == BAT_CTRL) { sensor 87 drivers/hwmon/ab8500.c } else if (sensor == BTEMP_BALL) { sensor 90 drivers/hwmon/ab8500.c voltage = ab8500_gpadc_convert(ab8500_data->gpadc, sensor); sensor 831 drivers/hwmon/abituguru3.c const struct abituguru3_sensor_info *sensor; sensor 836 drivers/hwmon/abituguru3.c sensor = &data->sensors[attr->index]; sensor 840 drivers/hwmon/abituguru3.c value = data->settings[sensor->port][attr->nr]; sensor 842 drivers/hwmon/abituguru3.c value = data->value[sensor->port]; sensor 845 drivers/hwmon/abituguru3.c value = (value * sensor->multiplier) / sensor->divisor + sensor 846 drivers/hwmon/abituguru3.c sensor->offset; sensor 852 drivers/hwmon/abituguru3.c if (sensor->type == ABIT_UGURU3_TEMP_SENSOR) sensor 192 drivers/hwmon/asus_atk0110.c static int atk_read_value(struct atk_sensor_data *sensor, u64 *value); sensor 448 drivers/hwmon/asus_atk0110.c static int atk_read_value_old(struct atk_sensor_data *sensor, u64 *value) sensor 450 drivers/hwmon/asus_atk0110.c struct atk_data *data = sensor->data; sensor 457 drivers/hwmon/asus_atk0110.c switch (sensor->type) { sensor 472 drivers/hwmon/asus_atk0110.c id.integer.value = sensor->id; sensor 601 drivers/hwmon/asus_atk0110.c static int atk_read_value_new(struct atk_sensor_data *sensor, u64 *value) sensor 603 drivers/hwmon/asus_atk0110.c struct atk_data *data = sensor->data; sensor 609 drivers/hwmon/asus_atk0110.c obj = atk_gitm(data, sensor->id); sensor 620 drivers/hwmon/asus_atk0110.c dev_warn(dev, "Read failed, sensor = %#llx\n", sensor->id); sensor 631 drivers/hwmon/asus_atk0110.c static int atk_read_value(struct atk_sensor_data *sensor, u64 *value) sensor 635 drivers/hwmon/asus_atk0110.c if (!sensor->is_valid || sensor 636 drivers/hwmon/asus_atk0110.c time_after(jiffies, sensor->last_updated + CACHE_TIME)) { sensor 637 drivers/hwmon/asus_atk0110.c if (sensor->data->old_interface) sensor 638 drivers/hwmon/asus_atk0110.c err = atk_read_value_old(sensor, value); sensor 640 drivers/hwmon/asus_atk0110.c err = atk_read_value_new(sensor, value); sensor 645 drivers/hwmon/asus_atk0110.c sensor->is_valid = true; sensor 646 drivers/hwmon/asus_atk0110.c sensor->last_updated = jiffies; sensor 647 drivers/hwmon/asus_atk0110.c sensor->cached_value = *value; sensor 649 drivers/hwmon/asus_atk0110.c *value = sensor->cached_value; sensor 828 drivers/hwmon/asus_atk0110.c struct atk_sensor_data *sensor; sensor 889 drivers/hwmon/asus_atk0110.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 890 drivers/hwmon/asus_atk0110.c if (!sensor) sensor 893 drivers/hwmon/asus_atk0110.c sensor->acpi_name = devm_kstrdup(dev, name->string.pointer, GFP_KERNEL); sensor 894 drivers/hwmon/asus_atk0110.c if (!sensor->acpi_name) sensor 897 drivers/hwmon/asus_atk0110.c INIT_LIST_HEAD(&sensor->list); sensor 898 drivers/hwmon/asus_atk0110.c sensor->type = type; sensor 899 drivers/hwmon/asus_atk0110.c sensor->data = data; sensor 900 drivers/hwmon/asus_atk0110.c sensor->id = flags->integer.value; sensor 901 drivers/hwmon/asus_atk0110.c sensor->limit1 = limit1->integer.value; sensor 903 drivers/hwmon/asus_atk0110.c sensor->limit2 = limit2->integer.value; sensor 906 drivers/hwmon/asus_atk0110.c sensor->limit2 = sensor->limit1 + limit2->integer.value; sensor 908 drivers/hwmon/asus_atk0110.c snprintf(sensor->input_attr_name, ATTR_NAME_SIZE, sensor 910 drivers/hwmon/asus_atk0110.c atk_init_attribute(&sensor->input_attr, sensor 911 drivers/hwmon/asus_atk0110.c sensor->input_attr_name, sensor 914 drivers/hwmon/asus_atk0110.c snprintf(sensor->label_attr_name, ATTR_NAME_SIZE, sensor 916 drivers/hwmon/asus_atk0110.c atk_init_attribute(&sensor->label_attr, sensor 917 drivers/hwmon/asus_atk0110.c sensor->label_attr_name, sensor 920 drivers/hwmon/asus_atk0110.c snprintf(sensor->limit1_attr_name, ATTR_NAME_SIZE, sensor 922 drivers/hwmon/asus_atk0110.c atk_init_attribute(&sensor->limit1_attr, sensor 923 drivers/hwmon/asus_atk0110.c sensor->limit1_attr_name, sensor 926 drivers/hwmon/asus_atk0110.c snprintf(sensor->limit2_attr_name, ATTR_NAME_SIZE, sensor 928 drivers/hwmon/asus_atk0110.c atk_init_attribute(&sensor->limit2_attr, sensor 929 drivers/hwmon/asus_atk0110.c sensor->limit2_attr_name, sensor 932 drivers/hwmon/asus_atk0110.c list_add(&sensor->list, &data->sensor_list); sensor 319 drivers/hwmon/dell-smm-hwmon.c static int i8k_get_temp_type(int sensor) sensor 323 drivers/hwmon/dell-smm-hwmon.c regs.ebx = sensor & 0xff; sensor 330 drivers/hwmon/dell-smm-hwmon.c static int _i8k_get_temp(int sensor) sensor 334 drivers/hwmon/dell-smm-hwmon.c .ebx = sensor & 0xff, sensor 340 drivers/hwmon/dell-smm-hwmon.c static int i8k_get_temp(int sensor) sensor 342 drivers/hwmon/dell-smm-hwmon.c int temp = _i8k_get_temp(sensor); sensor 353 drivers/hwmon/dell-smm-hwmon.c temp = _i8k_get_temp(sensor); sensor 174 drivers/hwmon/ibmpex.c static int ibmpex_query_sensor_name(struct ibmpex_bmc_data *data, int sensor) sensor 177 drivers/hwmon/ibmpex.c data->tx_msg_data[1] = sensor; sensor 189 drivers/hwmon/ibmpex.c static int ibmpex_query_sensor_data(struct ibmpex_bmc_data *data, int sensor) sensor 192 drivers/hwmon/ibmpex.c data->tx_msg_data[1] = sensor; sensor 200 drivers/hwmon/ibmpex.c sensor); sensor 328 drivers/hwmon/ibmpex.c int counter, int sensor, int func) sensor 344 drivers/hwmon/ibmpex.c sysfs_attr_init(&data->sensors[sensor].attr[func].dev_attr.attr); sensor 345 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].dev_attr.attr.name = n; sensor 346 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].dev_attr.attr.mode = 0444; sensor 347 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].dev_attr.show = ibmpex_show_sensor; sensor 348 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].index = sensor; sensor 349 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].nr = func; sensor 352 drivers/hwmon/ibmpex.c &data->sensors[sensor].attr[func].dev_attr); sensor 354 drivers/hwmon/ibmpex.c data->sensors[sensor].attr[func].dev_attr.attr.name = NULL; sensor 534 drivers/hwmon/it87.c u8 sensor; /* Register value (IT87_REG_TEMP_ENABLE) */ sensor 831 drivers/hwmon/it87.c data->sensor = it87_read_value(data, IT87_REG_TEMP_ENABLE); sensor 1025 drivers/hwmon/it87.c u8 reg = data->sensor; /* In case value is updated while used */ sensor 1077 drivers/hwmon/it87.c data->sensor = reg; sensor 1079 drivers/hwmon/it87.c it87_write_value(data, IT87_REG_TEMP_ENABLE, data->sensor); sensor 818 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_temp, NULL, sensor 831 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_temp, NULL, sensor 838 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 844 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 854 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_freq, NULL, sensor 859 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_freq, NULL, sensor 878 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 885 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 892 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 899 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 915 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 921 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 927 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 933 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 943 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 948 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 953 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 959 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 964 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 969 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, show_caps, NULL, sensor 975 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0644, show_caps, sensor 982 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 992 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 997 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 1002 drivers/hwmon/occ/common.c attr->sensor = OCC_INIT_ATTR(attr->name, 0444, sensor 1009 drivers/hwmon/occ/common.c sysfs_attr_init(&occ->attrs[i].sensor.dev_attr.attr); sensor 1010 drivers/hwmon/occ/common.c occ->group.attrs[i] = &occ->attrs[i].sensor.dev_attr.attr; sensor 1020 drivers/hwmon/occ/common.c struct occ_sensor *sensor; sensor 1050 drivers/hwmon/occ/common.c sensor = &sensors->temp; sensor 1052 drivers/hwmon/occ/common.c sensor = &sensors->freq; sensor 1054 drivers/hwmon/occ/common.c sensor = &sensors->power; sensor 1056 drivers/hwmon/occ/common.c sensor = &sensors->caps; sensor 1058 drivers/hwmon/occ/common.c sensor = &sensors->extended; sensor 1065 drivers/hwmon/occ/common.c sensor->num_sensors = block->header.num_sensors; sensor 1066 drivers/hwmon/occ/common.c sensor->version = block->header.sensor_format; sensor 1067 drivers/hwmon/occ/common.c sensor->data = &block->data; sensor 88 drivers/hwmon/occ/common.h struct sensor_device_attribute_2 sensor; sensor 405 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor; sensor 407 drivers/hwmon/pmbus/pmbus_core.c for (sensor = data->sensors; sensor; sensor = sensor->next) { sensor 408 drivers/hwmon/pmbus/pmbus_core.c if (sensor->page == page && sensor->reg == reg) sensor 409 drivers/hwmon/pmbus/pmbus_core.c return sensor; sensor 563 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor; sensor 593 drivers/hwmon/pmbus/pmbus_core.c for (sensor = data->sensors; sensor; sensor = sensor->next) { sensor 594 drivers/hwmon/pmbus/pmbus_core.c if (!data->valid || sensor->update) sensor 595 drivers/hwmon/pmbus/pmbus_core.c sensor->data sensor 597 drivers/hwmon/pmbus/pmbus_core.c sensor->page, sensor 598 drivers/hwmon/pmbus/pmbus_core.c sensor->reg); sensor 613 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor) sensor 619 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_VOLTAGE_OUT) { /* LINEAR16 */ sensor 620 drivers/hwmon/pmbus/pmbus_core.c exponent = data->exponent[sensor->page]; sensor 621 drivers/hwmon/pmbus/pmbus_core.c mantissa = (u16) sensor->data; sensor 623 drivers/hwmon/pmbus/pmbus_core.c exponent = ((s16)sensor->data) >> 11; sensor 624 drivers/hwmon/pmbus/pmbus_core.c mantissa = ((s16)((sensor->data & 0x7ff) << 5)) >> 5; sensor 630 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class != PSC_FAN) sensor 634 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_POWER) sensor 650 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor) sensor 652 drivers/hwmon/pmbus/pmbus_core.c s64 b, val = (s16)sensor->data; sensor 655 drivers/hwmon/pmbus/pmbus_core.c m = data->info->m[sensor->class]; sensor 656 drivers/hwmon/pmbus/pmbus_core.c b = data->info->b[sensor->class]; sensor 657 drivers/hwmon/pmbus/pmbus_core.c R = data->info->R[sensor->class]; sensor 665 drivers/hwmon/pmbus/pmbus_core.c if (!(sensor->class == PSC_FAN || sensor->class == PSC_PWM)) { sensor 671 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_POWER) { sensor 694 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor) sensor 696 drivers/hwmon/pmbus/pmbus_core.c long val = sensor->data; sensor 716 drivers/hwmon/pmbus/pmbus_core.c static long pmbus_reg2data(struct pmbus_data *data, struct pmbus_sensor *sensor) sensor 720 drivers/hwmon/pmbus/pmbus_core.c if (!sensor->convert) sensor 721 drivers/hwmon/pmbus/pmbus_core.c return sensor->data; sensor 723 drivers/hwmon/pmbus/pmbus_core.c switch (data->info->format[sensor->class]) { sensor 725 drivers/hwmon/pmbus/pmbus_core.c val = pmbus_reg2data_direct(data, sensor); sensor 728 drivers/hwmon/pmbus/pmbus_core.c val = pmbus_reg2data_vid(data, sensor); sensor 732 drivers/hwmon/pmbus/pmbus_core.c val = pmbus_reg2data_linear(data, sensor); sensor 742 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor, long val) sensor 751 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_VOLTAGE_OUT) { sensor 760 drivers/hwmon/pmbus/pmbus_core.c if (data->exponent[sensor->page] < 0) sensor 761 drivers/hwmon/pmbus/pmbus_core.c val <<= -data->exponent[sensor->page]; sensor 763 drivers/hwmon/pmbus/pmbus_core.c val >>= data->exponent[sensor->page]; sensor 774 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_POWER) sensor 781 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_FAN) sensor 811 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor, long val) sensor 816 drivers/hwmon/pmbus/pmbus_core.c m = data->info->m[sensor->class]; sensor 817 drivers/hwmon/pmbus/pmbus_core.c b = data->info->b[sensor->class]; sensor 818 drivers/hwmon/pmbus/pmbus_core.c R = data->info->R[sensor->class]; sensor 821 drivers/hwmon/pmbus/pmbus_core.c if (sensor->class == PSC_POWER) { sensor 827 drivers/hwmon/pmbus/pmbus_core.c if (!(sensor->class == PSC_FAN || sensor->class == PSC_PWM)) { sensor 846 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor, long val) sensor 854 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor, long val) sensor 858 drivers/hwmon/pmbus/pmbus_core.c if (!sensor->convert) sensor 861 drivers/hwmon/pmbus/pmbus_core.c switch (data->info->format[sensor->class]) { sensor 863 drivers/hwmon/pmbus/pmbus_core.c regval = pmbus_data2reg_direct(data, sensor, val); sensor 866 drivers/hwmon/pmbus/pmbus_core.c regval = pmbus_data2reg_vid(data, sensor, val); sensor 870 drivers/hwmon/pmbus/pmbus_core.c regval = pmbus_data2reg_linear(data, sensor, val); sensor 952 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor = to_pmbus_sensor(devattr); sensor 954 drivers/hwmon/pmbus/pmbus_core.c if (sensor->data < 0) sensor 955 drivers/hwmon/pmbus/pmbus_core.c return sensor->data; sensor 957 drivers/hwmon/pmbus/pmbus_core.c return snprintf(buf, PAGE_SIZE, "%ld\n", pmbus_reg2data(data, sensor)); sensor 966 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor = to_pmbus_sensor(devattr); sensor 976 drivers/hwmon/pmbus/pmbus_core.c regval = pmbus_data2reg(data, sensor, val); sensor 977 drivers/hwmon/pmbus/pmbus_core.c ret = _pmbus_write_word_data(client, sensor->page, sensor->reg, regval); sensor 981 drivers/hwmon/pmbus/pmbus_core.c sensor->data = regval; sensor 1076 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor; sensor 1079 drivers/hwmon/pmbus/pmbus_core.c sensor = devm_kzalloc(data->dev, sizeof(*sensor), GFP_KERNEL); sensor 1080 drivers/hwmon/pmbus/pmbus_core.c if (!sensor) sensor 1082 drivers/hwmon/pmbus/pmbus_core.c a = &sensor->attribute; sensor 1085 drivers/hwmon/pmbus/pmbus_core.c snprintf(sensor->name, sizeof(sensor->name), "%s%d_%s", sensor 1088 drivers/hwmon/pmbus/pmbus_core.c snprintf(sensor->name, sizeof(sensor->name), "%s%d", sensor 1091 drivers/hwmon/pmbus/pmbus_core.c sensor->page = page; sensor 1092 drivers/hwmon/pmbus/pmbus_core.c sensor->reg = reg; sensor 1093 drivers/hwmon/pmbus/pmbus_core.c sensor->class = class; sensor 1094 drivers/hwmon/pmbus/pmbus_core.c sensor->update = update; sensor 1095 drivers/hwmon/pmbus/pmbus_core.c sensor->convert = convert; sensor 1096 drivers/hwmon/pmbus/pmbus_core.c pmbus_dev_attr_init(a, sensor->name, sensor 1103 drivers/hwmon/pmbus/pmbus_core.c sensor->next = data->sensors; sensor 1104 drivers/hwmon/pmbus/pmbus_core.c data->sensors = sensor; sensor 1106 drivers/hwmon/pmbus/pmbus_core.c return sensor; sensor 1811 drivers/hwmon/pmbus/pmbus_core.c struct pmbus_sensor *sensor; sensor 1813 drivers/hwmon/pmbus/pmbus_core.c sensor = pmbus_add_sensor(data, "fan", "target", index, page, sensor 1817 drivers/hwmon/pmbus/pmbus_core.c if (!sensor) sensor 1824 drivers/hwmon/pmbus/pmbus_core.c sensor = pmbus_add_sensor(data, "pwm", NULL, index, page, sensor 1828 drivers/hwmon/pmbus/pmbus_core.c if (!sensor) sensor 1831 drivers/hwmon/pmbus/pmbus_core.c sensor = pmbus_add_sensor(data, "pwm", "enable", index, page, sensor 1835 drivers/hwmon/pmbus/pmbus_core.c if (!sensor) sensor 31 drivers/hwmon/scmi-hwmon.c static int scmi_hwmon_scale(const struct scmi_sensor_info *sensor, u64 *value) sensor 33 drivers/hwmon/scmi-hwmon.c s8 scale = sensor->scale; sensor 36 drivers/hwmon/scmi-hwmon.c switch (sensor->type) { sensor 70 drivers/hwmon/scmi-hwmon.c const struct scmi_sensor_info *sensor; sensor 74 drivers/hwmon/scmi-hwmon.c sensor = *(scmi_sensors->info[type] + channel); sensor 75 drivers/hwmon/scmi-hwmon.c ret = h->sensor_ops->reading_get(h, sensor->id, &value); sensor 79 drivers/hwmon/scmi-hwmon.c ret = scmi_hwmon_scale(sensor, &value); sensor 90 drivers/hwmon/scmi-hwmon.c const struct scmi_sensor_info *sensor; sensor 93 drivers/hwmon/scmi-hwmon.c sensor = *(scmi_sensors->info[type] + channel); sensor 94 drivers/hwmon/scmi-hwmon.c *str = sensor->name; sensor 103 drivers/hwmon/scmi-hwmon.c const struct scmi_sensor_info *sensor; sensor 106 drivers/hwmon/scmi-hwmon.c sensor = *(scmi_sensors->info[type] + channel); sensor 107 drivers/hwmon/scmi-hwmon.c if (sensor) sensor 165 drivers/hwmon/scmi-hwmon.c const struct scmi_sensor_info *sensor; sensor 187 drivers/hwmon/scmi-hwmon.c sensor = handle->sensor_ops->info_get(handle, i); sensor 188 drivers/hwmon/scmi-hwmon.c if (!sensor) sensor 191 drivers/hwmon/scmi-hwmon.c switch (sensor->type) { sensor 197 drivers/hwmon/scmi-hwmon.c type = scmi_types[sensor->type]; sensor 237 drivers/hwmon/scmi-hwmon.c sensor = handle->sensor_ops->info_get(handle, i); sensor 238 drivers/hwmon/scmi-hwmon.c if (!sensor) sensor 241 drivers/hwmon/scmi-hwmon.c switch (sensor->type) { sensor 247 drivers/hwmon/scmi-hwmon.c type = scmi_types[sensor->type]; sensor 249 drivers/hwmon/scmi-hwmon.c *(scmi_sensors->info[type] + idx) = sensor; sensor 57 drivers/hwmon/scpi-hwmon.c static void scpi_scale_reading(u64 *value, struct sensor_data *sensor) sensor 59 drivers/hwmon/scpi-hwmon.c if (scpi_scale[sensor->info.class] != sensor->scale) { sensor 60 drivers/hwmon/scpi-hwmon.c *value *= scpi_scale[sensor->info.class]; sensor 61 drivers/hwmon/scpi-hwmon.c do_div(*value, sensor->scale); sensor 70 drivers/hwmon/scpi-hwmon.c struct sensor_data *sensor = &scpi_sensors->data[zone->sensor_id]; sensor 74 drivers/hwmon/scpi-hwmon.c ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); sensor 78 drivers/hwmon/scpi-hwmon.c scpi_scale_reading(&value, sensor); sensor 90 drivers/hwmon/scpi-hwmon.c struct sensor_data *sensor; sensor 94 drivers/hwmon/scpi-hwmon.c sensor = container_of(attr, struct sensor_data, dev_attr_input); sensor 96 drivers/hwmon/scpi-hwmon.c ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); sensor 100 drivers/hwmon/scpi-hwmon.c scpi_scale_reading(&value, sensor); sensor 108 drivers/hwmon/scpi-hwmon.c struct sensor_data *sensor; sensor 110 drivers/hwmon/scpi-hwmon.c sensor = container_of(attr, struct sensor_data, dev_attr_label); sensor 112 drivers/hwmon/scpi-hwmon.c return sprintf(buf, "%s\n", sensor->info.name); sensor 173 drivers/hwmon/scpi-hwmon.c struct sensor_data *sensor = &scpi_sensors->data[idx]; sensor 175 drivers/hwmon/scpi-hwmon.c ret = scpi_ops->sensor_get_info(i, &sensor->info); sensor 179 drivers/hwmon/scpi-hwmon.c switch (sensor->info.class) { sensor 181 drivers/hwmon/scpi-hwmon.c snprintf(sensor->input, sizeof(sensor->input), sensor 183 drivers/hwmon/scpi-hwmon.c snprintf(sensor->label, sizeof(sensor->input), sensor 188 drivers/hwmon/scpi-hwmon.c snprintf(sensor->input, sizeof(sensor->input), sensor 190 drivers/hwmon/scpi-hwmon.c snprintf(sensor->label, sizeof(sensor->input), sensor 195 drivers/hwmon/scpi-hwmon.c snprintf(sensor->input, sizeof(sensor->input), sensor 197 drivers/hwmon/scpi-hwmon.c snprintf(sensor->label, sizeof(sensor->input), sensor 202 drivers/hwmon/scpi-hwmon.c snprintf(sensor->input, sizeof(sensor->input), sensor 204 drivers/hwmon/scpi-hwmon.c snprintf(sensor->label, sizeof(sensor->input), sensor 209 drivers/hwmon/scpi-hwmon.c snprintf(sensor->input, sizeof(sensor->input), sensor 211 drivers/hwmon/scpi-hwmon.c snprintf(sensor->label, sizeof(sensor->input), sensor 219 drivers/hwmon/scpi-hwmon.c sensor->scale = scale[sensor->info.class]; sensor 221 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_input.attr.mode = 0444; sensor 222 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_input.show = scpi_show_sensor; sensor 223 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_input.attr.name = sensor->input; sensor 225 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_label.attr.mode = 0444; sensor 226 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_label.show = scpi_show_label; sensor 227 drivers/hwmon/scpi-hwmon.c sensor->dev_attr_label.attr.name = sensor->label; sensor 229 drivers/hwmon/scpi-hwmon.c scpi_sensors->attrs[idx << 1] = &sensor->dev_attr_input.attr; sensor 230 drivers/hwmon/scpi-hwmon.c scpi_sensors->attrs[(idx << 1) + 1] = &sensor->dev_attr_label.attr; sensor 258 drivers/hwmon/scpi-hwmon.c struct sensor_data *sensor = &scpi_sensors->data[i]; sensor 262 drivers/hwmon/scpi-hwmon.c if (sensor->info.class != TEMPERATURE) sensor 272 drivers/hwmon/scpi-hwmon.c sensor->info.sensor_id, sensor 62 drivers/iio/accel/cros_ec_accel_legacy.c *data = st->resp->dump.sensor[sensor_num].data[i] * sensor 116 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int (*update_fifo)(struct st_lsm6dsx_sensor *sensor, bool enable); sensor 337 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int st_lsm6dsx_sensor_set_enable(struct st_lsm6dsx_sensor *sensor, sensor 341 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, sensor 343 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int st_lsm6dsx_update_fifo(struct st_lsm6dsx_sensor *sensor, bool enable); sensor 349 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u16 odr, u8 *val); sensor 351 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h int st_lsm6dsx_shub_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable); sensor 103 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor; sensor 111 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor = iio_priv(hw->iio_devs[i]); sensor 113 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c if (!(hw->enable_mask & BIT(sensor->id))) sensor 116 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c *max_odr = max_t(u16, *max_odr, sensor->odr); sensor 117 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c *min_odr = min_t(u16, *min_odr, sensor->odr); sensor 125 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor; sensor 137 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor = iio_priv(hw->iio_devs[i]); sensor 139 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c if (hw->enable_mask & BIT(sensor->id)) { sensor 140 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->sip = sensor->odr / min_odr; sensor 141 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->decimator = max_odr / sensor->odr; sensor 142 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c data = st_lsm6dsx_get_decimator_val(sensor->decimator); sensor 144 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->sip = 0; sensor 145 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->decimator = 0; sensor 148 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c ts_sip = max_t(u16, ts_sip, sensor->sip); sensor 150 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c dec_reg = &hw->settings->decimator[sensor->id]; sensor 160 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sip += sensor->sip; sensor 198 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_sensor *sensor, sensor 201 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 205 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c batch_reg = &hw->settings->batch[sensor->id]; sensor 212 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c err = st_lsm6dsx_check_odr(sensor, sensor->odr, sensor 232 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark) sensor 235 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 252 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c cur_watermark = (cur_sensor == sensor) ? watermark sensor 283 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor; sensor 296 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor = iio_priv(hw->iio_devs[i]); sensor 301 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->ts_ref = iio_get_time_ns(hw->iio_devs[i]); sensor 463 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor; sensor 501 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor = iio_priv(iio_dev); sensor 503 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c ts + sensor->ts_ref); sensor 605 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c int st_lsm6dsx_update_fifo(struct st_lsm6dsx_sensor *sensor, bool enable) sensor 607 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 618 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c if (sensor->id == ST_LSM6DSX_ID_EXT0 || sensor 619 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->id == ST_LSM6DSX_ID_EXT1 || sensor 620 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c sensor->id == ST_LSM6DSX_ID_EXT2) { sensor 621 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c err = st_lsm6dsx_shub_set_enable(sensor, enable); sensor 625 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c err = st_lsm6dsx_sensor_set_enable(sensor, enable); sensor 629 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c err = st_lsm6dsx_set_fifo_odr(sensor, enable); sensor 638 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c err = st_lsm6dsx_update_watermark(sensor, sensor->watermark); sensor 678 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 679 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 684 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c return hw->settings->fifo_ops.update_fifo(sensor, true); sensor 689 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 690 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 695 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c return hw->settings->fifo_ops.update_fifo(sensor, false); sensor 944 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c static int st_lsm6dsx_set_full_scale(struct st_lsm6dsx_sensor *sensor, sensor 951 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c fs_table = &sensor->hw->settings->fs_table[sensor->id]; sensor 962 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_update_bits_locked(sensor->hw, fs_table->reg.addr, sensor 967 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->gain = gain; sensor 972 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u16 odr, u8 *val) sensor 977 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c odr_table = &sensor->hw->settings->odr_table[sensor->id]; sensor 1008 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c static int st_lsm6dsx_set_odr(struct st_lsm6dsx_sensor *sensor, u16 req_odr) sensor 1010 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *ref_sensor = sensor; sensor 1011 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1017 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c switch (sensor->id) { sensor 1033 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c if (!hw->iio_devs[i] || i == sensor->id) sensor 1058 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c int st_lsm6dsx_sensor_set_enable(struct st_lsm6dsx_sensor *sensor, sensor 1061 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1062 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c u16 odr = enable ? sensor->odr : 0; sensor 1065 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_set_odr(sensor, odr); sensor 1070 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c hw->enable_mask |= BIT(sensor->id); sensor 1072 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c hw->enable_mask &= ~BIT(sensor->id); sensor 1077 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c static int st_lsm6dsx_read_oneshot(struct st_lsm6dsx_sensor *sensor, sensor 1080 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1084 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_sensor_set_enable(sensor, true); sensor 1088 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c delay = 1000000 / sensor->odr; sensor 1095 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c st_lsm6dsx_sensor_set_enable(sensor, false); sensor 1106 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 1115 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c ret = st_lsm6dsx_read_oneshot(sensor, ch->address, val); sensor 1119 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c *val = sensor->odr; sensor 1124 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c *val2 = sensor->gain; sensor 1139 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 1148 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_set_full_scale(sensor, val2); sensor 1153 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c val = st_lsm6dsx_check_odr(sensor, val, &data); sensor 1157 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->odr = val; sensor 1172 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 1173 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1181 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_update_watermark(sensor, val); sensor 1188 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->watermark = val; sensor 1198 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor = iio_priv(dev_get_drvdata(dev)); sensor 1199 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c enum st_lsm6dsx_sensor_id id = sensor->id; sensor 1200 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1215 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor = iio_priv(dev_get_drvdata(dev)); sensor 1217 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 1220 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c fs_table = &hw->settings->fs_table[sensor->id]; sensor 1443 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor; sensor 1446 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c iio_dev = devm_iio_device_alloc(hw->dev, sizeof(*sensor)); sensor 1456 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor = iio_priv(iio_dev); sensor 1457 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->id = id; sensor 1458 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->hw = hw; sensor 1459 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->odr = hw->settings->odr_table[id].odr_avl[0].hz; sensor 1460 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->gain = hw->settings->fs_table[id].fs_avl[0].gain; sensor 1461 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->watermark = 1; sensor 1466 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c scnprintf(sensor->name, sizeof(sensor->name), "%s_accel", sensor 1471 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c scnprintf(sensor->name, sizeof(sensor->name), "%s_gyro", sensor 1477 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c iio_dev->name = sensor->name; sensor 1551 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor; sensor 1558 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor = iio_priv(hw->iio_devs[i]); sensor 1559 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c if (!(hw->enable_mask & BIT(sensor->id))) sensor 1562 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c if (sensor->id == ST_LSM6DSX_ID_EXT0 || sensor 1563 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->id == ST_LSM6DSX_ID_EXT1 || sensor 1564 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->id == ST_LSM6DSX_ID_EXT2) sensor 1565 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_shub_set_enable(sensor, false); sensor 1567 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_sensor_set_enable(sensor, false); sensor 1571 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c hw->suspend_mask |= BIT(sensor->id); sensor 1583 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c struct st_lsm6dsx_sensor *sensor; sensor 1590 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor = iio_priv(hw->iio_devs[i]); sensor 1591 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c if (!(hw->suspend_mask & BIT(sensor->id))) sensor 1594 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c if (sensor->id == ST_LSM6DSX_ID_EXT0 || sensor 1595 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->id == ST_LSM6DSX_ID_EXT1 || sensor 1596 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c sensor->id == ST_LSM6DSX_ID_EXT2) sensor 1597 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_shub_set_enable(sensor, true); sensor 1599 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c err = st_lsm6dsx_sensor_set_enable(sensor, true); sensor 1603 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c hw->suspend_mask &= ~BIT(sensor->id); sensor 95 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor; sensor 98 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor = iio_priv(hw->iio_devs[ST_LSM6DSX_ID_ACC]); sensor 99 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c odr = (hw->enable_mask & BIT(ST_LSM6DSX_ID_ACC)) ? sensor->odr : 13; sensor 172 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c static int st_lsm6dsx_shub_master_enable(struct st_lsm6dsx_sensor *sensor, sensor 176 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 181 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_sensor_set_enable(sensor, enable); sensor 210 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_read(struct st_lsm6dsx_sensor *sensor, u8 addr, sensor 214 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 221 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c config[0] = (sensor->ext_info.addr << 1) | 1; sensor 230 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_master_enable(sensor, true); sensor 239 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_master_enable(sensor, false); sensor 253 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_write(struct st_lsm6dsx_sensor *sensor, u8 addr, sensor 257 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 275 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c config[0] = sensor->ext_info.addr << 1; sensor 289 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_master_enable(sensor, true); sensor 295 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_master_enable(sensor, false); sensor 303 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_write_with_mask(struct st_lsm6dsx_sensor *sensor, sensor 309 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_read(sensor, addr, &data, sizeof(data)); sensor 315 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c return st_lsm6dsx_shub_write(sensor, addr, &data, sizeof(data)); sensor 319 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_get_odr_val(struct st_lsm6dsx_sensor *sensor, sensor 325 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 338 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_set_odr(struct st_lsm6dsx_sensor *sensor, u16 odr) sensor 344 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_get_odr_val(sensor, odr, &val); sensor 348 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 349 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c return st_lsm6dsx_shub_write_with_mask(sensor, sensor 357 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_config_channels(struct st_lsm6dsx_sensor *sensor, sensor 363 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_hw *hw = sensor->hw; sensor 369 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c enable_mask = hw->enable_mask | BIT(sensor->id); sensor 371 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c enable_mask = hw->enable_mask & ~BIT(sensor->id); sensor 382 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c config[j] = (sensor->ext_info.addr << 1) | 1; sensor 394 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c int st_lsm6dsx_shub_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable) sensor 399 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_config_channels(sensor, enable); sensor 403 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 405 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_set_odr(sensor, sensor->odr); sensor 409 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_write_with_mask(sensor, sensor 421 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_write_with_mask(sensor, sensor 428 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c return st_lsm6dsx_shub_master_enable(sensor, enable); sensor 432 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_read_oneshot(struct st_lsm6dsx_sensor *sensor, sensor 439 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_set_enable(sensor, true); sensor 443 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c delay = 1000000 / sensor->odr; sensor 447 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_read(sensor, ch->address, data, len); sensor 449 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_set_enable(sensor, false); sensor 470 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 479 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c ret = st_lsm6dsx_shub_read_oneshot(sensor, ch, val); sensor 483 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c *val = sensor->odr; sensor 488 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c *val2 = sensor->gain; sensor 504 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor = iio_priv(iio_dev); sensor 515 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_get_odr_val(sensor, val, &data); sensor 517 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->odr = val; sensor 535 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor = iio_priv(dev_get_drvdata(dev)); sensor 539 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 556 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor = iio_priv(dev_get_drvdata(dev)); sensor 560 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 596 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor; sensor 599 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c iio_dev = devm_iio_device_alloc(hw->dev, sizeof(*sensor)); sensor 607 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor = iio_priv(iio_dev); sensor 608 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->id = id; sensor 609 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->hw = hw; sensor 610 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->odr = info->odr_table.odr_avl[0].hz; sensor 611 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->gain = info->fs_table.fs_avl[0].gain; sensor 612 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->ext_info.settings = info; sensor 613 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->ext_info.addr = i2c_addr; sensor 614 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor->watermark = 1; sensor 638 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c scnprintf(sensor->name, sizeof(sensor->name), "%s_magn", sensor 645 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c iio_dev->name = sensor->name; sensor 650 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c static int st_lsm6dsx_shub_init_device(struct st_lsm6dsx_sensor *sensor) sensor 655 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c settings = sensor->ext_info.settings; sensor 657 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_write_with_mask(sensor, sensor 665 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_write_with_mask(sensor, sensor 673 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_write_with_mask(sensor, sensor 688 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor; sensor 695 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor = iio_priv(hw->iio_devs[ST_LSM6DSX_ID_ACC]); sensor 711 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_master_enable(sensor, true); sensor 721 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c st_lsm6dsx_shub_master_enable(sensor, false); sensor 747 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c struct st_lsm6dsx_sensor *sensor; sensor 765 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c sensor = iio_priv(hw->iio_devs[id]); sensor 766 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c err = st_lsm6dsx_shub_init_device(sensor); sensor 22 drivers/input/rmi4/rmi_2d_sensor.c void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, sensor 26 drivers/input/rmi4/rmi_2d_sensor.c struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; sensor 33 drivers/input/rmi4/rmi_2d_sensor.c obj->x = sensor->max_x - obj->x; sensor 36 drivers/input/rmi4/rmi_2d_sensor.c obj->y = sensor->max_y - obj->y; sensor 56 drivers/input/rmi4/rmi_2d_sensor.c obj->x = min(sensor->max_x, obj->x); sensor 59 drivers/input/rmi4/rmi_2d_sensor.c obj->y = min(sensor->max_y, obj->y); sensor 61 drivers/input/rmi4/rmi_2d_sensor.c sensor->tracking_pos[slot].x = obj->x; sensor 62 drivers/input/rmi4/rmi_2d_sensor.c sensor->tracking_pos[slot].y = obj->y; sensor 66 drivers/input/rmi4/rmi_2d_sensor.c void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, sensor 70 drivers/input/rmi4/rmi_2d_sensor.c struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; sensor 71 drivers/input/rmi4/rmi_2d_sensor.c struct input_dev *input = sensor->input; sensor 74 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->kernel_tracking) sensor 75 drivers/input/rmi4/rmi_2d_sensor.c input_mt_slot(input, sensor->tracking_slots[slot]); sensor 83 drivers/input/rmi4/rmi_2d_sensor.c obj->x = sensor->tracking_pos[slot].x; sensor 84 drivers/input/rmi4/rmi_2d_sensor.c obj->y = sensor->tracking_pos[slot].y; sensor 98 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x); sensor 99 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y); sensor 100 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_ORIENTATION, wide); sensor 101 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_PRESSURE, obj->z); sensor 102 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_TOUCH_MAJOR, major); sensor 103 drivers/input/rmi4/rmi_2d_sensor.c input_event(sensor->input, EV_ABS, ABS_MT_TOUCH_MINOR, minor); sensor 105 drivers/input/rmi4/rmi_2d_sensor.c rmi_dbg(RMI_DEBUG_2D_SENSOR, &sensor->input->dev, sensor 113 drivers/input/rmi4/rmi_2d_sensor.c void rmi_2d_sensor_rel_report(struct rmi_2d_sensor *sensor, int x, int y) sensor 115 drivers/input/rmi4/rmi_2d_sensor.c struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; sensor 130 drivers/input/rmi4/rmi_2d_sensor.c input_report_rel(sensor->input, REL_X, x); sensor 131 drivers/input/rmi4/rmi_2d_sensor.c input_report_rel(sensor->input, REL_Y, y); sensor 136 drivers/input/rmi4/rmi_2d_sensor.c static void rmi_2d_sensor_set_input_params(struct rmi_2d_sensor *sensor) sensor 138 drivers/input/rmi4/rmi_2d_sensor.c struct input_dev *input = sensor->input; sensor 144 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->report_abs) { sensor 145 drivers/input/rmi4/rmi_2d_sensor.c sensor->min_x = sensor->axis_align.clip_x_low; sensor 146 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->axis_align.clip_x_high) sensor 147 drivers/input/rmi4/rmi_2d_sensor.c sensor->max_x = min(sensor->max_x, sensor 148 drivers/input/rmi4/rmi_2d_sensor.c sensor->axis_align.clip_x_high); sensor 150 drivers/input/rmi4/rmi_2d_sensor.c sensor->min_y = sensor->axis_align.clip_y_low; sensor 151 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->axis_align.clip_y_high) sensor 152 drivers/input/rmi4/rmi_2d_sensor.c sensor->max_y = min(sensor->max_y, sensor 153 drivers/input/rmi4/rmi_2d_sensor.c sensor->axis_align.clip_y_high); sensor 157 drivers/input/rmi4/rmi_2d_sensor.c max_x = sensor->max_x; sensor 158 drivers/input/rmi4/rmi_2d_sensor.c max_y = sensor->max_y; sensor 159 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->axis_align.swap_axes) sensor 164 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->x_mm && sensor->y_mm) { sensor 165 drivers/input/rmi4/rmi_2d_sensor.c res_x = (sensor->max_x - sensor->min_x) / sensor->x_mm; sensor 166 drivers/input/rmi4/rmi_2d_sensor.c res_y = (sensor->max_y - sensor->min_y) / sensor->y_mm; sensor 167 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->axis_align.swap_axes) sensor 176 drivers/input/rmi4/rmi_2d_sensor.c if (!sensor->dmax) sensor 177 drivers/input/rmi4/rmi_2d_sensor.c sensor->dmax = DMAX * res_x; sensor 187 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->sensor_type == rmi_sensor_touchpad) sensor 192 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->kernel_tracking) sensor 195 drivers/input/rmi4/rmi_2d_sensor.c input_mt_init_slots(input, sensor->nbr_fingers, input_flags); sensor 198 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->report_rel) { sensor 204 drivers/input/rmi4/rmi_2d_sensor.c if (sensor->topbuttonpad) sensor 209 drivers/input/rmi4/rmi_2d_sensor.c struct rmi_2d_sensor *sensor) sensor 217 drivers/input/rmi4/rmi_2d_sensor.c sensor->input = drv_data->input; sensor 218 drivers/input/rmi4/rmi_2d_sensor.c rmi_2d_sensor_set_input_params(sensor); sensor 74 drivers/input/rmi4/rmi_2d_sensor.h void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, sensor 78 drivers/input/rmi4/rmi_2d_sensor.h void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, sensor 82 drivers/input/rmi4/rmi_2d_sensor.h void rmi_2d_sensor_rel_report(struct rmi_2d_sensor *sensor, int x, int y); sensor 85 drivers/input/rmi4/rmi_2d_sensor.h struct rmi_2d_sensor *sensor); sensor 507 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor sensor; sensor 524 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor = &f11->sensor; sensor 531 drivers/input/rmi4/rmi_f11.c rmi_2d_sensor_rel_report(sensor, x, y); sensor 535 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor, sensor 559 drivers/input/rmi4/rmi_f11.c rmi_2d_sensor_abs_process(sensor, obj, n_finger); sensor 569 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor, int size) sensor 576 drivers/input/rmi4/rmi_f11.c int abs_size = sensor->nbr_fingers * RMI_F11_ABS_BYTES; sensor 578 drivers/input/rmi4/rmi_f11.c if (sensor->report_abs) { sensor 582 drivers/input/rmi4/rmi_f11.c abs_fingers = sensor->nbr_fingers; sensor 593 drivers/input/rmi4/rmi_f11.c rmi_f11_abs_pos_process(f11, sensor, &sensor->objs[i], sensor 601 drivers/input/rmi4/rmi_f11.c if (sensor->kernel_tracking) sensor 602 drivers/input/rmi4/rmi_f11.c input_mt_assign_slots(sensor->input, sensor 603 drivers/input/rmi4/rmi_f11.c sensor->tracking_slots, sensor 604 drivers/input/rmi4/rmi_f11.c sensor->tracking_pos, sensor 605 drivers/input/rmi4/rmi_f11.c sensor->nbr_fingers, sensor 606 drivers/input/rmi4/rmi_f11.c sensor->dmax); sensor 614 drivers/input/rmi4/rmi_f11.c rmi_2d_sensor_abs_report(sensor, &sensor->objs[i], i); sensor 617 drivers/input/rmi4/rmi_f11.c input_mt_sync_frame(sensor->input); sensor 618 drivers/input/rmi4/rmi_f11.c } else if (sensor->report_rel) { sensor 619 drivers/input/rmi4/rmi_f11.c if ((abs_size + sensor->nbr_fingers * RMI_F11_REL_BYTES) > size) sensor 622 drivers/input/rmi4/rmi_f11.c rel_fingers = sensor->nbr_fingers; sensor 632 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor = &f11->sensor; sensor 637 drivers/input/rmi4/rmi_f11.c sensor->nbr_fingers = (query->nr_fingers == 5 ? 10 : sensor 640 drivers/input/rmi4/rmi_f11.c sensor->pkt_size = DIV_ROUND_UP(sensor->nbr_fingers, 4); sensor 643 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += (sensor->nbr_fingers * 5); sensor 644 drivers/input/rmi4/rmi_f11.c sensor->attn_size = sensor->pkt_size; sensor 648 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += (sensor->nbr_fingers * 2); sensor 652 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += sizeof(u8); sensor 656 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += sizeof(u8); sensor 659 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += 3; sensor 661 drivers/input/rmi4/rmi_f11.c sensor->pkt_size--; sensor 663 drivers/input/rmi4/rmi_f11.c sensor->pkt_size--; sensor 667 drivers/input/rmi4/rmi_f11.c sensor->pkt_size += sensor 670 drivers/input/rmi4/rmi_f11.c sensor->data_pkt = devm_kzalloc(&sensor->fn->dev, sensor->pkt_size, sensor 672 drivers/input/rmi4/rmi_f11.c if (!sensor->data_pkt) sensor 675 drivers/input/rmi4/rmi_f11.c data->f_state = sensor->data_pkt; sensor 676 drivers/input/rmi4/rmi_f11.c i = DIV_ROUND_UP(sensor->nbr_fingers, 4); sensor 679 drivers/input/rmi4/rmi_f11.c data->abs_pos = &sensor->data_pkt[i]; sensor 680 drivers/input/rmi4/rmi_f11.c i += (sensor->nbr_fingers * RMI_F11_ABS_BYTES); sensor 684 drivers/input/rmi4/rmi_f11.c data->rel_pos = &sensor->data_pkt[i]; sensor 685 drivers/input/rmi4/rmi_f11.c i += (sensor->nbr_fingers * RMI_F11_REL_BYTES); sensor 689 drivers/input/rmi4/rmi_f11.c data->gest_1 = &sensor->data_pkt[i]; sensor 694 drivers/input/rmi4/rmi_f11.c data->gest_2 = &sensor->data_pkt[i]; sensor 699 drivers/input/rmi4/rmi_f11.c data->pinch = &sensor->data_pkt[i]; sensor 708 drivers/input/rmi4/rmi_f11.c data->flick = &sensor->data_pkt[i]; sensor 717 drivers/input/rmi4/rmi_f11.c data->rotate = &sensor->data_pkt[i]; sensor 723 drivers/input/rmi4/rmi_f11.c data->shapes = &sensor->data_pkt[i]; sensor 1048 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor; sensor 1096 drivers/input/rmi4/rmi_f11.c sensor = &f11->sensor; sensor 1097 drivers/input/rmi4/rmi_f11.c sensor->fn = fn; sensor 1115 drivers/input/rmi4/rmi_f11.c f11->sensor.sensor_type = rmi_sensor_touchscreen; sensor 1117 drivers/input/rmi4/rmi_f11.c f11->sensor.sensor_type = rmi_sensor_touchpad; sensor 1120 drivers/input/rmi4/rmi_f11.c sensor->report_abs = f11->sens_query.has_abs; sensor 1122 drivers/input/rmi4/rmi_f11.c sensor->axis_align = sensor 1125 drivers/input/rmi4/rmi_f11.c sensor->topbuttonpad = f11->sensor_pdata.topbuttonpad; sensor 1126 drivers/input/rmi4/rmi_f11.c sensor->kernel_tracking = f11->sensor_pdata.kernel_tracking; sensor 1127 drivers/input/rmi4/rmi_f11.c sensor->dmax = f11->sensor_pdata.dmax; sensor 1128 drivers/input/rmi4/rmi_f11.c sensor->dribble = f11->sensor_pdata.dribble; sensor 1129 drivers/input/rmi4/rmi_f11.c sensor->palm_detect = f11->sensor_pdata.palm_detect; sensor 1132 drivers/input/rmi4/rmi_f11.c sensor->x_mm = f11->sens_query.x_sensor_size_mm; sensor 1133 drivers/input/rmi4/rmi_f11.c sensor->y_mm = f11->sens_query.y_sensor_size_mm; sensor 1135 drivers/input/rmi4/rmi_f11.c sensor->x_mm = f11->sensor_pdata.x_mm; sensor 1136 drivers/input/rmi4/rmi_f11.c sensor->y_mm = f11->sensor_pdata.y_mm; sensor 1139 drivers/input/rmi4/rmi_f11.c if (sensor->sensor_type == rmi_sensor_default) sensor 1140 drivers/input/rmi4/rmi_f11.c sensor->sensor_type = sensor 1143 drivers/input/rmi4/rmi_f11.c sensor->report_abs = sensor->report_abs sensor 1147 drivers/input/rmi4/rmi_f11.c if (!sensor->report_abs) sensor 1152 drivers/input/rmi4/rmi_f11.c sensor->report_rel = f11->sens_query.has_rel; sensor 1166 drivers/input/rmi4/rmi_f11.c sensor->max_x = max_x_pos; sensor 1167 drivers/input/rmi4/rmi_f11.c sensor->max_y = max_y_pos; sensor 1174 drivers/input/rmi4/rmi_f11.c f11->sensor.attn_size += f11->sensor.nbr_fingers * 2; sensor 1177 drivers/input/rmi4/rmi_f11.c sensor->tracking_pos = devm_kcalloc(&fn->dev, sensor 1178 drivers/input/rmi4/rmi_f11.c sensor->nbr_fingers, sizeof(struct input_mt_pos), sensor 1180 drivers/input/rmi4/rmi_f11.c sensor->tracking_slots = devm_kcalloc(&fn->dev, sensor 1181 drivers/input/rmi4/rmi_f11.c sensor->nbr_fingers, sizeof(int), GFP_KERNEL); sensor 1182 drivers/input/rmi4/rmi_f11.c sensor->objs = devm_kcalloc(&fn->dev, sensor 1183 drivers/input/rmi4/rmi_f11.c sensor->nbr_fingers, sensor 1186 drivers/input/rmi4/rmi_f11.c if (!sensor->tracking_pos || !sensor->tracking_slots || !sensor->objs) sensor 1190 drivers/input/rmi4/rmi_f11.c if (sensor->axis_align.delta_x_threshold) sensor 1192 drivers/input/rmi4/rmi_f11.c sensor->axis_align.delta_x_threshold; sensor 1194 drivers/input/rmi4/rmi_f11.c if (sensor->axis_align.delta_y_threshold) sensor 1196 drivers/input/rmi4/rmi_f11.c sensor->axis_align.delta_y_threshold; sensor 1199 drivers/input/rmi4/rmi_f11.c switch (sensor->dribble) { sensor 1213 drivers/input/rmi4/rmi_f11.c switch (sensor->palm_detect) { sensor 1242 drivers/input/rmi4/rmi_f11.c struct rmi_2d_sensor *sensor = &f11->sensor; sensor 1245 drivers/input/rmi4/rmi_f11.c if (!sensor->report_abs) sensor 1250 drivers/input/rmi4/rmi_f11.c if (!sensor->report_rel) sensor 1271 drivers/input/rmi4/rmi_f11.c int valid_bytes = f11->sensor.pkt_size; sensor 1278 drivers/input/rmi4/rmi_f11.c if (f11->sensor.attn_size > drvdata->attn_data.size) sensor 1281 drivers/input/rmi4/rmi_f11.c valid_bytes = f11->sensor.attn_size; sensor 1282 drivers/input/rmi4/rmi_f11.c memcpy(f11->sensor.data_pkt, drvdata->attn_data.data, sensor 1288 drivers/input/rmi4/rmi_f11.c data_base_addr, f11->sensor.data_pkt, sensor 1289 drivers/input/rmi4/rmi_f11.c f11->sensor.pkt_size); sensor 1294 drivers/input/rmi4/rmi_f11.c rmi_f11_finger_handler(f11, &f11->sensor, valid_bytes); sensor 1332 drivers/input/rmi4/rmi_f11.c error = rmi_2d_sensor_configure_input(fn, &f11->sensor); sensor 29 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor sensor; sensor 66 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor *sensor = &f12->sensor; sensor 67 drivers/input/rmi4/rmi_f12.c struct rmi_function *fn = sensor->fn; sensor 100 drivers/input/rmi4/rmi_f12.c sensor->max_x = (buf[offset + 1] << 8) | buf[offset]; sensor 101 drivers/input/rmi4/rmi_f12.c sensor->max_y = (buf[offset + 3] << 8) | buf[offset + 2]; sensor 106 drivers/input/rmi4/rmi_f12.c sensor->max_x, sensor->max_y); sensor 135 drivers/input/rmi4/rmi_f12.c sensor->x_mm = (pitch_x * rx_receivers) >> 12; sensor 136 drivers/input/rmi4/rmi_f12.c sensor->y_mm = (pitch_y * tx_receivers) >> 12; sensor 139 drivers/input/rmi4/rmi_f12.c sensor->x_mm, sensor->y_mm); sensor 147 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor *sensor = &f12->sensor; sensor 154 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor_abs_object *obj = &sensor->objs[i]; sensor 182 drivers/input/rmi4/rmi_f12.c rmi_2d_sensor_abs_process(sensor, obj, i); sensor 187 drivers/input/rmi4/rmi_f12.c if (sensor->kernel_tracking) sensor 188 drivers/input/rmi4/rmi_f12.c input_mt_assign_slots(sensor->input, sensor 189 drivers/input/rmi4/rmi_f12.c sensor->tracking_slots, sensor 190 drivers/input/rmi4/rmi_f12.c sensor->tracking_pos, sensor 191 drivers/input/rmi4/rmi_f12.c sensor->nbr_fingers, sensor 192 drivers/input/rmi4/rmi_f12.c sensor->dmax); sensor 195 drivers/input/rmi4/rmi_f12.c rmi_2d_sensor_abs_report(sensor, &sensor->objs[i], i); sensor 205 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor *sensor = &f12->sensor; sensor 206 drivers/input/rmi4/rmi_f12.c int valid_bytes = sensor->pkt_size; sensor 209 drivers/input/rmi4/rmi_f12.c if (sensor->attn_size > drvdata->attn_data.size) sensor 212 drivers/input/rmi4/rmi_f12.c valid_bytes = sensor->attn_size; sensor 213 drivers/input/rmi4/rmi_f12.c memcpy(sensor->data_pkt, drvdata->attn_data.data, sensor 219 drivers/input/rmi4/rmi_f12.c sensor->data_pkt, sensor->pkt_size); sensor 229 drivers/input/rmi4/rmi_f12.c &sensor->data_pkt[f12->data1_offset], valid_bytes); sensor 231 drivers/input/rmi4/rmi_f12.c input_mt_sync_frame(sensor->input); sensor 248 drivers/input/rmi4/rmi_f12.c && (f12->sensor.dribble != RMI_REG_STATE_DEFAULT)) { sensor 270 drivers/input/rmi4/rmi_f12.c switch (f12->sensor.dribble) { sensor 298 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor *sensor; sensor 301 drivers/input/rmi4/rmi_f12.c sensor = &f12->sensor; sensor 303 drivers/input/rmi4/rmi_f12.c if (!sensor->report_abs) sensor 326 drivers/input/rmi4/rmi_f12.c struct rmi_2d_sensor *sensor; sensor 403 drivers/input/rmi4/rmi_f12.c sensor = &f12->sensor; sensor 404 drivers/input/rmi4/rmi_f12.c sensor->fn = fn; sensor 406 drivers/input/rmi4/rmi_f12.c sensor->pkt_size = rmi_register_desc_calc_size(&f12->data_reg_desc); sensor 408 drivers/input/rmi4/rmi_f12.c sensor->axis_align = sensor 411 drivers/input/rmi4/rmi_f12.c sensor->x_mm = f12->sensor_pdata.x_mm; sensor 412 drivers/input/rmi4/rmi_f12.c sensor->y_mm = f12->sensor_pdata.y_mm; sensor 413 drivers/input/rmi4/rmi_f12.c sensor->dribble = f12->sensor_pdata.dribble; sensor 415 drivers/input/rmi4/rmi_f12.c if (sensor->sensor_type == rmi_sensor_default) sensor 416 drivers/input/rmi4/rmi_f12.c sensor->sensor_type = sensor 420 drivers/input/rmi4/rmi_f12.c sensor->pkt_size); sensor 421 drivers/input/rmi4/rmi_f12.c sensor->data_pkt = devm_kzalloc(&fn->dev, sensor->pkt_size, GFP_KERNEL); sensor 422 drivers/input/rmi4/rmi_f12.c if (!sensor->data_pkt) sensor 447 drivers/input/rmi4/rmi_f12.c sensor->nbr_fingers = item->num_subpackets; sensor 448 drivers/input/rmi4/rmi_f12.c sensor->report_abs = 1; sensor 449 drivers/input/rmi4/rmi_f12.c sensor->attn_size += item->reg_size; sensor 469 drivers/input/rmi4/rmi_f12.c sensor->attn_size += item->reg_size; sensor 492 drivers/input/rmi4/rmi_f12.c if (!sensor->report_abs) sensor 493 drivers/input/rmi4/rmi_f12.c sensor->report_rel = 1; sensor 524 drivers/input/rmi4/rmi_f12.c sensor->tracking_pos = devm_kcalloc(&fn->dev, sensor 525 drivers/input/rmi4/rmi_f12.c sensor->nbr_fingers, sizeof(struct input_mt_pos), sensor 527 drivers/input/rmi4/rmi_f12.c sensor->tracking_slots = devm_kcalloc(&fn->dev, sensor 528 drivers/input/rmi4/rmi_f12.c sensor->nbr_fingers, sizeof(int), GFP_KERNEL); sensor 529 drivers/input/rmi4/rmi_f12.c sensor->objs = devm_kcalloc(&fn->dev, sensor 530 drivers/input/rmi4/rmi_f12.c sensor->nbr_fingers, sensor 533 drivers/input/rmi4/rmi_f12.c if (!sensor->tracking_pos || !sensor->tracking_slots || !sensor->objs) sensor 536 drivers/input/rmi4/rmi_f12.c ret = rmi_2d_sensor_configure_input(fn, sensor); sensor 353 drivers/macintosh/windfarm_pm121.c struct wf_sensor **sensor; /* use sensor_id instead ? */ sensor 363 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_gpu_temp, sensor 369 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_gpu_temp, sensor 378 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_hard_drive_temp, sensor 384 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_hard_drive_temp, sensor 393 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_north_bridge_temp, sensor 399 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_north_bridge_temp, sensor 408 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_optical_drive_temp, sensor 414 drivers/macintosh/windfarm_pm121.c .sensor = &sensor_optical_drive_temp, sensor 584 drivers/macintosh/windfarm_pm121.c struct wf_sensor *sensor; sensor 591 drivers/macintosh/windfarm_pm121.c sensor = *(param->sensor); sensor 601 drivers/macintosh/windfarm_pm121.c rc = sensor->ops->get_value(sensor, &temp); sensor 604 drivers/macintosh/windfarm_pm121.c sensor->name, rc); sensor 610 drivers/macintosh/windfarm_pm121.c loop_names[loop_id], sensor->name, sensor 897 drivers/macintosh/windfarm_pm121.c static struct wf_sensor* pm121_register_sensor(struct wf_sensor *sensor, sensor 901 drivers/macintosh/windfarm_pm121.c if (*var == NULL && !strcmp(sensor->name, match)) { sensor 902 drivers/macintosh/windfarm_pm121.c if (wf_get_sensor(sensor) == 0) sensor 903 drivers/macintosh/windfarm_pm121.c *var = sensor; sensor 870 drivers/media/i2c/adv7180.c .sensor = &adv7180_sensor_ops, sensor 554 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_set_gain(struct et8ek8_sensor *sensor, s32 gain) sensor 556 drivers/media/i2c/et8ek8/et8ek8_driver.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 582 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_set_test_pattern(struct et8ek8_sensor *sensor, s32 mode) sensor 584 drivers/media/i2c/et8ek8/et8ek8_driver.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 638 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = sensor 643 drivers/media/i2c/et8ek8/et8ek8_driver.c return et8ek8_set_gain(sensor, ctrl->val); sensor 648 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_get_subdevdata(&sensor->subdev); sensor 655 drivers/media/i2c/et8ek8/et8ek8_driver.c return et8ek8_set_test_pattern(sensor, ctrl->val); sensor 681 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_init_controls(struct et8ek8_sensor *sensor) sensor 685 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_handler_init(&sensor->ctrl_handler, 4); sensor 688 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_new_std(&sensor->ctrl_handler, &et8ek8_ctrl_ops, sensor 692 drivers/media/i2c/et8ek8/et8ek8_driver.c max_rows = sensor->current_reglist->mode.max_exp; sensor 696 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->exposure = sensor 697 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_new_std(&sensor->ctrl_handler, sensor 703 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->pixel_rate = sensor 704 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_new_std(&sensor->ctrl_handler, &et8ek8_ctrl_ops, sensor 708 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_new_std_menu_items(&sensor->ctrl_handler, sensor 713 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->ctrl_handler.error) sensor 714 drivers/media/i2c/et8ek8/et8ek8_driver.c return sensor->ctrl_handler.error; sensor 716 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->subdev.ctrl_handler = &sensor->ctrl_handler; sensor 721 drivers/media/i2c/et8ek8/et8ek8_driver.c static void et8ek8_update_controls(struct et8ek8_sensor *sensor) sensor 724 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_mode *mode = &sensor->current_reglist->mode; sensor 729 drivers/media/i2c/et8ek8/et8ek8_driver.c ctrl = sensor->exposure; sensor 743 drivers/media/i2c/et8ek8/et8ek8_driver.c __v4l2_ctrl_s_ctrl_int64(sensor->pixel_rate, pixel_rate << S); sensor 746 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_configure(struct et8ek8_sensor *sensor) sensor 748 drivers/media/i2c/et8ek8/et8ek8_driver.c struct v4l2_subdev *subdev = &sensor->subdev; sensor 752 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_i2c_write_regs(client, sensor->current_reglist->regs); sensor 760 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = v4l2_ctrl_handler_setup(&sensor->ctrl_handler); sensor 772 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_stream_on(struct et8ek8_sensor *sensor) sensor 774 drivers/media/i2c/et8ek8/et8ek8_driver.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 779 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_stream_off(struct et8ek8_sensor *sensor) sensor 781 drivers/media/i2c/et8ek8/et8ek8_driver.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 788 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 792 drivers/media/i2c/et8ek8/et8ek8_driver.c return et8ek8_stream_off(sensor); sensor 794 drivers/media/i2c/et8ek8/et8ek8_driver.c ret = et8ek8_configure(sensor); sensor 798 drivers/media/i2c/et8ek8/et8ek8_driver.c return et8ek8_stream_on(sensor); sensor 805 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_power_off(struct et8ek8_sensor *sensor) sensor 807 drivers/media/i2c/et8ek8/et8ek8_driver.c gpiod_set_value(sensor->reset, 0); sensor 810 drivers/media/i2c/et8ek8/et8ek8_driver.c clk_disable_unprepare(sensor->ext_clk); sensor 812 drivers/media/i2c/et8ek8/et8ek8_driver.c return regulator_disable(sensor->vana); sensor 815 drivers/media/i2c/et8ek8/et8ek8_driver.c static int et8ek8_power_on(struct et8ek8_sensor *sensor) sensor 817 drivers/media/i2c/et8ek8/et8ek8_driver.c struct v4l2_subdev *subdev = &sensor->subdev; sensor 822 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = regulator_enable(sensor->vana); sensor 828 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->current_reglist) sensor 829 drivers/media/i2c/et8ek8/et8ek8_driver.c xclk_freq = sensor->current_reglist->mode.ext_clock; sensor 831 drivers/media/i2c/et8ek8/et8ek8_driver.c xclk_freq = sensor->xclk_freq; sensor 833 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = clk_set_rate(sensor->ext_clk, xclk_freq); sensor 839 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = clk_prepare_enable(sensor->ext_clk); sensor 850 drivers/media/i2c/et8ek8/et8ek8_driver.c gpiod_set_value(sensor->reset, 1); sensor 875 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_power_off(sensor); sensor 992 drivers/media/i2c/et8ek8/et8ek8_driver.c __et8ek8_get_pad_format(struct et8ek8_sensor *sensor, sensor 998 drivers/media/i2c/et8ek8/et8ek8_driver.c return v4l2_subdev_get_try_format(&sensor->subdev, cfg, pad); sensor 1000 drivers/media/i2c/et8ek8/et8ek8_driver.c return &sensor->format; sensor 1010 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1013 drivers/media/i2c/et8ek8/et8ek8_driver.c format = __et8ek8_get_pad_format(sensor, cfg, fmt->pad, fmt->which); sensor 1026 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1030 drivers/media/i2c/et8ek8/et8ek8_driver.c format = __et8ek8_get_pad_format(sensor, cfg, fmt->pad, fmt->which); sensor 1039 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->current_reglist = reglist; sensor 1040 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_update_controls(sensor); sensor 1049 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1052 drivers/media/i2c/et8ek8/et8ek8_driver.c fi->interval = sensor->current_reglist->mode.timeperframe; sensor 1060 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1064 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->current_reglist, sensor 1070 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->current_reglist->mode.ext_clock != reglist->mode.ext_clock) sensor 1073 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->current_reglist = reglist; sensor 1074 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_update_controls(sensor); sensor 1081 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1085 drivers/media/i2c/et8ek8/et8ek8_driver.c u8 *ptr = sensor->priv_mem; sensor 1156 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1160 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_power_on(sensor); sensor 1176 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->version = (rev_h << 8) + rev_l; sensor 1177 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->version != ET8EK8_REV_1 && sensor->version != ET8EK8_REV_2) sensor 1180 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->version); sensor 1190 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->current_reglist = et8ek8_reglist_find_type(&meta_reglist, sensor 1192 drivers/media/i2c/et8ek8/et8ek8_driver.c if (!sensor->current_reglist) { sensor 1200 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_reglist_to_mbus(sensor->current_reglist, &sensor->format); sensor 1210 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_stream_on(sensor); /* Needed to be able to read EEPROM */ sensor 1217 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_stream_off(sensor); sensor 1221 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_power_off(sensor); sensor 1228 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_power_off(sensor); sensor 1241 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1247 drivers/media/i2c/et8ek8/et8ek8_driver.c memcpy(buf, sensor->priv_mem, ET8EK8_PRIV_MEM_SIZE); sensor 1260 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1276 drivers/media/i2c/et8ek8/et8ek8_driver.c rval = et8ek8_init_controls(sensor); sensor 1282 drivers/media/i2c/et8ek8/et8ek8_driver.c __et8ek8_get_pad_format(sensor, NULL, 0, V4L2_SUBDEV_FORMAT_ACTIVE); sensor 1292 drivers/media/i2c/et8ek8/et8ek8_driver.c static int __et8ek8_set_power(struct et8ek8_sensor *sensor, bool on) sensor 1294 drivers/media/i2c/et8ek8/et8ek8_driver.c return on ? et8ek8_power_on(sensor) : et8ek8_power_off(sensor); sensor 1299 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1302 drivers/media/i2c/et8ek8/et8ek8_driver.c mutex_lock(&sensor->power_lock); sensor 1307 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->power_count == !on) { sensor 1308 drivers/media/i2c/et8ek8/et8ek8_driver.c ret = __et8ek8_set_power(sensor, !!on); sensor 1314 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->power_count += on ? 1 : -1; sensor 1315 drivers/media/i2c/et8ek8/et8ek8_driver.c WARN_ON(sensor->power_count < 0); sensor 1318 drivers/media/i2c/et8ek8/et8ek8_driver.c mutex_unlock(&sensor->power_lock); sensor 1325 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(sd); sensor 1330 drivers/media/i2c/et8ek8/et8ek8_driver.c format = __et8ek8_get_pad_format(sensor, fh->pad, 0, sensor 1379 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1381 drivers/media/i2c/et8ek8/et8ek8_driver.c if (!sensor->power_count) sensor 1384 drivers/media/i2c/et8ek8/et8ek8_driver.c return __et8ek8_set_power(sensor, false); sensor 1391 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1393 drivers/media/i2c/et8ek8/et8ek8_driver.c if (!sensor->power_count) sensor 1396 drivers/media/i2c/et8ek8/et8ek8_driver.c return __et8ek8_set_power(sensor, true); sensor 1401 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor; sensor 1405 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); sensor 1406 drivers/media/i2c/et8ek8/et8ek8_driver.c if (!sensor) sensor 1409 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); sensor 1410 drivers/media/i2c/et8ek8/et8ek8_driver.c if (IS_ERR(sensor->reset)) { sensor 1412 drivers/media/i2c/et8ek8/et8ek8_driver.c return PTR_ERR(sensor->reset); sensor 1415 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->vana = devm_regulator_get(dev, "vana"); sensor 1416 drivers/media/i2c/et8ek8/et8ek8_driver.c if (IS_ERR(sensor->vana)) { sensor 1418 drivers/media/i2c/et8ek8/et8ek8_driver.c return PTR_ERR(sensor->vana); sensor 1421 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->ext_clk = devm_clk_get(dev, NULL); sensor 1422 drivers/media/i2c/et8ek8/et8ek8_driver.c if (IS_ERR(sensor->ext_clk)) { sensor 1424 drivers/media/i2c/et8ek8/et8ek8_driver.c return PTR_ERR(sensor->ext_clk); sensor 1428 drivers/media/i2c/et8ek8/et8ek8_driver.c &sensor->xclk_freq); sensor 1434 drivers/media/i2c/et8ek8/et8ek8_driver.c mutex_init(&sensor->power_lock); sensor 1436 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_i2c_subdev_init(&sensor->subdev, client, &et8ek8_ops); sensor 1437 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sensor 1438 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->subdev.internal_ops = &et8ek8_internal_ops; sensor 1440 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->subdev.entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor 1441 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 1442 drivers/media/i2c/et8ek8/et8ek8_driver.c ret = media_entity_pads_init(&sensor->subdev.entity, 1, &sensor->pad); sensor 1448 drivers/media/i2c/et8ek8/et8ek8_driver.c ret = v4l2_async_register_subdev_sensor_common(&sensor->subdev); sensor 1457 drivers/media/i2c/et8ek8/et8ek8_driver.c media_entity_cleanup(&sensor->subdev.entity); sensor 1459 drivers/media/i2c/et8ek8/et8ek8_driver.c mutex_destroy(&sensor->power_lock); sensor 1466 drivers/media/i2c/et8ek8/et8ek8_driver.c struct et8ek8_sensor *sensor = to_et8ek8_sensor(subdev); sensor 1468 drivers/media/i2c/et8ek8/et8ek8_driver.c if (sensor->power_count) { sensor 1470 drivers/media/i2c/et8ek8/et8ek8_driver.c et8ek8_power_off(sensor); sensor 1471 drivers/media/i2c/et8ek8/et8ek8_driver.c sensor->power_count = 0; sensor 1474 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_device_unregister_subdev(&sensor->subdev); sensor 1476 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_ctrl_handler_free(&sensor->ctrl_handler); sensor 1477 drivers/media/i2c/et8ek8/et8ek8_driver.c v4l2_async_unregister_subdev(&sensor->subdev); sensor 1478 drivers/media/i2c/et8ek8/et8ek8_driver.c media_entity_cleanup(&sensor->subdev.entity); sensor 1479 drivers/media/i2c/et8ek8/et8ek8_driver.c mutex_destroy(&sensor->power_lock); sensor 725 drivers/media/i2c/mt9m001.c .sensor = &mt9m001_subdev_sensor_ops, sensor 155 drivers/media/i2c/mt9m032.c #define to_dev(sensor) \ sensor 156 drivers/media/i2c/mt9m032.c (&((struct i2c_client *)v4l2_get_subdevdata(&(sensor)->subdev))->dev) sensor 168 drivers/media/i2c/mt9m032.c static u32 mt9m032_row_time(struct mt9m032 *sensor, unsigned int width) sensor 174 drivers/media/i2c/mt9m032.c ns = div_u64(1000000000ULL * effective_width, sensor->pix_clock); sensor 175 drivers/media/i2c/mt9m032.c dev_dbg(to_dev(sensor), "MT9M032 line time: %u ns\n", ns); sensor 179 drivers/media/i2c/mt9m032.c static int mt9m032_update_timing(struct mt9m032 *sensor, sensor 182 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 183 drivers/media/i2c/mt9m032.c struct v4l2_rect *crop = &sensor->crop; sensor 189 drivers/media/i2c/mt9m032.c interval = &sensor->frame_interval; sensor 191 drivers/media/i2c/mt9m032.c row_time = mt9m032_row_time(sensor, crop->width); sensor 215 drivers/media/i2c/mt9m032.c static int mt9m032_update_geom_timing(struct mt9m032 *sensor) sensor 217 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 221 drivers/media/i2c/mt9m032.c sensor->crop.width - 1); sensor 224 drivers/media/i2c/mt9m032.c sensor->crop.height - 1); sensor 227 drivers/media/i2c/mt9m032.c sensor->crop.left); sensor 230 drivers/media/i2c/mt9m032.c sensor->crop.top); sensor 232 drivers/media/i2c/mt9m032.c ret = mt9m032_update_timing(sensor, NULL); sensor 236 drivers/media/i2c/mt9m032.c static int update_formatter2(struct mt9m032 *sensor, bool streaming) sensor 238 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 249 drivers/media/i2c/mt9m032.c static int mt9m032_setup_pll(struct mt9m032 *sensor) sensor 267 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 268 drivers/media/i2c/mt9m032.c struct mt9m032_platform_data *pdata = sensor->pdata; sensor 280 drivers/media/i2c/mt9m032.c sensor->pix_clock = pdata->pix_clock; sensor 341 drivers/media/i2c/mt9m032.c __mt9m032_get_pad_crop(struct mt9m032 *sensor, struct v4l2_subdev_pad_config *cfg, sensor 346 drivers/media/i2c/mt9m032.c return v4l2_subdev_get_try_crop(&sensor->subdev, cfg, 0); sensor 348 drivers/media/i2c/mt9m032.c return &sensor->crop; sensor 363 drivers/media/i2c/mt9m032.c __mt9m032_get_pad_format(struct mt9m032 *sensor, struct v4l2_subdev_pad_config *cfg, sensor 368 drivers/media/i2c/mt9m032.c return v4l2_subdev_get_try_format(&sensor->subdev, cfg, 0); sensor 370 drivers/media/i2c/mt9m032.c return &sensor->format; sensor 380 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 382 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 383 drivers/media/i2c/mt9m032.c fmt->format = *__mt9m032_get_pad_format(sensor, cfg, fmt->which); sensor 384 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 393 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 396 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 398 drivers/media/i2c/mt9m032.c if (sensor->streaming && fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE) { sensor 404 drivers/media/i2c/mt9m032.c fmt->format = *__mt9m032_get_pad_format(sensor, cfg, fmt->which); sensor 408 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 416 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 421 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 422 drivers/media/i2c/mt9m032.c sel->r = *__mt9m032_get_pad_crop(sensor, cfg, sel->which); sensor 423 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 432 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 441 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 443 drivers/media/i2c/mt9m032.c if (sensor->streaming && sel->which == V4L2_SUBDEV_FORMAT_ACTIVE) { sensor 465 drivers/media/i2c/mt9m032.c __crop = __mt9m032_get_pad_crop(sensor, cfg, sel->which); sensor 471 drivers/media/i2c/mt9m032.c format = __mt9m032_get_pad_format(sensor, cfg, sel->which); sensor 480 drivers/media/i2c/mt9m032.c ret = mt9m032_update_geom_timing(sensor); sensor 483 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 490 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 492 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 494 drivers/media/i2c/mt9m032.c fi->interval = sensor->frame_interval; sensor 495 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 503 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 506 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 508 drivers/media/i2c/mt9m032.c if (sensor->streaming) { sensor 517 drivers/media/i2c/mt9m032.c ret = mt9m032_update_timing(sensor, &fi->interval); sensor 519 drivers/media/i2c/mt9m032.c sensor->frame_interval = fi->interval; sensor 522 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 528 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 531 drivers/media/i2c/mt9m032.c mutex_lock(&sensor->lock); sensor 532 drivers/media/i2c/mt9m032.c ret = update_formatter2(sensor, streaming); sensor 534 drivers/media/i2c/mt9m032.c sensor->streaming = streaming; sensor 535 drivers/media/i2c/mt9m032.c mutex_unlock(&sensor->lock); sensor 548 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(sd); sensor 549 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 568 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(sd); sensor 569 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 582 drivers/media/i2c/mt9m032.c static int update_read_mode2(struct mt9m032 *sensor, bool vflip, bool hflip) sensor 584 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 593 drivers/media/i2c/mt9m032.c static int mt9m032_set_gain(struct mt9m032 *sensor, s32 val) sensor 595 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 634 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = sensor 636 drivers/media/i2c/mt9m032.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); sensor 641 drivers/media/i2c/mt9m032.c return mt9m032_set_gain(sensor, ctrl->val); sensor 645 drivers/media/i2c/mt9m032.c return update_read_mode2(sensor, sensor->vflip->val, sensor 646 drivers/media/i2c/mt9m032.c sensor->hflip->val); sensor 705 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor; sensor 723 drivers/media/i2c/mt9m032.c sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); sensor 724 drivers/media/i2c/mt9m032.c if (sensor == NULL) sensor 727 drivers/media/i2c/mt9m032.c mutex_init(&sensor->lock); sensor 729 drivers/media/i2c/mt9m032.c sensor->pdata = pdata; sensor 731 drivers/media/i2c/mt9m032.c v4l2_i2c_subdev_init(&sensor->subdev, client, &mt9m032_ops); sensor 732 drivers/media/i2c/mt9m032.c sensor->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sensor 745 drivers/media/i2c/mt9m032.c sensor->frame_interval.numerator = 1; sensor 746 drivers/media/i2c/mt9m032.c sensor->frame_interval.denominator = 30; sensor 748 drivers/media/i2c/mt9m032.c sensor->crop.left = MT9M032_COLUMN_START_DEF; sensor 749 drivers/media/i2c/mt9m032.c sensor->crop.top = MT9M032_ROW_START_DEF; sensor 750 drivers/media/i2c/mt9m032.c sensor->crop.width = MT9M032_COLUMN_SIZE_DEF; sensor 751 drivers/media/i2c/mt9m032.c sensor->crop.height = MT9M032_ROW_SIZE_DEF; sensor 753 drivers/media/i2c/mt9m032.c sensor->format.width = sensor->crop.width; sensor 754 drivers/media/i2c/mt9m032.c sensor->format.height = sensor->crop.height; sensor 755 drivers/media/i2c/mt9m032.c sensor->format.code = MEDIA_BUS_FMT_Y8_1X8; sensor 756 drivers/media/i2c/mt9m032.c sensor->format.field = V4L2_FIELD_NONE; sensor 757 drivers/media/i2c/mt9m032.c sensor->format.colorspace = V4L2_COLORSPACE_SRGB; sensor 759 drivers/media/i2c/mt9m032.c v4l2_ctrl_handler_init(&sensor->ctrls, 5); sensor 761 drivers/media/i2c/mt9m032.c v4l2_ctrl_new_std(&sensor->ctrls, &mt9m032_ctrl_ops, sensor 764 drivers/media/i2c/mt9m032.c sensor->hflip = v4l2_ctrl_new_std(&sensor->ctrls, sensor 767 drivers/media/i2c/mt9m032.c sensor->vflip = v4l2_ctrl_new_std(&sensor->ctrls, sensor 771 drivers/media/i2c/mt9m032.c v4l2_ctrl_new_std(&sensor->ctrls, &mt9m032_ctrl_ops, sensor 775 drivers/media/i2c/mt9m032.c v4l2_ctrl_new_std(&sensor->ctrls, &mt9m032_ctrl_ops, sensor 779 drivers/media/i2c/mt9m032.c if (sensor->ctrls.error) { sensor 780 drivers/media/i2c/mt9m032.c ret = sensor->ctrls.error; sensor 785 drivers/media/i2c/mt9m032.c v4l2_ctrl_cluster(2, &sensor->hflip); sensor 787 drivers/media/i2c/mt9m032.c sensor->subdev.ctrl_handler = &sensor->ctrls; sensor 788 drivers/media/i2c/mt9m032.c sensor->subdev.entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor 789 drivers/media/i2c/mt9m032.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 790 drivers/media/i2c/mt9m032.c ret = media_entity_pads_init(&sensor->subdev.entity, 1, &sensor->pad); sensor 801 drivers/media/i2c/mt9m032.c ret = mt9m032_setup_pll(sensor); sensor 806 drivers/media/i2c/mt9m032.c ret = v4l2_ctrl_handler_setup(&sensor->ctrls); sensor 811 drivers/media/i2c/mt9m032.c ret = mt9m032_update_geom_timing(sensor); sensor 827 drivers/media/i2c/mt9m032.c if (sensor->pdata->invert_pixclock) { sensor 842 drivers/media/i2c/mt9m032.c ret = update_formatter2(sensor, false); sensor 849 drivers/media/i2c/mt9m032.c media_entity_cleanup(&sensor->subdev.entity); sensor 851 drivers/media/i2c/mt9m032.c v4l2_ctrl_handler_free(&sensor->ctrls); sensor 853 drivers/media/i2c/mt9m032.c mutex_destroy(&sensor->lock); sensor 860 drivers/media/i2c/mt9m032.c struct mt9m032 *sensor = to_mt9m032(subdev); sensor 863 drivers/media/i2c/mt9m032.c v4l2_ctrl_handler_free(&sensor->ctrls); sensor 865 drivers/media/i2c/mt9m032.c mutex_destroy(&sensor->lock); sensor 1577 drivers/media/i2c/ov13858.c .sensor = &ov13858_sensor_ops, sensor 186 drivers/media/i2c/ov2680.c static struct device *ov2680_to_dev(struct ov2680_dev *sensor) sensor 188 drivers/media/i2c/ov2680.c return &sensor->i2c_client->dev; sensor 197 drivers/media/i2c/ov2680.c static int __ov2680_write_reg(struct ov2680_dev *sensor, u16 reg, sensor 200 drivers/media/i2c/ov2680.c struct i2c_client *client = sensor->i2c_client; sensor 227 drivers/media/i2c/ov2680.c static int __ov2680_read_reg(struct ov2680_dev *sensor, u16 reg, sensor 230 drivers/media/i2c/ov2680.c struct i2c_client *client = sensor->i2c_client; sensor 269 drivers/media/i2c/ov2680.c static int ov2680_mod_reg(struct ov2680_dev *sensor, u16 reg, u8 mask, u8 val) sensor 274 drivers/media/i2c/ov2680.c ret = ov2680_read_reg(sensor, reg, &readval); sensor 282 drivers/media/i2c/ov2680.c return ov2680_write_reg(sensor, reg, val); sensor 285 drivers/media/i2c/ov2680.c static int ov2680_load_regs(struct ov2680_dev *sensor, sensor 298 drivers/media/i2c/ov2680.c ret = ov2680_write_reg(sensor, reg_addr, val); sensor 306 drivers/media/i2c/ov2680.c static void ov2680_power_up(struct ov2680_dev *sensor) sensor 308 drivers/media/i2c/ov2680.c if (!sensor->reset_gpio) sensor 311 drivers/media/i2c/ov2680.c gpiod_set_value(sensor->reset_gpio, 0); sensor 315 drivers/media/i2c/ov2680.c static void ov2680_power_down(struct ov2680_dev *sensor) sensor 317 drivers/media/i2c/ov2680.c if (!sensor->reset_gpio) sensor 320 drivers/media/i2c/ov2680.c gpiod_set_value(sensor->reset_gpio, 1); sensor 324 drivers/media/i2c/ov2680.c static int ov2680_bayer_order(struct ov2680_dev *sensor) sensor 331 drivers/media/i2c/ov2680.c ret = ov2680_read_reg(sensor, OV2680_REG_FORMAT1, &format1); sensor 335 drivers/media/i2c/ov2680.c ret = ov2680_read_reg(sensor, OV2680_REG_FORMAT2, &format2); sensor 341 drivers/media/i2c/ov2680.c sensor->fmt.code = ov2680_hv_flip_bayer_order[hv_flip]; sensor 346 drivers/media/i2c/ov2680.c static int ov2680_vflip_enable(struct ov2680_dev *sensor) sensor 350 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_FORMAT1, BIT(2), BIT(2)); sensor 354 drivers/media/i2c/ov2680.c return ov2680_bayer_order(sensor); sensor 357 drivers/media/i2c/ov2680.c static int ov2680_vflip_disable(struct ov2680_dev *sensor) sensor 361 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_FORMAT1, BIT(2), BIT(0)); sensor 365 drivers/media/i2c/ov2680.c return ov2680_bayer_order(sensor); sensor 368 drivers/media/i2c/ov2680.c static int ov2680_hflip_enable(struct ov2680_dev *sensor) sensor 372 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_FORMAT2, BIT(2), BIT(2)); sensor 376 drivers/media/i2c/ov2680.c return ov2680_bayer_order(sensor); sensor 379 drivers/media/i2c/ov2680.c static int ov2680_hflip_disable(struct ov2680_dev *sensor) sensor 383 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_FORMAT2, BIT(2), BIT(0)); sensor 387 drivers/media/i2c/ov2680.c return ov2680_bayer_order(sensor); sensor 390 drivers/media/i2c/ov2680.c static int ov2680_test_pattern_set(struct ov2680_dev *sensor, int value) sensor 395 drivers/media/i2c/ov2680.c return ov2680_mod_reg(sensor, OV2680_REG_ISP_CTRL00, BIT(7), 0); sensor 397 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_ISP_CTRL00, 0x03, value - 1); sensor 401 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_ISP_CTRL00, BIT(7), BIT(7)); sensor 408 drivers/media/i2c/ov2680.c static int ov2680_gain_set(struct ov2680_dev *sensor, bool auto_gain) sensor 410 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 414 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_R_MANUAL, BIT(1), sensor 424 drivers/media/i2c/ov2680.c ret = ov2680_write_reg16(sensor, OV2680_REG_GAIN_PK, gain); sensor 429 drivers/media/i2c/ov2680.c static int ov2680_gain_get(struct ov2680_dev *sensor) sensor 434 drivers/media/i2c/ov2680.c ret = ov2680_read_reg16(sensor, OV2680_REG_GAIN_PK, &gain); sensor 441 drivers/media/i2c/ov2680.c static int ov2680_exposure_set(struct ov2680_dev *sensor, bool auto_exp) sensor 443 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 447 drivers/media/i2c/ov2680.c ret = ov2680_mod_reg(sensor, OV2680_REG_R_MANUAL, BIT(0), sensor 458 drivers/media/i2c/ov2680.c return ov2680_write_reg24(sensor, OV2680_REG_EXPOSURE_PK_HIGH, exp); sensor 461 drivers/media/i2c/ov2680.c static int ov2680_exposure_get(struct ov2680_dev *sensor) sensor 466 drivers/media/i2c/ov2680.c ret = ov2680_read_reg24(sensor, OV2680_REG_EXPOSURE_PK_HIGH, &exp); sensor 473 drivers/media/i2c/ov2680.c static int ov2680_stream_enable(struct ov2680_dev *sensor) sensor 475 drivers/media/i2c/ov2680.c return ov2680_write_reg(sensor, OV2680_REG_STREAM_CTRL, 1); sensor 478 drivers/media/i2c/ov2680.c static int ov2680_stream_disable(struct ov2680_dev *sensor) sensor 480 drivers/media/i2c/ov2680.c return ov2680_write_reg(sensor, OV2680_REG_STREAM_CTRL, 0); sensor 483 drivers/media/i2c/ov2680.c static int ov2680_mode_set(struct ov2680_dev *sensor) sensor 485 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 488 drivers/media/i2c/ov2680.c ret = ov2680_gain_set(sensor, false); sensor 492 drivers/media/i2c/ov2680.c ret = ov2680_exposure_set(sensor, false); sensor 496 drivers/media/i2c/ov2680.c ret = ov2680_load_regs(sensor, sensor->current_mode); sensor 501 drivers/media/i2c/ov2680.c ret = ov2680_gain_set(sensor, true); sensor 507 drivers/media/i2c/ov2680.c ret = ov2680_exposure_set(sensor, true); sensor 512 drivers/media/i2c/ov2680.c sensor->mode_pending_changes = false; sensor 517 drivers/media/i2c/ov2680.c static int ov2680_mode_restore(struct ov2680_dev *sensor) sensor 521 drivers/media/i2c/ov2680.c ret = ov2680_load_regs(sensor, &ov2680_mode_init_data); sensor 525 drivers/media/i2c/ov2680.c return ov2680_mode_set(sensor); sensor 528 drivers/media/i2c/ov2680.c static int ov2680_power_off(struct ov2680_dev *sensor) sensor 530 drivers/media/i2c/ov2680.c if (!sensor->is_enabled) sensor 533 drivers/media/i2c/ov2680.c clk_disable_unprepare(sensor->xvclk); sensor 534 drivers/media/i2c/ov2680.c ov2680_power_down(sensor); sensor 535 drivers/media/i2c/ov2680.c regulator_bulk_disable(OV2680_NUM_SUPPLIES, sensor->supplies); sensor 536 drivers/media/i2c/ov2680.c sensor->is_enabled = false; sensor 541 drivers/media/i2c/ov2680.c static int ov2680_power_on(struct ov2680_dev *sensor) sensor 543 drivers/media/i2c/ov2680.c struct device *dev = ov2680_to_dev(sensor); sensor 546 drivers/media/i2c/ov2680.c if (sensor->is_enabled) sensor 549 drivers/media/i2c/ov2680.c ret = regulator_bulk_enable(OV2680_NUM_SUPPLIES, sensor->supplies); sensor 555 drivers/media/i2c/ov2680.c if (!sensor->reset_gpio) { sensor 556 drivers/media/i2c/ov2680.c ret = ov2680_write_reg(sensor, OV2680_REG_SOFT_RESET, 0x01); sensor 563 drivers/media/i2c/ov2680.c ov2680_power_down(sensor); sensor 564 drivers/media/i2c/ov2680.c ov2680_power_up(sensor); sensor 567 drivers/media/i2c/ov2680.c ret = clk_prepare_enable(sensor->xvclk); sensor 571 drivers/media/i2c/ov2680.c sensor->is_enabled = true; sensor 574 drivers/media/i2c/ov2680.c ov2680_stream_enable(sensor); sensor 576 drivers/media/i2c/ov2680.c ov2680_stream_disable(sensor); sensor 583 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 586 drivers/media/i2c/ov2680.c mutex_lock(&sensor->lock); sensor 589 drivers/media/i2c/ov2680.c ret = ov2680_power_on(sensor); sensor 591 drivers/media/i2c/ov2680.c ret = ov2680_power_off(sensor); sensor 593 drivers/media/i2c/ov2680.c mutex_unlock(&sensor->lock); sensor 596 drivers/media/i2c/ov2680.c ret = v4l2_ctrl_handler_setup(&sensor->ctrls.handler); sensor 600 drivers/media/i2c/ov2680.c ret = ov2680_mode_restore(sensor); sensor 609 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 611 drivers/media/i2c/ov2680.c mutex_lock(&sensor->lock); sensor 612 drivers/media/i2c/ov2680.c fi->interval = sensor->frame_interval; sensor 613 drivers/media/i2c/ov2680.c mutex_unlock(&sensor->lock); sensor 620 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 623 drivers/media/i2c/ov2680.c mutex_lock(&sensor->lock); sensor 625 drivers/media/i2c/ov2680.c if (sensor->is_streaming == !!enable) sensor 628 drivers/media/i2c/ov2680.c if (enable && sensor->mode_pending_changes) { sensor 629 drivers/media/i2c/ov2680.c ret = ov2680_mode_set(sensor); sensor 635 drivers/media/i2c/ov2680.c ret = ov2680_stream_enable(sensor); sensor 637 drivers/media/i2c/ov2680.c ret = ov2680_stream_disable(sensor); sensor 639 drivers/media/i2c/ov2680.c sensor->is_streaming = !!enable; sensor 642 drivers/media/i2c/ov2680.c mutex_unlock(&sensor->lock); sensor 651 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 656 drivers/media/i2c/ov2680.c code->code = sensor->fmt.code; sensor 665 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 672 drivers/media/i2c/ov2680.c mutex_lock(&sensor->lock); sensor 676 drivers/media/i2c/ov2680.c fmt = v4l2_subdev_get_try_format(&sensor->sd, cfg, format->pad); sensor 681 drivers/media/i2c/ov2680.c fmt = &sensor->fmt; sensor 687 drivers/media/i2c/ov2680.c mutex_unlock(&sensor->lock); sensor 696 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 707 drivers/media/i2c/ov2680.c mutex_lock(&sensor->lock); sensor 709 drivers/media/i2c/ov2680.c if (sensor->is_streaming) { sensor 732 drivers/media/i2c/ov2680.c fmt->code = sensor->fmt.code; sensor 733 drivers/media/i2c/ov2680.c fmt->colorspace = sensor->fmt.colorspace; sensor 735 drivers/media/i2c/ov2680.c sensor->current_mode = mode; sensor 736 drivers/media/i2c/ov2680.c sensor->fmt = format->format; sensor 737 drivers/media/i2c/ov2680.c sensor->mode_pending_changes = true; sensor 740 drivers/media/i2c/ov2680.c mutex_unlock(&sensor->lock); sensor 799 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 800 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 803 drivers/media/i2c/ov2680.c if (!sensor->is_enabled) sensor 808 drivers/media/i2c/ov2680.c val = ov2680_gain_get(sensor); sensor 814 drivers/media/i2c/ov2680.c val = ov2680_exposure_get(sensor); sensor 827 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 828 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 830 drivers/media/i2c/ov2680.c if (!sensor->is_enabled) sensor 835 drivers/media/i2c/ov2680.c return ov2680_gain_set(sensor, !!ctrl->val); sensor 837 drivers/media/i2c/ov2680.c return ov2680_gain_set(sensor, !!ctrls->auto_gain->val); sensor 839 drivers/media/i2c/ov2680.c return ov2680_exposure_set(sensor, !!ctrl->val); sensor 841 drivers/media/i2c/ov2680.c return ov2680_exposure_set(sensor, !!ctrls->auto_exp->val); sensor 843 drivers/media/i2c/ov2680.c if (sensor->is_streaming) sensor 846 drivers/media/i2c/ov2680.c return ov2680_vflip_enable(sensor); sensor 848 drivers/media/i2c/ov2680.c return ov2680_vflip_disable(sensor); sensor 850 drivers/media/i2c/ov2680.c if (sensor->is_streaming) sensor 853 drivers/media/i2c/ov2680.c return ov2680_hflip_enable(sensor); sensor 855 drivers/media/i2c/ov2680.c return ov2680_hflip_disable(sensor); sensor 857 drivers/media/i2c/ov2680.c return ov2680_test_pattern_set(sensor, ctrl->val); sensor 895 drivers/media/i2c/ov2680.c static int ov2680_mode_init(struct ov2680_dev *sensor) sensor 900 drivers/media/i2c/ov2680.c sensor->fmt.code = MEDIA_BUS_FMT_SBGGR10_1X10; sensor 901 drivers/media/i2c/ov2680.c sensor->fmt.width = 800; sensor 902 drivers/media/i2c/ov2680.c sensor->fmt.height = 600; sensor 903 drivers/media/i2c/ov2680.c sensor->fmt.field = V4L2_FIELD_NONE; sensor 904 drivers/media/i2c/ov2680.c sensor->fmt.colorspace = V4L2_COLORSPACE_SRGB; sensor 906 drivers/media/i2c/ov2680.c sensor->frame_interval.denominator = OV2680_FRAME_RATE; sensor 907 drivers/media/i2c/ov2680.c sensor->frame_interval.numerator = 1; sensor 911 drivers/media/i2c/ov2680.c sensor->current_mode = init_mode; sensor 913 drivers/media/i2c/ov2680.c sensor->mode_pending_changes = true; sensor 918 drivers/media/i2c/ov2680.c static int ov2680_v4l2_register(struct ov2680_dev *sensor) sensor 921 drivers/media/i2c/ov2680.c struct ov2680_ctrls *ctrls = &sensor->ctrls; sensor 925 drivers/media/i2c/ov2680.c v4l2_i2c_subdev_init(&sensor->sd, sensor->i2c_client, sensor 929 drivers/media/i2c/ov2680.c sensor->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; sensor 931 drivers/media/i2c/ov2680.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 932 drivers/media/i2c/ov2680.c sensor->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor 934 drivers/media/i2c/ov2680.c ret = media_entity_pads_init(&sensor->sd.entity, 1, &sensor->pad); sensor 940 drivers/media/i2c/ov2680.c hdl->lock = &sensor->lock; sensor 973 drivers/media/i2c/ov2680.c sensor->sd.ctrl_handler = hdl; sensor 975 drivers/media/i2c/ov2680.c ret = v4l2_async_register_subdev(&sensor->sd); sensor 982 drivers/media/i2c/ov2680.c media_entity_cleanup(&sensor->sd.entity); sensor 988 drivers/media/i2c/ov2680.c static int ov2680_get_regulators(struct ov2680_dev *sensor) sensor 993 drivers/media/i2c/ov2680.c sensor->supplies[i].supply = ov2680_supply_name[i]; sensor 995 drivers/media/i2c/ov2680.c return devm_regulator_bulk_get(&sensor->i2c_client->dev, sensor 997 drivers/media/i2c/ov2680.c sensor->supplies); sensor 1000 drivers/media/i2c/ov2680.c static int ov2680_check_id(struct ov2680_dev *sensor) sensor 1002 drivers/media/i2c/ov2680.c struct device *dev = ov2680_to_dev(sensor); sensor 1006 drivers/media/i2c/ov2680.c ov2680_power_on(sensor); sensor 1008 drivers/media/i2c/ov2680.c ret = ov2680_read_reg16(sensor, OV2680_REG_CHIP_ID_HIGH, &chip_id); sensor 1023 drivers/media/i2c/ov2680.c static int ov2680_parse_dt(struct ov2680_dev *sensor) sensor 1025 drivers/media/i2c/ov2680.c struct device *dev = ov2680_to_dev(sensor); sensor 1028 drivers/media/i2c/ov2680.c sensor->reset_gpio = devm_gpiod_get_optional(dev, "reset", sensor 1030 drivers/media/i2c/ov2680.c ret = PTR_ERR_OR_ZERO(sensor->reset_gpio); sensor 1036 drivers/media/i2c/ov2680.c sensor->xvclk = devm_clk_get(dev, "xvclk"); sensor 1037 drivers/media/i2c/ov2680.c if (IS_ERR(sensor->xvclk)) { sensor 1039 drivers/media/i2c/ov2680.c return PTR_ERR(sensor->xvclk); sensor 1042 drivers/media/i2c/ov2680.c sensor->xvclk_freq = clk_get_rate(sensor->xvclk); sensor 1043 drivers/media/i2c/ov2680.c if (sensor->xvclk_freq != OV2680_XVCLK_VALUE) { sensor 1045 drivers/media/i2c/ov2680.c sensor->xvclk_freq, OV2680_XVCLK_VALUE); sensor 1055 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor; sensor 1058 drivers/media/i2c/ov2680.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 1059 drivers/media/i2c/ov2680.c if (!sensor) sensor 1062 drivers/media/i2c/ov2680.c sensor->i2c_client = client; sensor 1064 drivers/media/i2c/ov2680.c ret = ov2680_parse_dt(sensor); sensor 1068 drivers/media/i2c/ov2680.c ret = ov2680_mode_init(sensor); sensor 1072 drivers/media/i2c/ov2680.c ret = ov2680_get_regulators(sensor); sensor 1078 drivers/media/i2c/ov2680.c mutex_init(&sensor->lock); sensor 1080 drivers/media/i2c/ov2680.c ret = ov2680_check_id(sensor); sensor 1084 drivers/media/i2c/ov2680.c ret = ov2680_v4l2_register(sensor); sensor 1094 drivers/media/i2c/ov2680.c mutex_destroy(&sensor->lock); sensor 1102 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 1104 drivers/media/i2c/ov2680.c v4l2_async_unregister_subdev(&sensor->sd); sensor 1105 drivers/media/i2c/ov2680.c mutex_destroy(&sensor->lock); sensor 1106 drivers/media/i2c/ov2680.c media_entity_cleanup(&sensor->sd.entity); sensor 1107 drivers/media/i2c/ov2680.c v4l2_ctrl_handler_free(&sensor->ctrls.handler); sensor 1116 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 1118 drivers/media/i2c/ov2680.c if (sensor->is_streaming) sensor 1119 drivers/media/i2c/ov2680.c ov2680_stream_disable(sensor); sensor 1128 drivers/media/i2c/ov2680.c struct ov2680_dev *sensor = to_ov2680_dev(sd); sensor 1131 drivers/media/i2c/ov2680.c if (sensor->is_streaming) { sensor 1132 drivers/media/i2c/ov2680.c ret = ov2680_stream_enable(sensor); sensor 1140 drivers/media/i2c/ov2680.c ov2680_stream_disable(sensor); sensor 1141 drivers/media/i2c/ov2680.c sensor->is_streaming = false; sensor 589 drivers/media/i2c/ov5640.c static int ov5640_init_slave_id(struct ov5640_dev *sensor) sensor 591 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 617 drivers/media/i2c/ov5640.c static int ov5640_write_reg(struct ov5640_dev *sensor, u16 reg, u8 val) sensor 619 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 643 drivers/media/i2c/ov5640.c static int ov5640_read_reg(struct ov5640_dev *sensor, u16 reg, u8 *val) sensor 645 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 674 drivers/media/i2c/ov5640.c static int ov5640_read_reg16(struct ov5640_dev *sensor, u16 reg, u16 *val) sensor 679 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, reg, &hi); sensor 682 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, reg + 1, &lo); sensor 690 drivers/media/i2c/ov5640.c static int ov5640_write_reg16(struct ov5640_dev *sensor, u16 reg, u16 val) sensor 694 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, reg, val >> 8); sensor 698 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, reg + 1, val & 0xff); sensor 701 drivers/media/i2c/ov5640.c static int ov5640_mod_reg(struct ov5640_dev *sensor, u16 reg, sensor 707 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, reg, &readval); sensor 715 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, reg, val); sensor 832 drivers/media/i2c/ov5640.c static unsigned long ov5640_compute_sys_clk(struct ov5640_dev *sensor, sensor 836 drivers/media/i2c/ov5640.c unsigned long sysclk = sensor->xclk_freq / pll_prediv * pll_mult; sensor 845 drivers/media/i2c/ov5640.c static unsigned long ov5640_calc_sys_clk(struct ov5640_dev *sensor, sensor 869 drivers/media/i2c/ov5640.c _rate = ov5640_compute_sys_clk(sensor, sensor 947 drivers/media/i2c/ov5640.c static int ov5640_set_mipi_pclk(struct ov5640_dev *sensor, sensor 950 drivers/media/i2c/ov5640.c const struct ov5640_mode_info *mode = sensor->current_mode; sensor 966 drivers/media/i2c/ov5640.c ov5640_calc_sys_clk(sensor, rate, &prediv, &mult, &sysdiv); sensor 968 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL0, sensor 971 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL1, sensor 976 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL2, 0xff, mult); sensor 980 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL3, sensor 985 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_SYS_ROOT_DIVIDER, sensor 989 drivers/media/i2c/ov5640.c static unsigned long ov5640_calc_pclk(struct ov5640_dev *sensor, sensor 997 drivers/media/i2c/ov5640.c _rate = ov5640_calc_sys_clk(sensor, _rate, pll_prediv, pll_mult, sensor 1006 drivers/media/i2c/ov5640.c static int ov5640_set_dvp_pclk(struct ov5640_dev *sensor, unsigned long rate) sensor 1011 drivers/media/i2c/ov5640.c ov5640_calc_pclk(sensor, rate, &prediv, &mult, &sysdiv, &pll_rdiv, sensor 1017 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL0, sensor 1026 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL1, sensor 1031 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL2, sensor 1036 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SC_PLL_CTRL3, sensor 1041 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_SYS_ROOT_DIVIDER, 0x30, sensor 1046 drivers/media/i2c/ov5640.c static int ov5640_set_jpeg_timings(struct ov5640_dev *sensor, sensor 1058 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_JPG_MODE_SELECT, 0x7, 0x3); sensor 1062 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_VFIFO_HSIZE, mode->hact); sensor 1066 drivers/media/i2c/ov5640.c return ov5640_write_reg16(sensor, OV5640_REG_VFIFO_VSIZE, mode->vact); sensor 1070 drivers/media/i2c/ov5640.c static int ov5640_set_timings(struct ov5640_dev *sensor, sensor 1075 drivers/media/i2c/ov5640.c if (sensor->fmt.code == MEDIA_BUS_FMT_JPEG_1X8) { sensor 1076 drivers/media/i2c/ov5640.c ret = ov5640_set_jpeg_timings(sensor, mode); sensor 1081 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPHO, mode->hact); sensor 1085 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_DVPVO, mode->vact); sensor 1089 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_TIMING_HTS, mode->htot); sensor 1093 drivers/media/i2c/ov5640.c return ov5640_write_reg16(sensor, OV5640_REG_TIMING_VTS, mode->vtot); sensor 1096 drivers/media/i2c/ov5640.c static int ov5640_load_regs(struct ov5640_dev *sensor, sensor 1113 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, reg_addr, mask, val); sensor 1115 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, reg_addr, val); sensor 1123 drivers/media/i2c/ov5640.c return ov5640_set_timings(sensor, mode); sensor 1126 drivers/media/i2c/ov5640.c static int ov5640_set_autoexposure(struct ov5640_dev *sensor, bool on) sensor 1128 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_AEC_PK_MANUAL, sensor 1133 drivers/media/i2c/ov5640.c static int ov5640_get_exposure(struct ov5640_dev *sensor) sensor 1138 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_AEC_PK_EXPOSURE_HI, &temp); sensor 1142 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_AEC_PK_EXPOSURE_MED, &temp); sensor 1146 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_AEC_PK_EXPOSURE_LO, &temp); sensor 1155 drivers/media/i2c/ov5640.c static int ov5640_set_exposure(struct ov5640_dev *sensor, u32 exposure) sensor 1161 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 1166 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 1171 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, sensor 1176 drivers/media/i2c/ov5640.c static int ov5640_get_gain(struct ov5640_dev *sensor) sensor 1181 drivers/media/i2c/ov5640.c ret = ov5640_read_reg16(sensor, OV5640_REG_AEC_PK_REAL_GAIN, &gain); sensor 1188 drivers/media/i2c/ov5640.c static int ov5640_set_gain(struct ov5640_dev *sensor, int gain) sensor 1190 drivers/media/i2c/ov5640.c return ov5640_write_reg16(sensor, OV5640_REG_AEC_PK_REAL_GAIN, sensor 1194 drivers/media/i2c/ov5640.c static int ov5640_set_autogain(struct ov5640_dev *sensor, bool on) sensor 1196 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_AEC_PK_MANUAL, sensor 1200 drivers/media/i2c/ov5640.c static int ov5640_set_stream_dvp(struct ov5640_dev *sensor, bool on) sensor 1203 drivers/media/i2c/ov5640.c unsigned int flags = sensor->ep.bus.parallel.flags; sensor 1244 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 1262 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 1277 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 1289 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, sensor 1294 drivers/media/i2c/ov5640.c static int ov5640_set_stream_mipi(struct ov5640_dev *sensor, bool on) sensor 1315 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_IO_MIPI_CTRL00, sensor 1320 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_FRAME_CTRL01, sensor 1324 drivers/media/i2c/ov5640.c static int ov5640_get_sysclk(struct ov5640_dev *sensor) sensor 1327 drivers/media/i2c/ov5640.c u32 xvclk = sensor->xclk_freq / 10000; sensor 1334 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SC_PLL_CTRL0, &temp1); sensor 1341 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SC_PLL_CTRL1, &temp1); sensor 1348 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SC_PLL_CTRL2, &temp1); sensor 1353 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SC_PLL_CTRL3, &temp1); sensor 1359 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SYS_ROOT_DIVIDER, &temp1); sensor 1375 drivers/media/i2c/ov5640.c static int ov5640_set_night_mode(struct ov5640_dev *sensor) sensor 1381 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_AEC_CTRL00, &mode); sensor 1385 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL00, mode); sensor 1388 drivers/media/i2c/ov5640.c static int ov5640_get_hts(struct ov5640_dev *sensor) sensor 1394 drivers/media/i2c/ov5640.c ret = ov5640_read_reg16(sensor, OV5640_REG_TIMING_HTS, &hts); sensor 1400 drivers/media/i2c/ov5640.c static int ov5640_get_vts(struct ov5640_dev *sensor) sensor 1405 drivers/media/i2c/ov5640.c ret = ov5640_read_reg16(sensor, OV5640_REG_TIMING_VTS, &vts); sensor 1411 drivers/media/i2c/ov5640.c static int ov5640_set_vts(struct ov5640_dev *sensor, int vts) sensor 1413 drivers/media/i2c/ov5640.c return ov5640_write_reg16(sensor, OV5640_REG_TIMING_VTS, vts); sensor 1416 drivers/media/i2c/ov5640.c static int ov5640_get_light_freq(struct ov5640_dev *sensor) sensor 1422 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_HZ5060_CTRL01, &temp); sensor 1428 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_HZ5060_CTRL00, sensor 1441 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_SIGMADELTA_CTRL0C, sensor 1457 drivers/media/i2c/ov5640.c static int ov5640_set_bandingfilter(struct ov5640_dev *sensor) sensor 1463 drivers/media/i2c/ov5640.c ret = ov5640_get_sysclk(sensor); sensor 1468 drivers/media/i2c/ov5640.c sensor->prev_sysclk = ret; sensor 1470 drivers/media/i2c/ov5640.c ret = ov5640_get_hts(sensor); sensor 1475 drivers/media/i2c/ov5640.c sensor->prev_hts = ret; sensor 1478 drivers/media/i2c/ov5640.c ret = ov5640_get_vts(sensor); sensor 1485 drivers/media/i2c/ov5640.c band_step60 = sensor->prev_sysclk * 100 / sensor->prev_hts * 100 / 120; sensor 1486 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_AEC_B60_STEP, band_step60); sensor 1492 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL0D, max_band60); sensor 1497 drivers/media/i2c/ov5640.c band_step50 = sensor->prev_sysclk * 100 / sensor->prev_hts; sensor 1498 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_AEC_B50_STEP, band_step50); sensor 1504 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL0E, max_band50); sensor 1507 drivers/media/i2c/ov5640.c static int ov5640_set_ae_target(struct ov5640_dev *sensor, int target) sensor 1513 drivers/media/i2c/ov5640.c sensor->ae_low = target * 23 / 25; /* 0.92 */ sensor 1514 drivers/media/i2c/ov5640.c sensor->ae_high = target * 27 / 25; /* 1.08 */ sensor 1516 drivers/media/i2c/ov5640.c fast_high = sensor->ae_high << 1; sensor 1520 drivers/media/i2c/ov5640.c fast_low = sensor->ae_low >> 1; sensor 1522 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL0F, sensor->ae_high); sensor 1525 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL10, sensor->ae_low); sensor 1528 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL1B, sensor->ae_high); sensor 1531 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL1E, sensor->ae_low); sensor 1534 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL11, fast_high); sensor 1537 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_AEC_CTRL1F, fast_low); sensor 1540 drivers/media/i2c/ov5640.c static int ov5640_get_binning(struct ov5640_dev *sensor) sensor 1545 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_TIMING_TC_REG21, &temp); sensor 1552 drivers/media/i2c/ov5640.c static int ov5640_set_binning(struct ov5640_dev *sensor, bool enable) sensor 1560 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_TIMING_TC_REG21, sensor 1569 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_TIMING_TC_REG20, sensor 1573 drivers/media/i2c/ov5640.c static int ov5640_set_virtual_channel(struct ov5640_dev *sensor) sensor 1575 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 1586 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_DEBUG_MODE, &temp); sensor 1591 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_DEBUG_MODE, temp); sensor 1595 drivers/media/i2c/ov5640.c ov5640_find_mode(struct ov5640_dev *sensor, enum ov5640_frame_rate fr, sensor 1626 drivers/media/i2c/ov5640.c static int ov5640_set_mode_exposure_calc(struct ov5640_dev *sensor, sensor 1641 drivers/media/i2c/ov5640.c ret = ov5640_get_exposure(sensor); sensor 1645 drivers/media/i2c/ov5640.c ret = ov5640_get_binning(sensor); sensor 1653 drivers/media/i2c/ov5640.c ret = ov5640_get_gain(sensor); sensor 1659 drivers/media/i2c/ov5640.c ret = ov5640_read_reg(sensor, OV5640_REG_AVG_READOUT, &average); sensor 1664 drivers/media/i2c/ov5640.c ret = ov5640_set_night_mode(sensor); sensor 1669 drivers/media/i2c/ov5640.c ret = ov5640_load_regs(sensor, mode); sensor 1674 drivers/media/i2c/ov5640.c ret = ov5640_get_vts(sensor); sensor 1678 drivers/media/i2c/ov5640.c ret = ov5640_get_hts(sensor); sensor 1685 drivers/media/i2c/ov5640.c ret = ov5640_get_sysclk(sensor); sensor 1693 drivers/media/i2c/ov5640.c ret = ov5640_get_light_freq(sensor); sensor 1706 drivers/media/i2c/ov5640.c if (!sensor->prev_sysclk) { sensor 1707 drivers/media/i2c/ov5640.c ret = ov5640_get_sysclk(sensor); sensor 1712 drivers/media/i2c/ov5640.c sensor->prev_sysclk = ret; sensor 1721 drivers/media/i2c/ov5640.c if (average > sensor->ae_low && average < sensor->ae_high) { sensor 1725 drivers/media/i2c/ov5640.c cap_sysclk / sensor->prev_sysclk * sensor 1726 drivers/media/i2c/ov5640.c sensor->prev_hts / cap_hts * sensor 1727 drivers/media/i2c/ov5640.c sensor->ae_target / average; sensor 1731 drivers/media/i2c/ov5640.c cap_sysclk / sensor->prev_sysclk * sensor 1732 drivers/media/i2c/ov5640.c sensor->prev_hts / cap_hts; sensor 1766 drivers/media/i2c/ov5640.c ret = ov5640_set_gain(sensor, cap_gain16); sensor 1773 drivers/media/i2c/ov5640.c ret = ov5640_set_vts(sensor, cap_vts); sensor 1779 drivers/media/i2c/ov5640.c return ov5640_set_exposure(sensor, cap_shutter); sensor 1786 drivers/media/i2c/ov5640.c static int ov5640_set_mode_direct(struct ov5640_dev *sensor, sensor 1793 drivers/media/i2c/ov5640.c return ov5640_load_regs(sensor, mode); sensor 1796 drivers/media/i2c/ov5640.c static int ov5640_set_mode(struct ov5640_dev *sensor) sensor 1798 drivers/media/i2c/ov5640.c const struct ov5640_mode_info *mode = sensor->current_mode; sensor 1799 drivers/media/i2c/ov5640.c const struct ov5640_mode_info *orig_mode = sensor->last_mode; sensor 1801 drivers/media/i2c/ov5640.c bool auto_gain = sensor->ctrls.auto_gain->val == 1; sensor 1802 drivers/media/i2c/ov5640.c bool auto_exp = sensor->ctrls.auto_exp->val == V4L2_EXPOSURE_AUTO; sensor 1811 drivers/media/i2c/ov5640.c ret = ov5640_set_autogain(sensor, false); sensor 1817 drivers/media/i2c/ov5640.c ret = ov5640_set_autoexposure(sensor, false); sensor 1827 drivers/media/i2c/ov5640.c rate *= ov5640_framerates[sensor->current_fr]; sensor 1828 drivers/media/i2c/ov5640.c if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY) { sensor 1829 drivers/media/i2c/ov5640.c rate = rate / sensor->ep.bus.mipi_csi2.num_data_lanes; sensor 1830 drivers/media/i2c/ov5640.c ret = ov5640_set_mipi_pclk(sensor, rate); sensor 1832 drivers/media/i2c/ov5640.c rate = rate / sensor->ep.bus.parallel.bus_width; sensor 1833 drivers/media/i2c/ov5640.c ret = ov5640_set_dvp_pclk(sensor, rate); sensor 1845 drivers/media/i2c/ov5640.c ret = ov5640_set_mode_exposure_calc(sensor, mode); sensor 1851 drivers/media/i2c/ov5640.c ret = ov5640_set_mode_direct(sensor, mode); sensor 1858 drivers/media/i2c/ov5640.c ov5640_set_autogain(sensor, true); sensor 1860 drivers/media/i2c/ov5640.c ov5640_set_autoexposure(sensor, true); sensor 1862 drivers/media/i2c/ov5640.c ret = ov5640_set_binning(sensor, dn_mode != SCALING); sensor 1865 drivers/media/i2c/ov5640.c ret = ov5640_set_ae_target(sensor, sensor->ae_target); sensor 1868 drivers/media/i2c/ov5640.c ret = ov5640_get_light_freq(sensor); sensor 1871 drivers/media/i2c/ov5640.c ret = ov5640_set_bandingfilter(sensor); sensor 1874 drivers/media/i2c/ov5640.c ret = ov5640_set_virtual_channel(sensor); sensor 1878 drivers/media/i2c/ov5640.c sensor->pending_mode_change = false; sensor 1879 drivers/media/i2c/ov5640.c sensor->last_mode = mode; sensor 1885 drivers/media/i2c/ov5640.c ov5640_set_autoexposure(sensor, true); sensor 1888 drivers/media/i2c/ov5640.c ov5640_set_autogain(sensor, true); sensor 1893 drivers/media/i2c/ov5640.c static int ov5640_set_framefmt(struct ov5640_dev *sensor, sensor 1897 drivers/media/i2c/ov5640.c static int ov5640_restore_mode(struct ov5640_dev *sensor) sensor 1902 drivers/media/i2c/ov5640.c ret = ov5640_load_regs(sensor, &ov5640_mode_init_data); sensor 1905 drivers/media/i2c/ov5640.c sensor->last_mode = &ov5640_mode_init_data; sensor 1907 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SYS_ROOT_DIVIDER, 0x3f, sensor 1914 drivers/media/i2c/ov5640.c ret = ov5640_set_mode(sensor); sensor 1918 drivers/media/i2c/ov5640.c return ov5640_set_framefmt(sensor, &sensor->fmt); sensor 1921 drivers/media/i2c/ov5640.c static void ov5640_power(struct ov5640_dev *sensor, bool enable) sensor 1923 drivers/media/i2c/ov5640.c gpiod_set_value_cansleep(sensor->pwdn_gpio, enable ? 0 : 1); sensor 1926 drivers/media/i2c/ov5640.c static void ov5640_reset(struct ov5640_dev *sensor) sensor 1928 drivers/media/i2c/ov5640.c if (!sensor->reset_gpio) sensor 1931 drivers/media/i2c/ov5640.c gpiod_set_value_cansleep(sensor->reset_gpio, 0); sensor 1934 drivers/media/i2c/ov5640.c ov5640_power(sensor, false); sensor 1936 drivers/media/i2c/ov5640.c ov5640_power(sensor, true); sensor 1939 drivers/media/i2c/ov5640.c gpiod_set_value_cansleep(sensor->reset_gpio, 1); sensor 1942 drivers/media/i2c/ov5640.c gpiod_set_value_cansleep(sensor->reset_gpio, 0); sensor 1946 drivers/media/i2c/ov5640.c static int ov5640_set_power_on(struct ov5640_dev *sensor) sensor 1948 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 1951 drivers/media/i2c/ov5640.c ret = clk_prepare_enable(sensor->xclk); sensor 1959 drivers/media/i2c/ov5640.c sensor->supplies); sensor 1966 drivers/media/i2c/ov5640.c ov5640_reset(sensor); sensor 1967 drivers/media/i2c/ov5640.c ov5640_power(sensor, true); sensor 1969 drivers/media/i2c/ov5640.c ret = ov5640_init_slave_id(sensor); sensor 1976 drivers/media/i2c/ov5640.c ov5640_power(sensor, false); sensor 1977 drivers/media/i2c/ov5640.c regulator_bulk_disable(OV5640_NUM_SUPPLIES, sensor->supplies); sensor 1979 drivers/media/i2c/ov5640.c clk_disable_unprepare(sensor->xclk); sensor 1983 drivers/media/i2c/ov5640.c static void ov5640_set_power_off(struct ov5640_dev *sensor) sensor 1985 drivers/media/i2c/ov5640.c ov5640_power(sensor, false); sensor 1986 drivers/media/i2c/ov5640.c regulator_bulk_disable(OV5640_NUM_SUPPLIES, sensor->supplies); sensor 1987 drivers/media/i2c/ov5640.c clk_disable_unprepare(sensor->xclk); sensor 1990 drivers/media/i2c/ov5640.c static int ov5640_set_power(struct ov5640_dev *sensor, bool on) sensor 1995 drivers/media/i2c/ov5640.c ret = ov5640_set_power_on(sensor); sensor 1999 drivers/media/i2c/ov5640.c ret = ov5640_restore_mode(sensor); sensor 2004 drivers/media/i2c/ov5640.c if (sensor->ep.bus_type != V4L2_MBUS_CSI2_DPHY) sensor 2017 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 2029 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 2042 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, sensor 2051 drivers/media/i2c/ov5640.c if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY) { sensor 2053 drivers/media/i2c/ov5640.c ov5640_write_reg(sensor, sensor 2055 drivers/media/i2c/ov5640.c ov5640_write_reg(sensor, sensor 2057 drivers/media/i2c/ov5640.c ov5640_write_reg(sensor, sensor 2061 drivers/media/i2c/ov5640.c ov5640_set_power_off(sensor); sensor 2067 drivers/media/i2c/ov5640.c ov5640_set_power_off(sensor); sensor 2075 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2078 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2084 drivers/media/i2c/ov5640.c if (sensor->power_count == !on) { sensor 2085 drivers/media/i2c/ov5640.c ret = ov5640_set_power(sensor, !!on); sensor 2091 drivers/media/i2c/ov5640.c sensor->power_count += on ? 1 : -1; sensor 2092 drivers/media/i2c/ov5640.c WARN_ON(sensor->power_count < 0); sensor 2094 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2096 drivers/media/i2c/ov5640.c if (on && !ret && sensor->power_count == 1) { sensor 2098 drivers/media/i2c/ov5640.c ret = v4l2_ctrl_handler_setup(&sensor->ctrls.handler); sensor 2104 drivers/media/i2c/ov5640.c static int ov5640_try_frame_interval(struct ov5640_dev *sensor, sensor 2140 drivers/media/i2c/ov5640.c mode = ov5640_find_mode(sensor, rate, width, height, false); sensor 2148 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2154 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2157 drivers/media/i2c/ov5640.c fmt = v4l2_subdev_get_try_format(&sensor->sd, cfg, sensor 2160 drivers/media/i2c/ov5640.c fmt = &sensor->fmt; sensor 2164 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2174 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2178 drivers/media/i2c/ov5640.c mode = ov5640_find_mode(sensor, fr, fmt->width, fmt->height, true); sensor 2206 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2215 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2217 drivers/media/i2c/ov5640.c if (sensor->streaming) { sensor 2223 drivers/media/i2c/ov5640.c sensor->current_fr, &new_mode); sensor 2230 drivers/media/i2c/ov5640.c fmt = &sensor->fmt; sensor 2234 drivers/media/i2c/ov5640.c if (new_mode != sensor->current_mode) { sensor 2235 drivers/media/i2c/ov5640.c sensor->current_mode = new_mode; sensor 2236 drivers/media/i2c/ov5640.c sensor->pending_mode_change = true; sensor 2238 drivers/media/i2c/ov5640.c if (mbus_fmt->code != sensor->fmt.code) sensor 2239 drivers/media/i2c/ov5640.c sensor->pending_fmt_change = true; sensor 2242 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2246 drivers/media/i2c/ov5640.c static int ov5640_set_framefmt(struct ov5640_dev *sensor, sensor 2305 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_FORMAT_CONTROL00, fmt); sensor 2310 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_ISP_FORMAT_MUX_CTRL, mux); sensor 2318 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_TIMING_TC_REG21, sensor 2329 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SYS_RESET02, sensor 2340 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_SYS_CLOCK_ENABLE02, sensor 2349 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_hue(struct ov5640_dev *sensor, int value) sensor 2354 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, sensor 2358 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_SDE_CTRL1, value); sensor 2360 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, BIT(0), 0); sensor 2366 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_contrast(struct ov5640_dev *sensor, int value) sensor 2371 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, sensor 2375 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_SDE_CTRL5, sensor 2378 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, BIT(2), 0); sensor 2384 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_saturation(struct ov5640_dev *sensor, int value) sensor 2389 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, sensor 2393 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_SDE_CTRL3, sensor 2397 drivers/media/i2c/ov5640.c ret = ov5640_write_reg(sensor, OV5640_REG_SDE_CTRL4, sensor 2400 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_SDE_CTRL0, BIT(1), 0); sensor 2406 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_white_balance(struct ov5640_dev *sensor, int awb) sensor 2410 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_AWB_MANUAL_CTRL, sensor 2416 drivers/media/i2c/ov5640.c u16 red = (u16)sensor->ctrls.red_balance->val; sensor 2417 drivers/media/i2c/ov5640.c u16 blue = (u16)sensor->ctrls.blue_balance->val; sensor 2419 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_AWB_R_GAIN, red); sensor 2422 drivers/media/i2c/ov5640.c ret = ov5640_write_reg16(sensor, OV5640_REG_AWB_B_GAIN, blue); sensor 2428 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_exposure(struct ov5640_dev *sensor, sensor 2431 drivers/media/i2c/ov5640.c struct ov5640_ctrls *ctrls = &sensor->ctrls; sensor 2436 drivers/media/i2c/ov5640.c ret = ov5640_set_autoexposure(sensor, auto_exp); sensor 2444 drivers/media/i2c/ov5640.c ret = ov5640_read_reg16(sensor, OV5640_REG_AEC_PK_VTS, sensor 2448 drivers/media/i2c/ov5640.c ret = ov5640_get_vts(sensor); sensor 2455 drivers/media/i2c/ov5640.c ret = ov5640_set_exposure(sensor, ctrls->exposure->val); sensor 2461 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_gain(struct ov5640_dev *sensor, bool auto_gain) sensor 2463 drivers/media/i2c/ov5640.c struct ov5640_ctrls *ctrls = &sensor->ctrls; sensor 2467 drivers/media/i2c/ov5640.c ret = ov5640_set_autogain(sensor, auto_gain); sensor 2473 drivers/media/i2c/ov5640.c ret = ov5640_set_gain(sensor, ctrls->gain->val); sensor 2509 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_test_pattern(struct ov5640_dev *sensor, int value) sensor 2511 drivers/media/i2c/ov5640.c return ov5640_write_reg(sensor, OV5640_REG_PRE_ISP_TEST_SET1, sensor 2515 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_light_freq(struct ov5640_dev *sensor, int value) sensor 2519 drivers/media/i2c/ov5640.c ret = ov5640_mod_reg(sensor, OV5640_REG_HZ5060_CTRL01, BIT(7), sensor 2525 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_HZ5060_CTRL00, BIT(2), sensor 2530 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_hflip(struct ov5640_dev *sensor, int value) sensor 2546 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_TIMING_TC_REG21, sensor 2548 drivers/media/i2c/ov5640.c (!(value ^ sensor->upside_down)) ? sensor 2552 drivers/media/i2c/ov5640.c static int ov5640_set_ctrl_vflip(struct ov5640_dev *sensor, int value) sensor 2561 drivers/media/i2c/ov5640.c return ov5640_mod_reg(sensor, OV5640_REG_TIMING_TC_REG20, sensor 2563 drivers/media/i2c/ov5640.c (value ^ sensor->upside_down) ? sensor 2570 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2577 drivers/media/i2c/ov5640.c val = ov5640_get_gain(sensor); sensor 2580 drivers/media/i2c/ov5640.c sensor->ctrls.gain->val = val; sensor 2583 drivers/media/i2c/ov5640.c val = ov5640_get_exposure(sensor); sensor 2586 drivers/media/i2c/ov5640.c sensor->ctrls.exposure->val = val; sensor 2596 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2606 drivers/media/i2c/ov5640.c if (sensor->power_count == 0) sensor 2611 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_gain(sensor, ctrl->val); sensor 2614 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_exposure(sensor, ctrl->val); sensor 2617 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_white_balance(sensor, ctrl->val); sensor 2620 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_hue(sensor, ctrl->val); sensor 2623 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_contrast(sensor, ctrl->val); sensor 2626 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_saturation(sensor, ctrl->val); sensor 2629 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_test_pattern(sensor, ctrl->val); sensor 2632 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_light_freq(sensor, ctrl->val); sensor 2635 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_hflip(sensor, ctrl->val); sensor 2638 drivers/media/i2c/ov5640.c ret = ov5640_set_ctrl_vflip(sensor, ctrl->val); sensor 2653 drivers/media/i2c/ov5640.c static int ov5640_init_controls(struct ov5640_dev *sensor) sensor 2656 drivers/media/i2c/ov5640.c struct ov5640_ctrls *ctrls = &sensor->ctrls; sensor 2663 drivers/media/i2c/ov5640.c hdl->lock = &sensor->lock; sensor 2719 drivers/media/i2c/ov5640.c sensor->sd.ctrl_handler = hdl; sensor 2751 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2763 drivers/media/i2c/ov5640.c ret = ov5640_try_frame_interval(sensor, &tpf, sensor 2775 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2777 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2778 drivers/media/i2c/ov5640.c fi->interval = sensor->frame_interval; sensor 2779 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2787 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2794 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2796 drivers/media/i2c/ov5640.c if (sensor->streaming) { sensor 2801 drivers/media/i2c/ov5640.c mode = sensor->current_mode; sensor 2803 drivers/media/i2c/ov5640.c frame_rate = ov5640_try_frame_interval(sensor, &fi->interval, sensor 2807 drivers/media/i2c/ov5640.c fi->interval = sensor->frame_interval; sensor 2811 drivers/media/i2c/ov5640.c mode = ov5640_find_mode(sensor, frame_rate, mode->hact, sensor 2818 drivers/media/i2c/ov5640.c if (mode != sensor->current_mode || sensor 2819 drivers/media/i2c/ov5640.c frame_rate != sensor->current_fr) { sensor 2820 drivers/media/i2c/ov5640.c sensor->current_fr = frame_rate; sensor 2821 drivers/media/i2c/ov5640.c sensor->frame_interval = fi->interval; sensor 2822 drivers/media/i2c/ov5640.c sensor->current_mode = mode; sensor 2823 drivers/media/i2c/ov5640.c sensor->pending_mode_change = true; sensor 2826 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2845 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 2848 drivers/media/i2c/ov5640.c mutex_lock(&sensor->lock); sensor 2850 drivers/media/i2c/ov5640.c if (sensor->streaming == !enable) { sensor 2851 drivers/media/i2c/ov5640.c if (enable && sensor->pending_mode_change) { sensor 2852 drivers/media/i2c/ov5640.c ret = ov5640_set_mode(sensor); sensor 2857 drivers/media/i2c/ov5640.c if (enable && sensor->pending_fmt_change) { sensor 2858 drivers/media/i2c/ov5640.c ret = ov5640_set_framefmt(sensor, &sensor->fmt); sensor 2861 drivers/media/i2c/ov5640.c sensor->pending_fmt_change = false; sensor 2864 drivers/media/i2c/ov5640.c if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY) sensor 2865 drivers/media/i2c/ov5640.c ret = ov5640_set_stream_mipi(sensor, enable); sensor 2867 drivers/media/i2c/ov5640.c ret = ov5640_set_stream_dvp(sensor, enable); sensor 2870 drivers/media/i2c/ov5640.c sensor->streaming = enable; sensor 2873 drivers/media/i2c/ov5640.c mutex_unlock(&sensor->lock); sensor 2904 drivers/media/i2c/ov5640.c static int ov5640_get_regulators(struct ov5640_dev *sensor) sensor 2909 drivers/media/i2c/ov5640.c sensor->supplies[i].supply = ov5640_supply_name[i]; sensor 2911 drivers/media/i2c/ov5640.c return devm_regulator_bulk_get(&sensor->i2c_client->dev, sensor 2913 drivers/media/i2c/ov5640.c sensor->supplies); sensor 2916 drivers/media/i2c/ov5640.c static int ov5640_check_chip_id(struct ov5640_dev *sensor) sensor 2918 drivers/media/i2c/ov5640.c struct i2c_client *client = sensor->i2c_client; sensor 2922 drivers/media/i2c/ov5640.c ret = ov5640_set_power_on(sensor); sensor 2926 drivers/media/i2c/ov5640.c ret = ov5640_read_reg16(sensor, OV5640_REG_CHIP_ID, &chip_id); sensor 2940 drivers/media/i2c/ov5640.c ov5640_set_power_off(sensor); sensor 2948 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor; sensor 2953 drivers/media/i2c/ov5640.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 2954 drivers/media/i2c/ov5640.c if (!sensor) sensor 2957 drivers/media/i2c/ov5640.c sensor->i2c_client = client; sensor 2963 drivers/media/i2c/ov5640.c fmt = &sensor->fmt; sensor 2972 drivers/media/i2c/ov5640.c sensor->frame_interval.numerator = 1; sensor 2973 drivers/media/i2c/ov5640.c sensor->frame_interval.denominator = ov5640_framerates[OV5640_30_FPS]; sensor 2974 drivers/media/i2c/ov5640.c sensor->current_fr = OV5640_30_FPS; sensor 2975 drivers/media/i2c/ov5640.c sensor->current_mode = sensor 2977 drivers/media/i2c/ov5640.c sensor->last_mode = sensor->current_mode; sensor 2979 drivers/media/i2c/ov5640.c sensor->ae_target = 52; sensor 2987 drivers/media/i2c/ov5640.c sensor->upside_down = true; sensor 3004 drivers/media/i2c/ov5640.c ret = v4l2_fwnode_endpoint_parse(endpoint, &sensor->ep); sensor 3012 drivers/media/i2c/ov5640.c sensor->xclk = devm_clk_get(dev, "xclk"); sensor 3013 drivers/media/i2c/ov5640.c if (IS_ERR(sensor->xclk)) { sensor 3015 drivers/media/i2c/ov5640.c return PTR_ERR(sensor->xclk); sensor 3018 drivers/media/i2c/ov5640.c sensor->xclk_freq = clk_get_rate(sensor->xclk); sensor 3019 drivers/media/i2c/ov5640.c if (sensor->xclk_freq < OV5640_XCLK_MIN || sensor 3020 drivers/media/i2c/ov5640.c sensor->xclk_freq > OV5640_XCLK_MAX) { sensor 3022 drivers/media/i2c/ov5640.c sensor->xclk_freq); sensor 3027 drivers/media/i2c/ov5640.c sensor->pwdn_gpio = devm_gpiod_get_optional(dev, "powerdown", sensor 3029 drivers/media/i2c/ov5640.c if (IS_ERR(sensor->pwdn_gpio)) sensor 3030 drivers/media/i2c/ov5640.c return PTR_ERR(sensor->pwdn_gpio); sensor 3033 drivers/media/i2c/ov5640.c sensor->reset_gpio = devm_gpiod_get_optional(dev, "reset", sensor 3035 drivers/media/i2c/ov5640.c if (IS_ERR(sensor->reset_gpio)) sensor 3036 drivers/media/i2c/ov5640.c return PTR_ERR(sensor->reset_gpio); sensor 3038 drivers/media/i2c/ov5640.c v4l2_i2c_subdev_init(&sensor->sd, client, &ov5640_subdev_ops); sensor 3040 drivers/media/i2c/ov5640.c sensor->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | sensor 3042 drivers/media/i2c/ov5640.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 3043 drivers/media/i2c/ov5640.c sensor->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor 3044 drivers/media/i2c/ov5640.c ret = media_entity_pads_init(&sensor->sd.entity, 1, &sensor->pad); sensor 3048 drivers/media/i2c/ov5640.c ret = ov5640_get_regulators(sensor); sensor 3052 drivers/media/i2c/ov5640.c mutex_init(&sensor->lock); sensor 3054 drivers/media/i2c/ov5640.c ret = ov5640_check_chip_id(sensor); sensor 3058 drivers/media/i2c/ov5640.c ret = ov5640_init_controls(sensor); sensor 3062 drivers/media/i2c/ov5640.c ret = v4l2_async_register_subdev_sensor_common(&sensor->sd); sensor 3069 drivers/media/i2c/ov5640.c v4l2_ctrl_handler_free(&sensor->ctrls.handler); sensor 3071 drivers/media/i2c/ov5640.c mutex_destroy(&sensor->lock); sensor 3072 drivers/media/i2c/ov5640.c media_entity_cleanup(&sensor->sd.entity); sensor 3079 drivers/media/i2c/ov5640.c struct ov5640_dev *sensor = to_ov5640_dev(sd); sensor 3081 drivers/media/i2c/ov5640.c v4l2_async_unregister_subdev(&sensor->sd); sensor 3082 drivers/media/i2c/ov5640.c mutex_destroy(&sensor->lock); sensor 3083 drivers/media/i2c/ov5640.c media_entity_cleanup(&sensor->sd.entity); sensor 3084 drivers/media/i2c/ov5640.c v4l2_ctrl_handler_free(&sensor->ctrls.handler); sensor 553 drivers/media/i2c/ov5647.c struct ov5647 *sensor; sensor 559 drivers/media/i2c/ov5647.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 560 drivers/media/i2c/ov5647.c if (!sensor) sensor 572 drivers/media/i2c/ov5647.c sensor->xclk = devm_clk_get(dev, NULL); sensor 573 drivers/media/i2c/ov5647.c if (IS_ERR(sensor->xclk)) { sensor 575 drivers/media/i2c/ov5647.c return PTR_ERR(sensor->xclk); sensor 578 drivers/media/i2c/ov5647.c xclk_freq = clk_get_rate(sensor->xclk); sensor 584 drivers/media/i2c/ov5647.c mutex_init(&sensor->lock); sensor 586 drivers/media/i2c/ov5647.c sd = &sensor->sd; sensor 588 drivers/media/i2c/ov5647.c sensor->sd.internal_ops = &ov5647_subdev_internal_ops; sensor 589 drivers/media/i2c/ov5647.c sensor->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sensor 591 drivers/media/i2c/ov5647.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 593 drivers/media/i2c/ov5647.c ret = media_entity_pads_init(&sd->entity, 1, &sensor->pad); sensor 610 drivers/media/i2c/ov5647.c mutex_destroy(&sensor->lock); sensor 2431 drivers/media/i2c/ov5670.c .sensor = &ov5670_sensor_ops, sensor 126 drivers/media/i2c/s5k6a3.c struct s5k6a3 *sensor, struct v4l2_subdev_pad_config *cfg, sensor 130 drivers/media/i2c/s5k6a3.c return cfg ? v4l2_subdev_get_try_format(&sensor->subdev, cfg, pad) : NULL; sensor 132 drivers/media/i2c/s5k6a3.c return &sensor->format; sensor 139 drivers/media/i2c/s5k6a3.c struct s5k6a3 *sensor = sd_to_s5k6a3(sd); sensor 144 drivers/media/i2c/s5k6a3.c mf = __s5k6a3_get_format(sensor, cfg, fmt->pad, fmt->which); sensor 146 drivers/media/i2c/s5k6a3.c mutex_lock(&sensor->lock); sensor 148 drivers/media/i2c/s5k6a3.c mutex_unlock(&sensor->lock); sensor 157 drivers/media/i2c/s5k6a3.c struct s5k6a3 *sensor = sd_to_s5k6a3(sd); sensor 160 drivers/media/i2c/s5k6a3.c mf = __s5k6a3_get_format(sensor, cfg, fmt->pad, fmt->which); sensor 162 drivers/media/i2c/s5k6a3.c mutex_lock(&sensor->lock); sensor 164 drivers/media/i2c/s5k6a3.c mutex_unlock(&sensor->lock); sensor 189 drivers/media/i2c/s5k6a3.c static int __s5k6a3_power_on(struct s5k6a3 *sensor) sensor 194 drivers/media/i2c/s5k6a3.c ret = clk_set_rate(sensor->clock, sensor->clock_frequency); sensor 198 drivers/media/i2c/s5k6a3.c ret = pm_runtime_get(sensor->dev); sensor 202 drivers/media/i2c/s5k6a3.c ret = regulator_enable(sensor->supplies[i].consumer); sensor 206 drivers/media/i2c/s5k6a3.c ret = clk_prepare_enable(sensor->clock); sensor 211 drivers/media/i2c/s5k6a3.c ret = regulator_enable(sensor->supplies[i].consumer); sensor 216 drivers/media/i2c/s5k6a3.c gpio_set_value(sensor->gpio_reset, 1); sensor 218 drivers/media/i2c/s5k6a3.c gpio_set_value(sensor->gpio_reset, 0); sensor 220 drivers/media/i2c/s5k6a3.c gpio_set_value(sensor->gpio_reset, 1); sensor 228 drivers/media/i2c/s5k6a3.c regulator_disable(sensor->supplies[i].consumer); sensor 230 drivers/media/i2c/s5k6a3.c pm_runtime_put(sensor->dev); sensor 234 drivers/media/i2c/s5k6a3.c static int __s5k6a3_power_off(struct s5k6a3 *sensor) sensor 238 drivers/media/i2c/s5k6a3.c gpio_set_value(sensor->gpio_reset, 0); sensor 241 drivers/media/i2c/s5k6a3.c regulator_disable(sensor->supplies[i].consumer); sensor 243 drivers/media/i2c/s5k6a3.c clk_disable_unprepare(sensor->clock); sensor 244 drivers/media/i2c/s5k6a3.c pm_runtime_put(sensor->dev); sensor 250 drivers/media/i2c/s5k6a3.c struct s5k6a3 *sensor = sd_to_s5k6a3(sd); sensor 253 drivers/media/i2c/s5k6a3.c mutex_lock(&sensor->lock); sensor 255 drivers/media/i2c/s5k6a3.c if (sensor->power_count == !on) { sensor 257 drivers/media/i2c/s5k6a3.c ret = __s5k6a3_power_on(sensor); sensor 259 drivers/media/i2c/s5k6a3.c ret = __s5k6a3_power_off(sensor); sensor 262 drivers/media/i2c/s5k6a3.c sensor->power_count += on ? 1 : -1; sensor 265 drivers/media/i2c/s5k6a3.c mutex_unlock(&sensor->lock); sensor 281 drivers/media/i2c/s5k6a3.c struct s5k6a3 *sensor; sensor 285 drivers/media/i2c/s5k6a3.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 286 drivers/media/i2c/s5k6a3.c if (!sensor) sensor 289 drivers/media/i2c/s5k6a3.c mutex_init(&sensor->lock); sensor 290 drivers/media/i2c/s5k6a3.c sensor->gpio_reset = -EINVAL; sensor 291 drivers/media/i2c/s5k6a3.c sensor->clock = ERR_PTR(-EINVAL); sensor 292 drivers/media/i2c/s5k6a3.c sensor->dev = dev; sensor 294 drivers/media/i2c/s5k6a3.c sensor->clock = devm_clk_get(sensor->dev, S5K6A3_CLK_NAME); sensor 295 drivers/media/i2c/s5k6a3.c if (IS_ERR(sensor->clock)) sensor 296 drivers/media/i2c/s5k6a3.c return PTR_ERR(sensor->clock); sensor 307 drivers/media/i2c/s5k6a3.c sensor->gpio_reset = gpio; sensor 310 drivers/media/i2c/s5k6a3.c &sensor->clock_frequency)) { sensor 311 drivers/media/i2c/s5k6a3.c sensor->clock_frequency = S5K6A3_DEFAULT_CLK_FREQ; sensor 313 drivers/media/i2c/s5k6a3.c sensor->clock_frequency); sensor 317 drivers/media/i2c/s5k6a3.c sensor->supplies[i].supply = s5k6a3_supply_names[i]; sensor 320 drivers/media/i2c/s5k6a3.c sensor->supplies); sensor 324 drivers/media/i2c/s5k6a3.c sd = &sensor->subdev; sensor 326 drivers/media/i2c/s5k6a3.c sensor->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sensor 329 drivers/media/i2c/s5k6a3.c sensor->format.code = s5k6a3_formats[0].code; sensor 330 drivers/media/i2c/s5k6a3.c sensor->format.width = S5K6A3_DEFAULT_WIDTH; sensor 331 drivers/media/i2c/s5k6a3.c sensor->format.height = S5K6A3_DEFAULT_HEIGHT; sensor 334 drivers/media/i2c/s5k6a3.c sensor->pad.flags = MEDIA_PAD_FL_SOURCE; sensor 335 drivers/media/i2c/s5k6a3.c ret = media_entity_pads_init(&sd->entity, 1, &sensor->pad); sensor 60 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_read_frame_fmt(struct smiapp_sensor *sensor) sensor 62 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 69 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, SMIAPP_REG_U8_FRAME_FORMAT_MODEL_TYPE, sensor 74 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, SMIAPP_REG_U8_FRAME_FORMAT_MODEL_SUBTYPE, sensor 101 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, reg, &desc); sensor 113 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, reg, &desc); sensor 162 drivers/media/i2c/smiapp/smiapp-core.c sensor->visible_pixel_start = pixel_count; sensor 170 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->embedded_end) sensor 172 drivers/media/i2c/smiapp/smiapp-core.c sensor->embedded_start = line_count; sensor 173 drivers/media/i2c/smiapp/smiapp-core.c sensor->embedded_end = line_count + pixels; sensor 176 drivers/media/i2c/smiapp/smiapp-core.c sensor->image_start = line_count; sensor 182 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->embedded_end > sensor->image_start) { sensor 185 drivers/media/i2c/smiapp/smiapp-core.c sensor->embedded_end, sensor->image_start); sensor 186 drivers/media/i2c/smiapp/smiapp-core.c sensor->image_start = sensor->embedded_end; sensor 190 drivers/media/i2c/smiapp/smiapp-core.c sensor->embedded_start, sensor->embedded_end); sensor 192 drivers/media/i2c/smiapp/smiapp-core.c sensor->image_start); sensor 197 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_pll_configure(struct smiapp_sensor *sensor) sensor 199 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_pll *pll = &sensor->pll; sensor 203 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_VT_PIX_CLK_DIV, pll->vt.pix_clk_div); sensor 208 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_VT_SYS_CLK_DIV, pll->vt.sys_clk_div); sensor 213 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_PRE_PLL_CLK_DIV, pll->pre_pll_clk_div); sensor 218 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_PLL_MULTIPLIER, pll->pll_multiplier); sensor 224 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U32_REQUESTED_LINK_BIT_RATE_MBPS, sensor 226 drivers/media/i2c/smiapp/smiapp-core.c if (rval < 0 || sensor->minfo.smiapp_profile == SMIAPP_PROFILE_0) sensor 230 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_OP_PIX_CLK_DIV, pll->op.pix_clk_div); sensor 235 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_OP_SYS_CLK_DIV, pll->op.sys_clk_div); sensor 238 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_pll_try(struct smiapp_sensor *sensor, sensor 241 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 243 drivers/media/i2c/smiapp/smiapp-core.c .min_pre_pll_clk_div = sensor->limits[SMIAPP_LIMIT_MIN_PRE_PLL_CLK_DIV], sensor 244 drivers/media/i2c/smiapp/smiapp-core.c .max_pre_pll_clk_div = sensor->limits[SMIAPP_LIMIT_MAX_PRE_PLL_CLK_DIV], sensor 245 drivers/media/i2c/smiapp/smiapp-core.c .min_pll_ip_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_PLL_IP_FREQ_HZ], sensor 246 drivers/media/i2c/smiapp/smiapp-core.c .max_pll_ip_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_PLL_IP_FREQ_HZ], sensor 247 drivers/media/i2c/smiapp/smiapp-core.c .min_pll_multiplier = sensor->limits[SMIAPP_LIMIT_MIN_PLL_MULTIPLIER], sensor 248 drivers/media/i2c/smiapp/smiapp-core.c .max_pll_multiplier = sensor->limits[SMIAPP_LIMIT_MAX_PLL_MULTIPLIER], sensor 249 drivers/media/i2c/smiapp/smiapp-core.c .min_pll_op_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_PLL_OP_FREQ_HZ], sensor 250 drivers/media/i2c/smiapp/smiapp-core.c .max_pll_op_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_PLL_OP_FREQ_HZ], sensor 252 drivers/media/i2c/smiapp/smiapp-core.c .op.min_sys_clk_div = sensor->limits[SMIAPP_LIMIT_MIN_OP_SYS_CLK_DIV], sensor 253 drivers/media/i2c/smiapp/smiapp-core.c .op.max_sys_clk_div = sensor->limits[SMIAPP_LIMIT_MAX_OP_SYS_CLK_DIV], sensor 254 drivers/media/i2c/smiapp/smiapp-core.c .op.min_pix_clk_div = sensor->limits[SMIAPP_LIMIT_MIN_OP_PIX_CLK_DIV], sensor 255 drivers/media/i2c/smiapp/smiapp-core.c .op.max_pix_clk_div = sensor->limits[SMIAPP_LIMIT_MAX_OP_PIX_CLK_DIV], sensor 256 drivers/media/i2c/smiapp/smiapp-core.c .op.min_sys_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_OP_SYS_CLK_FREQ_HZ], sensor 257 drivers/media/i2c/smiapp/smiapp-core.c .op.max_sys_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_OP_SYS_CLK_FREQ_HZ], sensor 258 drivers/media/i2c/smiapp/smiapp-core.c .op.min_pix_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_OP_PIX_CLK_FREQ_HZ], sensor 259 drivers/media/i2c/smiapp/smiapp-core.c .op.max_pix_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_OP_PIX_CLK_FREQ_HZ], sensor 261 drivers/media/i2c/smiapp/smiapp-core.c .vt.min_sys_clk_div = sensor->limits[SMIAPP_LIMIT_MIN_VT_SYS_CLK_DIV], sensor 262 drivers/media/i2c/smiapp/smiapp-core.c .vt.max_sys_clk_div = sensor->limits[SMIAPP_LIMIT_MAX_VT_SYS_CLK_DIV], sensor 263 drivers/media/i2c/smiapp/smiapp-core.c .vt.min_pix_clk_div = sensor->limits[SMIAPP_LIMIT_MIN_VT_PIX_CLK_DIV], sensor 264 drivers/media/i2c/smiapp/smiapp-core.c .vt.max_pix_clk_div = sensor->limits[SMIAPP_LIMIT_MAX_VT_PIX_CLK_DIV], sensor 265 drivers/media/i2c/smiapp/smiapp-core.c .vt.min_sys_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_VT_SYS_CLK_FREQ_HZ], sensor 266 drivers/media/i2c/smiapp/smiapp-core.c .vt.max_sys_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_VT_SYS_CLK_FREQ_HZ], sensor 267 drivers/media/i2c/smiapp/smiapp-core.c .vt.min_pix_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MIN_VT_PIX_CLK_FREQ_HZ], sensor 268 drivers/media/i2c/smiapp/smiapp-core.c .vt.max_pix_clk_freq_hz = sensor->limits[SMIAPP_LIMIT_MAX_VT_PIX_CLK_FREQ_HZ], sensor 270 drivers/media/i2c/smiapp/smiapp-core.c .min_line_length_pck_bin = sensor->limits[SMIAPP_LIMIT_MIN_LINE_LENGTH_PCK_BIN], sensor 271 drivers/media/i2c/smiapp/smiapp-core.c .min_line_length_pck = sensor->limits[SMIAPP_LIMIT_MIN_LINE_LENGTH_PCK], sensor 277 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_pll_update(struct smiapp_sensor *sensor) sensor 279 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_pll *pll = &sensor->pll; sensor 282 drivers/media/i2c/smiapp/smiapp-core.c pll->binning_horizontal = sensor->binning_horizontal; sensor 283 drivers/media/i2c/smiapp/smiapp-core.c pll->binning_vertical = sensor->binning_vertical; sensor 285 drivers/media/i2c/smiapp/smiapp-core.c sensor->link_freq->qmenu_int[sensor->link_freq->val]; sensor 286 drivers/media/i2c/smiapp/smiapp-core.c pll->scale_m = sensor->scale_m; sensor 287 drivers/media/i2c/smiapp/smiapp-core.c pll->bits_per_pixel = sensor->csi_format->compressed; sensor 289 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_pll_try(sensor, pll); sensor 293 drivers/media/i2c/smiapp/smiapp-core.c __v4l2_ctrl_s_ctrl_int64(sensor->pixel_rate_parray, sensor 295 drivers/media/i2c/smiapp/smiapp-core.c __v4l2_ctrl_s_ctrl_int64(sensor->pixel_rate_csi, pll->pixel_rate_csi); sensor 307 drivers/media/i2c/smiapp/smiapp-core.c static void __smiapp_update_exposure_limits(struct smiapp_sensor *sensor) sensor 309 drivers/media/i2c/smiapp/smiapp-core.c struct v4l2_ctrl *ctrl = sensor->exposure; sensor 312 drivers/media/i2c/smiapp/smiapp-core.c max = sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height sensor 313 drivers/media/i2c/smiapp/smiapp-core.c + sensor->vblank->val sensor 314 drivers/media/i2c/smiapp/smiapp-core.c - sensor->limits[SMIAPP_LIMIT_COARSE_INTEGRATION_TIME_MAX_MARGIN]; sensor 360 drivers/media/i2c/smiapp/smiapp-core.c static u32 smiapp_pixel_order(struct smiapp_sensor *sensor) sensor 362 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 365 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hflip) { sensor 366 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hflip->val) sensor 369 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->vflip->val) sensor 373 drivers/media/i2c/smiapp/smiapp-core.c flip ^= sensor->hvflip_inv_mask; sensor 376 drivers/media/i2c/smiapp/smiapp-core.c return sensor->default_pixel_order ^ flip; sensor 379 drivers/media/i2c/smiapp/smiapp-core.c static void smiapp_update_mbus_formats(struct smiapp_sensor *sensor) sensor 381 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 383 drivers/media/i2c/smiapp/smiapp-core.c to_csi_format_idx(sensor->csi_format) & ~3; sensor 385 drivers/media/i2c/smiapp/smiapp-core.c to_csi_format_idx(sensor->internal_csi_format) & ~3; sensor 386 drivers/media/i2c/smiapp/smiapp-core.c unsigned int pixel_order = smiapp_pixel_order(sensor); sensor 388 drivers/media/i2c/smiapp/smiapp-core.c sensor->mbus_frame_fmts = sensor 389 drivers/media/i2c/smiapp/smiapp-core.c sensor->default_mbus_frame_fmts << pixel_order; sensor 390 drivers/media/i2c/smiapp/smiapp-core.c sensor->csi_format = sensor 392 drivers/media/i2c/smiapp/smiapp-core.c sensor->internal_csi_format = sensor 413 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = sensor 415 drivers/media/i2c/smiapp/smiapp-core.c ->sensor; sensor 423 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 428 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 433 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->streaming) sensor 436 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hflip->val) sensor 439 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->vflip->val) sensor 442 drivers/media/i2c/smiapp/smiapp-core.c orient ^= sensor->hvflip_inv_mask; sensor 443 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_IMAGE_ORIENTATION, sensor 448 drivers/media/i2c/smiapp/smiapp-core.c smiapp_update_mbus_formats(sensor); sensor 453 drivers/media/i2c/smiapp/smiapp-core.c exposure = sensor->exposure->val; sensor 455 drivers/media/i2c/smiapp/smiapp-core.c __smiapp_update_exposure_limits(sensor); sensor 457 drivers/media/i2c/smiapp/smiapp-core.c if (exposure > sensor->exposure->maximum) { sensor 458 drivers/media/i2c/smiapp/smiapp-core.c sensor->exposure->val = sensor->exposure->maximum; sensor 459 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_set_ctrl(sensor->exposure); sensor 465 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_FRAME_LENGTH_LINES, sensor 466 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height sensor 471 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_LINE_LENGTH_PCK, sensor 472 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].width sensor 476 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->streaming) sensor 479 drivers/media/i2c/smiapp/smiapp-core.c return smiapp_pll_update(sensor); sensor 484 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < ARRAY_SIZE(sensor->test_data); i++) sensor 486 drivers/media/i2c/smiapp/smiapp-core.c sensor->test_data[i], sensor 491 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TEST_PATTERN_MODE, ctrl->val); sensor 496 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TEST_DATA_RED, ctrl->val); sensor 500 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TEST_DATA_GREENR, ctrl->val); sensor 504 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TEST_DATA_BLUE, ctrl->val); sensor 508 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TEST_DATA_GREENB, ctrl->val); sensor 523 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_init_controls(struct smiapp_sensor *sensor) sensor 525 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 528 drivers/media/i2c/smiapp/smiapp-core.c rval = v4l2_ctrl_handler_init(&sensor->pixel_array->ctrl_handler, 12); sensor 532 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->ctrl_handler.lock = &sensor->mutex; sensor 534 drivers/media/i2c/smiapp/smiapp-core.c sensor->analog_gain = v4l2_ctrl_new_std( sensor 535 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 537 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_MIN], sensor 538 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_MAX], sensor 539 drivers/media/i2c/smiapp/smiapp-core.c max(sensor->limits[SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_STEP], 1U), sensor 540 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_MIN]); sensor 543 drivers/media/i2c/smiapp/smiapp-core.c sensor->exposure = v4l2_ctrl_new_std( sensor 544 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 547 drivers/media/i2c/smiapp/smiapp-core.c sensor->hflip = v4l2_ctrl_new_std( sensor 548 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 550 drivers/media/i2c/smiapp/smiapp-core.c sensor->vflip = v4l2_ctrl_new_std( sensor 551 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 554 drivers/media/i2c/smiapp/smiapp-core.c sensor->vblank = v4l2_ctrl_new_std( sensor 555 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 558 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->vblank) sensor 559 drivers/media/i2c/smiapp/smiapp-core.c sensor->vblank->flags |= V4L2_CTRL_FLAG_UPDATE; sensor 561 drivers/media/i2c/smiapp/smiapp-core.c sensor->hblank = v4l2_ctrl_new_std( sensor 562 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 565 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hblank) sensor 566 drivers/media/i2c/smiapp/smiapp-core.c sensor->hblank->flags |= V4L2_CTRL_FLAG_UPDATE; sensor 568 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_rate_parray = v4l2_ctrl_new_std( sensor 569 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, &smiapp_ctrl_ops, sensor 572 drivers/media/i2c/smiapp/smiapp-core.c v4l2_ctrl_new_std_menu_items(&sensor->pixel_array->ctrl_handler, sensor 577 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->pixel_array->ctrl_handler.error) { sensor 580 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->ctrl_handler.error); sensor 581 drivers/media/i2c/smiapp/smiapp-core.c return sensor->pixel_array->ctrl_handler.error; sensor 584 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->sd.ctrl_handler = sensor 585 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler; sensor 587 drivers/media/i2c/smiapp/smiapp-core.c v4l2_ctrl_cluster(2, &sensor->hflip); sensor 589 drivers/media/i2c/smiapp/smiapp-core.c rval = v4l2_ctrl_handler_init(&sensor->src->ctrl_handler, 0); sensor 593 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->ctrl_handler.lock = &sensor->mutex; sensor 595 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_rate_csi = v4l2_ctrl_new_std( sensor 596 drivers/media/i2c/smiapp/smiapp-core.c &sensor->src->ctrl_handler, &smiapp_ctrl_ops, sensor 599 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->src->ctrl_handler.error) { sensor 602 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->ctrl_handler.error); sensor 603 drivers/media/i2c/smiapp/smiapp-core.c return sensor->src->ctrl_handler.error; sensor 606 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->sd.ctrl_handler = &sensor->src->ctrl_handler; sensor 615 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_init_late_controls(struct smiapp_sensor *sensor) sensor 617 drivers/media/i2c/smiapp/smiapp-core.c unsigned long *valid_link_freqs = &sensor->valid_link_freqs[ sensor 618 drivers/media/i2c/smiapp/smiapp-core.c sensor->csi_format->compressed - sensor->compressed_min_bpp]; sensor 621 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < ARRAY_SIZE(sensor->test_data); i++) { sensor 622 drivers/media/i2c/smiapp/smiapp-core.c int max_value = (1 << sensor->csi_format->width) - 1; sensor 624 drivers/media/i2c/smiapp/smiapp-core.c sensor->test_data[i] = v4l2_ctrl_new_std( sensor 625 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler, sensor 630 drivers/media/i2c/smiapp/smiapp-core.c sensor->link_freq = v4l2_ctrl_new_int_menu( sensor 631 drivers/media/i2c/smiapp/smiapp-core.c &sensor->src->ctrl_handler, &smiapp_ctrl_ops, sensor 633 drivers/media/i2c/smiapp/smiapp-core.c __ffs(*valid_link_freqs), sensor->hwcfg->op_sys_clock); sensor 635 drivers/media/i2c/smiapp/smiapp-core.c return sensor->src->ctrl_handler.error; sensor 638 drivers/media/i2c/smiapp/smiapp-core.c static void smiapp_free_controls(struct smiapp_sensor *sensor) sensor 642 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < sensor->ssds_used; i++) sensor 643 drivers/media/i2c/smiapp/smiapp-core.c v4l2_ctrl_handler_free(&sensor->ssds[i].ctrl_handler); sensor 646 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_get_limits(struct smiapp_sensor *sensor, int const *limit, sensor 649 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 656 drivers/media/i2c/smiapp/smiapp-core.c sensor, smiapp_reg_limits[limit[i]].addr, &val); sensor 659 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limit[i]] = val; sensor 668 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_get_all_limits(struct smiapp_sensor *sensor) sensor 674 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_get_limits(sensor, &i, 1); sensor 679 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN] == 0) sensor 680 drivers/media/i2c/smiapp/smiapp-core.c smiapp_replace_limit(sensor, SMIAPP_LIMIT_SCALER_N_MIN, 16); sensor 685 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_get_limits_binning(struct smiapp_sensor *sensor) sensor 687 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 709 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_BINNING_CAPABILITY] == sensor 712 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits[i]] = sensor 713 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits_replace[i]]; sensor 718 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_get_limits(sensor, limits, ARRAY_SIZE(limits)); sensor 726 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_MIN_FRAME_LENGTH_LINES_BIN] sensor 727 drivers/media/i2c/smiapp/smiapp-core.c && sensor->limits[SMIAPP_LIMIT_MIN_LINE_LENGTH_PCK_BIN] sensor 728 drivers/media/i2c/smiapp/smiapp-core.c && sensor->limits[SMIAPP_LIMIT_MIN_LINE_BLANKING_PCK_BIN]) sensor 736 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits_replace[i]], sensor 737 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits_replace[i]]); sensor 738 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits[i]] = sensor 739 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[limits_replace[i]]; sensor 745 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_get_mbus_formats(struct smiapp_sensor *sensor) sensor 747 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 748 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_pll *pll = &sensor->pll; sensor 755 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U8_DATA_FORMAT_MODEL_TYPE, &type); sensor 761 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, SMIAPP_REG_U8_PIXEL_ORDER, sensor 785 drivers/media/i2c/smiapp/smiapp-core.c sensor->default_pixel_order = pixel_order; sensor 786 drivers/media/i2c/smiapp/smiapp-core.c sensor->mbus_frame_fmts = 0; sensor 792 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 812 drivers/media/i2c/smiapp/smiapp-core.c sensor->default_mbus_frame_fmts |= 1 << j; sensor 819 drivers/media/i2c/smiapp/smiapp-core.c pll->scale_m = sensor->scale_m; sensor 822 drivers/media/i2c/smiapp/smiapp-core.c sensor->compressed_min_bpp = sensor 824 drivers/media/i2c/smiapp/smiapp-core.c sensor->compressed_min_bpp); sensor 830 drivers/media/i2c/smiapp/smiapp-core.c sensor->valid_link_freqs = devm_kcalloc( sensor 832 drivers/media/i2c/smiapp/smiapp-core.c compressed_max_bpp - sensor->compressed_min_bpp + 1, sensor 833 drivers/media/i2c/smiapp/smiapp-core.c sizeof(*sensor->valid_link_freqs), GFP_KERNEL); sensor 834 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->valid_link_freqs) sensor 841 drivers/media/i2c/smiapp/smiapp-core.c &sensor->valid_link_freqs[ sensor 842 drivers/media/i2c/smiapp/smiapp-core.c f->compressed - sensor->compressed_min_bpp]; sensor 845 drivers/media/i2c/smiapp/smiapp-core.c if (!(sensor->default_mbus_frame_fmts & 1 << i)) sensor 850 drivers/media/i2c/smiapp/smiapp-core.c for (j = 0; sensor->hwcfg->op_sys_clock[j]; j++) { sensor 851 drivers/media/i2c/smiapp/smiapp-core.c pll->link_freq = sensor->hwcfg->op_sys_clock[j]; sensor 853 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_pll_try(sensor, pll); sensor 867 drivers/media/i2c/smiapp/smiapp-core.c sensor->default_mbus_frame_fmts &= ~BIT(i); sensor 871 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->csi_format sensor 872 drivers/media/i2c/smiapp/smiapp-core.c || f->width > sensor->csi_format->width sensor 873 drivers/media/i2c/smiapp/smiapp-core.c || (f->width == sensor->csi_format->width sensor 874 drivers/media/i2c/smiapp/smiapp-core.c && f->compressed > sensor->csi_format->compressed)) { sensor 875 drivers/media/i2c/smiapp/smiapp-core.c sensor->csi_format = f; sensor 876 drivers/media/i2c/smiapp/smiapp-core.c sensor->internal_csi_format = f; sensor 880 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->csi_format) { sensor 885 drivers/media/i2c/smiapp/smiapp-core.c smiapp_update_mbus_formats(sensor); sensor 890 drivers/media/i2c/smiapp/smiapp-core.c static void smiapp_update_blanking(struct smiapp_sensor *sensor) sensor 892 drivers/media/i2c/smiapp/smiapp-core.c struct v4l2_ctrl *vblank = sensor->vblank; sensor 893 drivers/media/i2c/smiapp/smiapp-core.c struct v4l2_ctrl *hblank = sensor->hblank; sensor 897 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_FRAME_BLANKING_LINES], sensor 898 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_FRAME_LENGTH_LINES_BIN] - sensor 899 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height); sensor 900 drivers/media/i2c/smiapp/smiapp-core.c max = sensor->limits[SMIAPP_LIMIT_MAX_FRAME_LENGTH_LINES_BIN] - sensor 901 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height; sensor 906 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_LINE_LENGTH_PCK_BIN] - sensor 907 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].width, sensor 908 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_LINE_BLANKING_PCK_BIN]); sensor 909 drivers/media/i2c/smiapp/smiapp-core.c max = sensor->limits[SMIAPP_LIMIT_MAX_LINE_LENGTH_PCK_BIN] - sensor 910 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].width; sensor 914 drivers/media/i2c/smiapp/smiapp-core.c __smiapp_update_exposure_limits(sensor); sensor 917 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_update_mode(struct smiapp_sensor *sensor) sensor 919 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 924 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->binning_horizontal == 1 && sensor 925 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_vertical == 1) { sensor 929 drivers/media/i2c/smiapp/smiapp-core.c (sensor->binning_horizontal << 4) sensor 930 drivers/media/i2c/smiapp/smiapp-core.c | sensor->binning_vertical; sensor 933 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U8_BINNING_TYPE, binning_type); sensor 939 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_BINNING_MODE, binning_mode); sensor 944 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_get_limits_binning(sensor); sensor 948 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_pll_update(sensor); sensor 953 drivers/media/i2c/smiapp/smiapp-core.c smiapp_update_blanking(sensor); sensor 955 drivers/media/i2c/smiapp/smiapp-core.c dev_dbg(&client->dev, "vblank\t\t%d\n", sensor->vblank->val); sensor 956 drivers/media/i2c/smiapp/smiapp-core.c dev_dbg(&client->dev, "hblank\t\t%d\n", sensor->hblank->val); sensor 959 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.pixel_rate_pixel_array / sensor 960 drivers/media/i2c/smiapp/smiapp-core.c ((sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].width sensor 961 drivers/media/i2c/smiapp/smiapp-core.c + sensor->hblank->val) * sensor 962 drivers/media/i2c/smiapp/smiapp-core.c (sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height sensor 963 drivers/media/i2c/smiapp/smiapp-core.c + sensor->vblank->val) / 100)); sensor 973 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_read_nvm(struct smiapp_sensor *sensor, sensor 979 drivers/media/i2c/smiapp/smiapp-core.c np = sensor->nvm_size / SMIAPP_NVM_PAGE_SIZE; sensor 982 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 987 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, sensor 996 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 1013 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor 1024 drivers/media/i2c/smiapp/smiapp-core.c rval2 = smiapp_write(sensor, SMIAPP_REG_U8_DATA_TRANSFER_IF_1_CTRL, 0); sensor 1036 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_change_cci_addr(struct smiapp_sensor *sensor) sensor 1038 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 1042 drivers/media/i2c/smiapp/smiapp-core.c client->addr = sensor->hwcfg->i2c_addr_dfl; sensor 1044 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, sensor 1046 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->i2c_addr_alt << 1); sensor 1050 drivers/media/i2c/smiapp/smiapp-core.c client->addr = sensor->hwcfg->i2c_addr_alt; sensor 1053 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, SMIAPP_REG_U8_CCI_ADDRESS_CONTROL, &val); sensor 1057 drivers/media/i2c/smiapp/smiapp-core.c if (val != sensor->hwcfg->i2c_addr_alt << 1) sensor 1068 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_setup_flash_strobe(struct smiapp_sensor *sensor) sensor 1071 drivers/media/i2c/smiapp/smiapp-core.c unsigned int ext_freq = sensor->hwcfg->ext_clk; sensor 1077 drivers/media/i2c/smiapp/smiapp-core.c strobe_setup = sensor->hwcfg->strobe_setup; sensor 1159 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_FLASH_MODE_RS, sensor 1164 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_FLASH_STROBE_ADJUSTMENT, sensor 1170 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_TFLASH_STROBE_WIDTH_HIGH_RS_CTRL, sensor 1175 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_TFLASH_STROBE_DELAY_RS_CTRL, sensor 1180 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_FLASH_STROBE_START_POINT, sensor 1185 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_FLASH_TRIGGER_RS, sensor 1189 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->strobe_setup->trigger = 0; sensor 1207 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = sensor 1212 drivers/media/i2c/smiapp/smiapp-core.c rval = regulator_enable(sensor->vana); sensor 1219 drivers/media/i2c/smiapp/smiapp-core.c rval = clk_prepare_enable(sensor->ext_clk); sensor 1226 drivers/media/i2c/smiapp/smiapp-core.c gpiod_set_value(sensor->xshutdown, 1); sensor 1228 drivers/media/i2c/smiapp/smiapp-core.c sleep = SMIAPP_RESET_DELAY(sensor->hwcfg->ext_clk); sensor 1231 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1233 drivers/media/i2c/smiapp/smiapp-core.c sensor->active = true; sensor 1246 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hwcfg->i2c_addr_alt) { sensor 1247 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_change_cci_addr(sensor); sensor 1254 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_SOFTWARE_RESET, sensor 1261 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hwcfg->i2c_addr_alt) { sensor 1262 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_change_cci_addr(sensor); sensor 1269 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_COMPRESSION_MODE, sensor 1277 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_EXTCLK_FREQUENCY_MHZ, sensor 1278 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk / (1000000 / (1 << 8))); sensor 1284 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_CSI_LANE_MODE, sensor 1285 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->lanes - 1); sensor 1291 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_FAST_STANDBY_CTRL, sensor 1298 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_CSI_SIGNALLING_MODE, sensor 1299 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->csi_signalling_mode); sensor 1306 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_DPHY_CTRL, sensor 1311 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_call_quirk(sensor, post_poweron); sensor 1318 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->pixel_array) { sensor 1320 drivers/media/i2c/smiapp/smiapp-core.c &sensor->pixel_array->ctrl_handler); sensor 1324 drivers/media/i2c/smiapp/smiapp-core.c rval = __v4l2_ctrl_handler_setup(&sensor->src->ctrl_handler); sensor 1328 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_update_mode(sensor); sensor 1333 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1338 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1339 drivers/media/i2c/smiapp/smiapp-core.c gpiod_set_value(sensor->xshutdown, 0); sensor 1340 drivers/media/i2c/smiapp/smiapp-core.c clk_disable_unprepare(sensor->ext_clk); sensor 1343 drivers/media/i2c/smiapp/smiapp-core.c regulator_disable(sensor->vana); sensor 1353 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = sensor 1356 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1365 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hwcfg->i2c_addr_alt) sensor 1366 drivers/media/i2c/smiapp/smiapp-core.c smiapp_write(sensor, sensor 1370 drivers/media/i2c/smiapp/smiapp-core.c sensor->active = false; sensor 1372 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1374 drivers/media/i2c/smiapp/smiapp-core.c gpiod_set_value(sensor->xshutdown, 0); sensor 1375 drivers/media/i2c/smiapp/smiapp-core.c clk_disable_unprepare(sensor->ext_clk); sensor 1377 drivers/media/i2c/smiapp/smiapp-core.c regulator_disable(sensor->vana); sensor 1378 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = false; sensor 1387 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_start_streaming(struct smiapp_sensor *sensor) sensor 1389 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 1392 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1394 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_CSI_DATA_FORMAT, sensor 1395 drivers/media/i2c/smiapp/smiapp-core.c (sensor->csi_format->width << 8) | sensor 1396 drivers/media/i2c/smiapp/smiapp-core.c sensor->csi_format->compressed); sensor 1400 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_pll_configure(sensor); sensor 1405 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_X_ADDR_START, sensor 1406 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].left); sensor 1410 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_Y_ADDR_START, sensor 1411 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].top); sensor 1417 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_X_ADDR_END, sensor 1418 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].left sensor 1419 drivers/media/i2c/smiapp/smiapp-core.c + sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].width - 1); sensor 1424 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_Y_ADDR_END, sensor 1425 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].top sensor 1426 drivers/media/i2c/smiapp/smiapp-core.c + sensor->pixel_array->crop[SMIAPP_PA_PAD_SRC].height - 1); sensor 1436 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_DIGITAL_CROP_CAPABILITY] sensor 1439 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_DIGITAL_CROP_X_OFFSET, sensor 1440 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler->crop[SMIAPP_PAD_SINK].left); sensor 1445 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_DIGITAL_CROP_Y_OFFSET, sensor 1446 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler->crop[SMIAPP_PAD_SINK].top); sensor 1451 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_WIDTH, sensor 1452 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler->crop[SMIAPP_PAD_SINK].width); sensor 1457 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U16_DIGITAL_CROP_IMAGE_HEIGHT, sensor 1458 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler->crop[SMIAPP_PAD_SINK].height); sensor 1464 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_SCALING_CAPABILITY] sensor 1466 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_SCALING_MODE, sensor 1467 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaling_mode); sensor 1471 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_SCALE_M, sensor 1472 drivers/media/i2c/smiapp/smiapp-core.c sensor->scale_m); sensor 1478 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_X_OUTPUT_SIZE, sensor 1479 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->crop[SMIAPP_PAD_SRC].width); sensor 1482 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U16_Y_OUTPUT_SIZE, sensor 1483 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->crop[SMIAPP_PAD_SRC].height); sensor 1487 drivers/media/i2c/smiapp/smiapp-core.c if ((sensor->limits[SMIAPP_LIMIT_FLASH_MODE_CAPABILITY] & sensor 1490 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->strobe_setup != NULL && sensor 1491 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->strobe_setup->trigger != 0) { sensor 1492 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_setup_flash_strobe(sensor); sensor 1497 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_call_quirk(sensor, pre_streamon); sensor 1503 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_MODE_SELECT, sensor 1507 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1512 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_stop_streaming(struct smiapp_sensor *sensor) sensor 1514 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 1517 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1518 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_write(sensor, SMIAPP_REG_U8_MODE_SELECT, sensor 1523 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_call_quirk(sensor, post_streamoff); sensor 1528 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1538 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1539 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 1542 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->streaming == enable) sensor 1554 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = true; sensor 1556 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_start_streaming(sensor); sensor 1558 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = false; sensor 1560 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_stop_streaming(sensor); sensor 1561 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = false; sensor 1574 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1579 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1584 drivers/media/i2c/smiapp/smiapp-core.c if (subdev != &sensor->src->sd || code->pad != SMIAPP_PAD_SRC) { sensor 1588 drivers/media/i2c/smiapp/smiapp-core.c code->code = sensor->internal_csi_format->code; sensor 1594 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->mbus_frame_fmts & (1 << i)) sensor 1607 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1615 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1617 drivers/media/i2c/smiapp/smiapp-core.c if (subdev == &sensor->src->sd && pad == SMIAPP_PAD_SRC) sensor 1618 drivers/media/i2c/smiapp/smiapp-core.c return sensor->csi_format->code; sensor 1620 drivers/media/i2c/smiapp/smiapp-core.c return sensor->internal_csi_format->code; sensor 1653 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1656 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1658 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1697 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1708 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->scaler) { sensor 1709 drivers/media/i2c/smiapp/smiapp-core.c sensor->scale_m = sensor 1710 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[ sensor 1712 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaling_mode = sensor 1714 drivers/media/i2c/smiapp/smiapp-core.c } else if (ssd == sensor->binner) { sensor 1715 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_horizontal = 1; sensor 1716 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_vertical = 1; sensor 1729 drivers/media/i2c/smiapp/smiapp-core.c *smiapp_validate_csi_data_format(struct smiapp_sensor *sensor, u32 code) sensor 1734 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->mbus_frame_fmts & (1 << i) sensor 1739 drivers/media/i2c/smiapp/smiapp-core.c return sensor->csi_format; sensor 1746 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1748 drivers/media/i2c/smiapp/smiapp-core.c *old_csi_format = sensor->csi_format; sensor 1762 drivers/media/i2c/smiapp/smiapp-core.c if (subdev != &sensor->src->sd) sensor 1765 drivers/media/i2c/smiapp/smiapp-core.c csi_format = smiapp_validate_csi_data_format(sensor, code); sensor 1772 drivers/media/i2c/smiapp/smiapp-core.c sensor->csi_format = csi_format; sensor 1775 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < ARRAY_SIZE(sensor->test_data); i++) sensor 1777 drivers/media/i2c/smiapp/smiapp-core.c sensor->test_data[i], 0, sensor 1784 drivers/media/i2c/smiapp/smiapp-core.c &sensor->valid_link_freqs[sensor->csi_format->compressed sensor 1785 drivers/media/i2c/smiapp/smiapp-core.c - sensor->compressed_min_bpp]; sensor 1788 drivers/media/i2c/smiapp/smiapp-core.c sensor->link_freq, 0, sensor 1792 drivers/media/i2c/smiapp/smiapp-core.c return smiapp_pll_update(sensor); sensor 1799 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1803 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 1810 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1823 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_X_OUTPUT_SIZE], sensor 1824 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MAX_X_OUTPUT_SIZE]); sensor 1827 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_Y_OUTPUT_SIZE], sensor 1828 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MAX_Y_OUTPUT_SIZE]); sensor 1841 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 1855 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1881 drivers/media/i2c/smiapp/smiapp-core.c if (w < sensor->limits[SMIAPP_LIMIT_MIN_X_OUTPUT_SIZE]) sensor 1896 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1904 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < sensor->nbinning_subtypes; i++) { sensor 1908 drivers/media/i2c/smiapp/smiapp-core.c / sensor->binning_subtypes[i].horizontal, sensor 1911 drivers/media/i2c/smiapp/smiapp-core.c / sensor->binning_subtypes[i].vertical, sensor 1915 drivers/media/i2c/smiapp/smiapp-core.c binh = sensor->binning_subtypes[i].horizontal; sensor 1916 drivers/media/i2c/smiapp/smiapp-core.c binv = sensor->binning_subtypes[i].vertical; sensor 1921 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_vertical = binv; sensor 1922 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_horizontal = binh; sensor 1945 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 1947 drivers/media/i2c/smiapp/smiapp-core.c u32 scale_m = sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]; sensor 1960 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN] / sel->r.width; sensor 1962 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN] / sel->r.height; sensor 1964 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN] sensor 1965 drivers/media/i2c/smiapp/smiapp-core.c / sensor->limits[SMIAPP_LIMIT_MIN_X_OUTPUT_SIZE]; sensor 1967 drivers/media/i2c/smiapp/smiapp-core.c a = clamp(a, sensor->limits[SMIAPP_LIMIT_SCALER_M_MIN], sensor 1968 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_SCALER_M_MAX]); sensor 1969 drivers/media/i2c/smiapp/smiapp-core.c b = clamp(b, sensor->limits[SMIAPP_LIMIT_SCALER_M_MIN], sensor 1970 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_SCALER_M_MAX]); sensor 1971 drivers/media/i2c/smiapp/smiapp-core.c max_m = clamp(max_m, sensor->limits[SMIAPP_LIMIT_SCALER_M_MIN], sensor 1972 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_SCALER_M_MAX]); sensor 1999 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN], sensor 2013 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_SCALING_CAPABILITY] sensor 2020 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN], sensor 2024 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN], sensor 2038 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]) & ~1; sensor 2043 drivers/media/i2c/smiapp/smiapp-core.c * sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]) sensor 2049 drivers/media/i2c/smiapp/smiapp-core.c sensor->scale_m = scale_m; sensor 2050 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaling_mode = mode; sensor 2058 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2067 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->binner) sensor 2076 drivers/media/i2c/smiapp/smiapp-core.c return smiapp_update_mode(sensor); sensor 2084 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2091 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->pixel_array sensor 2094 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->src sensor 2097 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->scaler sensor 2099 drivers/media/i2c/smiapp/smiapp-core.c && sensor->limits[SMIAPP_LIMIT_DIGITAL_CROP_CAPABILITY] sensor 2104 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->pixel_array sensor 2112 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->binner) sensor 2114 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->scaler sensor 2115 drivers/media/i2c/smiapp/smiapp-core.c && sensor->limits[SMIAPP_LIMIT_SCALING_CAPABILITY] sensor 2128 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2155 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->src && sel->pad == SMIAPP_PAD_SRC) { sensor 2168 drivers/media/i2c/smiapp/smiapp-core.c if (ssd != sensor->pixel_array && sel->pad == SMIAPP_PAD_SINK) sensor 2180 drivers/media/i2c/smiapp/smiapp-core.c r->width = ssd->sensor->limits[SMIAPP_LIMIT_X_ADDR_MAX] + 1; sensor 2181 drivers/media/i2c/smiapp/smiapp-core.c r->height = ssd->sensor->limits[SMIAPP_LIMIT_Y_ADDR_MAX] + 1; sensor 2188 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2215 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->pixel_array) sensor 2238 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2241 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 2243 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 2251 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2258 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 2266 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_X_OUTPUT_SIZE], sensor 2269 drivers/media/i2c/smiapp/smiapp-core.c sensor->limits[SMIAPP_LIMIT_MIN_Y_OUTPUT_SIZE], sensor 2283 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 2289 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2291 drivers/media/i2c/smiapp/smiapp-core.c *frames = sensor->frame_skip; sensor 2297 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2299 drivers/media/i2c/smiapp/smiapp-core.c *lines = sensor->image_start; sensor 2314 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2317 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->dev_init_done) sensor 2320 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->nvm_size) { sensor 2324 drivers/media/i2c/smiapp/smiapp-core.c sensor->nvm_size = sensor->hwcfg->nvm_size; sensor 2334 drivers/media/i2c/smiapp/smiapp-core.c if (smiapp_read_nvm(sensor, sensor->nvm)) { sensor 2346 drivers/media/i2c/smiapp/smiapp-core.c nbytes = min_t(unsigned int, sensor->nvm_size, PAGE_SIZE); sensor 2347 drivers/media/i2c/smiapp/smiapp-core.c memcpy(buf, sensor->nvm, nbytes); sensor 2358 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2359 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_module_info *minfo = &sensor->minfo; sensor 2372 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_identify_module(struct smiapp_sensor *sensor) sensor 2374 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 2375 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_module_info *minfo = &sensor->minfo; sensor 2382 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, SMIAPP_REG_U8_MANUFACTURER_ID, sensor 2385 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, SMIAPP_REG_U16_MODEL_ID, sensor 2388 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2392 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2396 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2400 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2404 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, SMIAPP_REG_U8_MODULE_DATE_DAY, sensor 2409 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2413 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2417 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2421 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, sensor 2427 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, SMIAPP_REG_U8_SMIA_VERSION, sensor 2430 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_8only(sensor, SMIAPP_REG_U8_SMIAPP_VERSION, sensor 2504 drivers/media/i2c/smiapp/smiapp-core.c static int smiapp_register_subdev(struct smiapp_sensor *sensor, sensor 2509 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 2523 drivers/media/i2c/smiapp/smiapp-core.c rval = v4l2_device_register_subdev(sensor->src->sd.v4l2_dev, sensor 2546 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2549 drivers/media/i2c/smiapp/smiapp-core.c for (i = 1; i < sensor->ssds_used; i++) sensor 2550 drivers/media/i2c/smiapp/smiapp-core.c v4l2_device_unregister_subdev(&sensor->ssds[i].sd); sensor 2555 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2558 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->scaler) { sensor 2560 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor->binner, sensor->scaler, sensor 2568 drivers/media/i2c/smiapp/smiapp-core.c sensor, sensor->pixel_array, sensor->binner, sensor 2582 drivers/media/i2c/smiapp/smiapp-core.c static void smiapp_cleanup(struct smiapp_sensor *sensor) sensor 2584 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 2589 drivers/media/i2c/smiapp/smiapp-core.c smiapp_free_controls(sensor); sensor 2592 drivers/media/i2c/smiapp/smiapp-core.c static void smiapp_create_subdev(struct smiapp_sensor *sensor, sensor 2596 drivers/media/i2c/smiapp/smiapp-core.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 2601 drivers/media/i2c/smiapp/smiapp-core.c if (ssd != sensor->src) sensor 2605 drivers/media/i2c/smiapp/smiapp-core.c ssd->sensor = sensor; sensor 2610 drivers/media/i2c/smiapp/smiapp-core.c v4l2_i2c_subdev_set_name(&ssd->sd, client, sensor->minfo.name, name); sensor 2618 drivers/media/i2c/smiapp/smiapp-core.c if (ssd != sensor->pixel_array) { sensor 2625 drivers/media/i2c/smiapp/smiapp-core.c if (ssd == sensor->src) sensor 2637 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = ssd->sensor; sensor 2640 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 2653 drivers/media/i2c/smiapp/smiapp-core.c try_fmt->code = sensor->internal_csi_format->code; sensor 2656 drivers/media/i2c/smiapp/smiapp-core.c if (ssd != sensor->pixel_array) sensor 2663 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 2688 drivers/media/i2c/smiapp/smiapp-core.c .sensor = &smiapp_sensor_ops, sensor 2713 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2714 drivers/media/i2c/smiapp/smiapp-core.c bool streaming = sensor->streaming; sensor 2725 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->streaming) sensor 2726 drivers/media/i2c/smiapp/smiapp-core.c smiapp_stop_streaming(sensor); sensor 2729 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = streaming; sensor 2738 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 2743 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->streaming) sensor 2744 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_start_streaming(sensor); sensor 2852 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor; sensor 2860 drivers/media/i2c/smiapp/smiapp-core.c sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); sensor 2861 drivers/media/i2c/smiapp/smiapp-core.c if (sensor == NULL) sensor 2864 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg = hwcfg; sensor 2865 drivers/media/i2c/smiapp/smiapp-core.c mutex_init(&sensor->mutex); sensor 2866 drivers/media/i2c/smiapp/smiapp-core.c sensor->src = &sensor->ssds[sensor->ssds_used]; sensor 2868 drivers/media/i2c/smiapp/smiapp-core.c v4l2_i2c_subdev_init(&sensor->src->sd, client, &smiapp_ops); sensor 2869 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->sd.internal_ops = &smiapp_internal_src_ops; sensor 2871 drivers/media/i2c/smiapp/smiapp-core.c sensor->vana = devm_regulator_get(&client->dev, "vana"); sensor 2872 drivers/media/i2c/smiapp/smiapp-core.c if (IS_ERR(sensor->vana)) { sensor 2874 drivers/media/i2c/smiapp/smiapp-core.c return PTR_ERR(sensor->vana); sensor 2877 drivers/media/i2c/smiapp/smiapp-core.c sensor->ext_clk = devm_clk_get(&client->dev, NULL); sensor 2878 drivers/media/i2c/smiapp/smiapp-core.c if (PTR_ERR(sensor->ext_clk) == -ENOENT) { sensor 2880 drivers/media/i2c/smiapp/smiapp-core.c sensor->ext_clk = NULL; sensor 2881 drivers/media/i2c/smiapp/smiapp-core.c } else if (IS_ERR(sensor->ext_clk)) { sensor 2883 drivers/media/i2c/smiapp/smiapp-core.c PTR_ERR(sensor->ext_clk)); sensor 2887 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->ext_clk) { sensor 2888 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hwcfg->ext_clk) { sensor 2891 drivers/media/i2c/smiapp/smiapp-core.c rval = clk_set_rate(sensor->ext_clk, sensor 2892 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk); sensor 2896 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk); sensor 2900 drivers/media/i2c/smiapp/smiapp-core.c rate = clk_get_rate(sensor->ext_clk); sensor 2901 drivers/media/i2c/smiapp/smiapp-core.c if (rate != sensor->hwcfg->ext_clk) { sensor 2904 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk, rate); sensor 2908 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk = clk_get_rate(sensor->ext_clk); sensor 2910 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk); sensor 2912 drivers/media/i2c/smiapp/smiapp-core.c } else if (sensor->hwcfg->ext_clk) { sensor 2914 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->ext_clk); sensor 2920 drivers/media/i2c/smiapp/smiapp-core.c sensor->xshutdown = devm_gpiod_get_optional(&client->dev, "xshutdown", sensor 2922 drivers/media/i2c/smiapp/smiapp-core.c if (IS_ERR(sensor->xshutdown)) sensor 2923 drivers/media/i2c/smiapp/smiapp-core.c return PTR_ERR(sensor->xshutdown); sensor 2929 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_identify_module(sensor); sensor 2935 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_get_all_limits(sensor); sensor 2941 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read_frame_fmt(sensor); sensor 2960 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->hwcfg->module_board_orient == sensor 2962 drivers/media/i2c/smiapp/smiapp-core.c sensor->hvflip_inv_mask = SMIAPP_IMAGE_ORIENTATION_HFLIP | sensor 2965 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_call_quirk(sensor, limits); sensor 2971 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_BINNING_CAPABILITY]) { sensor 2974 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_read(sensor, sensor 2980 drivers/media/i2c/smiapp/smiapp-core.c sensor->nbinning_subtypes = min_t(u8, val, sensor 2983 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < sensor->nbinning_subtypes; i++) { sensor 2985 drivers/media/i2c/smiapp/smiapp-core.c sensor, SMIAPP_REG_U8_BINNING_TYPE_n(i), &val); sensor 2990 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_subtypes[i] = sensor 2994 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_subtypes[i].horizontal, sensor 2995 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_subtypes[i].vertical); sensor 2998 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_horizontal = 1; sensor 2999 drivers/media/i2c/smiapp/smiapp-core.c sensor->binning_vertical = 1; sensor 3009 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->minfo.smiapp_version && sensor->hwcfg->nvm_size) { sensor 3010 drivers/media/i2c/smiapp/smiapp-core.c sensor->nvm = devm_kzalloc(&client->dev, sensor 3011 drivers/media/i2c/smiapp/smiapp-core.c sensor->hwcfg->nvm_size, GFP_KERNEL); sensor 3012 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->nvm == NULL) { sensor 3025 drivers/media/i2c/smiapp/smiapp-core.c if (!sensor->limits[SMIAPP_LIMIT_MIN_OP_SYS_CLK_DIV] || sensor 3026 drivers/media/i2c/smiapp/smiapp-core.c !sensor->limits[SMIAPP_LIMIT_MAX_OP_SYS_CLK_DIV] || sensor 3027 drivers/media/i2c/smiapp/smiapp-core.c !sensor->limits[SMIAPP_LIMIT_MIN_OP_PIX_CLK_DIV] || sensor 3028 drivers/media/i2c/smiapp/smiapp-core.c !sensor->limits[SMIAPP_LIMIT_MAX_OP_PIX_CLK_DIV]) { sensor 3029 drivers/media/i2c/smiapp/smiapp-core.c sensor->minfo.smiapp_profile = SMIAPP_PROFILE_0; sensor 3030 drivers/media/i2c/smiapp/smiapp-core.c } else if (sensor->limits[SMIAPP_LIMIT_SCALING_CAPABILITY] sensor 3032 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->limits[SMIAPP_LIMIT_SCALING_CAPABILITY] sensor 3034 drivers/media/i2c/smiapp/smiapp-core.c sensor->minfo.smiapp_profile = SMIAPP_PROFILE_1; sensor 3036 drivers/media/i2c/smiapp/smiapp-core.c sensor->minfo.smiapp_profile = SMIAPP_PROFILE_2; sensor 3037 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler = &sensor->ssds[sensor->ssds_used]; sensor 3038 drivers/media/i2c/smiapp/smiapp-core.c sensor->ssds_used++; sensor 3039 drivers/media/i2c/smiapp/smiapp-core.c } else if (sensor->limits[SMIAPP_LIMIT_DIGITAL_CROP_CAPABILITY] sensor 3041 drivers/media/i2c/smiapp/smiapp-core.c sensor->scaler = &sensor->ssds[sensor->ssds_used]; sensor 3042 drivers/media/i2c/smiapp/smiapp-core.c sensor->ssds_used++; sensor 3044 drivers/media/i2c/smiapp/smiapp-core.c sensor->binner = &sensor->ssds[sensor->ssds_used]; sensor 3045 drivers/media/i2c/smiapp/smiapp-core.c sensor->ssds_used++; sensor 3046 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array = &sensor->ssds[sensor->ssds_used]; sensor 3047 drivers/media/i2c/smiapp/smiapp-core.c sensor->ssds_used++; sensor 3049 drivers/media/i2c/smiapp/smiapp-core.c sensor->scale_m = sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]; sensor 3052 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.bus_type = SMIAPP_PLL_BUS_TYPE_CSI2; sensor 3053 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.csi2.lanes = sensor->hwcfg->lanes; sensor 3054 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.ext_clk_freq_hz = sensor->hwcfg->ext_clk; sensor 3055 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.scale_n = sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]; sensor 3057 drivers/media/i2c/smiapp/smiapp-core.c if (sensor->minfo.smiapp_profile == SMIAPP_PROFILE_0) sensor 3058 drivers/media/i2c/smiapp/smiapp-core.c sensor->pll.flags |= SMIAPP_PLL_FLAG_NO_OP_CLOCKS; sensor 3060 drivers/media/i2c/smiapp/smiapp-core.c smiapp_create_subdev(sensor, sensor->scaler, " scaler", 2); sensor 3061 drivers/media/i2c/smiapp/smiapp-core.c smiapp_create_subdev(sensor, sensor->binner, " binner", 2); sensor 3062 drivers/media/i2c/smiapp/smiapp-core.c smiapp_create_subdev(sensor, sensor->pixel_array, " pixel_array", 1); sensor 3064 drivers/media/i2c/smiapp/smiapp-core.c dev_dbg(&client->dev, "profile %d\n", sensor->minfo.smiapp_profile); sensor 3066 drivers/media/i2c/smiapp/smiapp-core.c sensor->pixel_array->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; sensor 3068 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_init_controls(sensor); sensor 3072 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_call_quirk(sensor, init); sensor 3076 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_get_mbus_formats(sensor); sensor 3082 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_init_late_controls(sensor); sensor 3088 drivers/media/i2c/smiapp/smiapp-core.c mutex_lock(&sensor->mutex); sensor 3089 drivers/media/i2c/smiapp/smiapp-core.c rval = smiapp_update_mode(sensor); sensor 3090 drivers/media/i2c/smiapp/smiapp-core.c mutex_unlock(&sensor->mutex); sensor 3096 drivers/media/i2c/smiapp/smiapp-core.c sensor->streaming = false; sensor 3097 drivers/media/i2c/smiapp/smiapp-core.c sensor->dev_init_done = true; sensor 3099 drivers/media/i2c/smiapp/smiapp-core.c rval = media_entity_pads_init(&sensor->src->sd.entity, 2, sensor 3100 drivers/media/i2c/smiapp/smiapp-core.c sensor->src->pads); sensor 3108 drivers/media/i2c/smiapp/smiapp-core.c rval = v4l2_async_register_subdev_sensor_common(&sensor->src->sd); sensor 3122 drivers/media/i2c/smiapp/smiapp-core.c media_entity_cleanup(&sensor->src->sd.entity); sensor 3125 drivers/media/i2c/smiapp/smiapp-core.c smiapp_cleanup(sensor); sensor 3136 drivers/media/i2c/smiapp/smiapp-core.c struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); sensor 3146 drivers/media/i2c/smiapp/smiapp-core.c for (i = 0; i < sensor->ssds_used; i++) { sensor 3147 drivers/media/i2c/smiapp/smiapp-core.c v4l2_device_unregister_subdev(&sensor->ssds[i].sd); sensor 3148 drivers/media/i2c/smiapp/smiapp-core.c media_entity_cleanup(&sensor->ssds[i].sd.entity); sensor 3150 drivers/media/i2c/smiapp/smiapp-core.c smiapp_cleanup(sensor); sensor 15 drivers/media/i2c/smiapp/smiapp-quirk.c static int smiapp_write_8(struct smiapp_sensor *sensor, u16 reg, u8 val) sensor 17 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write(sensor, SMIAPP_REG_MK_U8(reg), val); sensor 20 drivers/media/i2c/smiapp/smiapp-quirk.c static int smiapp_write_8s(struct smiapp_sensor *sensor, sensor 23 drivers/media/i2c/smiapp/smiapp-quirk.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 27 drivers/media/i2c/smiapp/smiapp-quirk.c rval = smiapp_write_8(sensor, regs->reg, regs->val); sensor 39 drivers/media/i2c/smiapp/smiapp-quirk.c void smiapp_replace_limit(struct smiapp_sensor *sensor, sensor 42 drivers/media/i2c/smiapp/smiapp-quirk.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 47 drivers/media/i2c/smiapp/smiapp-quirk.c sensor->limits[limit] = val; sensor 50 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ew9_limits(struct smiapp_sensor *sensor) sensor 52 drivers/media/i2c/smiapp/smiapp-quirk.c if (sensor->minfo.revision_number_major < 0x03) sensor 53 drivers/media/i2c/smiapp/smiapp-quirk.c sensor->frame_skip = 1; sensor 57 drivers/media/i2c/smiapp/smiapp-quirk.c smiapp_replace_limit(sensor, SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_MIN, 59); sensor 59 drivers/media/i2c/smiapp/smiapp-quirk.c sensor, SMIAPP_LIMIT_ANALOGUE_GAIN_CODE_MAX, 6000); sensor 64 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ew9_post_poweron(struct smiapp_sensor *sensor) sensor 99 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write_8s(sensor, regs, ARRAY_SIZE(regs)); sensor 107 drivers/media/i2c/smiapp/smiapp-quirk.c static int imx125es_post_poweron(struct smiapp_sensor *sensor) sensor 120 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write_8s(sensor, regs, ARRAY_SIZE(regs)); sensor 127 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ev1_limits(struct smiapp_sensor *sensor) sensor 129 drivers/media/i2c/smiapp/smiapp-quirk.c smiapp_replace_limit(sensor, SMIAPP_LIMIT_X_ADDR_MAX, 4271); sensor 130 drivers/media/i2c/smiapp/smiapp-quirk.c smiapp_replace_limit(sensor, sensor 136 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ev1_post_poweron(struct smiapp_sensor *sensor) sensor 138 drivers/media/i2c/smiapp/smiapp-quirk.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 167 drivers/media/i2c/smiapp/smiapp-quirk.c rval = smiapp_write_8s(sensor, regs, ARRAY_SIZE(regs)); sensor 171 drivers/media/i2c/smiapp/smiapp-quirk.c switch (sensor->hwcfg->ext_clk) { sensor 173 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write_8s(sensor, regs_96, sensor 177 drivers/media/i2c/smiapp/smiapp-quirk.c sensor->hwcfg->ext_clk); sensor 182 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ev1_pre_streamon(struct smiapp_sensor *sensor) sensor 184 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write_8(sensor, 0x3328, 0x00); sensor 187 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ev1_post_streamoff(struct smiapp_sensor *sensor) sensor 192 drivers/media/i2c/smiapp/smiapp-quirk.c rval = smiapp_write_8(sensor, 0x3205, 0x04); sensor 200 drivers/media/i2c/smiapp/smiapp-quirk.c rval = smiapp_write_8(sensor, 0x3205, 0x00); sensor 204 drivers/media/i2c/smiapp/smiapp-quirk.c return smiapp_write_8(sensor, 0x3328, 0x80); sensor 207 drivers/media/i2c/smiapp/smiapp-quirk.c static int jt8ev1_init(struct smiapp_sensor *sensor) sensor 209 drivers/media/i2c/smiapp/smiapp-quirk.c sensor->pll.flags |= SMIAPP_PLL_FLAG_OP_PIX_CLOCK_PER_LANE; sensor 222 drivers/media/i2c/smiapp/smiapp-quirk.c static int tcm8500md_limits(struct smiapp_sensor *sensor) sensor 224 drivers/media/i2c/smiapp/smiapp-quirk.c smiapp_replace_limit(sensor, SMIAPP_LIMIT_MIN_PLL_IP_FREQ_HZ, 2700000); sensor 40 drivers/media/i2c/smiapp/smiapp-quirk.h int (*limits)(struct smiapp_sensor *sensor); sensor 41 drivers/media/i2c/smiapp/smiapp-quirk.h int (*post_poweron)(struct smiapp_sensor *sensor); sensor 42 drivers/media/i2c/smiapp/smiapp-quirk.h int (*pre_streamon)(struct smiapp_sensor *sensor); sensor 43 drivers/media/i2c/smiapp/smiapp-quirk.h int (*post_streamoff)(struct smiapp_sensor *sensor); sensor 44 drivers/media/i2c/smiapp/smiapp-quirk.h unsigned long (*pll_flags)(struct smiapp_sensor *sensor); sensor 45 drivers/media/i2c/smiapp/smiapp-quirk.h int (*init)(struct smiapp_sensor *sensor); sensor 46 drivers/media/i2c/smiapp/smiapp-quirk.h int (*reg_access)(struct smiapp_sensor *sensor, bool write, u32 *reg, sensor 58 drivers/media/i2c/smiapp/smiapp-quirk.h void smiapp_replace_limit(struct smiapp_sensor *sensor, sensor 67 drivers/media/i2c/smiapp/smiapp-quirk.h #define smiapp_call_quirk(sensor, _quirk, ...) \ sensor 68 drivers/media/i2c/smiapp/smiapp-quirk.h ((sensor)->minfo.quirk && \ sensor 69 drivers/media/i2c/smiapp/smiapp-quirk.h (sensor)->minfo.quirk->_quirk ? \ sensor 70 drivers/media/i2c/smiapp/smiapp-quirk.h (sensor)->minfo.quirk->_quirk(sensor, ##__VA_ARGS__) : 0) sensor 72 drivers/media/i2c/smiapp/smiapp-quirk.h #define smiapp_needs_quirk(sensor, _quirk) \ sensor 73 drivers/media/i2c/smiapp/smiapp-quirk.h ((sensor)->minfo.quirk ? \ sensor 74 drivers/media/i2c/smiapp/smiapp-quirk.h (sensor)->minfo.quirk->flags & _quirk : 0) sensor 67 drivers/media/i2c/smiapp/smiapp-regs.c static int ____smiapp_read(struct smiapp_sensor *sensor, u16 reg, sensor 70 drivers/media/i2c/smiapp/smiapp-regs.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 126 drivers/media/i2c/smiapp/smiapp-regs.c static int ____smiapp_read_8only(struct smiapp_sensor *sensor, u16 reg, sensor 137 drivers/media/i2c/smiapp/smiapp-regs.c rval = ____smiapp_read(sensor, reg + i, 1, &val8); sensor 150 drivers/media/i2c/smiapp/smiapp-regs.c static int __smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val, sensor 153 drivers/media/i2c/smiapp/smiapp-regs.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 162 drivers/media/i2c/smiapp/smiapp-regs.c rval = ____smiapp_read(sensor, SMIAPP_REG_ADDR(reg), len, val); sensor 164 drivers/media/i2c/smiapp/smiapp-regs.c rval = ____smiapp_read_8only(sensor, SMIAPP_REG_ADDR(reg), len, sensor 175 drivers/media/i2c/smiapp/smiapp-regs.c int smiapp_read_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 *val) sensor 178 drivers/media/i2c/smiapp/smiapp-regs.c sensor, reg, val, sensor 179 drivers/media/i2c/smiapp/smiapp-regs.c smiapp_needs_quirk(sensor, sensor 183 drivers/media/i2c/smiapp/smiapp-regs.c static int smiapp_read_quirk(struct smiapp_sensor *sensor, u32 reg, u32 *val, sensor 189 drivers/media/i2c/smiapp/smiapp-regs.c rval = smiapp_call_quirk(sensor, reg_access, false, ®, val); sensor 196 drivers/media/i2c/smiapp/smiapp-regs.c return __smiapp_read(sensor, reg, val, true); sensor 198 drivers/media/i2c/smiapp/smiapp-regs.c return smiapp_read_no_quirk(sensor, reg, val); sensor 201 drivers/media/i2c/smiapp/smiapp-regs.c int smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val) sensor 203 drivers/media/i2c/smiapp/smiapp-regs.c return smiapp_read_quirk(sensor, reg, val, false); sensor 206 drivers/media/i2c/smiapp/smiapp-regs.c int smiapp_read_8only(struct smiapp_sensor *sensor, u32 reg, u32 *val) sensor 208 drivers/media/i2c/smiapp/smiapp-regs.c return smiapp_read_quirk(sensor, reg, val, true); sensor 211 drivers/media/i2c/smiapp/smiapp-regs.c int smiapp_write_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 val) sensor 213 drivers/media/i2c/smiapp/smiapp-regs.c struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); sensor 226 drivers/media/i2c/smiapp/smiapp-regs.c if (!sensor->active) sensor 284 drivers/media/i2c/smiapp/smiapp-regs.c int smiapp_write(struct smiapp_sensor *sensor, u32 reg, u32 val) sensor 288 drivers/media/i2c/smiapp/smiapp-regs.c rval = smiapp_call_quirk(sensor, reg_access, true, ®, &val); sensor 294 drivers/media/i2c/smiapp/smiapp-regs.c return smiapp_write_no_quirk(sensor, reg, val); sensor 30 drivers/media/i2c/smiapp/smiapp-regs.h int smiapp_read_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 *val); sensor 31 drivers/media/i2c/smiapp/smiapp-regs.h int smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val); sensor 32 drivers/media/i2c/smiapp/smiapp-regs.h int smiapp_read_8only(struct smiapp_sensor *sensor, u32 reg, u32 *val); sensor 33 drivers/media/i2c/smiapp/smiapp-regs.h int smiapp_write_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 val); sensor 34 drivers/media/i2c/smiapp/smiapp-regs.h int smiapp_write(struct smiapp_sensor *sensor, u32 reg, u32 val); sensor 159 drivers/media/i2c/smiapp/smiapp.h struct smiapp_sensor *sensor; sensor 240 drivers/media/i2c/smiapp/smiapp.h (to_smiapp_subdev(_sd)->sensor) sensor 564 drivers/media/i2c/vs6624.c struct vs6624 *sensor = to_vs6624(sd); sensor 634 drivers/media/i2c/vs6624.c sensor->fmt = *fmt; sensor 643 drivers/media/i2c/vs6624.c struct vs6624 *sensor = to_vs6624(sd); sensor 648 drivers/media/i2c/vs6624.c format->format = sensor->fmt; sensor 655 drivers/media/i2c/vs6624.c struct vs6624 *sensor = to_vs6624(sd); sensor 657 drivers/media/i2c/vs6624.c ival->interval.numerator = sensor->frame_rate.denominator; sensor 658 drivers/media/i2c/vs6624.c ival->interval.denominator = sensor->frame_rate.numerator; sensor 665 drivers/media/i2c/vs6624.c struct vs6624 *sensor = to_vs6624(sd); sensor 675 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator = tpf->denominator; sensor 676 drivers/media/i2c/vs6624.c sensor->frame_rate.denominator = tpf->numerator; sensor 679 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator >> 8); sensor 681 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator & 0xFF); sensor 683 drivers/media/i2c/vs6624.c sensor->frame_rate.denominator & 0xFF); sensor 744 drivers/media/i2c/vs6624.c struct vs6624 *sensor; sensor 767 drivers/media/i2c/vs6624.c sensor = devm_kzalloc(&client->dev, sizeof(*sensor), GFP_KERNEL); sensor 768 drivers/media/i2c/vs6624.c if (sensor == NULL) sensor 771 drivers/media/i2c/vs6624.c sd = &sensor->sd; sensor 785 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator = MAX_FRAME_RATE; sensor 786 drivers/media/i2c/vs6624.c sensor->frame_rate.denominator = 1; sensor 789 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator >> 8); sensor 791 drivers/media/i2c/vs6624.c sensor->frame_rate.numerator & 0xFF); sensor 793 drivers/media/i2c/vs6624.c sensor->frame_rate.denominator & 0xFF); sensor 795 drivers/media/i2c/vs6624.c sensor->fmt = vs6624_default_fmt; sensor 796 drivers/media/i2c/vs6624.c sensor->ce_pin = *ce; sensor 801 drivers/media/i2c/vs6624.c hdl = &sensor->hdl; sensor 303 drivers/media/pci/intel/ipu3/ipu3-cio2.c if (!q->sensor) sensor 306 drivers/media/pci/intel/ipu3/ipu3-cio2.c link_freq = v4l2_ctrl_find(q->sensor->ctrl_handler, V4L2_CID_LINK_FREQ); sensor 313 drivers/media/pci/intel/ipu3/ipu3-cio2.c r = v4l2_querymenu(q->sensor->ctrl_handler, &qm); sensor 1012 drivers/media/pci/intel/ipu3/ipu3-cio2.c r = v4l2_subdev_call(q->sensor, video, s_stream, 1); sensor 1037 drivers/media/pci/intel/ipu3/ipu3-cio2.c if (v4l2_subdev_call(q->sensor, video, s_stream, 0)) sensor 1405 drivers/media/pci/intel/ipu3/ipu3-cio2.c if (cio2->queue[s_asd->csi2.port].sensor) sensor 1411 drivers/media/pci/intel/ipu3/ipu3-cio2.c q->sensor = sd; sensor 1427 drivers/media/pci/intel/ipu3/ipu3-cio2.c cio2->queue[s_asd->csi2.port].sensor = NULL; sensor 1445 drivers/media/pci/intel/ipu3/ipu3-cio2.c for (pad = 0; pad < q->sensor->entity.num_pads; pad++) sensor 1446 drivers/media/pci/intel/ipu3/ipu3-cio2.c if (q->sensor->entity.pads[pad].flags & sensor 1450 drivers/media/pci/intel/ipu3/ipu3-cio2.c if (pad == q->sensor->entity.num_pads) { sensor 1453 drivers/media/pci/intel/ipu3/ipu3-cio2.c q->sensor->name); sensor 1458 drivers/media/pci/intel/ipu3/ipu3-cio2.c &q->sensor->entity, pad, sensor 1464 drivers/media/pci/intel/ipu3/ipu3-cio2.c q->sensor->name); sensor 330 drivers/media/pci/intel/ipu3/ipu3-cio2.h struct v4l2_subdev *sensor; sensor 863 drivers/media/platform/exynos4-is/fimc-capture.c static int fimc_get_sensor_frame_desc(struct v4l2_subdev *sensor, sensor 874 drivers/media/platform/exynos4-is/fimc-capture.c pad = sensor->entity.num_pads - 1; sensor 876 drivers/media/platform/exynos4-is/fimc-capture.c ret = v4l2_subdev_call(sensor, pad, set_frame_desc, pad, &fd); sensor 878 drivers/media/platform/exynos4-is/fimc-capture.c ret = v4l2_subdev_call(sensor, pad, get_frame_desc, pad, &fd); sensor 890 drivers/media/platform/exynos4-is/fimc-capture.c v4l2_err(sensor->v4l2_dev, "Unsupported buffer size: %u\n", sensor 977 drivers/media/platform/exynos4-is/fimc-capture.c struct v4l2_subdev *sensor; sensor 981 drivers/media/platform/exynos4-is/fimc-capture.c sensor = __fimc_md_get_subdev(ve->pipe, IDX_SENSOR); sensor 982 drivers/media/platform/exynos4-is/fimc-capture.c if (sensor) sensor 983 drivers/media/platform/exynos4-is/fimc-capture.c fimc_get_sensor_frame_desc(sensor, pix->plane_fmt, sensor 1389 drivers/media/platform/exynos4-is/fimc-capture.c struct v4l2_subdev *sensor; sensor 1415 drivers/media/platform/exynos4-is/fimc-capture.c sensor = fimc_find_remote_sensor(&vc->subdev.entity); sensor 1416 drivers/media/platform/exynos4-is/fimc-capture.c if (sensor == NULL) sensor 1420 drivers/media/platform/exynos4-is/fimc-capture.c sensor->ctrl_handler, NULL, true); sensor 51 drivers/media/platform/exynos4-is/fimc-is-param.c dst = &is->is_p_region->parameter.sensor.frame_rate; sensor 52 drivers/media/platform/exynos4-is/fimc-is-param.c src = &is->config[is->config_index].sensor.frame_rate; sensor 255 drivers/media/platform/exynos4-is/fimc-is-param.c switch (is->sensor->drvdata->id) { sensor 266 drivers/media/platform/exynos4-is/fimc-is-param.c struct sensor_param *sensor; sensor 269 drivers/media/platform/exynos4-is/fimc-is-param.c sensor = &is->config[index].sensor; sensor 273 drivers/media/platform/exynos4-is/fimc-is-param.c sensor->frame_rate.frame_rate = sensor 278 drivers/media/platform/exynos4-is/fimc-is-param.c sensor->frame_rate.frame_rate = fps; sensor 696 drivers/media/platform/exynos4-is/fimc-is-param.c if (is->sensor->test_pattern) sensor 758 drivers/media/platform/exynos4-is/fimc-is-param.h struct sensor_param sensor; sensor 809 drivers/media/platform/exynos4-is/fimc-is-param.h struct is_tune_sensor sensor; sensor 167 drivers/media/platform/exynos4-is/fimc-is.c struct fimc_is_sensor *sensor = &is->sensor[index]; sensor 172 drivers/media/platform/exynos4-is/fimc-is.c sensor->drvdata = fimc_is_sensor_get_drvdata(node); sensor 173 drivers/media/platform/exynos4-is/fimc-is.c if (!sensor->drvdata) { sensor 198 drivers/media/platform/exynos4-is/fimc-is.c sensor->i2c_bus = tmp - FIMC_INPUT_MIPI_CSI2_0; sensor 618 drivers/media/platform/exynos4-is/fimc-is.c struct fimc_is_sensor *sensor) sensor 642 drivers/media/platform/exynos4-is/fimc-is.c mcuctl_write(sensor->drvdata->id, is, MCUCTL_REG_ISSR(2)); sensor 643 drivers/media/platform/exynos4-is/fimc-is.c mcuctl_write(sensor->i2c_bus, is, MCUCTL_REG_ISSR(3)); sensor 649 drivers/media/platform/exynos4-is/fimc-is.c sensor->drvdata->open_timeout); sensor 664 drivers/media/platform/exynos4-is/fimc-is.c ret = fimc_is_hw_open_sensor(is, &is->sensor[0]); sensor 223 drivers/media/platform/exynos4-is/fimc-is.h struct sensor_param sensor; sensor 255 drivers/media/platform/exynos4-is/fimc-is.h struct fimc_is_sensor sensor[FIMC_IS_SENSORS_NUM]; sensor 137 drivers/media/platform/exynos4-is/fimc-lite.c if (fimc->sensor == NULL) sensor 144 drivers/media/platform/exynos4-is/fimc-lite.c si = v4l2_get_subdev_hostdata(fimc->sensor); sensor 829 drivers/media/platform/exynos4-is/fimc-lite.c fimc->sensor = fimc_find_remote_sensor(&fimc->subdev.entity); sensor 984 drivers/media/platform/exynos4-is/fimc-lite.c fimc->sensor = NULL; sensor 1211 drivers/media/platform/exynos4-is/fimc-lite.c fimc->sensor = fimc_find_remote_sensor(&sd->entity); sensor 150 drivers/media/platform/exynos4-is/fimc-lite.h struct v4l2_subdev *sensor; sensor 40 drivers/media/platform/exynos4-is/media-dev.c struct v4l2_subdev *sensor, sensor 47 drivers/media/platform/exynos4-is/media-dev.c src_inf = v4l2_get_subdev_hostdata(sensor); sensor 69 drivers/media/platform/exynos4-is/media-dev.c struct v4l2_subdev *sensor = NULL; sensor 94 drivers/media/platform/exynos4-is/media-dev.c sensor = sd; sensor 119 drivers/media/platform/exynos4-is/media-dev.c if (sensor && p->subdevs[IDX_FIMC]) sensor 120 drivers/media/platform/exynos4-is/media-dev.c __setup_sensor_notification(fmd, sensor, p->subdevs[IDX_FIMC]); sensor 387 drivers/media/platform/exynos4-is/media-dev.c struct fimc_source_info *pd = &fmd->sensor[index].pdata; sensor 450 drivers/media/platform/exynos4-is/media-dev.c if (WARN_ON(index >= ARRAY_SIZE(fmd->sensor))) { sensor 455 drivers/media/platform/exynos4-is/media-dev.c fmd->sensor[index].asd.match_type = V4L2_ASYNC_MATCH_FWNODE; sensor 456 drivers/media/platform/exynos4-is/media-dev.c fmd->sensor[index].asd.match.fwnode = of_fwnode_handle(rem); sensor 459 drivers/media/platform/exynos4-is/media-dev.c &fmd->sensor[index].asd); sensor 791 drivers/media/platform/exynos4-is/media-dev.c struct v4l2_subdev *sensor, sensor 799 drivers/media/platform/exynos4-is/media-dev.c if (sensor) { sensor 800 drivers/media/platform/exynos4-is/media-dev.c si = v4l2_get_subdev_hostdata(sensor); sensor 934 drivers/media/platform/exynos4-is/media-dev.c struct v4l2_subdev *sensor, *csis; sensor 941 drivers/media/platform/exynos4-is/media-dev.c if (fmd->sensor[i].subdev == NULL) sensor 944 drivers/media/platform/exynos4-is/media-dev.c sensor = fmd->sensor[i].subdev; sensor 945 drivers/media/platform/exynos4-is/media-dev.c pdata = v4l2_get_subdev_hostdata(sensor); sensor 962 drivers/media/platform/exynos4-is/media-dev.c pad = sensor->entity.num_pads - 1; sensor 963 drivers/media/platform/exynos4-is/media-dev.c ret = media_create_pad_link(&sensor->entity, pad, sensor 971 drivers/media/platform/exynos4-is/media-dev.c sensor->entity.name, csis->entity.name); sensor 974 drivers/media/platform/exynos4-is/media-dev.c csi_sensors[pdata->mux_id] = sensor; sensor 978 drivers/media/platform/exynos4-is/media-dev.c source = &sensor->entity; sensor 991 drivers/media/platform/exynos4-is/media-dev.c ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, sensor 1001 drivers/media/platform/exynos4-is/media-dev.c sensor = csi_sensors[i]; sensor 1004 drivers/media/platform/exynos4-is/media-dev.c ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, sensor 1377 drivers/media/platform/exynos4-is/media-dev.c for (i = 0; i < ARRAY_SIZE(fmd->sensor); i++) sensor 1378 drivers/media/platform/exynos4-is/media-dev.c if (fmd->sensor[i].asd.match.fwnode == sensor 1380 drivers/media/platform/exynos4-is/media-dev.c si = &fmd->sensor[i]; sensor 121 drivers/media/platform/exynos4-is/media-dev.h struct fimc_sensor_info sensor[FIMC_MAX_SENSORS]; sensor 95 drivers/media/platform/marvell-ccic/mcam-core.c v4l2_subdev_call(cam->sensor, o, f, ##args) sensor 1024 drivers/media/platform/marvell-ccic/mcam-core.c return v4l2_s_ctrl(NULL, cam->sensor->ctrl_handler, &ctrl); sensor 1489 drivers/media/platform/marvell-ccic/mcam-core.c ret = v4l2_g_parm_cap(video_devdata(filp), cam->sensor, a); sensor 1500 drivers/media/platform/marvell-ccic/mcam-core.c ret = v4l2_s_parm_cap(video_devdata(filp), cam->sensor, a); sensor 1779 drivers/media/platform/marvell-ccic/mcam-core.c if (cam->sensor) { sensor 1786 drivers/media/platform/marvell-ccic/mcam-core.c cam->sensor = subdev; sensor 1790 drivers/media/platform/marvell-ccic/mcam-core.c cam->sensor = NULL; sensor 1796 drivers/media/platform/marvell-ccic/mcam-core.c cam->sensor = NULL; sensor 1807 drivers/media/platform/marvell-ccic/mcam-core.c cam->sensor = NULL; sensor 1823 drivers/media/platform/marvell-ccic/mcam-core.c if (cam->sensor != subdev) { sensor 1829 drivers/media/platform/marvell-ccic/mcam-core.c cam->sensor = NULL; sensor 155 drivers/media/platform/marvell-ccic/mcam-core.h struct v4l2_subdev *sensor; sensor 1117 drivers/media/platform/omap3isp/ispccdc.c struct v4l2_subdev *sensor; sensor 1137 drivers/media/platform/omap3isp/ispccdc.c sensor = media_entity_to_v4l2_subdev(pad->entity); sensor 1154 drivers/media/platform/omap3isp/ispccdc.c if (!v4l2_subdev_call(sensor, pad, get_fmt, NULL, &fmt_src)) { sensor 354 drivers/media/platform/omap3isp/ispccp2.c struct v4l2_subdev *sensor; sensor 361 drivers/media/platform/omap3isp/ispccp2.c sensor = media_entity_to_v4l2_subdev(pad->entity); sensor 370 drivers/media/platform/omap3isp/ispccp2.c v4l2_subdev_call(sensor, sensor, g_skip_top_lines, &lines); sensor 552 drivers/media/platform/omap3isp/ispcsi2.c struct v4l2_subdev *sensor; sensor 565 drivers/media/platform/omap3isp/ispcsi2.c sensor = media_entity_to_v4l2_subdev(pad->entity); sensor 569 drivers/media/platform/omap3isp/ispcsi2.c v4l2_subdev_call(sensor, sensor, g_skip_frames, &csi2->frame_skip); sensor 177 drivers/media/platform/pxa_camera.c v4l2_subdev_call(cam->sensor, o, f, ##args) sensor 690 drivers/media/platform/pxa_camera.c struct v4l2_subdev *sensor; sensor 1264 drivers/media/platform/pxa_camera.c int ret = sensor_call(pcdev, sensor, g_skip_top_lines, &y_skip_top); sensor 1793 drivers/media/platform/pxa_camera.c xlate = pxa_mbus_build_fmts_xlate(&pcdev->v4l2_dev, pcdev->sensor, sensor 2152 drivers/media/platform/pxa_camera.c pcdev->sensor = subdev; sensor 2197 drivers/media/platform/pxa_camera.c pcdev->sensor = NULL; sensor 2236 drivers/media/platform/pxa_camera.c pcdev->sensor = NULL; sensor 2260 drivers/media/platform/pxa_camera.c if (pcdev->sensor) sensor 2277 drivers/media/platform/pxa_camera.c if (pcdev->sensor) { sensor 662 drivers/media/platform/qcom/camss/camss-vfe.c struct media_entity *sensor; sensor 672 drivers/media/platform/qcom/camss/camss-vfe.c sensor = camss_find_sensor(&line->subdev.entity); sensor 673 drivers/media/platform/qcom/camss/camss-vfe.c if (sensor) { sensor 675 drivers/media/platform/qcom/camss/camss-vfe.c media_entity_to_v4l2_subdev(sensor); sensor 677 drivers/media/platform/qcom/camss/camss-vfe.c v4l2_subdev_call(subdev, sensor, g_skip_frames, &frame_skip); sensor 378 drivers/media/platform/qcom/camss/camss.c struct media_entity *sensor; sensor 382 drivers/media/platform/qcom/camss/camss.c sensor = camss_find_sensor(entity); sensor 383 drivers/media/platform/qcom/camss/camss.c if (!sensor) sensor 386 drivers/media/platform/qcom/camss/camss.c subdev = media_entity_to_v4l2_subdev(sensor); sensor 762 drivers/media/platform/qcom/camss/camss.c struct media_entity *sensor = &sd->entity; sensor 768 drivers/media/platform/qcom/camss/camss.c for (i = 0; i < sensor->num_pads; i++) { sensor 769 drivers/media/platform/qcom/camss/camss.c if (sensor->pads[i].flags & MEDIA_PAD_FL_SOURCE) sensor 772 drivers/media/platform/qcom/camss/camss.c if (i == sensor->num_pads) { sensor 778 drivers/media/platform/qcom/camss/camss.c ret = media_create_pad_link(sensor, i, sensor 784 drivers/media/platform/qcom/camss/camss.c sensor->name, input->name, ret); sensor 69 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.sd == NULL || vp->out_fmt == NULL) sensor 112 drivers/media/platform/s3c-camif/camif-capture.c struct cam_sensor *sensor = &camif->sensor; sensor 115 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.power_count == !on) sensor 116 drivers/media/platform/s3c-camif/camif-capture.c err = v4l2_subdev_call(sensor->sd, core, s_power, on); sensor 120 drivers/media/platform/s3c-camif/camif-capture.c sensor->power_count += on ? 1 : -1; sensor 123 drivers/media/platform/s3c-camif/camif-capture.c on, sensor->power_count, err); sensor 130 drivers/media/platform/s3c-camif/camif-capture.c struct cam_sensor *sensor = &camif->sensor; sensor 133 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.stream_count == !on) sensor 134 drivers/media/platform/s3c-camif/camif-capture.c err = v4l2_subdev_call(sensor->sd, video, s_stream, on); sensor 136 drivers/media/platform/s3c-camif/camif-capture.c sensor->stream_count += on ? 1 : -1; sensor 139 drivers/media/platform/s3c-camif/camif-capture.c on, sensor->stream_count, err); sensor 651 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_subdev *sensor = vp->camif->sensor.sd; sensor 653 drivers/media/platform/s3c-camif/camif-capture.c if (input->index || sensor == NULL) sensor 657 drivers/media/platform/s3c-camif/camif-capture.c strscpy(input->name, sensor->name, sizeof(input->name)); sensor 820 drivers/media/platform/s3c-camif/camif-capture.c ret = v4l2_subdev_call(camif->sensor.sd, pad, get_fmt, NULL, &src_fmt); sensor 837 drivers/media/platform/s3c-camif/camif-capture.c struct media_entity *sensor = &camif->sensor.sd->entity; sensor 851 drivers/media/platform/s3c-camif/camif-capture.c ret = media_pipeline_start(sensor, camif->m_pipeline); sensor 857 drivers/media/platform/s3c-camif/camif-capture.c media_pipeline_stop(sensor); sensor 881 drivers/media/platform/s3c-camif/camif-capture.c media_pipeline_stop(&camif->sensor.sd->entity); sensor 189 drivers/media/platform/s3c-camif/camif-core.c struct s3c_camif_sensor_info *sensor = &camif->pdata.sensor; sensor 196 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = NULL; sensor 198 drivers/media/platform/s3c-camif/camif-core.c if (sensor->i2c_board_info.addr == 0) sensor 201 drivers/media/platform/s3c-camif/camif-core.c adapter = i2c_get_adapter(sensor->i2c_bus_num); sensor 204 drivers/media/platform/s3c-camif/camif-core.c sensor->i2c_bus_num); sensor 209 drivers/media/platform/s3c-camif/camif-core.c &sensor->i2c_board_info, NULL); sensor 213 drivers/media/platform/s3c-camif/camif-core.c sensor->i2c_board_info.type); sensor 216 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = sd; sensor 239 drivers/media/platform/s3c-camif/camif-core.c struct v4l2_subdev *sd = camif->sensor.sd; sensor 248 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = NULL; sensor 257 drivers/media/platform/s3c-camif/camif-core.c ret = media_create_pad_link(&camif->sensor.sd->entity, 0, sensor 448 drivers/media/platform/s3c-camif/camif-core.c camif->pdata.sensor.clock_frequency); sensor 274 drivers/media/platform/s3c-camif/camif-core.h } sensor; sensor 169 drivers/media/platform/s3c-camif/camif-regs.c unsigned int flags = camif->pdata.sensor.flags; sensor 266 drivers/media/platform/ti-vpe/cal.c struct v4l2_subdev *sensor; sensor 794 drivers/media/platform/ti-vpe/cal.c if (!ctx->sensor) sensor 797 drivers/media/platform/ti-vpe/cal.c ctrl = v4l2_ctrl_find(ctx->sensor->ctrl_handler, V4L2_CID_PIXEL_RATE); sensor 800 drivers/media/platform/ti-vpe/cal.c ctx->sensor->name); sensor 943 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, pad, get_fmt, NULL, &sd_fmt); sensor 966 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, pad, set_fmt, NULL, &sd_fmt); sensor 1037 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, pad, enum_frame_size, sensor 1134 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, pad, enum_frame_size, NULL, &fse); sensor 1198 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, pad, enum_frame_interval, sensor 1313 drivers/media/platform/ti-vpe/cal.c ret = v4l2_subdev_call(ctx->sensor, video, s_stream, 1); sensor 1340 drivers/media/platform/ti-vpe/cal.c if (v4l2_subdev_call(ctx->sensor, video, s_stream, 0)) sensor 1436 drivers/media/platform/ti-vpe/cal.c if (ctx->sensor) { sensor 1442 drivers/media/platform/ti-vpe/cal.c ctx->sensor = subdev; sensor 64 drivers/media/platform/via-camera.c struct v4l2_subdev *sensor; sensor 129 drivers/media/platform/via-camera.c v4l2_subdev_call(cam->sensor, optype, func, ##args) sensor 246 drivers/media/platform/via-camera.c return v4l2_s_ctrl(NULL, cam->sensor->ctrl_handler, &ctrl); sensor 931 drivers/media/platform/via-camera.c return v4l2_g_parm_cap(video_devdata(filp), cam->sensor, parm); sensor 939 drivers/media/platform/via-camera.c return v4l2_s_parm_cap(video_devdata(filp), cam->sensor, parm); sensor 1228 drivers/media/platform/via-camera.c cam->sensor = v4l2_i2c_new_subdev_board(&cam->v4l2_dev, sensor_adapter, sensor 1230 drivers/media/platform/via-camera.c if (cam->sensor == NULL) { sensor 24 drivers/media/usb/gspca/etoms.c char sensor; sensor 407 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) { sensor 417 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) { sensor 543 drivers/media/usb/gspca/etoms.c sd->sensor = id->driver_info; sensor 544 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) { sensor 560 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) sensor 574 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) sensor 595 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) { sensor 608 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) { sensor 729 drivers/media/usb/gspca/etoms.c if (sd->sensor == SENSOR_PAS106) sensor 42 drivers/media/usb/gspca/gl860/gl860.c static char sensor[7]; sensor 43 drivers/media/usb/gspca/gl860/gl860.c module_param_string(sensor, sensor, sizeof(sensor), 0644); sensor 44 drivers/media/usb/gspca/gl860/gl860.c MODULE_PARM_DESC(sensor, sensor 330 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = 0xff; sensor 331 drivers/media/usb/gspca/gl860/gl860.c if (strcmp(sensor, "MI1320") == 0) sensor 332 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_MI1320; sensor 333 drivers/media/usb/gspca/gl860/gl860.c else if (strcmp(sensor, "OV2640") == 0) sensor 334 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_OV2640; sensor 335 drivers/media/usb/gspca/gl860/gl860.c else if (strcmp(sensor, "OV9655") == 0) sensor 336 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_OV9655; sensor 337 drivers/media/usb/gspca/gl860/gl860.c else if (strcmp(sensor, "MI2020") == 0) sensor 338 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_MI2020; sensor 346 drivers/media/usb/gspca/gl860/gl860.c switch (sd->sensor) { sensor 631 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_MI1320; sensor 633 drivers/media/usb/gspca/gl860/gl860.c if (sd->sensor == 0xff) { sensor 688 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_OV2640; sensor 696 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_OV9655; sensor 712 drivers/media/usb/gspca/gl860/gl860.c sd->sensor = ID_MI2020; sensor 23 drivers/media/usb/gspca/gl860/gl860.h #define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320) sensor 24 drivers/media/usb/gspca/gl860/gl860.h #define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020) sensor 25 drivers/media/usb/gspca/gl860/gl860.h #define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640) sensor 26 drivers/media/usb/gspca/gl860/gl860.h #define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655) sensor 63 drivers/media/usb/gspca/gl860/gl860.h u8 sensor; sensor 118 drivers/media/usb/gspca/m5602/m5602_bridge.h const struct m5602_sensor *sensor; sensor 116 drivers/media/usb/gspca/m5602/m5602_core.c if (!len || len > sd->sensor->i2c_regW) sensor 124 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor->i2c_slave_id); sensor 136 drivers/media/usb/gspca/m5602/m5602_core.c if (sd->sensor->i2c_regW == 1) { sensor 169 drivers/media/usb/gspca/m5602/m5602_core.c if (len > sd->sensor->i2c_regW || !len) sensor 175 drivers/media/usb/gspca/m5602/m5602_core.c buf[11] = sd->sensor->i2c_slave_id; sensor 220 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &po1030; sensor 221 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 225 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &mt9m111; sensor 226 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 230 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &s5k4aa; sensor 231 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 235 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &ov9650; sensor 236 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 240 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &ov7660; sensor 241 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 245 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = &s5k83a; sensor 246 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->probe(sd)) sensor 251 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor = NULL; sensor 265 drivers/media/usb/gspca/m5602/m5602_core.c err = sd->sensor->init(sd); sensor 274 drivers/media/usb/gspca/m5602/m5602_core.c if (!sd->sensor->init_controls) sensor 277 drivers/media/usb/gspca/m5602/m5602_core.c return sd->sensor->init_controls(sd); sensor 289 drivers/media/usb/gspca/m5602/m5602_core.c if (sd->sensor->start) sensor 290 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor->start(sd); sensor 360 drivers/media/usb/gspca/m5602/m5602_core.c if (sd->sensor->stop) sensor 361 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor->stop(sd); sensor 415 drivers/media/usb/gspca/m5602/m5602_core.c if (sd->sensor->disconnect) sensor 416 drivers/media/usb/gspca/m5602/m5602_core.c sd->sensor->disconnect(sd); sensor 388 drivers/media/usb/gspca/m5602/m5602_mt9m111.c sd->sensor = NULL; sensor 320 drivers/media/usb/gspca/m5602/m5602_ov7660.c sd->sensor = NULL; sensor 548 drivers/media/usb/gspca/m5602/m5602_ov9650.c sd->sensor = NULL; sensor 548 drivers/media/usb/gspca/m5602/m5602_po1030.c sd->sensor = NULL; sensor 714 drivers/media/usb/gspca/m5602/m5602_s5k4aa.c sd->sensor = NULL; sensor 379 drivers/media/usb/gspca/m5602/m5602_s5k83a.c sd->sensor = NULL; sensor 97 drivers/media/usb/gspca/ov519.c s8 sensor; /* Type of image sensor chip (SEN_*) */ sensor 2637 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV2610; sensor 2641 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV2610AE; sensor 2645 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV9600; sensor 2652 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV3610; sensor 2678 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV8610; sensor 2711 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7670; sensor 2714 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7610; sensor 2720 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7620AE; sensor 2723 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV76BE; sensor 2745 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7640; /* FIXME */ sensor 2749 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7640; /* FIXME */ sensor 2753 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7648; sensor 2757 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7660; sensor 2766 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV7620; sensor 2794 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV6630; sensor 2798 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV6620; sensor 2802 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV6630; sensor 2806 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV66308AF; sensor 2810 drivers/media/usb/gspca/ov519.c sd->sensor = SEN_OV6630; sensor 3205 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7660) sensor 3289 drivers/media/usb/gspca/ov519.c sd->sensor = -1; sensor 3311 drivers/media/usb/gspca/ov519.c if (sd->sensor < 0) sensor 3338 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3370 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3516 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3655 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7620AE) sensor 3667 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3791 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3794 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7640 || sensor 3795 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7648) { sensor 3810 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7670 && sensor 3813 drivers/media/usb/gspca/ov519.c else if (sd->sensor == SEN_OV7648 && sensor 3831 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3912 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 3993 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV76BE) sensor 4115 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4135 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4155 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV66308AF && qvga) sensor 4181 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4526 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4615 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4678 drivers/media/usb/gspca/ov519.c switch (sd->sensor) { sensor 4720 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7660 sensor 4721 drivers/media/usb/gspca/ov519.c || sd->sensor == SEN_OV7670) { sensor 4753 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV6620 || sensor 4754 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV6630 || sensor 4755 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV66308AF) sensor 4762 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV6620 || sensor 4763 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV6630 || sensor 4764 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV66308AF) { sensor 4888 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_brightness) sensor 4891 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7660 ? 6 : 255, 1, sensor 4892 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7660 ? 3 : 127); sensor 4893 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_contrast) { sensor 4894 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7660) sensor 4900 drivers/media/usb/gspca/ov519.c (sd->sensor == SEN_OV6630 || sensor 4901 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV66308AF) ? 200 : 127); sensor 4903 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_sat) sensor 4906 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7660 ? 4 : 255, 1, sensor 4907 drivers/media/usb/gspca/ov519.c sd->sensor == SEN_OV7660 ? 2 : 127); sensor 4908 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_exposure) sensor 4911 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_hvflip) { sensor 4917 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_autobright) sensor 4920 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_autogain) sensor 4923 drivers/media/usb/gspca/ov519.c if (valid_controls[sd->sensor].has_freq) { sensor 4924 drivers/media/usb/gspca/ov519.c if (sd->sensor == SEN_OV7670) sensor 74 drivers/media/usb/gspca/ov534.c u8 sensor; sensor 841 drivers/media/usb/gspca/ov534.c if (sd->sensor != SENSOR_OV772x) sensor 867 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 902 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 926 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 939 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) sensor 977 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 998 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 1030 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) sensor 1036 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) sensor 1047 drivers/media/usb/gspca/ov534.c data = sd->sensor == SENSOR_OV767x ? sensor 1073 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 1097 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 1222 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) { sensor 1254 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) sensor 1267 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) { sensor 1285 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) sensor 1303 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV772x) sensor 1346 drivers/media/usb/gspca/ov534.c sd->sensor = SENSOR_OV767x; sensor 1350 drivers/media/usb/gspca/ov534.c sd->sensor = SENSOR_OV772x; sensor 1358 drivers/media/usb/gspca/ov534.c reg_w_array(gspca_dev, bridge_init[sd->sensor].val, sensor 1359 drivers/media/usb/gspca/ov534.c bridge_init[sd->sensor].len); sensor 1361 drivers/media/usb/gspca/ov534.c sccb_w_array(gspca_dev, sensor_init[sd->sensor].val, sensor 1362 drivers/media/usb/gspca/ov534.c sensor_init[sd->sensor].len); sensor 1404 drivers/media/usb/gspca/ov534.c if (sd->sensor == SENSOR_OV767x) sensor 1409 drivers/media/usb/gspca/ov534.c reg_w_array(gspca_dev, bridge_start[sd->sensor][mode].val, sensor 1410 drivers/media/usb/gspca/ov534.c bridge_start[sd->sensor][mode].len); sensor 1411 drivers/media/usb/gspca/ov534.c sccb_w_array(gspca_dev, sensor_start[sd->sensor][mode].val, sensor 1412 drivers/media/usb/gspca/ov534.c sensor_start[sd->sensor][mode].len); sensor 43 drivers/media/usb/gspca/ov534_9.c u8 sensor; sensor 1261 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV562x) { sensor 1423 drivers/media/usb/gspca/ov534_9.c sd->sensor = SENSOR_OV965x; sensor 1444 drivers/media/usb/gspca/ov534_9.c sd->sensor = SENSOR_OV971x; sensor 1473 drivers/media/usb/gspca/ov534_9.c sd->sensor = SENSOR_OV562x; sensor 1483 drivers/media/usb/gspca/ov534_9.c sd->sensor = SENSOR_OV361x; sensor 1548 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV971x) sensor 1550 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV562x) sensor 1552 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV361x) sensor 1607 drivers/media/usb/gspca/ov534_9.c if (((struct sd *)gspca_dev)->sensor == SENSOR_OV361x) { sensor 1745 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV971x) sensor 1747 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV361x) sensor 1751 drivers/media/usb/gspca/ov534_9.c if (sd->sensor == SENSOR_OV562x) { sensor 96 drivers/media/usb/gspca/sn9c20x.c u8 sensor; sensor 1174 drivers/media/usb/gspca/sn9c20x.c sd->sensor = SENSOR_MT9V011; sensor 1192 drivers/media/usb/gspca/sn9c20x.c sd->sensor = SENSOR_MT9V111; sensor 1215 drivers/media/usb/gspca/sn9c20x.c sd->sensor = SENSOR_MT9V112; sensor 1373 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 1443 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 1498 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 1566 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor >= SENSOR_MT9V011 && sensor 1567 drivers/media/usb/gspca/sn9c20x.c sd->sensor <= SENSOR_MT9M112) { sensor 1590 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor >= SENSOR_MT9V011 && sensor 1591 drivers/media/usb/gspca/sn9c20x.c sd->sensor <= SENSOR_MT9M112) { sensor 1621 drivers/media/usb/gspca/sn9c20x.c sd->sensor = id->driver_info >> 8; sensor 1626 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 1694 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor == SENSOR_SOI968) sensor 1735 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor != SENSOR_OV9655 && sd->sensor != SENSOR_SOI968 && sensor 1736 drivers/media/usb/gspca/sn9c20x.c sd->sensor != SENSOR_OV7670 && sd->sensor != SENSOR_MT9M001 && sensor 1737 drivers/media/usb/gspca/sn9c20x.c sd->sensor != SENSOR_MT9VPRB) { sensor 1744 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor != SENSOR_SOI968 && sd->sensor != SENSOR_MT9VPRB && sensor 1745 drivers/media/usb/gspca/sn9c20x.c sd->sensor != SENSOR_MT9M112 && sd->sensor != SENSOR_MT9M111 && sensor 1746 drivers/media/usb/gspca/sn9c20x.c sd->sensor != SENSOR_MT9V111) sensor 1750 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor != SENSOR_MT9VPRB && sd->sensor != SENSOR_MT9M112 && sensor 1751 drivers/media/usb/gspca/sn9c20x.c sd->sensor != SENSOR_MT9M111 && sd->sensor != SENSOR_MT9V111) { sensor 1770 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor == SENSOR_SOI968) sensor 1811 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 1883 drivers/media/usb/gspca/sn9c20x.c switch (sd->sensor) { sensor 2143 drivers/media/usb/gspca/sn9c20x.c if (sd->sensor == SENSOR_SOI968) sensor 2321 drivers/media/usb/gspca/sn9c20x.c #define SN9C20X(sensor, i2c_addr, flags) \ sensor 2323 drivers/media/usb/gspca/sn9c20x.c | (SENSOR_ ## sensor << 8) \ sensor 67 drivers/media/usb/gspca/sonixb.c __u8 sensor; /* Type of image sensor chip */ sensor 105 drivers/media/usb/gspca/sonixb.c #define SENS(bridge, sensor, _flags, _sensor_addr) \ sensor 108 drivers/media/usb/gspca/sonixb.c .sensor_init = sensor, \ sensor 109 drivers/media/usb/gspca/sonixb.c .sensor_init_size = sizeof(sensor), \ sensor 537 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 544 drivers/media/usb/gspca/sonixb.c i2cOV[1] = sensor_data[sd->sensor].sensor_addr; sensor 557 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_PAS106) { sensor 584 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 629 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_OV7630 && gain >= 32) sensor 632 drivers/media/usb/gspca/sonixb.c i2c[1] = sensor_data[sd->sensor].sensor_addr; sensor 647 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_PAS106) { sensor 682 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 730 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_OV6650) { sensor 764 drivers/media/usb/gspca/sonixb.c i2c[1] = sensor_data[sd->sensor].sensor_addr; sensor 853 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_OV6650 || sd->sensor == SENSOR_OV7630) { sensor 866 drivers/media/usb/gspca/sonixb.c i2c[3] = (sd->sensor == SENSOR_OV6650) sensor 870 drivers/media/usb/gspca/sonixb.c i2c[1] = sensor_data[sd->sensor].sensor_addr; sensor 891 drivers/media/usb/gspca/sonixb.c if (sensor_data[sd->sensor].flags & F_SIF) { sensor 927 drivers/media/usb/gspca/sonixb.c sd->sensor = id->driver_info >> 8; sensor 931 drivers/media/usb/gspca/sonixb.c if (!(sensor_data[sd->sensor].flags & F_SIF)) { sensor 1006 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_OV6650 || sd->sensor == SENSOR_OV7630 || sensor 1007 drivers/media/usb/gspca/sonixb.c sd->sensor == SENSOR_PAS106 || sd->sensor == SENSOR_PAS202) sensor 1012 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 1044 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 1070 drivers/media/usb/gspca/sonixb.c if (sd->sensor == SENSOR_OV6650 || sd->sensor == SENSOR_OV7630) sensor 1097 drivers/media/usb/gspca/sonixb.c memcpy(®s[0x01], sensor_data[sd->sensor].bridge_init, 0x19); sensor 1112 drivers/media/usb/gspca/sonixb.c if (sensor_data[sd->sensor].flags & F_SIF) { sensor 1134 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 1180 drivers/media/usb/gspca/sonixb.c i2c_w_vector(gspca_dev, sensor_data[sd->sensor].sensor_init, sensor 1181 drivers/media/usb/gspca/sonixb.c sensor_data[sd->sensor].sensor_init_size); sensor 1184 drivers/media/usb/gspca/sonixb.c switch (sd->sensor) { sensor 1413 drivers/media/usb/gspca/sonixb.c #define SB(sensor, bridge) \ sensor 1414 drivers/media/usb/gspca/sonixb.c .driver_info = (SENSOR_ ## sensor << 8) | BRIDGE_ ## bridge sensor 68 drivers/media/usb/gspca/sonixj.c u8 sensor; /* Type of image sensor chip */ sensor 1236 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1299 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1397 drivers/media/usb/gspca/sonixj.c sd->sensor = SENSOR_MI0360B; sensor 1401 drivers/media/usb/gspca/sonixj.c sd->sensor = SENSOR_MT9V111; sensor 1429 drivers/media/usb/gspca/sonixj.c sd->sensor = SENSOR_SOI768; sensor 1469 drivers/media/usb/gspca/sonixj.c sd->sensor = SENSOR_PO1030; sensor 1492 drivers/media/usb/gspca/sonixj.c sd->sensor = SENSOR_GC0307; sensor 1522 drivers/media/usb/gspca/sonixj.c sd->sensor = id->driver_info >> 8; sensor 1526 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_ADCM1700) { sensor 1575 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1604 drivers/media/usb/gspca/sonixj.c sn9c1xx = sn_tb[sd->sensor]; sensor 1641 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_OM6802) sensor 1652 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 1661 drivers/media/usb/gspca/sonixj.c if (sd->sensor != SENSOR_ADCM1700 && sd->sensor != SENSOR_OV7660 && sensor 1662 drivers/media/usb/gspca/sonixj.c sd->sensor != SENSOR_PO1030 && sd->sensor != SENSOR_SOI768 && sensor 1663 drivers/media/usb/gspca/sonixj.c sd->sensor != SENSOR_SP80708) sensor 1667 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_HV7131R || sd->sensor == SENSOR_OV7630 || sensor 1668 drivers/media/usb/gspca/sonixj.c sd->sensor == SENSOR_OV7648 || sd->sensor == SENSOR_PO2030N) sensor 1672 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_OV7630 || sd->sensor == SENSOR_OV7648 || sensor 1673 drivers/media/usb/gspca/sonixj.c sd->sensor == SENSOR_OV7660) sensor 1685 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 1698 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1805 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1877 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_MI0360B) sensor 1893 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 1919 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1950 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 1967 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 1972 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_OV7630) sensor 1992 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 2006 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2055 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2074 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_OV7660) { sensor 2095 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2205 drivers/media/usb/gspca/sonixj.c sn9c1xx = sn_tb[sd->sensor]; sensor 2222 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2242 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2267 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2287 drivers/media/usb/gspca/sonixj.c i2c_w_seq(gspca_dev, sensor_init[sd->sensor]); sensor 2294 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_ADCM1700) { sensor 2303 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_ADCM1700) { sensor 2311 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2331 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2366 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2436 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2449 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2501 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2587 drivers/media/usb/gspca/sonixj.c if (sd->sensor == SENSOR_PO2030N) { sensor 2595 drivers/media/usb/gspca/sonixj.c switch (sd->sensor) { sensor 2890 drivers/media/usb/gspca/sonixj.c #define BS(bridge, sensor) \ sensor 2892 drivers/media/usb/gspca/sonixj.c | (SENSOR_ ## sensor << 8) sensor 2893 drivers/media/usb/gspca/sonixj.c #define BSF(bridge, sensor, flags) \ sensor 2895 drivers/media/usb/gspca/sonixj.c | (SENSOR_ ## sensor << 8) \ sensor 374 drivers/media/usb/gspca/spca561.c const __u16 (*sensor)[2]) sensor 376 drivers/media/usb/gspca/spca561.c while ((*sensor)[0]) { sensor 377 drivers/media/usb/gspca/spca561.c i2c_write(gspca_dev, (*sensor)[1], (*sensor)[0]); sensor 378 drivers/media/usb/gspca/spca561.c sensor++; sensor 33 drivers/media/usb/gspca/sq930x.c u8 sensor; sensor 484 drivers/media/usb/gspca/sq930x.c const struct sensor_s *sensor; sensor 492 drivers/media/usb/gspca/sq930x.c sensor = &sensor_tb[sd->sensor]; sensor 494 drivers/media/usb/gspca/sq930x.c val = (sensor->i2c_addr << 8) | SQ930_CTRL_I2C_IO; sensor 498 drivers/media/usb/gspca/sq930x.c *buf++ = sensor->i2c_dum; sensor 505 drivers/media/usb/gspca/sq930x.c *buf++ = sensor->i2c_dum; sensor 629 drivers/media/usb/gspca/sq930x.c const struct sensor_s *sensor; sensor 639 drivers/media/usb/gspca/sq930x.c sensor = &sensor_tb[probe_order[i]]; sensor 640 drivers/media/usb/gspca/sq930x.c ucbus_write(&sd->gspca_dev, sensor->cmd, sensor->cmd_len, 8); sensor 641 drivers/media/usb/gspca/sq930x.c gpio_init(sd, sensor->gpio); sensor 643 drivers/media/usb/gspca/sq930x.c reg_r(gspca_dev, (sensor->i2c_addr << 8) | 0x001c, 1); sensor 653 drivers/media/usb/gspca/sq930x.c sd->sensor = probe_order[i]; sensor 654 drivers/media/usb/gspca/sq930x.c switch (sd->sensor) { sensor 658 drivers/media/usb/gspca/sq930x.c sensor_tb[sd->sensor].name); sensor 701 drivers/media/usb/gspca/sq930x.c switch (sd->sensor) { sensor 707 drivers/media/usb/gspca/sq930x.c gpio_init(sd, sensor_tb[sd->sensor].gpio); sensor 719 drivers/media/usb/gspca/sq930x.c gpio_init(sd, sensor_tb[sd->sensor].gpio); sensor 727 drivers/media/usb/gspca/sq930x.c gpio_init(sd, sensor_tb[sd->sensor].gpio); sensor 735 drivers/media/usb/gspca/sq930x.c gpio_init(sd, sensor_tb[sd->sensor].gpio); sensor 754 drivers/media/usb/gspca/sq930x.c const struct sensor_s *sensor; sensor 762 drivers/media/usb/gspca/sq930x.c switch (sd->sensor) { sensor 765 drivers/media/usb/gspca/sq930x.c min_frclk = sd->sensor == SENSOR_ICX098BQ ? 0x210 : 0x26f; sensor 783 drivers/media/usb/gspca/sq930x.c sensor = &sensor_tb[sd->sensor]; sensor 784 drivers/media/usb/gspca/sq930x.c buf[i++] = sensor->i2c_addr; /* i2c_slave_addr */ sensor 788 drivers/media/usb/gspca/sq930x.c buf[i++] = sensor->i2c_dum; sensor 792 drivers/media/usb/gspca/sq930x.c buf[i++] = sensor->i2c_dum; sensor 811 drivers/media/usb/gspca/sq930x.c sd->sensor = id->driver_info >> 8; sensor 860 drivers/media/usb/gspca/sq930x.c if (sd->sensor == SENSOR_MI0360) { sensor 864 drivers/media/usb/gspca/sq930x.c sd->sensor = SENSOR_ICX098BQ; sensor 870 drivers/media/usb/gspca/sq930x.c sensor_tb[sd->sensor].name); sensor 884 drivers/media/usb/gspca/sq930x.c cap = &capconfig[sd->sensor][mode]; sensor 917 drivers/media/usb/gspca/sq930x.c switch (sd->sensor) { sensor 1011 drivers/media/usb/gspca/sq930x.c if (sd->sensor == SENSOR_MT9V111) sensor 1023 drivers/media/usb/gspca/sq930x.c if (sd->sensor == SENSOR_MT9V111) sensor 1121 drivers/media/usb/gspca/sq930x.c #define ST(sensor, type) \ sensor 1122 drivers/media/usb/gspca/sq930x.c .driver_info = (SENSOR_ ## sensor << 8) \ sensor 74 drivers/media/usb/gspca/stv06xx/stv06xx.c if (sd->sensor->i2c_len == 2) { sensor 118 drivers/media/usb/gspca/stv06xx/stv06xx.c buf[0x20] = sd->sensor->i2c_addr; sensor 151 drivers/media/usb/gspca/stv06xx/stv06xx.c buf[0x20] = sd->sensor->i2c_addr; sensor 171 drivers/media/usb/gspca/stv06xx/stv06xx.c err = stv06xx_write_bridge(sd, STV_I2C_FLUSH, sd->sensor->i2c_flush); sensor 179 drivers/media/usb/gspca/stv06xx/stv06xx.c buf[0x20] = sd->sensor->i2c_addr; sensor 194 drivers/media/usb/gspca/stv06xx/stv06xx.c 0x04, 0xc0, 0x1410, 0, buf, sd->sensor->i2c_len, sensor 196 drivers/media/usb/gspca/stv06xx/stv06xx.c if (sd->sensor->i2c_len == 2) sensor 251 drivers/media/usb/gspca/stv06xx/stv06xx.c err = sd->sensor->init(sd); sensor 253 drivers/media/usb/gspca/stv06xx/stv06xx.c if (dump_sensor && sd->sensor->dump) sensor 254 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor->dump(sd); sensor 267 drivers/media/usb/gspca/stv06xx/stv06xx.c return sd->sensor->init_controls(sd); sensor 294 drivers/media/usb/gspca/stv06xx/stv06xx.c err = sd->sensor->start(sd); sensor 328 drivers/media/usb/gspca/stv06xx/stv06xx.c cpu_to_le16(sd->sensor->max_packet_size[gspca_dev->curr_mode]); sensor 345 drivers/media/usb/gspca/stv06xx/stv06xx.c min_packet_size = sd->sensor->min_packet_size[gspca_dev->curr_mode]; sensor 371 drivers/media/usb/gspca/stv06xx/stv06xx.c err = sd->sensor->stop(sd); sensor 562 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = &stv06xx_sensor_st6422; sensor 563 drivers/media/usb/gspca/stv06xx/stv06xx.c if (!sd->sensor->probe(sd)) sensor 566 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = &stv06xx_sensor_vv6410; sensor 567 drivers/media/usb/gspca/stv06xx/stv06xx.c if (!sd->sensor->probe(sd)) sensor 570 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = &stv06xx_sensor_hdcs1x00; sensor 571 drivers/media/usb/gspca/stv06xx/stv06xx.c if (!sd->sensor->probe(sd)) sensor 574 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = &stv06xx_sensor_hdcs1020; sensor 575 drivers/media/usb/gspca/stv06xx/stv06xx.c if (!sd->sensor->probe(sd)) sensor 578 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = &stv06xx_sensor_pb0100; sensor 579 drivers/media/usb/gspca/stv06xx/stv06xx.c if (!sd->sensor->probe(sd)) sensor 582 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = NULL; sensor 615 drivers/media/usb/gspca/stv06xx/stv06xx.c sd->sensor = NULL; sensor 77 drivers/media/usb/gspca/stv06xx/stv06xx.h const struct stv06xx_sensor *sensor; sensor 359 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c u16 sensor; sensor 362 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c ret = stv06xx_read_sensor(sd, HDCS_IDENT, &sensor); sensor 363 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c if (ret < 0 || sensor != 0x08) sensor 416 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c u16 sensor; sensor 419 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c ret = stv06xx_read_sensor(sd, HDCS_IDENT, &sensor); sensor 420 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c if (ret < 0 || sensor != 0x10) sensor 157 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c u16 sensor; sensor 160 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c err = stv06xx_read_sensor(sd, PB_IDENT, &sensor); sensor 164 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c if ((sensor >> 8) != 0x64) sensor 195 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c max_packet_size = sd->sensor->max_packet_size[sd->gspca_dev.curr_mode]; sensor 22 drivers/media/usb/gspca/stv06xx/stv06xx_sensor.h #define IS_1020(sd) ((sd)->sensor == &stv06xx_sensor_hdcs1020) sensor 38 drivers/media/usb/gspca/t613.c u8 sensor; sensor 513 drivers/media/usb/gspca/t613.c all_gain_reg[7] = sensor_data[sd->sensor].reg80; sensor 535 drivers/media/usb/gspca/t613.c switch (sd->sensor) { sensor 569 drivers/media/usb/gspca/t613.c const struct additional_sensor_data *sensor; sensor 587 drivers/media/usb/gspca/t613.c sd->sensor = SENSOR_TAS5130A; sensor 591 drivers/media/usb/gspca/t613.c sd->sensor = SENSOR_LT168G; sensor 595 drivers/media/usb/gspca/t613.c sd->sensor = SENSOR_OTHER; sensor 599 drivers/media/usb/gspca/t613.c sd->sensor = SENSOR_OM6802; sensor 606 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_OM6802) { sensor 631 drivers/media/usb/gspca/t613.c sensor = &sensor_data[sd->sensor]; sensor 632 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->n3, sizeof sensor->n3); sensor 633 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->n4, sensor->n4sz); sensor 635 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_LT168G) { sensor 642 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xd0, sensor->data1, sizeof sensor->data1); sensor 643 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xc7, sensor->data2, sizeof sensor->data2); sensor 644 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xe0, sensor->data3, sizeof sensor->data3); sensor 646 drivers/media/usb/gspca/t613.c reg_w(gspca_dev, (sensor->reg80 << 8) + 0x80); sensor 647 drivers/media/usb/gspca/t613.c reg_w(gspca_dev, (sensor->reg80 << 8) + 0x80); sensor 648 drivers/media/usb/gspca/t613.c reg_w(gspca_dev, (sensor->reg8e << 8) + 0x8e); sensor 653 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->data5, sizeof sensor->data5); sensor 654 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->nset8, sizeof sensor->nset8); sensor 655 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream); sensor 657 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_LT168G) { sensor 664 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xd0, sensor->data1, sizeof sensor->data1); sensor 665 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xc7, sensor->data2, sizeof sensor->data2); sensor 666 drivers/media/usb/gspca/t613.c reg_w_ixbuf(gspca_dev, 0xe0, sensor->data3, sizeof sensor->data3); sensor 740 drivers/media/usb/gspca/t613.c const struct additional_sensor_data *sensor; sensor 765 drivers/media/usb/gspca/t613.c switch (sd->sensor) { sensor 785 drivers/media/usb/gspca/t613.c sensor = &sensor_data[sd->sensor]; sensor 792 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream); sensor 793 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream); sensor 795 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_OM6802) sensor 805 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor_data[sd->sensor].stream, sensor 806 drivers/media/usb/gspca/t613.c sizeof sensor_data[sd->sensor].stream); sensor 807 drivers/media/usb/gspca/t613.c reg_w_buf(gspca_dev, sensor_data[sd->sensor].stream, sensor 808 drivers/media/usb/gspca/t613.c sizeof sensor_data[sd->sensor].stream); sensor 809 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_OM6802) { sensor 964 drivers/media/usb/gspca/t613.c if (sd->sensor == SENSOR_TAS5130A) sensor 124 drivers/media/usb/gspca/topro.c u8 sensor; sensor 1403 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) { sensor 1415 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) { sensor 1448 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 3899 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 3946 drivers/media/usb/gspca/topro.c sd->sensor == SENSOR_CX0342 ? 0x10 : 0x90); sensor 3953 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 3969 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) { sensor 3981 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4054 drivers/media/usb/gspca/topro.c sd->sensor = force_sensor; sensor 4060 drivers/media/usb/gspca/topro.c sd->sensor = SENSOR_SOI763A; sensor 4063 drivers/media/usb/gspca/topro.c sd->sensor = SENSOR_CX0342; sensor 4067 drivers/media/usb/gspca/topro.c int sensor; sensor 4069 drivers/media/usb/gspca/topro.c sensor = probe_6810(gspca_dev); sensor 4070 drivers/media/usb/gspca/topro.c if (sensor < 0) { sensor 4072 drivers/media/usb/gspca/topro.c -sensor); sensor 4073 drivers/media/usb/gspca/topro.c sensor = SENSOR_SOI763A; sensor 4075 drivers/media/usb/gspca/topro.c sd->sensor = sensor; sensor 4078 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) { sensor 4126 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) { sensor 4236 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4456 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4464 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 4495 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4532 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4552 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4557 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4566 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) sensor 4576 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 4816 drivers/media/usb/gspca/topro.c if (sd->sensor != SENSOR_SOI763A) sensor 4827 drivers/media/usb/gspca/topro.c if (sd->sensor != SENSOR_SOI763A) sensor 4888 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_CX0342) { sensor 4894 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 4904 drivers/media/usb/gspca/topro.c (sd->sensor == SENSOR_SOI763A && sensor 4909 drivers/media/usb/gspca/topro.c if (sd->sensor == SENSOR_SOI763A) sensor 31 drivers/media/usb/gspca/vc032x.c u8 sensor; sensor 3137 drivers/media/usb/gspca/vc032x.c sd->sensor = SENSOR_POxxxx; /* no probe */ sensor 3147 drivers/media/usb/gspca/vc032x.c int sensor; sensor 3162 drivers/media/usb/gspca/vc032x.c if (sd->sensor != SENSOR_POxxxx) sensor 3163 drivers/media/usb/gspca/vc032x.c sensor = vc032x_probe_sensor(gspca_dev); sensor 3165 drivers/media/usb/gspca/vc032x.c sensor = sd->sensor; sensor 3167 drivers/media/usb/gspca/vc032x.c switch (sensor) { sensor 3203 drivers/media/usb/gspca/vc032x.c sd->sensor = sensor; sensor 3210 drivers/media/usb/gspca/vc032x.c switch (sensor) { sensor 3233 drivers/media/usb/gspca/vc032x.c cam->npkt = npkt[sd->sensor]; sensor 3235 drivers/media/usb/gspca/vc032x.c if (sd->sensor == SENSOR_OV7670) sensor 3243 drivers/media/usb/gspca/vc032x.c if (sd->sensor == SENSOR_POxxxx) { sensor 3290 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3296 drivers/media/usb/gspca/vc032x.c data[0] = sd->sensor == SENSOR_MI1310_SOC ? 0x03 : 0x01; sensor 3303 drivers/media/usb/gspca/vc032x.c data[0] = sd->sensor == SENSOR_OV7660 ? 0x01 : 0x07; sensor 3325 drivers/media/usb/gspca/vc032x.c if (sd->sensor != SENSOR_OV7660) sensor 3335 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3456 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3553 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3564 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3584 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 3607 drivers/media/usb/gspca/vc032x.c if (sd->sensor == SENSOR_MI1310_SOC) sensor 3612 drivers/media/usb/gspca/vc032x.c if (sd->sensor == SENSOR_POxxxx) { sensor 3713 drivers/media/usb/gspca/vc032x.c switch (sd->sensor) { sensor 409 drivers/media/usb/gspca/w996Xcf.c if (sd->sensor == SEN_OV7620) { sensor 491 drivers/media/usb/gspca/w996Xcf.c if (sd->sensor == SEN_OV7620) { sensor 46 drivers/media/usb/gspca/zc3xx.c u8 sensor; /* Type of image sensor chip */ sensor 5686 drivers/media/usb/gspca/zc3xx.c matrix = matrix_tb[sd->sensor]; sensor 5770 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 5786 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 5899 drivers/media/usb/gspca/zc3xx.c zc3_freq = freq_tb[sd->sensor][i]; sensor 5903 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 5928 drivers/media/usb/gspca/zc3xx.c if (sd->sensor == SENSOR_OV7620) sensor 6003 drivers/media/usb/gspca/zc3xx.c static void send_unknown(struct gspca_dev *gspca_dev, int sensor) sensor 6006 drivers/media/usb/gspca/zc3xx.c switch (sensor) { sensor 6028 drivers/media/usb/gspca/zc3xx.c if (sensor == SENSOR_PAS202B) sensor 6035 drivers/media/usb/gspca/zc3xx.c static void start_2wr_probe(struct gspca_dev *gspca_dev, int sensor) sensor 6038 drivers/media/usb/gspca/zc3xx.c reg_w(gspca_dev, sensor, 0x0010); sensor 6297 drivers/media/usb/gspca/zc3xx.c int sensor; sensor 6299 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6306 drivers/media/usb/gspca/zc3xx.c sensor = sif_probe(gspca_dev); sensor 6307 drivers/media/usb/gspca/zc3xx.c if (sensor >= 0) sensor 6308 drivers/media/usb/gspca/zc3xx.c return sensor; sensor 6311 drivers/media/usb/gspca/zc3xx.c sensor = vga_2wr_probe(gspca_dev); sensor 6312 drivers/media/usb/gspca/zc3xx.c if (sensor >= 0) sensor 6313 drivers/media/usb/gspca/zc3xx.c return sensor; sensor 6329 drivers/media/usb/gspca/zc3xx.c sd->sensor = id->driver_info; sensor 6448 drivers/media/usb/gspca/zc3xx.c V4L2_CID_GAMMA, 1, 6, 1, gamma[sd->sensor]); sensor 6449 drivers/media/usb/gspca/zc3xx.c if (sd->sensor == SENSOR_HV7131R) sensor 6452 drivers/media/usb/gspca/zc3xx.c else if (sd->sensor == SENSOR_OV7620) sensor 6457 drivers/media/usb/gspca/zc3xx.c if (sd->sensor != SENSOR_OV7630C) sensor 6464 drivers/media/usb/gspca/zc3xx.c sd->sensor == SENSOR_PO2030 ? 0 : 2); sensor 6474 drivers/media/usb/gspca/zc3xx.c if (sd->sensor == SENSOR_HV7131R || sd->sensor == SENSOR_OV7620) sensor 6484 drivers/media/usb/gspca/zc3xx.c int sensor; sensor 6507 drivers/media/usb/gspca/zc3xx.c sensor = zcxx_probeSensor(gspca_dev); sensor 6508 drivers/media/usb/gspca/zc3xx.c if (sensor >= 0) sensor 6509 drivers/media/usb/gspca/zc3xx.c gspca_dbg(gspca_dev, D_PROBE, "probe sensor -> %04x\n", sensor); sensor 6511 drivers/media/usb/gspca/zc3xx.c sd->sensor = force_sensor; sensor 6515 drivers/media/usb/gspca/zc3xx.c switch (sensor) { sensor 6517 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6526 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_TAS5130C; sensor 6531 drivers/media/usb/gspca/zc3xx.c sensor = i2c_read(gspca_dev, 0x00); sensor 6533 drivers/media/usb/gspca/zc3xx.c sensor); sensor 6534 drivers/media/usb/gspca/zc3xx.c switch (sensor) { sensor 6538 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_HV7131B; sensor 6543 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_HV7131R; sensor 6549 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_TAS5130C; sensor 6553 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_CS2102; sensor 6557 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_HDCS2020; sensor 6563 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_PB0330; sensor 6567 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_ICM105A; sensor 6571 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_PAS202B; sensor 6575 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_PAS106; sensor 6580 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_TAS5130C; sensor 6584 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_HV7131R; sensor 6591 drivers/media/usb/gspca/zc3xx.c sd->sensor = sd->bridge == BRIDGE_ZC301 sensor 6599 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_CS2102K; sensor 6603 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_ADCM2700; sensor 6607 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_GC0305; sensor 6611 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_GC0303; sensor 6615 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_PO2030; sensor 6619 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_OV7620; sensor 6623 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_OV7630C; sensor 6627 drivers/media/usb/gspca/zc3xx.c sd->sensor = SENSOR_OV7620; /* same sensor (?) */ sensor 6630 drivers/media/usb/gspca/zc3xx.c pr_err("Unknown sensor %04x\n", sensor); sensor 6634 drivers/media/usb/gspca/zc3xx.c if (sensor < 0x20) { sensor 6635 drivers/media/usb/gspca/zc3xx.c if (sensor == -1 || sensor == 0x10 || sensor == 0x12) sensor 6641 drivers/media/usb/gspca/zc3xx.c switch (mode_tb[sd->sensor]) { sensor 6720 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6728 drivers/media/usb/gspca/zc3xx.c usb_exchange(gspca_dev, init_tb[sd->sensor][mode]); sensor 6730 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6741 drivers/media/usb/gspca/zc3xx.c if (sd->sensor == SENSOR_TAS5130C) sensor 6752 drivers/media/usb/gspca/zc3xx.c if (sd->sensor == SENSOR_HV7131R) sensor 6758 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6777 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6789 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6802 drivers/media/usb/gspca/zc3xx.c switch (sd->sensor) { sensor 6857 drivers/media/usb/gspca/zc3xx.c send_unknown(gspca_dev, sd->sensor); sensor 524 drivers/media/usb/pwc/pwc-ctrl.c int pwc_get_cmos_sensor(struct pwc_device *pdev, int *sensor) sensor 539 drivers/media/usb/pwc/pwc-ctrl.c *sensor = pdev->ctrl_buf[0] | 0x100; sensor 541 drivers/media/usb/pwc/pwc-ctrl.c *sensor = pdev->ctrl_buf[0]; sensor 360 drivers/media/usb/pwc/pwc.h extern int pwc_get_cmos_sensor(struct pwc_device *pdev, int *sensor); sensor 2793 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[0].temp = (rd32(E1000_THMJT) & 0xFF); sensor 2820 drivers/net/ethernet/intel/igb/e1000_82575.c &data->sensor[i].temp); sensor 2850 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[0].location = 0x1; sensor 2851 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[0].caution_thresh = sensor 2853 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[0].max_op_thresh = sensor 2884 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[i].location = sensor_location; sensor 2885 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[i].caution_thresh = therm_limit; sensor 2886 drivers/net/ethernet/intel/igb/e1000_82575.c data->sensor[i].max_op_thresh = therm_limit - sensor 351 drivers/net/ethernet/intel/igb/e1000_hw.h struct e1000_thermal_diode_data sensor[E1000_MAX_SENSORS]; sensor 393 drivers/net/ethernet/intel/igb/igb.h struct e1000_thermal_diode_data *sensor; sensor 30 drivers/net/ethernet/intel/igb/igb_hwmon.c igb_attr->sensor->location); sensor 44 drivers/net/ethernet/intel/igb/igb_hwmon.c value = igb_attr->sensor->temp; sensor 58 drivers/net/ethernet/intel/igb/igb_hwmon.c unsigned int value = igb_attr->sensor->caution_thresh; sensor 72 drivers/net/ethernet/intel/igb/igb_hwmon.c unsigned int value = igb_attr->sensor->max_op_thresh; sensor 126 drivers/net/ethernet/intel/igb/igb_hwmon.c igb_attr->sensor = sensor 127 drivers/net/ethernet/intel/igb/igb_hwmon.c &adapter->hw.mac.thermal_sensor_data.sensor[offset]; sensor 182 drivers/net/ethernet/intel/igb/igb_hwmon.c if (adapter->hw.mac.thermal_sensor_data.sensor[i].location == 0) sensor 478 drivers/net/ethernet/intel/ixgbe/ixgbe.h struct ixgbe_thermal_diode_data *sensor; sensor 3945 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c &data->sensor[i].temp); sensor 4011 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c data->sensor[i].location = sensor_location; sensor 4012 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c data->sensor[i].caution_thresh = therm_limit; sensor 4013 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c data->sensor[i].max_op_thresh = therm_limit - low_thresh_delta; sensor 24 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c ixgbe_attr->sensor->location); sensor 38 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c value = ixgbe_attr->sensor->temp; sensor 52 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c unsigned int value = ixgbe_attr->sensor->caution_thresh; sensor 66 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c unsigned int value = ixgbe_attr->sensor->max_op_thresh; sensor 120 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c ixgbe_attr->sensor = sensor 121 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c &adapter->hw.mac.thermal_sensor_data.sensor[offset]; sensor 175 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c if (adapter->hw.mac.thermal_sensor_data.sensor[i].location == 0) sensor 210 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h struct ixgbe_thermal_diode_data sensor[IXGBE_MAX_SENSORS]; sensor 12457 drivers/net/ethernet/qlogic/qed/qed_hsi.h u32 sensor[MAX_NUM_OF_SENSORS]; sensor 186 drivers/net/wireless/intel/iwlwifi/fw/api/phy.h __le32 sensor; sensor 108 drivers/staging/comedi/drivers/jr3_pci.c struct jr3_sensor __iomem *sensor; sensor 129 drivers/staging/comedi/drivers/jr3_pci.c static int is_complete(struct jr3_sensor __iomem *sensor) sensor 131 drivers/staging/comedi/drivers/jr3_pci.c return get_s16(&sensor->command_word0) == 0; sensor 134 drivers/staging/comedi/drivers/jr3_pci.c static void set_transforms(struct jr3_sensor __iomem *sensor, sensor 141 drivers/staging/comedi/drivers/jr3_pci.c set_u16(&sensor->transforms[num].link[i].link_type, sensor 144 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->transforms[num].link[i].link_amount, sensor 152 drivers/staging/comedi/drivers/jr3_pci.c static void use_transform(struct jr3_sensor __iomem *sensor, sensor 155 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->command_word0, 0x0500 + (transf_num & 0x000f)); sensor 158 drivers/staging/comedi/drivers/jr3_pci.c static void use_offset(struct jr3_sensor __iomem *sensor, short offset_num) sensor 160 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->command_word0, 0x0600 + (offset_num & 0x000f)); sensor 163 drivers/staging/comedi/drivers/jr3_pci.c static void set_offset(struct jr3_sensor __iomem *sensor) sensor 165 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->command_word0, 0x0700); sensor 177 drivers/staging/comedi/drivers/jr3_pci.c static void set_full_scales(struct jr3_sensor __iomem *sensor, sensor 180 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.fx, full_scale.fx); sensor 181 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.fy, full_scale.fy); sensor 182 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.fz, full_scale.fz); sensor 183 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.mx, full_scale.mx); sensor 184 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.my, full_scale.my); sensor 185 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->full_scale.mz, full_scale.mz); sensor 186 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->command_word0, 0x0a00); sensor 189 drivers/staging/comedi/drivers/jr3_pci.c static struct six_axis_t get_min_full_scales(struct jr3_sensor __iomem *sensor) sensor 193 drivers/staging/comedi/drivers/jr3_pci.c result.fx = get_s16(&sensor->min_full_scale.fx); sensor 194 drivers/staging/comedi/drivers/jr3_pci.c result.fy = get_s16(&sensor->min_full_scale.fy); sensor 195 drivers/staging/comedi/drivers/jr3_pci.c result.fz = get_s16(&sensor->min_full_scale.fz); sensor 196 drivers/staging/comedi/drivers/jr3_pci.c result.mx = get_s16(&sensor->min_full_scale.mx); sensor 197 drivers/staging/comedi/drivers/jr3_pci.c result.my = get_s16(&sensor->min_full_scale.my); sensor 198 drivers/staging/comedi/drivers/jr3_pci.c result.mz = get_s16(&sensor->min_full_scale.mz); sensor 202 drivers/staging/comedi/drivers/jr3_pci.c static struct six_axis_t get_max_full_scales(struct jr3_sensor __iomem *sensor) sensor 206 drivers/staging/comedi/drivers/jr3_pci.c result.fx = get_s16(&sensor->max_full_scale.fx); sensor 207 drivers/staging/comedi/drivers/jr3_pci.c result.fy = get_s16(&sensor->max_full_scale.fy); sensor 208 drivers/staging/comedi/drivers/jr3_pci.c result.fz = get_s16(&sensor->max_full_scale.fz); sensor 209 drivers/staging/comedi/drivers/jr3_pci.c result.mx = get_s16(&sensor->max_full_scale.mx); sensor 210 drivers/staging/comedi/drivers/jr3_pci.c result.my = get_s16(&sensor->max_full_scale.my); sensor 211 drivers/staging/comedi/drivers/jr3_pci.c result.mz = get_s16(&sensor->max_full_scale.mz); sensor 231 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].fx); sensor 234 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].fy); sensor 237 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].fz); sensor 240 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].mx); sensor 243 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].my); sensor 246 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].mz); sensor 249 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].v1); sensor 252 drivers/staging/comedi/drivers/jr3_pci.c val = get_s16(&spriv->sensor->filter[filter].v2); sensor 257 drivers/staging/comedi/drivers/jr3_pci.c val = get_u16(&spriv->sensor->model_no); sensor 259 drivers/staging/comedi/drivers/jr3_pci.c val = get_u16(&spriv->sensor->serial_no); sensor 275 drivers/staging/comedi/drivers/jr3_pci.c errors = get_u16(&spriv->sensor->errors); sensor 443 drivers/staging/comedi/drivers/jr3_pci.c struct jr3_sensor __iomem *sensor; sensor 449 drivers/staging/comedi/drivers/jr3_pci.c sensor = spriv->sensor; sensor 450 drivers/staging/comedi/drivers/jr3_pci.c errors = get_u16(&sensor->errors); sensor 461 drivers/staging/comedi/drivers/jr3_pci.c model_no = get_u16(&sensor->model_no); sensor 462 drivers/staging/comedi/drivers/jr3_pci.c serial_no = get_u16(&sensor->serial_no); sensor 486 drivers/staging/comedi/drivers/jr3_pci.c spriv->model_no = get_u16(&sensor->model_no); sensor 487 drivers/staging/comedi/drivers/jr3_pci.c spriv->serial_no = get_u16(&sensor->serial_no); sensor 495 drivers/staging/comedi/drivers/jr3_pci.c set_transforms(sensor, &transf, 0); sensor 496 drivers/staging/comedi/drivers/jr3_pci.c use_transform(sensor, 0); sensor 503 drivers/staging/comedi/drivers/jr3_pci.c if (!is_complete(sensor)) { sensor 510 drivers/staging/comedi/drivers/jr3_pci.c min_full_scale = get_min_full_scales(sensor); sensor 511 drivers/staging/comedi/drivers/jr3_pci.c max_full_scale = get_max_full_scales(sensor); sensor 512 drivers/staging/comedi/drivers/jr3_pci.c set_full_scales(sensor, max_full_scale); sensor 520 drivers/staging/comedi/drivers/jr3_pci.c if (!is_complete(sensor)) { sensor 523 drivers/staging/comedi/drivers/jr3_pci.c struct force_array __iomem *fs = &sensor->full_scale; sensor 547 drivers/staging/comedi/drivers/jr3_pci.c use_offset(sensor, 0); sensor 554 drivers/staging/comedi/drivers/jr3_pci.c if (!is_complete(sensor)) { sensor 557 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.fx, 0); sensor 558 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.fy, 0); sensor 559 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.fz, 0); sensor 560 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.mx, 0); sensor 561 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.my, 0); sensor 562 drivers/staging/comedi/drivers/jr3_pci.c set_s16(&sensor->offsets.mz, 0); sensor 564 drivers/staging/comedi/drivers/jr3_pci.c set_offset(sensor); sensor 633 drivers/staging/comedi/drivers/jr3_pci.c spriv->sensor = &block[s->index].sensor; sensor 660 drivers/staging/comedi/drivers/jr3_pci.c struct jr3_sensor __iomem *sensor0 = &block[0].sensor; sensor 730 drivers/staging/comedi/drivers/jr3_pci.h struct jr3_sensor sensor; /* 0x10000 - 0x10c00 */ sensor 947 drivers/staging/media/omap4iss/iss.c struct v4l2_subdev *sensor = NULL; sensor 975 drivers/staging/media/omap4iss/iss.c sensor = subdev; sensor 978 drivers/staging/media/omap4iss/iss.c return sensor; sensor 1030 drivers/staging/media/omap4iss/iss.c struct v4l2_subdev *sensor; sensor 1035 drivers/staging/media/omap4iss/iss.c sensor = iss_register_subdev_group(iss, subdevs->subdevs); sensor 1036 drivers/staging/media/omap4iss/iss.c if (!sensor) sensor 1039 drivers/staging/media/omap4iss/iss.c sensor->host_priv = subdevs; sensor 1067 drivers/staging/media/omap4iss/iss.c ret = media_create_pad_link(&sensor->entity, 0, input, pad, sensor 529 drivers/staging/media/omap4iss/iss_csi2.c struct v4l2_subdev *sensor; sensor 542 drivers/staging/media/omap4iss/iss_csi2.c sensor = media_entity_to_v4l2_subdev(pad->entity); sensor 543 drivers/staging/media/omap4iss/iss_csi2.c pdata = sensor->host_priv; sensor 546 drivers/staging/media/omap4iss/iss_csi2.c v4l2_subdev_call(sensor, sensor, g_skip_frames, &csi2->frame_skip); sensor 745 drivers/staging/media/soc_camera/mt9t031.c .sensor = &mt9t031_subdev_sensor_ops, sensor 54 drivers/staging/media/soc_camera/soc_camera.c struct v4l2_async_subdev *sensor; sensor 1329 drivers/staging/media/soc_camera/soc_camera.c if (asd == sasc->sensor && !WARN_ON(icd->control)) { sensor 1432 drivers/staging/media/soc_camera/soc_camera.c sasc->sensor = &sasd->asd; sensor 1538 drivers/staging/media/soc_camera/soc_camera.c sasc->sensor = &info->sasd.asd; sensor 877 drivers/staging/media/soc_camera/soc_mt9v022.c .sensor = &mt9v022_subdev_sensor_ops, sensor 424 drivers/thermal/armada_thermal.c struct armada_thermal_sensor *sensor = _sensor; sensor 425 drivers/thermal/armada_thermal.c struct armada_thermal_priv *priv = sensor->priv; sensor 431 drivers/thermal/armada_thermal.c ret = armada_select_channel(priv, sensor->id); sensor 819 drivers/thermal/armada_thermal.c struct armada_thermal_sensor *sensor; sensor 915 drivers/thermal/armada_thermal.c sensor = devm_kzalloc(&pdev->dev, sensor 918 drivers/thermal/armada_thermal.c if (!sensor) sensor 922 drivers/thermal/armada_thermal.c sensor->priv = priv; sensor 923 drivers/thermal/armada_thermal.c sensor->id = sensor_id; sensor 925 drivers/thermal/armada_thermal.c sensor->id, sensor, sensor 930 drivers/thermal/armada_thermal.c devm_kfree(&pdev->dev, sensor); sensor 940 drivers/thermal/armada_thermal.c armada_configure_overheat_int(priv, tz, sensor->id); sensor 38 drivers/thermal/dove_thermal.c void __iomem *sensor; sensor 69 drivers/thermal/dove_thermal.c reg = readl_relaxed(priv->sensor); sensor 71 drivers/thermal/dove_thermal.c writel(reg, priv->sensor); sensor 75 drivers/thermal/dove_thermal.c reg = readl_relaxed(priv->sensor); sensor 105 drivers/thermal/dove_thermal.c reg = readl_relaxed(priv->sensor); sensor 133 drivers/thermal/dove_thermal.c priv->sensor = devm_ioremap_resource(&pdev->dev, res); sensor 134 drivers/thermal/dove_thermal.c if (IS_ERR(priv->sensor)) sensor 135 drivers/thermal/dove_thermal.c return PTR_ERR(priv->sensor); sensor 77 drivers/thermal/hisi_thermal.c int (*get_temp)(struct hisi_thermal_sensor *sensor); sensor 78 drivers/thermal/hisi_thermal.c int (*enable_sensor)(struct hisi_thermal_sensor *sensor); sensor 79 drivers/thermal/hisi_thermal.c int (*disable_sensor)(struct hisi_thermal_sensor *sensor); sensor 80 drivers/thermal/hisi_thermal.c int (*irq_handler)(struct hisi_thermal_sensor *sensor); sensor 86 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor; sensor 261 drivers/thermal/hisi_thermal.c static inline void hi6220_thermal_sensor_select(void __iomem *addr, int sensor) sensor 264 drivers/thermal/hisi_thermal.c (sensor << 12), addr + HI6220_TEMP0_CFG); sensor 283 drivers/thermal/hisi_thermal.c static int hi6220_thermal_irq_handler(struct hisi_thermal_sensor *sensor) sensor 285 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 291 drivers/thermal/hisi_thermal.c static int hi3660_thermal_irq_handler(struct hisi_thermal_sensor *sensor) sensor 293 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 295 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_clear(data->regs, sensor->id, 1); sensor 299 drivers/thermal/hisi_thermal.c static int hi6220_thermal_get_temp(struct hisi_thermal_sensor *sensor) sensor 301 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 306 drivers/thermal/hisi_thermal.c static int hi3660_thermal_get_temp(struct hisi_thermal_sensor *sensor) sensor 308 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 310 drivers/thermal/hisi_thermal.c return hi3660_thermal_get_temperature(data->regs, sensor->id); sensor 313 drivers/thermal/hisi_thermal.c static int hi6220_thermal_disable_sensor(struct hisi_thermal_sensor *sensor) sensor 315 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 327 drivers/thermal/hisi_thermal.c static int hi3660_thermal_disable_sensor(struct hisi_thermal_sensor *sensor) sensor 329 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 332 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_enable(data->regs, sensor->id, 0); sensor 336 drivers/thermal/hisi_thermal.c static int hi6220_thermal_enable_sensor(struct hisi_thermal_sensor *sensor) sensor 338 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 351 drivers/thermal/hisi_thermal.c hi6220_thermal_sensor_select(data->regs, sensor->id); sensor 360 drivers/thermal/hisi_thermal.c hi6220_thermal_alarm_set(data->regs, sensor->thres_temp); sensor 374 drivers/thermal/hisi_thermal.c static int hi3660_thermal_enable_sensor(struct hisi_thermal_sensor *sensor) sensor 377 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 380 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_enable(data->regs, sensor->id, 0); sensor 383 drivers/thermal/hisi_thermal.c hi3660_thermal_set_lag(data->regs, sensor->id, HI3660_TEMP_LAG); sensor 386 drivers/thermal/hisi_thermal.c value = hi3660_thermal_temp_to_step(sensor->thres_temp); sensor 387 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_set(data->regs, sensor->id, value); sensor 390 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_clear(data->regs, sensor->id, 1); sensor 391 drivers/thermal/hisi_thermal.c hi3660_thermal_alarm_enable(data->regs, sensor->id, 1); sensor 410 drivers/thermal/hisi_thermal.c data->sensor = devm_kzalloc(dev, sizeof(*data->sensor), GFP_KERNEL); sensor 411 drivers/thermal/hisi_thermal.c if (!data->sensor) sensor 414 drivers/thermal/hisi_thermal.c data->sensor[0].id = HI6220_CLUSTER0_SENSOR; sensor 415 drivers/thermal/hisi_thermal.c data->sensor[0].irq_name = "tsensor_intr"; sensor 416 drivers/thermal/hisi_thermal.c data->sensor[0].data = data; sensor 429 drivers/thermal/hisi_thermal.c data->sensor = devm_kzalloc(dev, sizeof(*data->sensor) * sensor 431 drivers/thermal/hisi_thermal.c if (!data->sensor) sensor 434 drivers/thermal/hisi_thermal.c data->sensor[0].id = HI3660_BIG_SENSOR; sensor 435 drivers/thermal/hisi_thermal.c data->sensor[0].irq_name = "tsensor_a73"; sensor 436 drivers/thermal/hisi_thermal.c data->sensor[0].data = data; sensor 438 drivers/thermal/hisi_thermal.c data->sensor[1].id = HI3660_LITTLE_SENSOR; sensor 439 drivers/thermal/hisi_thermal.c data->sensor[1].irq_name = "tsensor_a53"; sensor 440 drivers/thermal/hisi_thermal.c data->sensor[1].data = data; sensor 447 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor = __data; sensor 448 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 450 drivers/thermal/hisi_thermal.c *temp = data->ops->get_temp(sensor); sensor 453 drivers/thermal/hisi_thermal.c sensor->tzd, sensor->id, *temp, sensor->thres_temp); sensor 464 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor = dev; sensor 465 drivers/thermal/hisi_thermal.c struct hisi_thermal_data *data = sensor->data; sensor 468 drivers/thermal/hisi_thermal.c data->ops->irq_handler(sensor); sensor 470 drivers/thermal/hisi_thermal.c hisi_thermal_get_temp(sensor, &temp); sensor 472 drivers/thermal/hisi_thermal.c if (temp >= sensor->thres_temp) { sensor 475 drivers/thermal/hisi_thermal.c sensor->id, temp, sensor->thres_temp); sensor 477 drivers/thermal/hisi_thermal.c thermal_zone_device_update(sensor->tzd, sensor 483 drivers/thermal/hisi_thermal.c sensor->id, temp, sensor->thres_temp); sensor 490 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor) sensor 495 drivers/thermal/hisi_thermal.c sensor->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, sensor 496 drivers/thermal/hisi_thermal.c sensor->id, sensor, sensor 498 drivers/thermal/hisi_thermal.c if (IS_ERR(sensor->tzd)) { sensor 499 drivers/thermal/hisi_thermal.c ret = PTR_ERR(sensor->tzd); sensor 500 drivers/thermal/hisi_thermal.c sensor->tzd = NULL; sensor 502 drivers/thermal/hisi_thermal.c sensor->id, ret); sensor 506 drivers/thermal/hisi_thermal.c trip = of_thermal_get_trip_points(sensor->tzd); sensor 508 drivers/thermal/hisi_thermal.c for (i = 0; i < of_thermal_get_ntrips(sensor->tzd); i++) { sensor 510 drivers/thermal/hisi_thermal.c sensor->thres_temp = trip[i].temperature; sensor 547 drivers/thermal/hisi_thermal.c static void hisi_thermal_toggle_sensor(struct hisi_thermal_sensor *sensor, sensor 550 drivers/thermal/hisi_thermal.c struct thermal_zone_device *tzd = sensor->tzd; sensor 583 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor = &data->sensor[i]; sensor 585 drivers/thermal/hisi_thermal.c ret = hisi_thermal_register_sensor(pdev, sensor); sensor 598 drivers/thermal/hisi_thermal.c IRQF_ONESHOT, sensor->irq_name, sensor 599 drivers/thermal/hisi_thermal.c sensor); sensor 605 drivers/thermal/hisi_thermal.c ret = data->ops->enable_sensor(sensor); sensor 611 drivers/thermal/hisi_thermal.c hisi_thermal_toggle_sensor(sensor, true); sensor 623 drivers/thermal/hisi_thermal.c struct hisi_thermal_sensor *sensor = &data->sensor[i]; sensor 625 drivers/thermal/hisi_thermal.c hisi_thermal_toggle_sensor(sensor, false); sensor 626 drivers/thermal/hisi_thermal.c data->ops->disable_sensor(sensor); sensor 639 drivers/thermal/hisi_thermal.c data->ops->disable_sensor(&data->sensor[i]); sensor 650 drivers/thermal/hisi_thermal.c ret |= data->ops->enable_sensor(&data->sensor[i]); sensor 23 drivers/thermal/kirkwood_thermal.c void __iomem *sensor; sensor 32 drivers/thermal/kirkwood_thermal.c reg = readl_relaxed(priv->sensor); sensor 74 drivers/thermal/kirkwood_thermal.c priv->sensor = devm_ioremap_resource(&pdev->dev, res); sensor 75 drivers/thermal/kirkwood_thermal.c if (IS_ERR(priv->sensor)) sensor 76 drivers/thermal/kirkwood_thermal.c return PTR_ERR(priv->sensor); sensor 414 drivers/thermal/of-thermal.c struct device_node *sensor, void *data, sensor 182 drivers/thermal/qcom/tsens-8960.c priv->sensor[i].status = S0_STATUS_ADDR + 40; sensor 183 drivers/thermal/qcom/tsens-8960.c priv->sensor[i].status += i * 4; sensor 221 drivers/thermal/qcom/tsens-8960.c struct tsens_sensor *s = priv->sensor; sensor 252 drivers/thermal/qcom/tsens-8960.c const struct tsens_sensor *s = &priv->sensor[id]; sensor 48 drivers/thermal/qcom/tsens-common.c priv->sensor[i].slope = SLOPE_DEFAULT; sensor 57 drivers/thermal/qcom/tsens-common.c priv->sensor[i].slope = num / den; sensor 60 drivers/thermal/qcom/tsens-common.c priv->sensor[i].offset = (p1[i] * SLOPE_FACTOR) - sensor 62 drivers/thermal/qcom/tsens-common.c priv->sensor[i].slope); sensor 63 drivers/thermal/qcom/tsens-common.c dev_dbg(priv->dev, "offset:%d\n", priv->sensor[i].offset); sensor 88 drivers/thermal/qcom/tsens-common.c struct tsens_sensor *s = &priv->sensor[i]; sensor 128 drivers/thermal/qcom/tsens-common.c struct tsens_sensor *s = &priv->sensor[i]; sensor 88 drivers/thermal/qcom/tsens.c priv->sensor[i].priv = priv; sensor 89 drivers/thermal/qcom/tsens.c priv->sensor[i].id = i; sensor 91 drivers/thermal/qcom/tsens.c &priv->sensor[i], sensor 95 drivers/thermal/qcom/tsens.c priv->sensor[i].tzd = tzd; sensor 136 drivers/thermal/qcom/tsens.c struct_size(priv, sensor, num_sensors), sensor 146 drivers/thermal/qcom/tsens.c priv->sensor[i].hw_id = data->hw_ids[i]; sensor 148 drivers/thermal/qcom/tsens.c priv->sensor[i].hw_id = i; sensor 311 drivers/thermal/qcom/tsens.h struct tsens_sensor sensor[0]; sensor 78 drivers/thermal/qoriq_thermal.c struct qoriq_sensor *sensor[SITES_MAX]; sensor 119 drivers/thermal/qoriq_thermal.c qdata->sensor[id] = devm_kzalloc(&pdev->dev, sensor 121 drivers/thermal/qoriq_thermal.c if (!qdata->sensor[id]) sensor 124 drivers/thermal/qoriq_thermal.c qdata->sensor[id]->id = id; sensor 125 drivers/thermal/qoriq_thermal.c qdata->sensor[id]->qdata = qdata; sensor 126 drivers/thermal/qoriq_thermal.c qdata->sensor[id]->tzd = devm_thermal_zone_of_sensor_register( sensor 127 drivers/thermal/qoriq_thermal.c &pdev->dev, id, qdata->sensor[id], &tmu_tz_ops); sensor 128 drivers/thermal/qoriq_thermal.c if (IS_ERR(qdata->sensor[id]->tzd)) { sensor 129 drivers/thermal/qoriq_thermal.c if (PTR_ERR(qdata->sensor[id]->tzd) == -ENODEV) sensor 132 drivers/thermal/qoriq_thermal.c return PTR_ERR(qdata->sensor[id]->tzd); sensor 1056 drivers/thermal/rockchip_thermal.c rockchip_thermal_toggle_sensor(struct rockchip_thermal_sensor *sensor, bool on) sensor 1058 drivers/thermal/rockchip_thermal.c struct thermal_zone_device *tzd = sensor->tzd; sensor 1082 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_sensor *sensor = _sensor; sensor 1083 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_data *thermal = sensor->thermal; sensor 1087 drivers/thermal/rockchip_thermal.c __func__, sensor->id, low, high); sensor 1090 drivers/thermal/rockchip_thermal.c sensor->id, thermal->regs, high); sensor 1095 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_sensor *sensor = _sensor; sensor 1096 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_data *thermal = sensor->thermal; sensor 1097 drivers/thermal/rockchip_thermal.c const struct rockchip_tsadc_chip *tsadc = sensor->thermal->chip; sensor 1101 drivers/thermal/rockchip_thermal.c sensor->id, thermal->regs, out_temp); sensor 1103 drivers/thermal/rockchip_thermal.c sensor->id, *out_temp, retval); sensor 1179 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_sensor *sensor, sensor 1193 drivers/thermal/rockchip_thermal.c sensor->thermal = thermal; sensor 1194 drivers/thermal/rockchip_thermal.c sensor->id = id; sensor 1195 drivers/thermal/rockchip_thermal.c sensor->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, sensor 1196 drivers/thermal/rockchip_thermal.c sensor, &rockchip_of_thermal_ops); sensor 1197 drivers/thermal/rockchip_thermal.c if (IS_ERR(sensor->tzd)) { sensor 1198 drivers/thermal/rockchip_thermal.c error = PTR_ERR(sensor->tzd); sensor 1345 drivers/thermal/rockchip_thermal.c struct rockchip_thermal_sensor *sensor = &thermal->sensors[i]; sensor 1347 drivers/thermal/rockchip_thermal.c rockchip_thermal_toggle_sensor(sensor, false); sensor 23 drivers/thermal/st/st_thermal.c static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) sensor 25 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 26 drivers/thermal/st/st_thermal.c struct regmap *regmap = sensor->regmap; sensor 27 drivers/thermal/st/st_thermal.c const struct reg_field *reg_fields = sensor->cdata->reg_fields; sensor 29 drivers/thermal/st/st_thermal.c sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, sensor 32 drivers/thermal/st/st_thermal.c sensor->overflow = devm_regmap_field_alloc(dev, regmap, sensor 35 drivers/thermal/st/st_thermal.c sensor->temp_data = devm_regmap_field_alloc(dev, regmap, sensor 38 drivers/thermal/st/st_thermal.c if (IS_ERR(sensor->dcorrect) || sensor 39 drivers/thermal/st/st_thermal.c IS_ERR(sensor->overflow) || sensor 40 drivers/thermal/st/st_thermal.c IS_ERR(sensor->temp_data)) { sensor 45 drivers/thermal/st/st_thermal.c return sensor->ops->alloc_regfields(sensor); sensor 48 drivers/thermal/st/st_thermal.c static int st_thermal_sensor_on(struct st_thermal_sensor *sensor) sensor 51 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 53 drivers/thermal/st/st_thermal.c ret = clk_prepare_enable(sensor->clk); sensor 59 drivers/thermal/st/st_thermal.c ret = sensor->ops->power_ctrl(sensor, POWER_ON); sensor 62 drivers/thermal/st/st_thermal.c clk_disable_unprepare(sensor->clk); sensor 68 drivers/thermal/st/st_thermal.c static int st_thermal_sensor_off(struct st_thermal_sensor *sensor) sensor 72 drivers/thermal/st/st_thermal.c ret = sensor->ops->power_ctrl(sensor, POWER_OFF); sensor 76 drivers/thermal/st/st_thermal.c clk_disable_unprepare(sensor->clk); sensor 81 drivers/thermal/st/st_thermal.c static int st_thermal_calibration(struct st_thermal_sensor *sensor) sensor 85 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 88 drivers/thermal/st/st_thermal.c ret = regmap_field_read(sensor->dcorrect, &val); sensor 99 drivers/thermal/st/st_thermal.c ret = regmap_field_write(sensor->dcorrect, sensor 100 drivers/thermal/st/st_thermal.c sensor->cdata->calibration_val); sensor 111 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = th->devdata; sensor 112 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 117 drivers/thermal/st/st_thermal.c ret = regmap_field_read(sensor->overflow, &overflow); sensor 123 drivers/thermal/st/st_thermal.c ret = regmap_field_read(sensor->temp_data, &temp); sensor 127 drivers/thermal/st/st_thermal.c temp += sensor->cdata->temp_adjust_val; sensor 140 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = th->devdata; sensor 141 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 158 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = th->devdata; sensor 159 drivers/thermal/st/st_thermal.c struct device *dev = sensor->dev; sensor 163 drivers/thermal/st/st_thermal.c *temp = mcelsius(sensor->cdata->crit_temp); sensor 182 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor; sensor 195 drivers/thermal/st/st_thermal.c sensor = devm_kzalloc(dev, sizeof(*sensor), GFP_KERNEL); sensor 196 drivers/thermal/st/st_thermal.c if (!sensor) sensor 199 drivers/thermal/st/st_thermal.c sensor->dev = dev; sensor 205 drivers/thermal/st/st_thermal.c sensor->cdata = match->data; sensor 206 drivers/thermal/st/st_thermal.c if (!sensor->cdata->ops) sensor 209 drivers/thermal/st/st_thermal.c sensor->ops = sensor->cdata->ops; sensor 211 drivers/thermal/st/st_thermal.c ret = (sensor->ops->regmap_init)(sensor); sensor 215 drivers/thermal/st/st_thermal.c ret = st_thermal_alloc_regfields(sensor); sensor 219 drivers/thermal/st/st_thermal.c sensor->clk = devm_clk_get(dev, "thermal"); sensor 220 drivers/thermal/st/st_thermal.c if (IS_ERR(sensor->clk)) { sensor 222 drivers/thermal/st/st_thermal.c return PTR_ERR(sensor->clk); sensor 225 drivers/thermal/st/st_thermal.c if (sensor->ops->register_enable_irq) { sensor 226 drivers/thermal/st/st_thermal.c ret = sensor->ops->register_enable_irq(sensor); sensor 231 drivers/thermal/st/st_thermal.c ret = st_thermal_sensor_on(sensor); sensor 235 drivers/thermal/st/st_thermal.c ret = st_thermal_calibration(sensor); sensor 239 drivers/thermal/st/st_thermal.c polling_delay = sensor->ops->register_enable_irq ? 0 : 1000; sensor 241 drivers/thermal/st/st_thermal.c sensor->thermal_dev = sensor 242 drivers/thermal/st/st_thermal.c thermal_zone_device_register(dev_name(dev), 1, 0, sensor, sensor 244 drivers/thermal/st/st_thermal.c if (IS_ERR(sensor->thermal_dev)) { sensor 246 drivers/thermal/st/st_thermal.c ret = PTR_ERR(sensor->thermal_dev); sensor 250 drivers/thermal/st/st_thermal.c platform_set_drvdata(pdev, sensor); sensor 255 drivers/thermal/st/st_thermal.c st_thermal_sensor_off(sensor); sensor 263 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = platform_get_drvdata(pdev); sensor 265 drivers/thermal/st/st_thermal.c st_thermal_sensor_off(sensor); sensor 266 drivers/thermal/st/st_thermal.c thermal_zone_device_unregister(sensor->thermal_dev); sensor 275 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = dev_get_drvdata(dev); sensor 277 drivers/thermal/st/st_thermal.c return st_thermal_sensor_off(sensor); sensor 283 drivers/thermal/st/st_thermal.c struct st_thermal_sensor *sensor = dev_get_drvdata(dev); sensor 285 drivers/thermal/st/st_thermal.c ret = st_thermal_sensor_on(sensor); sensor 289 drivers/thermal/st/st_thermal.c ret = st_thermal_calibration(sensor); sensor 293 drivers/thermal/st/st_thermal.c if (sensor->ops->enable_irq) { sensor 294 drivers/thermal/st/st_thermal.c ret = sensor->ops->enable_irq(sensor); sensor 39 drivers/thermal/st/st_thermal_memmap.c struct st_thermal_sensor *sensor = sdata; sensor 41 drivers/thermal/st/st_thermal_memmap.c thermal_zone_device_update(sensor->thermal_dev, sensor 48 drivers/thermal/st/st_thermal_memmap.c static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor, sensor 54 drivers/thermal/st/st_thermal_memmap.c return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val); sensor 57 drivers/thermal/st/st_thermal_memmap.c static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor) sensor 59 drivers/thermal/st/st_thermal_memmap.c struct device *dev = sensor->dev; sensor 60 drivers/thermal/st/st_thermal_memmap.c struct regmap *regmap = sensor->regmap; sensor 61 drivers/thermal/st/st_thermal_memmap.c const struct reg_field *reg_fields = sensor->cdata->reg_fields; sensor 63 drivers/thermal/st/st_thermal_memmap.c sensor->int_thresh_hi = devm_regmap_field_alloc(dev, regmap, sensor 65 drivers/thermal/st/st_thermal_memmap.c sensor->int_enable = devm_regmap_field_alloc(dev, regmap, sensor 68 drivers/thermal/st/st_thermal_memmap.c if (IS_ERR(sensor->int_thresh_hi) || IS_ERR(sensor->int_enable)) { sensor 76 drivers/thermal/st/st_thermal_memmap.c static int st_mmap_enable_irq(struct st_thermal_sensor *sensor) sensor 81 drivers/thermal/st/st_thermal_memmap.c ret = regmap_field_write(sensor->int_thresh_hi, sensor 82 drivers/thermal/st/st_thermal_memmap.c sensor->cdata->crit_temp - sensor 83 drivers/thermal/st/st_thermal_memmap.c sensor->cdata->temp_adjust_val); sensor 87 drivers/thermal/st/st_thermal_memmap.c return regmap_field_write(sensor->int_enable, 1); sensor 90 drivers/thermal/st/st_thermal_memmap.c static int st_mmap_register_enable_irq(struct st_thermal_sensor *sensor) sensor 92 drivers/thermal/st/st_thermal_memmap.c struct device *dev = sensor->dev; sensor 96 drivers/thermal/st/st_thermal_memmap.c sensor->irq = platform_get_irq(pdev, 0); sensor 97 drivers/thermal/st/st_thermal_memmap.c if (sensor->irq < 0) { sensor 99 drivers/thermal/st/st_thermal_memmap.c return sensor->irq; sensor 102 drivers/thermal/st/st_thermal_memmap.c ret = devm_request_threaded_irq(dev, sensor->irq, sensor 105 drivers/thermal/st/st_thermal_memmap.c dev->driver->name, sensor); sensor 107 drivers/thermal/st/st_thermal_memmap.c dev_err(dev, "failed to register IRQ %d\n", sensor->irq); sensor 111 drivers/thermal/st/st_thermal_memmap.c return st_mmap_enable_irq(sensor); sensor 120 drivers/thermal/st/st_thermal_memmap.c static int st_mmap_regmap_init(struct st_thermal_sensor *sensor) sensor 122 drivers/thermal/st/st_thermal_memmap.c struct device *dev = sensor->dev; sensor 132 drivers/thermal/st/st_thermal_memmap.c sensor->mmio_base = devm_ioremap_resource(dev, res); sensor 133 drivers/thermal/st/st_thermal_memmap.c if (IS_ERR(sensor->mmio_base)) { sensor 135 drivers/thermal/st/st_thermal_memmap.c return PTR_ERR(sensor->mmio_base); sensor 138 drivers/thermal/st/st_thermal_memmap.c sensor->regmap = devm_regmap_init_mmio(dev, sensor->mmio_base, sensor 140 drivers/thermal/st/st_thermal_memmap.c if (IS_ERR(sensor->regmap)) { sensor 142 drivers/thermal/st/st_thermal_memmap.c return PTR_ERR(sensor->regmap); sensor 63 drivers/thermal/st/st_thermal_syscfg.c static int st_syscfg_power_ctrl(struct st_thermal_sensor *sensor, sensor 66 drivers/thermal/st/st_thermal_syscfg.c return regmap_field_write(sensor->pwr, power_state); sensor 69 drivers/thermal/st/st_thermal_syscfg.c static int st_syscfg_alloc_regfields(struct st_thermal_sensor *sensor) sensor 71 drivers/thermal/st/st_thermal_syscfg.c struct device *dev = sensor->dev; sensor 73 drivers/thermal/st/st_thermal_syscfg.c sensor->pwr = devm_regmap_field_alloc(dev, sensor->regmap, sensor 74 drivers/thermal/st/st_thermal_syscfg.c sensor->cdata->reg_fields[TEMP_PWR]); sensor 76 drivers/thermal/st/st_thermal_syscfg.c if (IS_ERR(sensor->pwr)) { sensor 78 drivers/thermal/st/st_thermal_syscfg.c return PTR_ERR(sensor->pwr); sensor 84 drivers/thermal/st/st_thermal_syscfg.c static int st_syscfg_regmap_init(struct st_thermal_sensor *sensor) sensor 86 drivers/thermal/st/st_thermal_syscfg.c sensor->regmap = sensor 87 drivers/thermal/st/st_thermal_syscfg.c syscon_regmap_lookup_by_compatible(sensor->cdata->sys_compat); sensor 88 drivers/thermal/st/st_thermal_syscfg.c if (IS_ERR(sensor->regmap)) { sensor 89 drivers/thermal/st/st_thermal_syscfg.c dev_err(sensor->dev, "failed to find syscfg regmap\n"); sensor 90 drivers/thermal/st/st_thermal_syscfg.c return PTR_ERR(sensor->regmap); sensor 108 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = sdata; sensor 111 drivers/thermal/st/stm_thermal.c sensor->irq_enabled = false; sensor 119 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = sdata; sensor 122 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_SR_OFFSET); sensor 125 drivers/thermal/st/stm_thermal.c writel_relaxed(LOW_THRESHOLD, sensor->base + DTS_CIFR_OFFSET); sensor 128 drivers/thermal/st/stm_thermal.c writel_relaxed(HIGH_THRESHOLD, sensor->base + DTS_CIFR_OFFSET); sensor 130 drivers/thermal/st/stm_thermal.c thermal_zone_device_update(sensor->th_dev, THERMAL_EVENT_UNSPECIFIED); sensor 135 drivers/thermal/st/stm_thermal.c static int stm_sensor_power_on(struct stm_thermal_sensor *sensor) sensor 141 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_CFGR1_OFFSET); sensor 143 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_CFGR1_OFFSET); sensor 150 drivers/thermal/st/stm_thermal.c ret = readl_poll_timeout(sensor->base + DTS_SR_OFFSET, sensor 157 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + sensor 160 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + sensor 166 drivers/thermal/st/stm_thermal.c static int stm_sensor_power_off(struct stm_thermal_sensor *sensor) sensor 171 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_CFGR1_OFFSET); sensor 173 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_CFGR1_OFFSET); sensor 179 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_CFGR1_OFFSET); sensor 181 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_CFGR1_OFFSET); sensor 184 drivers/thermal/st/stm_thermal.c return readl_poll_timeout(sensor->base + DTS_SR_OFFSET, value, sensor 189 drivers/thermal/st/stm_thermal.c static int stm_thermal_calibration(struct stm_thermal_sensor *sensor) sensor 195 drivers/thermal/st/stm_thermal.c clk_freq = clk_get_rate(sensor->clk); sensor 206 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_CFGR1_OFFSET); sensor 227 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_CFGR1_OFFSET); sensor 233 drivers/thermal/st/stm_thermal.c static int stm_thermal_read_factory_settings(struct stm_thermal_sensor *sensor) sensor 236 drivers/thermal/st/stm_thermal.c sensor->t0 = readl_relaxed(sensor->base + DTS_T0VALR1_OFFSET) & sensor 238 drivers/thermal/st/stm_thermal.c if (!sensor->t0) sensor 239 drivers/thermal/st/stm_thermal.c sensor->t0 = TS1_T0_VAL0; sensor 241 drivers/thermal/st/stm_thermal.c sensor->t0 = TS1_T0_VAL1; sensor 244 drivers/thermal/st/stm_thermal.c sensor->fmt0 = ADJUST * (readl_relaxed(sensor->base + sensor 248 drivers/thermal/st/stm_thermal.c sensor->ramp_coeff = readl_relaxed(sensor->base + DTS_RAMPVALR_OFFSET) & sensor 251 drivers/thermal/st/stm_thermal.c if (!sensor->fmt0 || !sensor->ramp_coeff) { sensor 252 drivers/thermal/st/stm_thermal.c dev_err(sensor->dev, "%s: wrong setting\n", __func__); sensor 256 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: T0 = %doC, FMT0 = %dHz, RAMP_COEFF = %dHz/oC", sensor 257 drivers/thermal/st/stm_thermal.c __func__, sensor->t0, sensor->fmt0, sensor->ramp_coeff); sensor 262 drivers/thermal/st/stm_thermal.c static int stm_thermal_calculate_threshold(struct stm_thermal_sensor *sensor, sensor 269 drivers/thermal/st/stm_thermal.c sampling_time = (readl_relaxed(sensor->base + DTS_CFGR1_OFFSET) & sensor 273 drivers/thermal/st/stm_thermal.c freqM = ((temp - sensor->t0) * sensor->ramp_coeff) sensor 274 drivers/thermal/st/stm_thermal.c + sensor->fmt0; sensor 276 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: freqM for threshold = %d Hz", sensor 280 drivers/thermal/st/stm_thermal.c *th = clk_get_rate(sensor->clk); sensor 291 drivers/thermal/st/stm_thermal.c static int stm_thermal_set_threshold(struct stm_thermal_sensor *sensor) sensor 296 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_ITR1_OFFSET); sensor 302 drivers/thermal/st/stm_thermal.c ret = stm_thermal_calculate_threshold(sensor, sensor->high_temp, &th); sensor 308 drivers/thermal/st/stm_thermal.c if (sensor->low_temp_enabled) { sensor 310 drivers/thermal/st/stm_thermal.c ret = stm_thermal_calculate_threshold(sensor, sensor->low_temp, sensor 319 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_ITR1_OFFSET); sensor 325 drivers/thermal/st/stm_thermal.c static int stm_disable_irq(struct stm_thermal_sensor *sensor) sensor 330 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); sensor 332 drivers/thermal/st/stm_thermal.c sensor->base + DTS_ITENR_OFFSET); sensor 334 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: IT disabled on sensor side", __func__); sensor 340 drivers/thermal/st/stm_thermal.c static int stm_enable_irq(struct stm_thermal_sensor *sensor) sensor 350 drivers/thermal/st/stm_thermal.c writel_relaxed(LOW_THRESHOLD, sensor->base + DTS_CIFR_OFFSET); sensor 353 drivers/thermal/st/stm_thermal.c value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); sensor 357 drivers/thermal/st/stm_thermal.c if (sensor->low_temp_enabled) { sensor 359 drivers/thermal/st/stm_thermal.c writel_relaxed(HIGH_THRESHOLD, sensor->base + DTS_CIFR_OFFSET); sensor 366 drivers/thermal/st/stm_thermal.c writel_relaxed(value, sensor->base + DTS_ITENR_OFFSET); sensor 368 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: IT enabled on sensor side", __func__); sensor 373 drivers/thermal/st/stm_thermal.c static int stm_thermal_update_threshold(struct stm_thermal_sensor *sensor) sensor 377 drivers/thermal/st/stm_thermal.c sensor->mode = THERMAL_DEVICE_DISABLED; sensor 379 drivers/thermal/st/stm_thermal.c ret = stm_sensor_power_off(sensor); sensor 383 drivers/thermal/st/stm_thermal.c ret = stm_disable_irq(sensor); sensor 387 drivers/thermal/st/stm_thermal.c ret = stm_thermal_set_threshold(sensor); sensor 391 drivers/thermal/st/stm_thermal.c ret = stm_enable_irq(sensor); sensor 395 drivers/thermal/st/stm_thermal.c ret = stm_sensor_power_on(sensor); sensor 399 drivers/thermal/st/stm_thermal.c sensor->mode = THERMAL_DEVICE_ENABLED; sensor 407 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = data; sensor 411 drivers/thermal/st/stm_thermal.c if (sensor->mode != THERMAL_DEVICE_ENABLED) sensor 415 drivers/thermal/st/stm_thermal.c ret = readl_poll_timeout(sensor->base + DTS_DR_OFFSET, freqM, sensor 426 drivers/thermal/st/stm_thermal.c sampling_time = (readl_relaxed(sensor->base + DTS_CFGR1_OFFSET) & sensor 433 drivers/thermal/st/stm_thermal.c freqM = clk_get_rate(sensor->clk) / freqM; sensor 437 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: freqM=%d\n", __func__, freqM); sensor 440 drivers/thermal/st/stm_thermal.c *temp = mcelsius(sensor->t0 + ((freqM - sensor->fmt0) / sensor 441 drivers/thermal/st/stm_thermal.c sensor->ramp_coeff)); sensor 443 drivers/thermal/st/stm_thermal.c dev_dbg(sensor->dev, "%s: temperature = %d millicelsius", sensor 447 drivers/thermal/st/stm_thermal.c if (sensor->num_trips > 1) { sensor 449 drivers/thermal/st/stm_thermal.c if (sensor->high_temp == sensor->temp_passive && sensor 450 drivers/thermal/st/stm_thermal.c celsius(*temp) >= sensor->temp_passive) { sensor 451 drivers/thermal/st/stm_thermal.c sensor->high_temp = sensor->temp_critical; sensor 452 drivers/thermal/st/stm_thermal.c sensor->low_temp = sensor->temp_passive; sensor 453 drivers/thermal/st/stm_thermal.c sensor->low_temp_enabled = true; sensor 454 drivers/thermal/st/stm_thermal.c ret = stm_thermal_update_threshold(sensor); sensor 459 drivers/thermal/st/stm_thermal.c if (sensor->high_temp == sensor->temp_critical && sensor 460 drivers/thermal/st/stm_thermal.c celsius(*temp) < sensor->temp_passive) { sensor 461 drivers/thermal/st/stm_thermal.c sensor->high_temp = sensor->temp_passive; sensor 462 drivers/thermal/st/stm_thermal.c sensor->low_temp_enabled = false; sensor 463 drivers/thermal/st/stm_thermal.c ret = stm_thermal_update_threshold(sensor); sensor 472 drivers/thermal/st/stm_thermal.c if (!sensor->irq_enabled && sensor 473 drivers/thermal/st/stm_thermal.c (celsius(*temp) < sensor->temp_critical)) { sensor 474 drivers/thermal/st/stm_thermal.c sensor->irq_enabled = true; sensor 475 drivers/thermal/st/stm_thermal.c enable_irq(sensor->irq); sensor 483 drivers/thermal/st/stm_thermal.c static int stm_register_irq(struct stm_thermal_sensor *sensor) sensor 485 drivers/thermal/st/stm_thermal.c struct device *dev = sensor->dev; sensor 489 drivers/thermal/st/stm_thermal.c sensor->irq = platform_get_irq(pdev, 0); sensor 490 drivers/thermal/st/stm_thermal.c if (sensor->irq < 0) { sensor 492 drivers/thermal/st/stm_thermal.c return sensor->irq; sensor 495 drivers/thermal/st/stm_thermal.c ret = devm_request_threaded_irq(dev, sensor->irq, sensor 499 drivers/thermal/st/stm_thermal.c dev->driver->name, sensor); sensor 502 drivers/thermal/st/stm_thermal.c sensor->irq); sensor 506 drivers/thermal/st/stm_thermal.c sensor->irq_enabled = true; sensor 513 drivers/thermal/st/stm_thermal.c static int stm_thermal_sensor_off(struct stm_thermal_sensor *sensor) sensor 517 drivers/thermal/st/stm_thermal.c ret = stm_sensor_power_off(sensor); sensor 521 drivers/thermal/st/stm_thermal.c clk_disable_unprepare(sensor->clk); sensor 526 drivers/thermal/st/stm_thermal.c static int stm_thermal_prepare(struct stm_thermal_sensor *sensor) sensor 529 drivers/thermal/st/stm_thermal.c struct device *dev = sensor->dev; sensor 531 drivers/thermal/st/stm_thermal.c ret = clk_prepare_enable(sensor->clk); sensor 535 drivers/thermal/st/stm_thermal.c ret = stm_thermal_read_factory_settings(sensor); sensor 539 drivers/thermal/st/stm_thermal.c ret = stm_thermal_calibration(sensor); sensor 544 drivers/thermal/st/stm_thermal.c ret = stm_thermal_set_threshold(sensor); sensor 548 drivers/thermal/st/stm_thermal.c ret = stm_enable_irq(sensor); sensor 552 drivers/thermal/st/stm_thermal.c ret = stm_sensor_power_on(sensor); sensor 561 drivers/thermal/st/stm_thermal.c stm_disable_irq(sensor); sensor 564 drivers/thermal/st/stm_thermal.c clk_disable_unprepare(sensor->clk); sensor 573 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = dev_get_drvdata(dev); sensor 575 drivers/thermal/st/stm_thermal.c ret = stm_thermal_sensor_off(sensor); sensor 579 drivers/thermal/st/stm_thermal.c sensor->mode = THERMAL_DEVICE_DISABLED; sensor 587 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = dev_get_drvdata(dev); sensor 589 drivers/thermal/st/stm_thermal.c ret = stm_thermal_prepare(sensor); sensor 593 drivers/thermal/st/stm_thermal.c sensor->mode = THERMAL_DEVICE_ENABLED; sensor 613 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor; sensor 625 drivers/thermal/st/stm_thermal.c sensor = devm_kzalloc(&pdev->dev, sizeof(*sensor), GFP_KERNEL); sensor 626 drivers/thermal/st/stm_thermal.c if (!sensor) sensor 629 drivers/thermal/st/stm_thermal.c platform_set_drvdata(pdev, sensor); sensor 631 drivers/thermal/st/stm_thermal.c sensor->dev = &pdev->dev; sensor 639 drivers/thermal/st/stm_thermal.c sensor->base = base; sensor 641 drivers/thermal/st/stm_thermal.c sensor->clk = devm_clk_get(&pdev->dev, "pclk"); sensor 642 drivers/thermal/st/stm_thermal.c if (IS_ERR(sensor->clk)) { sensor 645 drivers/thermal/st/stm_thermal.c return PTR_ERR(sensor->clk); sensor 649 drivers/thermal/st/stm_thermal.c ret = stm_register_irq(sensor); sensor 653 drivers/thermal/st/stm_thermal.c sensor->th_dev = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, sensor 654 drivers/thermal/st/stm_thermal.c sensor, sensor 657 drivers/thermal/st/stm_thermal.c if (IS_ERR(sensor->th_dev)) { sensor 660 drivers/thermal/st/stm_thermal.c ret = PTR_ERR(sensor->th_dev); sensor 664 drivers/thermal/st/stm_thermal.c if (!sensor->th_dev->ops->get_crit_temp) { sensor 670 drivers/thermal/st/stm_thermal.c ret = sensor->th_dev->ops->get_crit_temp(sensor->th_dev, sensor 671 drivers/thermal/st/stm_thermal.c &sensor->temp_critical); sensor 678 drivers/thermal/st/stm_thermal.c sensor->temp_critical = celsius(sensor->temp_critical); sensor 681 drivers/thermal/st/stm_thermal.c sensor->high_temp = sensor->temp_critical; sensor 683 drivers/thermal/st/stm_thermal.c trip = of_thermal_get_trip_points(sensor->th_dev); sensor 684 drivers/thermal/st/stm_thermal.c sensor->num_trips = of_thermal_get_ntrips(sensor->th_dev); sensor 687 drivers/thermal/st/stm_thermal.c for (i = (sensor->num_trips - 1); i >= 0; i--) { sensor 689 drivers/thermal/st/stm_thermal.c sensor->temp_passive = celsius(trip[i].temperature); sensor 691 drivers/thermal/st/stm_thermal.c sensor->high_temp = sensor->temp_passive; sensor 702 drivers/thermal/st/stm_thermal.c sensor->low_temp_enabled = false; sensor 705 drivers/thermal/st/stm_thermal.c ret = stm_thermal_prepare(sensor); sensor 716 drivers/thermal/st/stm_thermal.c sensor->th_dev->tzp->no_hwmon = false; sensor 717 drivers/thermal/st/stm_thermal.c ret = thermal_add_hwmon_sysfs(sensor->th_dev); sensor 721 drivers/thermal/st/stm_thermal.c sensor->mode = THERMAL_DEVICE_ENABLED; sensor 729 drivers/thermal/st/stm_thermal.c thermal_zone_of_sensor_unregister(&pdev->dev, sensor->th_dev); sensor 735 drivers/thermal/st/stm_thermal.c struct stm_thermal_sensor *sensor = platform_get_drvdata(pdev); sensor 737 drivers/thermal/st/stm_thermal.c stm_thermal_sensor_off(sensor); sensor 738 drivers/thermal/st/stm_thermal.c thermal_remove_hwmon_sysfs(sensor->th_dev); sensor 739 drivers/thermal/st/stm_thermal.c thermal_zone_of_sensor_unregister(&pdev->dev, sensor->th_dev); sensor 107 drivers/thermal/tegra/soctherm-fuse.c int tegra_calc_tsensor_calib(const struct tegra_tsensor *sensor, sensor 120 drivers/thermal/tegra/soctherm-fuse.c sensor_group = sensor->group; sensor 122 drivers/thermal/tegra/soctherm-fuse.c err = tegra_fuse_readl(sensor->calib_fuse_offset, &val); sensor 134 drivers/thermal/tegra/soctherm-fuse.c mult = sensor_group->pdiv * sensor->config->tsample_ate; sensor 135 drivers/thermal/tegra/soctherm-fuse.c div = sensor->config->tsample * sensor_group->pdiv_ate; sensor 144 drivers/thermal/tegra/soctherm-fuse.c temp = (s64)therma * sensor->fuse_corr_alpha; sensor 147 drivers/thermal/tegra/soctherm-fuse.c temp = (s64)thermb * sensor->fuse_corr_alpha + sensor->fuse_corr_beta; sensor 387 drivers/thermal/tegra/soctherm.c const struct tegra_tsensor *sensor = &tegra->soc->tsensors[i]; sensor 388 drivers/thermal/tegra/soctherm.c void __iomem *base = tegra->regs + sensor->base; sensor 391 drivers/thermal/tegra/soctherm.c val = sensor->config->tall << SENSOR_CONFIG0_TALL_SHIFT; sensor 394 drivers/thermal/tegra/soctherm.c val = (sensor->config->tsample - 1) << SENSOR_CONFIG1_TSAMPLE_SHIFT; sensor 395 drivers/thermal/tegra/soctherm.c val |= sensor->config->tiddq_en << SENSOR_CONFIG1_TIDDQ_EN_SHIFT; sensor 396 drivers/thermal/tegra/soctherm.c val |= sensor->config->ten_count << SENSOR_CONFIG1_TEN_COUNT_SHIFT; sensor 136 drivers/thermal/tegra/soctherm.h int tegra_calc_tsensor_calib(const struct tegra_tsensor *sensor, sensor 26 drivers/thermal/thermal_mmio.c struct thermal_mmio *sensor = sensor 29 drivers/thermal/thermal_mmio.c t = sensor->read_mmio(sensor->mmio_base) & sensor->mask; sensor 30 drivers/thermal/thermal_mmio.c t *= sensor->factor; sensor 44 drivers/thermal/thermal_mmio.c struct thermal_mmio *sensor; sensor 46 drivers/thermal/thermal_mmio.c struct thermal_mmio *sensor); sensor 51 drivers/thermal/thermal_mmio.c sensor = devm_kzalloc(&pdev->dev, sizeof(*sensor), GFP_KERNEL); sensor 52 drivers/thermal/thermal_mmio.c if (!sensor) sensor 56 drivers/thermal/thermal_mmio.c sensor->mmio_base = devm_ioremap_resource(&pdev->dev, resource); sensor 57 drivers/thermal/thermal_mmio.c if (IS_ERR(sensor->mmio_base)) { sensor 59 drivers/thermal/thermal_mmio.c PTR_ERR(sensor->mmio_base)); sensor 60 drivers/thermal/thermal_mmio.c return PTR_ERR(sensor->mmio_base); sensor 65 drivers/thermal/thermal_mmio.c ret = sensor_init_func(pdev, sensor); sensor 76 drivers/thermal/thermal_mmio.c sensor, sensor 85 drivers/thermal/thermal_mmio.c thermal_mmio_get_temperature(sensor, &temperature); sensor 94 drivers/thermal/thermal_mmio.c struct thermal_mmio *sensor) sensor 96 drivers/thermal/thermal_mmio.c sensor->read_mmio = thermal_mmio_readb; sensor 97 drivers/thermal/thermal_mmio.c sensor->mask = 0xff; sensor 98 drivers/thermal/thermal_mmio.c sensor->factor = 1000; sensor 2675 include/linux/platform_data/cros_ec_commands.h struct ec_response_motion_sensor_data sensor[0]; sensor 33 include/media/drv-intf/s3c_camif.h struct s3c_camif_sensor_info sensor; sensor 734 include/media/v4l2-subdev.h const struct v4l2_subdev_sensor_ops *sensor;