From ae7ea70b986e919e117c7c7495d3c6e8a1f16e67 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Mon, 26 Jun 2006 17:47:35 +0000 Subject: Avoid using the rfact member of 'struct sensor' which is on its way out. --- sys/dev/isa/nsclpcsio_isa.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'sys/dev') diff --git a/sys/dev/isa/nsclpcsio_isa.c b/sys/dev/isa/nsclpcsio_isa.c index f6533f53b04..9e895e5cfaf 100644 --- a/sys/dev/isa/nsclpcsio_isa.c +++ b/sys/dev/isa/nsclpcsio_isa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nsclpcsio_isa.c,v 1.8 2006/04/10 00:57:54 deraadt Exp $ */ +/* $OpenBSD: nsclpcsio_isa.c,v 1.9 2006/06/26 17:47:34 kettenis Exp $ */ /* $NetBSD: nsclpcsio_isa.c,v 1.5 2002/10/22 16:18:26 drochner Exp $ */ /* @@ -417,7 +417,7 @@ nsclpcsio_tms_update(struct nsclpcsio_softc *sc) void nsclpcsio_vlm_init(struct nsclpcsio_softc *sc) { - int scale, i; + int i; char *desc = NULL; VLM_WRITE(sc, SIO_VLMCFG, 0x00); @@ -428,22 +428,18 @@ nsclpcsio_vlm_init(struct nsclpcsio_softc *sc) VLM_WRITE(sc, SIO_VCHCFST, 0x01); desc = NULL; - scale = 1; switch (i) { case 7: desc = "VSB"; - scale = 2; break; case 8: desc = "VDD"; - scale = 2; break; case 9: desc = "VBAT"; break; case 10: desc = "AVDD"; - scale = 2; break; case 11: desc = "TS1"; @@ -463,9 +459,6 @@ nsclpcsio_vlm_init(struct nsclpcsio_softc *sc) sizeof(sc->sensors[SIO_VLM_OFF].desc), "VSENS%d", i); sc->sensors[SIO_VLM_OFF + i].type = SENSOR_VOLTS_DC; - /* Vi = (2.45±0.05)*VREF *RDCHVi / 256 */ - sc->sensors[SIO_VLM_OFF + i].rfact = - 10 * scale * ((245 * SIO_VREF) >> 8); } nsclpcsio_vlm_update(sc); } @@ -475,7 +468,7 @@ nsclpcsio_vlm_update(struct nsclpcsio_softc *sc) { u_int8_t status; u_int8_t data; - int i; + int scale, rfact, i; for (i = 0; i < 14; i++) { VLM_WRITE(sc, SIO_VLMBS, i); @@ -489,8 +482,18 @@ nsclpcsio_vlm_update(struct nsclpcsio_softc *sc) data = VLM_READ(sc, SIO_RDCHV); DPRINTF(("%s: status %d V %d\n", sc->sensors[SIO_VLM_OFF + i].desc, status, data)); - sc->sensors[SIO_VLM_OFF + i].value = - data * sc->sensors[SIO_VLM_OFF + i].rfact; + + scale = 1; + switch (i) { + case 7: + case 8: + case 10: + scale = 2; + } + + /* Vi = (2.45±0.05)*VREF *RDCHVi / 256 */ + rfact = 10 * scale * ((245 * SIO_VREF) >> 8); + sc->sensors[SIO_VLM_OFF + i].value = data * rfact; } } -- cgit v1.2.3