1- /* $NetBSD: aiboost.c,v 1.10 2007/07/12 18:50:40 xtraeme Exp $ */
1+ /* $NetBSD: aiboost.c,v 1.11 2007/07/16 16:44:26 xtraeme Exp $ */
22
33/*-
44 * Copyright (c) 2007 Juan Romero Pardines
2828 */
2929
3030#include <sys/cdefs.h>
31- __KERNEL_RCSID (0 , "$NetBSD: aiboost.c,v 1.10 2007/07/12 18:50:40 xtraeme Exp $" );
31+ __KERNEL_RCSID (0 , "$NetBSD: aiboost.c,v 1.11 2007/07/16 16:44:26 xtraeme Exp $" );
3232
3333#include <sys/param.h>
3434#include <sys/systm.h>
@@ -208,14 +208,19 @@ aiboost_refresh_sensors(struct aiboost_softc *sc, envsys_data_t *edata)
208208 j = 0 ;
209209 i = edata -> sensor ; /* sensor number */
210210
211+ #define AIBOOST_INVALIDATE_SENSOR () \
212+ do { \
213+ if (val == -1 || val == 0) { \
214+ edata->state = ENVSYS_SINVALID; \
215+ return; \
216+ } \
217+ } while (/* CONSTCOND */ 0 )
218+
211219 switch (edata -> units ) {
212220 case ENVSYS_STEMP :
213221 /* Temperatures */
214222 val = aiboost_get_value (h , "RTMP" , sc -> sc_aitemp -> elem [i ].id );
215- if (val == -1 ) {
216- edata -> state = ENVSYS_SINVALID ;
217- return ;
218- }
223+ AIBOOST_INVALIDATE_SENSOR ();
219224 /* envsys(9) wants mK... convert from Celsius. */
220225 edata -> value_cur = val * 100000 + 273150000 ;
221226 DPRINTF (("%s: temp[%d] value_cur=%d val=%d j=%d\n" , __func__ ,
@@ -225,10 +230,7 @@ aiboost_refresh_sensors(struct aiboost_softc *sc, envsys_data_t *edata)
225230 /* Voltages */
226231 j = i - sc -> sc_aitemp -> num ;
227232 val = aiboost_get_value (h , "RVLT" , sc -> sc_aivolt -> elem [j ].id );
228- if (val == -1 ) {
229- edata -> state = ENVSYS_SINVALID ;
230- return ;
231- }
233+ AIBOOST_INVALIDATE_SENSOR ();
232234 /* envsys(4) wants mV... */
233235 edata -> value_cur = val * 10000 ;
234236 edata -> value_cur /= 10 ;
@@ -239,10 +241,7 @@ aiboost_refresh_sensors(struct aiboost_softc *sc, envsys_data_t *edata)
239241 /* Fans */
240242 j = i - (sc -> sc_aitemp -> num + sc -> sc_aivolt -> num );
241243 val = aiboost_get_value (h , "RFAN" , sc -> sc_aifan -> elem [j ].id );
242- if (val == -1 ) {
243- edata -> state = ENVSYS_SINVALID ;
244- return ;
245- }
244+ AIBOOST_INVALIDATE_SENSOR ();
246245 edata -> value_cur = val ;
247246 DPRINTF (("%s: fan[%d] val=%d j=%d\n" , __func__ , i , val , j ));
248247 break ;
0 commit comments