Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/bhnd/bhnd_subr.c
| Show First 20 Lines • Show All 2,235 Lines • ▼ Show 20 Lines | if (flags & RF_ACTIVE) { | ||||
| if (error) | if (error) | ||||
| goto failed; | goto failed; | ||||
| } | } | ||||
| return (br); | return (br); | ||||
| failed: | failed: | ||||
| if (res != NULL) | if (res != NULL) | ||||
| BUS_RELEASE_RESOURCE(dev, child, type, *rid, res); | BUS_RELEASE_RESOURCE(dev, child, res); | ||||
| free(br, M_BHND); | free(br, M_BHND); | ||||
| return (NULL); | return (NULL); | ||||
| } | } | ||||
| /** | /** | ||||
| * Helper function for implementing BHND_BUS_RELEASE_RESOURCE(). | * Helper function for implementing BHND_BUS_RELEASE_RESOURCE(). | ||||
| * | * | ||||
| * This implementation of BHND_BUS_RELEASE_RESOURCE() delegates release of | * This implementation of BHND_BUS_RELEASE_RESOURCE() delegates release of | ||||
| * the backing resource to BUS_RELEASE_RESOURCE(). | * the backing resource to BUS_RELEASE_RESOURCE(). | ||||
| */ | */ | ||||
| int | int | ||||
| bhnd_bus_generic_release_resource(device_t dev, device_t child, int type, | bhnd_bus_generic_release_resource(device_t dev, device_t child, int type, | ||||
| int rid, struct bhnd_resource *r) | int rid, struct bhnd_resource *r) | ||||
| { | { | ||||
| int error; | int error; | ||||
| if ((error = BUS_RELEASE_RESOURCE(dev, child, type, rid, r->res))) | if ((error = BUS_RELEASE_RESOURCE(dev, child, r->res))) | ||||
| return (error); | return (error); | ||||
| free(r, M_BHND); | free(r, M_BHND); | ||||
| return (0); | return (0); | ||||
| } | } | ||||
| /** | /** | ||||
| * Helper function for implementing BHND_BUS_ACTIVATE_RESOURCE(). | * Helper function for implementing BHND_BUS_ACTIVATE_RESOURCE(). | ||||
| ▲ Show 20 Lines • Show All 66 Lines • Show Last 20 Lines | |||||