drivers: sensor: hts221: Return error on not supported channel

When asserts were disabled then sensor accepted any channel in
hts221_channel_get(). Changed to return -ENOTSUP when invalid
channel is provided.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2020-01-03 11:14:55 +01:00 committed by Anas Nashif
commit efeb7fa771

View file

@ -27,9 +27,6 @@ static int hts221_channel_get(struct device *dev,
struct hts221_data *drv_data = dev->driver_data; struct hts221_data *drv_data = dev->driver_data;
s32_t conv_val; s32_t conv_val;
__ASSERT_NO_MSG(chan == SENSOR_CHAN_AMBIENT_TEMP ||
chan == SENSOR_CHAN_HUMIDITY);
/* /*
* see "Interpreting humidity and temperature readings" document * see "Interpreting humidity and temperature readings" document
* for more details * for more details
@ -44,7 +41,7 @@ static int hts221_channel_get(struct device *dev,
/* convert temperature x8 to degrees Celsius */ /* convert temperature x8 to degrees Celsius */
val->val1 = conv_val / 8; val->val1 = conv_val / 8;
val->val2 = (conv_val % 8) * (1000000 / 8); val->val2 = (conv_val % 8) * (1000000 / 8);
} else { /* SENSOR_CHAN_HUMIDITY */ } else if (chan == SENSOR_CHAN_HUMIDITY) {
conv_val = (s32_t)(drv_data->h1_rh_x2 - drv_data->h0_rh_x2) * conv_val = (s32_t)(drv_data->h1_rh_x2 - drv_data->h0_rh_x2) *
(drv_data->rh_sample - drv_data->h0_t0_out) / (drv_data->rh_sample - drv_data->h0_t0_out) /
(drv_data->h1_t0_out - drv_data->h0_t0_out) + (drv_data->h1_t0_out - drv_data->h0_t0_out) +
@ -53,6 +50,8 @@ static int hts221_channel_get(struct device *dev,
/* convert humidity x2 to percent */ /* convert humidity x2 to percent */
val->val1 = conv_val / 2; val->val1 = conv_val / 2;
val->val2 = (conv_val % 2) * 500000; val->val2 = (conv_val % 2) * 500000;
} else {
return -ENOTSUP;
} }
return 0; return 0;