DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08lx ", 
DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08x ", 
static int drm__vm_info(char *buf, char **start, off_t offset, int request,			 int *eof, void *data){	drm_device_t *dev = (drm_device_t *)data;	int          len  = 0;	drm_map_t    *map;	drm_map_list_t *r_list;	struct list_head *list;				/* Hardcoded from _DRM_FRAME_BUFFER,                                   _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and                                   _DRM_SCATTER_GATHER and _DRM_CONSISTENT */	const char   *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };	const char   *type;	int	     i;	if (offset > DRM_PROC_LIMIT) {		*eof = 1;		return 0;	}	*start = &buf[offset];	*eof   = 0;	DRM_PROC_PRINT("slot	 offset	      size type flags	 "		       "address mtrr\n\n");	i = 0;	if (dev->maplist != NULL) list_for_each(list, &dev->maplist->head) {		r_list = list_entry(list, drm_map_list_t, head);		map = r_list->map;		if(!map)			continue;		if (map->type < 0 || map->type > 5)			type = "??";		else				type = types[map->type];		DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08lx ",			       i,			       map->offset,			       map->size,			       type,			       map->flags,			       (unsigned long)map->handle);		if (map->mtrr < 0) {			DRM_PROC_PRINT("none\n");		} else {			DRM_PROC_PRINT("%4d\n", map->mtrr);		}		i++;	}	if (len > request + offset) return request;	*eof = 1;	return len - offset;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d1f2b55ad2c11f46e30547a9f7754e99b478348e/drm_proc.c/buggy/drivers/char/drm/drm_proc.c