Module Name: src
Committed By: christos
Date: Thu Nov 17 16:04:07 UTC 2011
Modified Files:
src/sys/dev/i2c: pic16lc.c
Log Message:
tidy up.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/i2c/pic16lc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/i2c/pic16lc.c
diff -u src/sys/dev/i2c/pic16lc.c:1.17 src/sys/dev/i2c/pic16lc.c:1.18
--- src/sys/dev/i2c/pic16lc.c:1.17 Thu Nov 17 08:47:27 2011
+++ src/sys/dev/i2c/pic16lc.c Thu Nov 17 11:04:07 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: pic16lc.c,v 1.17 2011/11/17 13:47:27 jakllsch Exp $ */
+/* $NetBSD: pic16lc.c,v 1.18 2011/11/17 16:04:07 christos Exp $ */
/*-
* Copyright (c) 2007, 2008 Jared D. McNeill <[email protected]>
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pic16lc.c,v 1.17 2011/11/17 13:47:27 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pic16lc.c,v 1.18 2011/11/17 16:04:07 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -56,9 +56,9 @@ void pic16lc_reboot(void);
void pic16lc_poweroff(void);
void pic16lc_setled(uint8_t);
-#define XBOX_SENSOR_CPU 0
-#define XBOX_SENSOR_BOARD 1
-#define XBOX_NSENSORS 2
+#define XBOX_SENSOR_CPU 0
+#define XBOX_SENSOR_BOARD 1
+#define XBOX_NSENSORS 2
struct pic16lc_softc {
device_t sc_dev;
@@ -188,22 +188,28 @@ pic16lc_read_1(struct pic16lc_softc *sc,
static void
pic16lc_update(struct pic16lc_softc *sc, envsys_data_t *edata)
{
- uint8_t cputemp, boardtemp;
+ uint8_t temp, sensor;
+
+ switch (edata->sensor) {
+ case XBOX_SENSOR_CPU:
+ sensor = PIC16LC_REG_CPUTEMP;
+ break;
+ case XBOX_SENSOR_BOARD:
+ sensor = PIC16LC_REG_BOARDTEMP;
+ break;
+ default:
+ aprint_error(": invalid sensor %u\n", edata->sensor);
+ return;
+ }
if (iic_acquire_bus(sc->sc_tag, 0) != 0) {
aprint_error(": unable to acquire i2c bus\n");
return;
}
- if (edata->sensor == XBOX_SENSOR_CPU) {
- pic16lc_read_1(sc, PIC16LC_REG_CPUTEMP, &cputemp);
- edata->state = ENVSYS_SVALID;
- edata->value_cur = (int)cputemp * 1000000 + 273150000;
- } else {
- pic16lc_read_1(sc, PIC16LC_REG_BOARDTEMP, &boardtemp);
- edata->state = ENVSYS_SVALID;
- edata->value_cur = (int)boardtemp * 1000000 + 273150000;
- }
+ pic16lc_read_1(sc, sensor, &temp);
+ edata->state = ENVSYS_SVALID;
+ edata->value_cur = (unsigned int)temp * 1000000 + 273150000;
iic_release_bus(sc->sc_tag, 0);