|
@@ -87,7 +87,6 @@ struct bfin_t350mcqbfb_info {
|
|
struct device *dev;
|
|
struct device *dev;
|
|
unsigned char *fb_buffer; /* RGB Buffer */
|
|
unsigned char *fb_buffer; /* RGB Buffer */
|
|
dma_addr_t dma_handle;
|
|
dma_addr_t dma_handle;
|
|
- int lq043_mmap;
|
|
|
|
int lq043_open_cnt;
|
|
int lq043_open_cnt;
|
|
int irq;
|
|
int irq;
|
|
spinlock_t lock; /* lock */
|
|
spinlock_t lock; /* lock */
|
|
@@ -235,7 +234,6 @@ static int bfin_t350mcqb_fb_release(struct fb_info *info, int user)
|
|
spin_lock(&fbi->lock);
|
|
spin_lock(&fbi->lock);
|
|
|
|
|
|
fbi->lq043_open_cnt--;
|
|
fbi->lq043_open_cnt--;
|
|
- fbi->lq043_mmap = 0;
|
|
|
|
|
|
|
|
if (fbi->lq043_open_cnt <= 0) {
|
|
if (fbi->lq043_open_cnt <= 0) {
|
|
bfin_t350mcqb_disable_ppi();
|
|
bfin_t350mcqb_disable_ppi();
|
|
@@ -293,32 +291,6 @@ static int bfin_t350mcqb_fb_check_var(struct fb_var_screeninfo *var,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int bfin_t350mcqb_fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
|
|
|
-{
|
|
|
|
- struct bfin_t350mcqbfb_info *fbi = info->par;
|
|
|
|
-
|
|
|
|
- if (fbi->lq043_mmap)
|
|
|
|
- return -1;
|
|
|
|
-
|
|
|
|
- spin_lock(&fbi->lock);
|
|
|
|
- fbi->lq043_mmap = 1;
|
|
|
|
- spin_unlock(&fbi->lock);
|
|
|
|
-
|
|
|
|
- vma->vm_start = (unsigned long)(fbi->fb_buffer + ACTIVE_VIDEO_MEM_OFFSET);
|
|
|
|
-
|
|
|
|
- vma->vm_end = vma->vm_start + info->fix.smem_len;
|
|
|
|
- /* For those who don't understand how mmap works, go read
|
|
|
|
- * Documentation/nommu-mmap.txt.
|
|
|
|
- * For those that do, you will know that the VM_MAYSHARE flag
|
|
|
|
- * must be set in the vma->vm_flags structure on noMMU
|
|
|
|
- * Other flags can be set, and are documented in
|
|
|
|
- * include/linux/mm.h
|
|
|
|
- */
|
|
|
|
- vma->vm_flags |= VM_MAYSHARE | VM_SHARED;
|
|
|
|
-
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
int bfin_t350mcqb_fb_cursor(struct fb_info *info, struct fb_cursor *cursor)
|
|
int bfin_t350mcqb_fb_cursor(struct fb_info *info, struct fb_cursor *cursor)
|
|
{
|
|
{
|
|
if (nocursor)
|
|
if (nocursor)
|
|
@@ -370,7 +342,6 @@ static struct fb_ops bfin_t350mcqb_fb_ops = {
|
|
.fb_fillrect = cfb_fillrect,
|
|
.fb_fillrect = cfb_fillrect,
|
|
.fb_copyarea = cfb_copyarea,
|
|
.fb_copyarea = cfb_copyarea,
|
|
.fb_imageblit = cfb_imageblit,
|
|
.fb_imageblit = cfb_imageblit,
|
|
- .fb_mmap = bfin_t350mcqb_fb_mmap,
|
|
|
|
.fb_cursor = bfin_t350mcqb_fb_cursor,
|
|
.fb_cursor = bfin_t350mcqb_fb_cursor,
|
|
.fb_setcolreg = bfin_t350mcqb_fb_setcolreg,
|
|
.fb_setcolreg = bfin_t350mcqb_fb_setcolreg,
|
|
};
|
|
};
|