On Wed, 2003-11-05 at 23:44, Michel DÃnzer wrote: > > > > There's a patch in -mm2 that does something with drm/agp (haven't looked > > > > at it yet): > > > > > > > > +drm-agp-module-dependency-fix.patch > > > > > > > > Maybe fix DRM<->AGP module dependencies so things autoload nicely. > > BTW, I believe this is Andrew's description of what the patch is > supposed to do, not a suggestion of Ronny's. > > -#define DRM_AGP_GET (drm_agp_t *)inter_module_get("drm_agp") > -#define DRM_AGP_PUT inter_module_put("drm_agp") > +#define DRM_AGP_GET symbol_get(agp_drm) > +#define DRM_AGP_PUT symbol_put(agp_drm) > > I wonder if 'drm_agp' was intentionally changed to 'agp_drm'... is there > an accompanying agpgart patch? If not, can you try with > symbol_{get,put}(drm_agp) ?
you can see the full patch at ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test9/2.6.0-test9-mm2/broken-out/drm-agp-module-dependency-fix.patch and it does appear to be a typo/misc silliness. Here's a patch against -mm2 that makes dri work again. http://www.lstud.ii.uib.no/~s864/kernel/drm-agp-module-dependency-fix2.patch -- Ronny V. Vindenes <[EMAIL PROTECTED]>
diff -bBpur fix/drivers/char/drm/drm_agpsupport.h linux-2.6.0-test9-mm2/drivers/char/drm/drm_agpsupport.h --- fix/drivers/char/drm/drm_agpsupport.h 2003-11-06 00:49:53.299160210 +0100 +++ linux-2.6.0-test9-mm2/drivers/char/drm/drm_agpsupport.h 2003-11-06 00:27:43.000000000 +0100 @@ -37,8 +37,8 @@ #if __REALLY_HAVE_AGP -#define DRM_AGP_GET symbol_get(agp_drm) -#define DRM_AGP_PUT symbol_put(agp_drm) +#define DRM_AGP_GET symbol_get(drm_agp) +#define DRM_AGP_PUT symbol_put(drm_agp) /** * Pointer to the drm_agp_t structure made available by the agpgart module. diff -bBpur fix/include/linux/agp_backend.h linux-2.6.0-test9-mm2/include/linux/agp_backend.h --- fix/include/linux/agp_backend.h 2003-11-06 00:50:03.247046605 +0100 +++ linux-2.6.0-test9-mm2/include/linux/agp_backend.h 2003-11-06 00:42:38.936727765 +0100 @@ -108,8 +108,7 @@ typedef struct { int (*copy_info)(struct agp_kern_info *); } drm_agp_t; -/* Used by drm. */ -extern const drm_agp_t agp_drm; +extern const drm_agp_t *drm_agp_p; #endif /* __KERNEL__ */ #endif /* _AGP_BACKEND_H */