video: update the Freescale DIU driver to use linux/fb.h
PATCH 1/1 video: update the Freescale DIU driver to use linux/fb.h
Update the Freescale DIU video driver (fsl_diu_fb.c) to use linux/fb.h. Some data structures from this header file were just copied into fsl_diu_fb.c.
Signed-off-by Timur Tabi <[email protected]>
--- drivers/video/fsl_diu_fb.c | 54 ++++--------------------------------------- 1 files changed, 5 insertions(+), 49 deletions(-)
drivers/video/fsl_diu_fb.c +5 -49
@@ -31,52 +31,8 @@#include "videomodes.h" #include <video_fb.h> #include <fsl_diu_fb.h> - -struct fb_var_screeninfo { -unsigned int xres;/* visible resolution */ -unsigned int yres; - -unsigned int bits_per_pixel;/* guess what */ - -/* Timing: All values in pixclocks, except pixclock (of course) */ -unsigned int pixclock;/* pixel clock in ps (pico seconds) */ -unsigned int left_margin;/* time from sync to picture */ -unsigned int right_margin;/* time from picture to sync */ -unsigned int upper_margin;/* time from sync to picture */ -unsigned int lower_margin; -unsigned int hsync_len;/* length of horizontal sync */ -unsigned int vsync_len;/* length of vertical sync */ -unsigned int sync;/* see FB_SYNC_* */ -unsigned int vmode;/* see FB_VMODE_* */ -unsigned int rotate;/* angle we rotate counter clockwise */ -}; - -struct fb_info { -struct fb_var_screeninfo var;/* Current var */ -unsigned int smem_len;/* Length of frame buffer mem */ -unsigned int type;/* see FB_TYPE_* */ -unsigned int line_length;/* length of a line in bytes */ - -void *screen_base; -unsigned long screen_size; -}; - -struct fb_videomode { -const char *name;/* optional */ -unsigned int refresh;/* optional */ -unsigned int xres; -unsigned int yres; -unsigned int pixclock; -unsigned int left_margin; -unsigned int right_margin; -unsigned int upper_margin; -unsigned int lower_margin; -unsigned int hsync_len; -unsigned int vsync_len; -unsigned int sync; -unsigned int vmode; -unsigned int flag; -}; +#include <linux/list.h> +#include <linux/fb.h> /* This setting is used for the ifm pdm360ng with PRIMEVIEW PM070WL3 */ static struct fb_videomode fsl_diu_mode_800_480 = {
@@ -248,7 +204,7 @@ static int allocate_buf(struct diu_addr *buf, u32 size, u32 bytes_align)* point to the framebuffer memory. Memory is aligned as needed. */ static struct diu_ad *allocate_fb (unsigned int xres,unsigned int yres, -unsigned int depth,void **fb) +unsigned int depth,char **fb) {unsigned long size = xres * yres * depth;struct diu_addr addr;
@@ -327,10 +283,10 @@ int fsl_diu_init(u16 xres, u16 yres, u32 pixel_format, int gamma_fix) info.var.vsync_len = fsl_diu_mode_db->vsync_len; info.var.sync = fsl_diu_mode_db->sync; info.var.vmode = fsl_diu_mode_db->vmode; - info.line_length = info.var.xres * info.var.bits_per_pixel /8 ; + info.fix.line_length = info.var.xres * info.var.bits_per_pixel /8 ;/* Memory allocation for framebuffer */ - info.smem_len = + info.screen_size = info.var.xres * info.var.yres * (info.var.bits_per_pixel /8 ); ad =allocate_fb (info.var.xres, info.var.yres, info.var.bits_per_pixel /8 , &info.screen_base);
Signature · 1 line
1.7.3.4
Anatolij Gustschin
AppliedPATCH 1/1 video: update the Freescale DIU driver to use linux/fb.h
Quoted 8 lines · On Mon, 22 Aug 2011 10:54:02 -0500 Timur Tabi <[email protected]> wrote:
Update the Freescale DIU video driver (
fsl_diu_fb.c) to uselinux/fb.h. Some data structures from this header file were just copied intofsl_diu_fb.c.Signed-off-by Timur Tabi <[email protected]>--- drivers/video/fsl_diu_fb.c | 54 ++++--------------------------------------- 1 files changed, 5 insertions(+), 49 deletions(-)
Applied, thanks.
Anatolij