summaryrefslogtreecommitdiffstats
path: root/sys/dev/ieee488/upd7210.c
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>2010-01-23 21:33:33 +0000
committerjoerg <joerg@FreeBSD.org>2010-01-23 21:33:33 +0000
commit042b9762358313c74efdffea26059301544b6174 (patch)
tree57e3ac26fb977f2b2dcb5e1d162028719f1b9b2d /sys/dev/ieee488/upd7210.c
parentd6d56bade7de371ecbb6e900ae78b63d480d4327 (diff)
downloadFreeBSD-src-042b9762358313c74efdffea26059301544b6174.zip
FreeBSD-src-042b9762358313c74efdffea26059301544b6174.tar.gz
Fix breakage introduced to the tnt4882 driver in r202870. This PCI
frontend uses the same uPD7210 backend as the pcii ISA frontend, so the backend has to cope with both situations. Also, hide the first printf in pcii_probe (address mismatch) behind bootverbose as the ISA bus parent tries to probe all configured ISA devices against each driver, so a the console has been cluttered with this message for a bunch of unrelated driver probes. MFC after: 3 days
Diffstat (limited to 'sys/dev/ieee488/upd7210.c')
-rw-r--r--sys/dev/ieee488/upd7210.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/ieee488/upd7210.c b/sys/dev/ieee488/upd7210.c
index 2c63f2f..b245a65 100644
--- a/sys/dev/ieee488/upd7210.c
+++ b/sys/dev/ieee488/upd7210.c
@@ -72,7 +72,7 @@ upd7210_rd(struct upd7210 *u, enum upd7210_rreg reg)
{
u_int r;
- r = bus_read_1(u->reg_res[reg], 0);
+ r = bus_read_1(u->reg_res[reg], u->reg_offset[reg]);
u->rreg[reg] = r;
return (r);
}
@@ -81,7 +81,7 @@ void
upd7210_wr(struct upd7210 *u, enum upd7210_wreg reg, u_int val)
{
- bus_write_1(u->reg_res[reg], 0, val);
+ bus_write_1(u->reg_res[reg], u->reg_offset[reg], val);
u->wreg[reg] = val;
if (reg == AUXMR)
u->wreg[8 + (val >> 5)] = val & 0x1f;
@@ -125,7 +125,8 @@ upd7210intr(void *arg)
* Some clones apparently don't implement this
* feature, but National Instrument cards do.
*/
- bus_write_1(u->irq_clear_res, 0, 42);
+ if (u->irq_clear_res != NULL)
+ bus_write_1(u->irq_clear_res, 0, 42);
}
mtx_unlock(&u->mutex);
}
OpenPOWER on IntegriCloud