* Aaro Koskinen <aaro.koskinen@xxxxxx> [140509 15:47]: > Commit 1e434f9318efc3dddc0c0b8d2071712668154c2b (OMAPFB: remove early mem > alloc from old omapfb) deleted the support for early fbmem allocation > from the platform code, but some code still remains in the driver side. > Delete this code now, as it repotedly causes build issues on !MMU. > > The patch was tested on Amstrad E3 and Nokia 770 and framebuffer > functionality is not affected. > > Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > drivers/video/fbdev/omap/lcdc.c | 67 ++--------------------------------------- > 1 file changed, 2 insertions(+), 65 deletions(-) > > diff --git a/drivers/video/fbdev/omap/lcdc.c b/drivers/video/fbdev/omap/lcdc.c > index b52f625..6efa259 100644 > --- a/drivers/video/fbdev/omap/lcdc.c > +++ b/drivers/video/fbdev/omap/lcdc.c > @@ -74,7 +74,6 @@ static struct omap_lcd_controller { > void (*dma_callback)(void *data); > void *dma_callback_data; > > - int fbmem_allocated; > dma_addr_t vram_phys; > void *vram_virt; > unsigned long vram_size; > @@ -611,42 +610,6 @@ static void lcdc_dma_handler(u16 status, void *data) > lcdc.dma_callback(lcdc.dma_callback_data); > } > > -static int mmap_kern(void) > -{ > - struct vm_struct *kvma; > - struct vm_area_struct vma; > - pgprot_t pgprot; > - unsigned long vaddr; > - > - kvma = get_vm_area(lcdc.vram_size, VM_IOREMAP); > - if (kvma == NULL) { > - dev_err(lcdc.fbdev->dev, "can't get kernel vm area\n"); > - return -ENOMEM; > - } > - vma.vm_mm = &init_mm; > - > - vaddr = (unsigned long)kvma->addr; > - vma.vm_start = vaddr; > - vma.vm_end = vaddr + lcdc.vram_size; > - > - pgprot = pgprot_writecombine(pgprot_kernel); > - if (io_remap_pfn_range(&vma, vaddr, > - lcdc.vram_phys >> PAGE_SHIFT, > - lcdc.vram_size, pgprot) < 0) { > - dev_err(lcdc.fbdev->dev, "kernel mmap for FB memory failed\n"); > - return -EAGAIN; > - } > - > - lcdc.vram_virt = (void *)vaddr; > - > - return 0; > -} > - > -static void unmap_kern(void) > -{ > - vunmap(lcdc.vram_virt); > -} > - > static int alloc_palette_ram(void) > { > lcdc.palette_virt = dma_alloc_writecombine(lcdc.fbdev->dev, > @@ -703,8 +666,6 @@ static void free_fbmem(void) > > static int setup_fbmem(struct omapfb_mem_desc *req_md) > { > - int r; > - > if (!req_md->region_cnt) { > dev_err(lcdc.fbdev->dev, "no memory regions defined\n"); > return -EINVAL; > @@ -715,31 +676,7 @@ static int setup_fbmem(struct omapfb_mem_desc *req_md) > req_md->region_cnt = 1; > } > > - if (req_md->region[0].paddr == 0) { > - lcdc.fbmem_allocated = 1; > - if ((r = alloc_fbmem(&req_md->region[0])) < 0) > - return r; > - return 0; > - } > - > - lcdc.vram_phys = req_md->region[0].paddr; > - lcdc.vram_size = req_md->region[0].size; > - > - if ((r = mmap_kern()) < 0) > - return r; > - > - dev_dbg(lcdc.fbdev->dev, "vram at %08x size %08lx mapped to 0x%p\n", > - lcdc.vram_phys, lcdc.vram_size, lcdc.vram_virt); > - > - return 0; > -} > - > -static void cleanup_fbmem(void) > -{ > - if (lcdc.fbmem_allocated) > - free_fbmem(); > - else > - unmap_kern(); > + return alloc_fbmem(&req_md->region[0]); > } > > static int omap_lcdc_init(struct omapfb_device *fbdev, int ext_mode, > @@ -833,7 +770,7 @@ static void omap_lcdc_cleanup(void) > { > if (!lcdc.ext_mode) > free_palette_ram(); > - cleanup_fbmem(); > + free_fbmem(); > omap_free_lcd_dma(); > free_irq(OMAP_LCDC_IRQ, lcdc.fbdev); > clk_disable(lcdc.lcd_ck); > -- > 1.9.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html