video/s3c: move platform_data out of arch/arm
The s3c-fb driver requires header files from the samsung platforms to find its platform_data definition, but this no longer works on multiplatform kernels, so let's move the data into a new header file under include/linux/platform_data. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: linux-fbdev@vger.kernel.org Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
015623819b
commit
bbfce37b3e
3 changed files with 56 additions and 51 deletions
|
@ -15,55 +15,7 @@
|
||||||
#ifndef __PLAT_S3C_FB_H
|
#ifndef __PLAT_S3C_FB_H
|
||||||
#define __PLAT_S3C_FB_H __FILE__
|
#define __PLAT_S3C_FB_H __FILE__
|
||||||
|
|
||||||
/* S3C_FB_MAX_WIN
|
#include <linux/platform_data/video_s3c.h>
|
||||||
* Set to the maximum number of windows that any of the supported hardware
|
|
||||||
* can use. Since the platform data uses this for an array size, having it
|
|
||||||
* set to the maximum of any version of the hardware can do is safe.
|
|
||||||
*/
|
|
||||||
#define S3C_FB_MAX_WIN (5)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct s3c_fb_pd_win - per window setup data
|
|
||||||
* @xres : The window X size.
|
|
||||||
* @yres : The window Y size.
|
|
||||||
* @virtual_x: The virtual X size.
|
|
||||||
* @virtual_y: The virtual Y size.
|
|
||||||
*/
|
|
||||||
struct s3c_fb_pd_win {
|
|
||||||
unsigned short default_bpp;
|
|
||||||
unsigned short max_bpp;
|
|
||||||
unsigned short xres;
|
|
||||||
unsigned short yres;
|
|
||||||
unsigned short virtual_x;
|
|
||||||
unsigned short virtual_y;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct s3c_fb_platdata - S3C driver platform specific information
|
|
||||||
* @setup_gpio: Setup the external GPIO pins to the right state to transfer
|
|
||||||
* the data from the display system to the connected display
|
|
||||||
* device.
|
|
||||||
* @vidcon0: The base vidcon0 values to control the panel data format.
|
|
||||||
* @vidcon1: The base vidcon1 values to control the panel data output.
|
|
||||||
* @vtiming: Video timing when connected to a RGB type panel.
|
|
||||||
* @win: The setup data for each hardware window, or NULL for unused.
|
|
||||||
* @display_mode: The LCD output display mode.
|
|
||||||
*
|
|
||||||
* The platform data supplies the video driver with all the information
|
|
||||||
* it requires to work with the display(s) attached to the machine. It
|
|
||||||
* controls the initial mode, the number of display windows (0 is always
|
|
||||||
* the base framebuffer) that are initialised etc.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
struct s3c_fb_platdata {
|
|
||||||
void (*setup_gpio)(void);
|
|
||||||
|
|
||||||
struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
|
|
||||||
struct fb_videomode *vtiming;
|
|
||||||
|
|
||||||
u32 vidcon0;
|
|
||||||
u32 vidcon1;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* s3c_fb_set_platdata() - Setup the FB device with platform data.
|
* s3c_fb_set_platdata() - Setup the FB device with platform data.
|
||||||
|
|
|
@ -24,10 +24,9 @@
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
|
#include <linux/platform_data/video_s3c.h>
|
||||||
|
|
||||||
#include <video/samsung_fimd.h>
|
#include <video/samsung_fimd.h>
|
||||||
#include <mach/map.h>
|
|
||||||
#include <plat/fb.h>
|
|
||||||
|
|
||||||
/* This driver will export a number of framebuffer interfaces depending
|
/* This driver will export a number of framebuffer interfaces depending
|
||||||
* on the configuration passed in via the platform data. Each fb instance
|
* on the configuration passed in via the platform data. Each fb instance
|
||||||
|
|
54
include/linux/platform_data/video_s3c.h
Normal file
54
include/linux/platform_data/video_s3c.h
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#ifndef __PLATFORM_DATA_VIDEO_S3C
|
||||||
|
#define __PLATFORM_DATA_VIDEO_S3C
|
||||||
|
|
||||||
|
/* S3C_FB_MAX_WIN
|
||||||
|
* Set to the maximum number of windows that any of the supported hardware
|
||||||
|
* can use. Since the platform data uses this for an array size, having it
|
||||||
|
* set to the maximum of any version of the hardware can do is safe.
|
||||||
|
*/
|
||||||
|
#define S3C_FB_MAX_WIN (5)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct s3c_fb_pd_win - per window setup data
|
||||||
|
* @xres : The window X size.
|
||||||
|
* @yres : The window Y size.
|
||||||
|
* @virtual_x: The virtual X size.
|
||||||
|
* @virtual_y: The virtual Y size.
|
||||||
|
*/
|
||||||
|
struct s3c_fb_pd_win {
|
||||||
|
unsigned short default_bpp;
|
||||||
|
unsigned short max_bpp;
|
||||||
|
unsigned short xres;
|
||||||
|
unsigned short yres;
|
||||||
|
unsigned short virtual_x;
|
||||||
|
unsigned short virtual_y;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct s3c_fb_platdata - S3C driver platform specific information
|
||||||
|
* @setup_gpio: Setup the external GPIO pins to the right state to transfer
|
||||||
|
* the data from the display system to the connected display
|
||||||
|
* device.
|
||||||
|
* @vidcon0: The base vidcon0 values to control the panel data format.
|
||||||
|
* @vidcon1: The base vidcon1 values to control the panel data output.
|
||||||
|
* @vtiming: Video timing when connected to a RGB type panel.
|
||||||
|
* @win: The setup data for each hardware window, or NULL for unused.
|
||||||
|
* @display_mode: The LCD output display mode.
|
||||||
|
*
|
||||||
|
* The platform data supplies the video driver with all the information
|
||||||
|
* it requires to work with the display(s) attached to the machine. It
|
||||||
|
* controls the initial mode, the number of display windows (0 is always
|
||||||
|
* the base framebuffer) that are initialised etc.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
struct s3c_fb_platdata {
|
||||||
|
void (*setup_gpio)(void);
|
||||||
|
|
||||||
|
struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
|
||||||
|
struct fb_videomode *vtiming;
|
||||||
|
|
||||||
|
u32 vidcon0;
|
||||||
|
u32 vidcon1;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Reference in a new issue