diff options
| -rw-r--r-- | drivers/video/fsl_diu_fb.c | 54 | 
1 files changed, 5 insertions, 49 deletions
| diff --git a/drivers/video/fsl_diu_fb.c b/drivers/video/fsl_diu_fb.c index e1d6c2614..cb439044f 100644 --- a/drivers/video/fsl_diu_fb.c +++ b/drivers/video/fsl_diu_fb.c @@ -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); |