drivers: sensor: Fix return value for unsupported channels
Fixes sensor drivers to consistently return -ENOTSUP when an unsupported channel argument is passed to the sensor_channel_get function. Signed-off-by: Maureen Helm <maureen.helm@analog.com>
This commit is contained in:
parent
d511ef44ed
commit
598fd31d51
21 changed files with 39 additions and 17 deletions
|
@ -77,8 +77,10 @@ static int ak8975_channel_get(const struct device *dev,
|
||||||
ak8975_convert(val, drv_data->x_sample, drv_data->x_adj);
|
ak8975_convert(val, drv_data->x_sample, drv_data->x_adj);
|
||||||
} else if (chan == SENSOR_CHAN_MAGN_Y) {
|
} else if (chan == SENSOR_CHAN_MAGN_Y) {
|
||||||
ak8975_convert(val, drv_data->y_sample, drv_data->y_adj);
|
ak8975_convert(val, drv_data->y_sample, drv_data->y_adj);
|
||||||
} else { /* chan == SENSOR_CHAN_MAGN_Z */
|
} else if (chan == SENSOR_CHAN_MAGN_Z) {
|
||||||
ak8975_convert(val, drv_data->z_sample, drv_data->z_adj);
|
ak8975_convert(val, drv_data->z_sample, drv_data->z_adj);
|
||||||
|
} else {
|
||||||
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -86,7 +86,7 @@ static int akm09918c_channel_get(const struct device *dev, enum sensor_channel c
|
||||||
akm09918c_convert(val, data->z_sample);
|
akm09918c_convert(val, data->z_sample);
|
||||||
} else {
|
} else {
|
||||||
LOG_WRN("Invalid channel %d", chan);
|
LOG_WRN("Invalid channel %d", chan);
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -347,7 +347,7 @@ static int bmc150_magn_channel_get(const struct device *dev,
|
||||||
bmc150_magn_convert(val + 2, data->sample_z);
|
bmc150_magn_convert(val + 2, data->sample_z);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -291,7 +291,7 @@ static int bme680_channel_get(const struct device *dev,
|
||||||
val->val2 = 0;
|
val->val2 = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1096,7 +1096,7 @@ static int bosch_bmi323_driver_api_channel_get(const struct device *dev, enum se
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = -ENODEV;
|
ret = -ENOTSUP;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -371,7 +371,7 @@ static int bmm150_channel_get(const struct device *dev,
|
||||||
bmm150_convert(val + 2, drv_data->sample_z);
|
bmm150_convert(val + 2, drv_data->sample_z);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -703,7 +703,7 @@ static int dps310_channel_get(const struct device *dev,
|
||||||
val->val2 = data->psr_val2;
|
val->val2 = data->psr_val2;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -634,7 +634,7 @@ static int grow_r502a_channel_get(const struct device *dev, enum sensor_channel
|
||||||
val->val1 = drv_data->template_count;
|
val->val1 = drv_data->template_count;
|
||||||
} else {
|
} else {
|
||||||
LOG_ERR("Invalid channel");
|
LOG_ERR("Invalid channel");
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -41,13 +41,15 @@ static int hmc5883l_channel_get(const struct device *dev,
|
||||||
} else if (chan == SENSOR_CHAN_MAGN_Z) {
|
} else if (chan == SENSOR_CHAN_MAGN_Z) {
|
||||||
hmc5883l_convert(val, drv_data->z_sample,
|
hmc5883l_convert(val, drv_data->z_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
} else { /* chan == SENSOR_CHAN_MAGN_XYZ */
|
} else if (chan == SENSOR_CHAN_MAGN_XYZ) {
|
||||||
hmc5883l_convert(val, drv_data->x_sample,
|
hmc5883l_convert(val, drv_data->x_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
hmc5883l_convert(val + 1, drv_data->y_sample,
|
hmc5883l_convert(val + 1, drv_data->y_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
hmc5883l_convert(val + 2, drv_data->z_sample,
|
hmc5883l_convert(val + 2, drv_data->z_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
|
} else {
|
||||||
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -97,7 +97,7 @@ static int max31855_channel_get(const struct device *dev, enum sensor_channel ch
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -270,7 +270,7 @@ static int max31865_channel_get(const struct device *dev, enum sensor_channel ch
|
||||||
case SENSOR_CHAN_AMBIENT_TEMP:
|
case SENSOR_CHAN_AMBIENT_TEMP:
|
||||||
return sensor_value_from_double(val, data->temperature);
|
return sensor_value_from_double(val, data->temperature);
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,10 @@ static int mcp9808_channel_get(const struct device *dev,
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_AMBIENT_TEMP);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_AMBIENT_TEMP);
|
||||||
|
|
||||||
|
if (chan != SENSOR_CHAN_AMBIENT_TEMP) {
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
val->val1 = temp / MCP9808_TEMP_SCALE_CEL;
|
val->val1 = temp / MCP9808_TEMP_SCALE_CEL;
|
||||||
temp -= val->val1 * MCP9808_TEMP_SCALE_CEL;
|
temp -= val->val1 * MCP9808_TEMP_SCALE_CEL;
|
||||||
val->val2 = (temp * 1000000) / MCP9808_TEMP_SCALE_CEL;
|
val->val2 = (temp * 1000000) / MCP9808_TEMP_SCALE_CEL;
|
||||||
|
|
|
@ -113,6 +113,10 @@ static int mpr_channel_get(const struct device *dev,
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PRESS);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PRESS);
|
||||||
|
|
||||||
|
if (chan != SENSOR_CHAN_PRESS) {
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
uint64_t value;
|
uint64_t value;
|
||||||
|
|
||||||
mpr_convert_reg(&data->reg_val, &value);
|
mpr_convert_reg(&data->reg_val, &value);
|
||||||
|
|
|
@ -102,8 +102,10 @@ static int mpu6050_channel_get(const struct device *dev,
|
||||||
mpu6050_convert_gyro(val, drv_data->gyro_z,
|
mpu6050_convert_gyro(val, drv_data->gyro_z,
|
||||||
drv_data->gyro_sensitivity_x10);
|
drv_data->gyro_sensitivity_x10);
|
||||||
break;
|
break;
|
||||||
default: /* chan == SENSOR_CHAN_DIE_TEMP */
|
case SENSOR_CHAN_DIE_TEMP:
|
||||||
mpu6050_convert_temp(val, drv_data->temp);
|
mpu6050_convert_temp(val, drv_data->temp);
|
||||||
|
default:
|
||||||
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -155,7 +155,7 @@ static int ms5607_channel_get(const struct device *dev,
|
||||||
val->val2 = data->pressure % 100 * 10000;
|
val->val2 = data->pressure % 100 * 10000;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -184,7 +184,7 @@ static int ms5837_channel_get(const struct device *dev,
|
||||||
val->val2 = data->pressure % 1000 * 1000;
|
val->val2 = data->pressure % 1000 * 1000;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -162,7 +162,7 @@ static int pms7003_channel_get(const struct device *dev,
|
||||||
val->val1 = drv_data->pm_10;
|
val->val1 = drv_data->pm_10;
|
||||||
val->val2 = 0;
|
val->val2 = 0;
|
||||||
} else {
|
} else {
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -414,7 +414,7 @@ static int si7210_channel_get(const struct device *dev,
|
||||||
val->val2 = tmp % 1000000;
|
val->val2 = tmp % 1000000;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -64,6 +64,10 @@ static int sx9500_channel_get(const struct device *dev,
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PROX);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PROX);
|
||||||
|
|
||||||
|
if (chan != SENSOR_CHAN_PROX) {
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
val->val1 = !!(data->prox_stat &
|
val->val1 = !!(data->prox_stat &
|
||||||
(1 << (4 + CONFIG_SX9500_PROX_CHANNEL)));
|
(1 << (4 + CONFIG_SX9500_PROX_CHANNEL)));
|
||||||
val->val2 = 0;
|
val->val2 = 0;
|
||||||
|
|
|
@ -128,7 +128,7 @@ static int ti_hdc20xx_channel_get(const struct device *dev,
|
||||||
val->val2 = ((tmp & 0xFFFF) * 15625U) >> 10;
|
val->val2 = ((tmp & 0xFFFF) * 15625U) >> 10;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -342,6 +342,10 @@ static int vl53l1x_channel_get(const struct device *dev,
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_DISTANCE);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_DISTANCE);
|
||||||
|
|
||||||
|
if (chan != SENSOR_CHAN_DISTANCE) {
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
/* Calling VL53L1_WaitMeasurementDataReady regardless of using interrupt or
|
/* Calling VL53L1_WaitMeasurementDataReady regardless of using interrupt or
|
||||||
* polling method ensures user does not have to consider the time between
|
* polling method ensures user does not have to consider the time between
|
||||||
* calling fetch and get.
|
* calling fetch and get.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue