From be4db476a6c3853e81c68a15b540879350b350ac Mon Sep 17 00:00:00 2001 From: John-Mark Gurney Date: Thu, 20 Apr 2006 01:44:16 +0000 Subject: [PATCH] const'ify resource_spec to note that we won't be changing anything while releasing resources... also, NULL out the resources as we free them... --- sys/kern/subr_bus.c | 6 ++++-- sys/sys/bus.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 5610f3811e53..44dcd47d2eeb 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -3355,15 +3355,17 @@ bus_alloc_resources(device_t dev, struct resource_spec *rs, } void -bus_release_resources(device_t dev, struct resource_spec *rs, +bus_release_resources(device_t dev, const struct resource_spec *rs, struct resource **res) { int i; for (i = 0; rs[i].type != -1; i++) - if (res[i] != NULL) + if (res[i] != NULL) { bus_release_resource( dev, rs[i].type, rs[i].rid, res[i]); + res[i] = NULL; + } } /** diff --git a/sys/sys/bus.h b/sys/sys/bus.h index fd965717eefe..b97a8d89d1f0 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -297,7 +297,7 @@ struct resource_spec { }; int bus_alloc_resources(device_t dev, struct resource_spec *rs, struct resource **res); -void bus_release_resources(device_t dev, struct resource_spec *rs, struct resource **res); +void bus_release_resources(device_t dev, const struct resource_spec *rs, struct resource **res); struct resource *bus_alloc_resource(device_t dev, int type, int *rid, u_long start, u_long end, u_long count,