Fix resource check while autodetection.
This commit is contained in:
parent
f14ab395f4
commit
47a1257e20
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=133647
@ -340,7 +340,7 @@ static void ct_identify (driver_t *driver, device_t dev)
|
||||
* devices, but we don't have a choise
|
||||
*/
|
||||
for (i = 0; (iobase = porttab [i]) != 0; i++) {
|
||||
if (!ct_is_free_res (dev, 1, SYS_RES_IOPORT,
|
||||
if (!ct_is_free_res (dev, 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
if (ct_probe_board (iobase, -1, -1) == 0)
|
||||
@ -377,7 +377,7 @@ static void ct_identify (driver_t *driver, device_t dev)
|
||||
if (porttab [i] != iobase)
|
||||
continue;
|
||||
|
||||
if (!ct_is_free_res (devices[k], 1, SYS_RES_IOPORT,
|
||||
if (!ct_is_free_res (devices[k], 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
|
||||
@ -404,7 +404,7 @@ static void ct_identify (driver_t *driver, device_t dev)
|
||||
for (i = 0; (iobase = porttab [i]) != 0; i++) {
|
||||
if (porttab [i] == -1)
|
||||
continue;
|
||||
if (!ct_is_free_res (devices[k], 1, SYS_RES_IOPORT,
|
||||
if (!ct_is_free_res (devices[k], 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
if (ct_probe_board (iobase, -1, -1) == 0)
|
||||
@ -443,7 +443,7 @@ static int ct_probe (device_t dev)
|
||||
return ENXIO;
|
||||
}
|
||||
|
||||
if (!ct_is_free_res (dev, 1, SYS_RES_IOPORT,
|
||||
if (!ct_is_free_res (dev, 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT)) {
|
||||
printf ("ct%d: Resource IOPORT isn't free\n", unit);
|
||||
return ENXIO;
|
||||
@ -566,7 +566,7 @@ static int ct_attach (device_t dev)
|
||||
|
||||
if (bus_get_resource (dev, SYS_RES_DRQ, 0, &drq, &rescount) != 0) {
|
||||
for (i = 0; (drq = dmatab [i]) != 0; i++) {
|
||||
if (!ct_is_free_res (dev, 1, SYS_RES_DRQ,
|
||||
if (!ct_is_free_res (dev, 0, SYS_RES_DRQ,
|
||||
drq, drq + 1, 1))
|
||||
continue;
|
||||
bus_set_resource (dev, SYS_RES_DRQ, 0, drq, 1);
|
||||
@ -593,7 +593,7 @@ static int ct_attach (device_t dev)
|
||||
|
||||
if (bus_get_resource (dev, SYS_RES_IRQ, 0, &irq, &rescount) != 0) {
|
||||
for (i = 0; (irq = irqtab [i]) != 0; i++) {
|
||||
if (!ct_is_free_res (dev, 1, SYS_RES_IRQ,
|
||||
if (!ct_is_free_res (dev, 0, SYS_RES_IRQ,
|
||||
irq, irq + 1, 1))
|
||||
continue;
|
||||
bus_set_resource (dev, SYS_RES_IRQ, 0, irq, 1);
|
||||
|
@ -450,7 +450,7 @@ static void cx_identify (driver_t *driver, device_t dev)
|
||||
* devices, but we don't have a choise
|
||||
*/
|
||||
for (i = 0; (iobase = porttab [i]) != 0; i++) {
|
||||
if (!cx_is_free_res (dev, 1, SYS_RES_IOPORT,
|
||||
if (!cx_is_free_res (dev, 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
if (cx_probe_board (iobase, -1, -1) == 0)
|
||||
@ -487,7 +487,7 @@ static void cx_identify (driver_t *driver, device_t dev)
|
||||
for (i = 0; porttab [i] != 0; i++) {
|
||||
if (porttab [i] != iobase)
|
||||
continue;
|
||||
if (!cx_is_free_res (devices[k], 1, SYS_RES_IOPORT,
|
||||
if (!cx_is_free_res (devices[k], 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
if (cx_probe_board (iobase, -1, -1) == 0)
|
||||
@ -515,7 +515,7 @@ static void cx_identify (driver_t *driver, device_t dev)
|
||||
if (porttab [i] == -1) {
|
||||
continue;
|
||||
}
|
||||
if (!cx_is_free_res (devices[k], 1, SYS_RES_IOPORT,
|
||||
if (!cx_is_free_res (devices[k], 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT))
|
||||
continue;
|
||||
if (cx_probe_board (iobase, -1, -1) == 0)
|
||||
@ -554,7 +554,7 @@ static int cx_probe (device_t dev)
|
||||
return ENXIO;
|
||||
}
|
||||
|
||||
if (!cx_is_free_res (dev, 1, SYS_RES_IOPORT,
|
||||
if (!cx_is_free_res (dev, 0, SYS_RES_IOPORT,
|
||||
iobase, iobase + NPORT, NPORT)) {
|
||||
printf ("cx%d: Resource IOPORT isn't free %lx\n", unit, iobase);
|
||||
return ENXIO;
|
||||
@ -686,7 +686,7 @@ static int cx_attach (device_t dev)
|
||||
|
||||
if (bus_get_resource (dev, SYS_RES_DRQ, 0, &drq, &rescount) != 0) {
|
||||
for (i = 0; (drq = dmatab [i]) != 0; i++) {
|
||||
if (!cx_is_free_res (dev, 1, SYS_RES_DRQ,
|
||||
if (!cx_is_free_res (dev, 0, SYS_RES_DRQ,
|
||||
drq, drq + 1, 1))
|
||||
continue;
|
||||
bus_set_resource (dev, SYS_RES_DRQ, 0, drq, 1);
|
||||
@ -713,7 +713,7 @@ static int cx_attach (device_t dev)
|
||||
|
||||
if (bus_get_resource (dev, SYS_RES_IRQ, 0, &irq, &rescount) != 0) {
|
||||
for (i = 0; (irq = irqtab [i]) != 0; i++) {
|
||||
if (!cx_is_free_res (dev, 1, SYS_RES_IRQ,
|
||||
if (!cx_is_free_res (dev, 0, SYS_RES_IRQ,
|
||||
irq, irq + 1, 1))
|
||||
continue;
|
||||
bus_set_resource (dev, SYS_RES_IRQ, 0, irq, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user