diff options
author | jhb <jhb@FreeBSD.org> | 2007-10-30 22:09:16 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2007-10-30 22:09:16 +0000 |
commit | fb7d38331162808946b7a5b8403973e269dec20d (patch) | |
tree | 4bbfaaad51fa35b2a857b9a295ba0233f3be30ff /sys/dev/agp/agp_intel.c | |
parent | 21b82a0c2984db5116c4ae71807cffe53301e89e (diff) | |
download | FreeBSD-src-fb7d38331162808946b7a5b8403973e269dec20d.zip FreeBSD-src-fb7d38331162808946b7a5b8403973e269dec20d.tar.gz |
Split agp_generic_detach() up into two routines: agp_free_cdev() destroys
/dev/agpgart and agp_free_res() frees resources like the BAR for the
aperture. Splitting this up lets chipset-specific detach routines
manipulate the aperture during their detach routines without panicing.
MFC after: 1 week
Reviewed by: anholt
Diffstat (limited to 'sys/dev/agp/agp_intel.c')
-rw-r--r-- | sys/dev/agp/agp_intel.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/agp/agp_intel.c b/sys/dev/agp/agp_intel.c index d30f0d4..60e0e6f 100644 --- a/sys/dev/agp/agp_intel.c +++ b/sys/dev/agp/agp_intel.c @@ -262,13 +262,10 @@ agp_intel_detach(device_t dev) { struct agp_intel_softc *sc; u_int32_t reg; - int error; sc = device_get_softc(dev); - error = agp_generic_detach(dev); - if (error) - return (error); + agp_free_cdev(dev); /* Disable aperture accesses. */ switch (pci_get_devid(dev)) { @@ -305,6 +302,7 @@ agp_intel_detach(device_t dev) pci_write_config(dev, AGP_INTEL_ATTBASE, 0, 4); AGP_SET_APERTURE(dev, sc->initial_aperture); agp_free_gatt(sc->gatt); + agp_free_res(dev); return (0); } |