OX_OBJS += r128_drv.o
O_OBJS += r128_context.o r128_bufs.o r128_dma.o
else
- ifeq ($(CONFIG_DRM_I810),m)
+ ifeq ($(CONFIG_DRM_R128),m)
MIX_OBJS += r128_drv.o
MI_OBJS += r128_context.o r128_bufs.o r128_dma.o
M_OBJS += r128.o
$(LD) $(LD_RFLAG) -r -o $@ i810_drv.o i810_bufs.o i810_dma.o \
i810_context.o $(L_OBJS)
-r128.o: r128_drv.o r128_context.o r128_bufs.o $(L_OBJS)
+r128.o: r128_drv.o r128_context.o r128_bufs.o r128_dma.o $(L_OBJS)
$(LD) $(LD_RFLAG) -r -o $@ r128_drv.o r128_bufs.o r128_dma.o \
r128_context.o $(L_OBJS)
#ifdef DRM_AGP
/* AGP/GART support (agpsupport.c) */
extern drm_agp_head_t *drm_agp_init(void);
+extern void drm_agp_uninit(void);
extern int drm_agp_acquire(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
extern int drm_agp_release(struct inode *inode, struct file *filp,
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "i810_drv.h"
drm_ctxbitmap_cleanup(dev);
i810_takedown(dev);
if (dev->agp) {
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "mga_drv.h"
EXPORT_SYMBOL(mga_init);
mga_takedown(dev);
if (dev->agp) {
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "r128_drv.h"
EXPORT_SYMBOL(r128_init);
r128_takedown(dev);
#ifdef DRM_AGP
if (dev->agp) {
- /* FIXME -- free other information, too */
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "tdfx_drv.h"
EXPORT_SYMBOL(tdfx_init);
drm_free(temp, sizeof(*temp), DRM_MEM_AGPLISTS);
temp = temp_next;
}
- if(dev->agp->acquired) (*drm_agp.release)();
- drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
- dev->agp = NULL;
+ if (dev->agp->acquired) (*drm_agp.release)();
}
#endif
/* Clear vma list (only built for debugging) */
}
drm_ctxbitmap_cleanup(dev);
tdfx_takedown(dev);
+#ifdef DRM_AGP
+ if (dev->agp) {
+ drm_agp_uninit();
+ drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
+ dev->agp = NULL;
+ }
+#endif
}
int tdfx_version(struct inode *inode, struct file *filp, unsigned int cmd,
OX_OBJS += r128_drv.o
O_OBJS += r128_context.o r128_bufs.o r128_dma.o
else
- ifeq ($(CONFIG_DRM_I810),m)
+ ifeq ($(CONFIG_DRM_R128),m)
MIX_OBJS += r128_drv.o
MI_OBJS += r128_context.o r128_bufs.o r128_dma.o
M_OBJS += r128.o
$(LD) $(LD_RFLAG) -r -o $@ i810_drv.o i810_bufs.o i810_dma.o \
i810_context.o $(L_OBJS)
-r128.o: r128_drv.o r128_context.o r128_bufs.o $(L_OBJS)
+r128.o: r128_drv.o r128_context.o r128_bufs.o r128_dma.o $(L_OBJS)
$(LD) $(LD_RFLAG) -r -o $@ r128_drv.o r128_bufs.o r128_dma.o \
r128_context.o $(L_OBJS)
}
return head;
}
+
+void drm_agp_uninit(void)
+{
+ drm_agp_fill_t *fill;
+
+ for (fill = &drm_agp_fill[0]; fill->name; fill++) {
+#if LINUX_VERSION_CODE >= 0x020400
+ if ((*fill->f).address) put_module_symbol((*fill->f).address);
+#endif
+ (*fill->f).address = 0;
+ }
+}
#ifdef DRM_AGP
/* AGP/GART support (agpsupport.c) */
extern drm_agp_head_t *drm_agp_init(void);
+extern void drm_agp_uninit(void);
extern int drm_agp_acquire(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
extern int drm_agp_release(struct inode *inode, struct file *filp,
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "gamma_drv.h"
#include <linux/pci.h>
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "i810_drv.h"
drm_ctxbitmap_cleanup(dev);
i810_takedown(dev);
if (dev->agp) {
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "mga_drv.h"
EXPORT_SYMBOL(mga_init);
mga_takedown(dev);
if (dev->agp) {
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "r128_drv.h"
EXPORT_SYMBOL(r128_init);
r128_takedown(dev);
#ifdef DRM_AGP
if (dev->agp) {
- /* FIXME -- free other information, too */
+ drm_agp_uninit();
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
dev->agp = NULL;
}
*/
#include <linux/config.h>
+#ifndef EXPORT_SYMTAB
#define EXPORT_SYMTAB
+#endif
#include "drmP.h"
#include "tdfx_drv.h"
EXPORT_SYMBOL(tdfx_init);
drm_free(temp, sizeof(*temp), DRM_MEM_AGPLISTS);
temp = temp_next;
}
- if(dev->agp->acquired) (*drm_agp.release)();
- drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
- dev->agp = NULL;
+ if (dev->agp->acquired) (*drm_agp.release)();
}
#endif
/* Clear vma list (only built for debugging) */
}
drm_ctxbitmap_cleanup(dev);
tdfx_takedown(dev);
+#ifdef DRM_AGP
+ if (dev->agp) {
+ drm_agp_uninit();
+ drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
+ dev->agp = NULL;
+ }
+#endif
}
int tdfx_version(struct inode *inode, struct file *filp, unsigned int cmd,