X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Figafb.c;h=2da19ea040d0f42d2fd60d5f0c9746763d7dae72;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=7e0353afb5c68ab669e07e54033d19b8f28a8adf;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/video/igafb.c b/drivers/video/igafb.c index 7e0353afb..2da19ea04 100644 --- a/drivers/video/igafb.c +++ b/drivers/video/igafb.c @@ -262,8 +262,8 @@ static int igafb_mmap(struct fb_info *info, struct file *file, pgprot_val(vma->vm_page_prot) &= ~(par->mmap_map[i].prot_mask); pgprot_val(vma->vm_page_prot) |= par->mmap_map[i].prot_flag; - if (remap_page_range(vma, vma->vm_start + page, map_offset, - map_size, vma->vm_page_prot)) + if (remap_pfn_range(vma, vma->vm_start + page, + map_offset >> PAGE_SHIFT, map_size, vma->vm_page_prot)) return -EAGAIN; page += map_size; @@ -357,7 +357,7 @@ static int __init iga_init(struct fb_info *info, struct iga_par *par) video_cmap_len = 256; info->fbops = &igafb_ops; - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT; fb_alloc_cmap(&info->cmap, video_cmap_len, 0); @@ -381,6 +381,9 @@ int __init igafb_init(void) unsigned long addr; int size, iga2000 = 0; + if (fb_get_options("igafb", NULL)) + return -ENODEV; + /* Do not attach when we have a serial console. */ if (!con_is_present()) return -ENXIO; @@ -528,6 +531,7 @@ int __init igafb_init(void) info->var = default_var; info->fix = igafb_fix; info->pseudo_palette = (void *)(par + 1); + info->device = &pdev->dev; if (!iga_init(info, par)) { iounmap((void *)par->io_base); @@ -572,4 +576,5 @@ int __init igafb_setup(char *options) return 0; } +module_init(igafb_init); MODULE_LICENSE("GPL");