summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2019-10-17 06:21:09 +0000
committerAndriy Gapon <avg@FreeBSD.org>2019-10-17 06:21:09 +0000
commitfc0b98158d2220fa4f1dc0eb1515cb651c415fb0 (patch)
treec8b6b20172a4aa2fff0ed2228155c183990f3d51
parent579b70db8922b1debf3bd99bb2b822d60b95575d (diff)
Notes
-rw-r--r--sys/dev/wbwd/wbwd.c31
1 files changed, 21 insertions, 10 deletions
diff --git a/sys/dev/wbwd/wbwd.c b/sys/dev/wbwd/wbwd.c
index 15cb8eed3b8a8..d8324e4629179 100644
--- a/sys/dev/wbwd/wbwd.c
+++ b/sys/dev/wbwd/wbwd.c
@@ -466,7 +466,7 @@ wb_probe(device_t dev)
{
char buf[128];
struct wb_softc *sc;
- int found, j;
+ int j;
uint8_t devid;
uint8_t revid;
@@ -478,7 +478,6 @@ wb_probe(device_t dev)
sc = device_get_softc(dev);
devid = superio_devid(dev) >> 8;
revid = superio_revid(dev);
- found = 0;
for (j = 0; j < nitems(wb_devs); j++) {
if (wb_devs[j].device_id == devid) {
sc->chip = wb_devs[j].chip;
@@ -489,6 +488,11 @@ wb_probe(device_t dev)
return (BUS_PROBE_SPECIFIC);
}
}
+ if (bootverbose) {
+ device_printf(dev,
+ "unrecognized chip: devid 0x%02x, revid 0x%02x\n",
+ devid, revid);
+ }
return (ENXIO);
}
@@ -504,21 +508,28 @@ wb_attach(device_t dev)
sc = device_get_softc(dev);
sc->dev = dev;
- sc->ctl_reg = 0xf5;
- sc->time_reg = 0xf6;
- sc->csr_reg = 0xf7;
- if (sc->chip == w83697hf || sc->chip == w83697ug) {
+ /* Make sure WDT is enabled. */
+ superio_dev_enable(dev, WB_LDN8_CR30_ACTIVE);
+
+ switch (sc->chip) {
+ case w83697hf:
+ case w83697ug:
sc->ctl_reg = 0xf3;
sc->time_reg = 0xf4;
- } else if (sc->chip == nct6102) {
+ sc->csr_reg = 0xf7;
+ break;
+ case nct6102:
sc->ctl_reg = 0xf0;
sc->time_reg = 0xf1;
sc->csr_reg = 0xf2;
+ break;
+ default:
+ sc->ctl_reg = 0xf5;
+ sc->time_reg = 0xf6;
+ sc->csr_reg = 0xf7;
+ break;
}
- /* Make sure WDT is enabled. */
- superio_dev_enable(dev, WB_LDN8_CR30_ACTIVE);
-
switch (sc->chip) {
case w83627hf:
case w83627s: