diff options
-rw-r--r-- | sys/pc98/cbus/sio.c | 9 | ||||
-rw-r--r-- | sys/pc98/pc98/sio.c | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c index 03f5041..c1cecb4 100644 --- a/sys/pc98/cbus/sio.c +++ b/sys/pc98/cbus/sio.c @@ -353,8 +353,9 @@ struct com_s { struct resource *irqres; struct resource *ioportres; - void *cookie; - dev_t devs[6]; + int ioportrid; + void *cookie; + dev_t devs[6]; /* * Data area for output buffers. Someday we should build the output @@ -784,7 +785,8 @@ siodetach(dev) bus_release_resource(dev, SYS_RES_IRQ, 0, com->irqres); } if (com->ioportres) - bus_release_resource(dev, SYS_RES_IOPORT, 0, com->ioportres); + bus_release_resource(dev, SYS_RES_IOPORT, com->ioportrid, + com->ioportres); if (com->tp && (com->tp->t_state & TS_ISOPEN)) { device_printf(dev, "still open, forcing close\n"); (*linesw[com->tp->t_line].l_close)(com->tp, 0); @@ -1487,6 +1489,7 @@ sioattach(dev, xrid, rclk) bzero(com, sizeof *com); com->unit = unit; com->ioportres = port; + com->ioportrid = rid; com->bst = rman_get_bustag(port); com->bsh = rman_get_bushandle(port); com->cfcr_image = CFCR_8BITS; diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c index 03f5041..c1cecb4 100644 --- a/sys/pc98/pc98/sio.c +++ b/sys/pc98/pc98/sio.c @@ -353,8 +353,9 @@ struct com_s { struct resource *irqres; struct resource *ioportres; - void *cookie; - dev_t devs[6]; + int ioportrid; + void *cookie; + dev_t devs[6]; /* * Data area for output buffers. Someday we should build the output @@ -784,7 +785,8 @@ siodetach(dev) bus_release_resource(dev, SYS_RES_IRQ, 0, com->irqres); } if (com->ioportres) - bus_release_resource(dev, SYS_RES_IOPORT, 0, com->ioportres); + bus_release_resource(dev, SYS_RES_IOPORT, com->ioportrid, + com->ioportres); if (com->tp && (com->tp->t_state & TS_ISOPEN)) { device_printf(dev, "still open, forcing close\n"); (*linesw[com->tp->t_line].l_close)(com->tp, 0); @@ -1487,6 +1489,7 @@ sioattach(dev, xrid, rclk) bzero(com, sizeof *com); com->unit = unit; com->ioportres = port; + com->ioportrid = rid; com->bst = rman_get_bustag(port); com->bsh = rman_get_bushandle(port); com->cfcr_image = CFCR_8BITS; |