summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp/agp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/agp/agp.c')
-rw-r--r--sys/dev/agp/agp.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c
index e8e8af0..ec0807a 100644
--- a/sys/dev/agp/agp.c
+++ b/sys/dev/agp/agp.c
@@ -261,16 +261,31 @@ agp_generic_attach(device_t dev)
return 0;
}
-int
-agp_generic_detach(device_t dev)
+void
+agp_free_cdev(device_t dev)
{
struct agp_softc *sc = device_get_softc(dev);
destroy_dev(sc->as_devnode);
+}
+
+void
+agp_free_res(device_t dev)
+{
+ struct agp_softc *sc = device_get_softc(dev);
+
bus_release_resource(dev, SYS_RES_MEMORY, sc->as_aperture_rid,
sc->as_aperture);
mtx_destroy(&sc->as_lock);
agp_flush_cache();
+}
+
+int
+agp_generic_detach(device_t dev)
+{
+
+ agp_free_cdev(dev);
+ agp_free_res(dev);
return 0;
}
OpenPOWER on IntegriCloud