forked from Minki/linux
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
@ -15,55 +15,7 @@
|
||||
#ifndef __PLAT_S3C_FB_H
|
||||
#define __PLAT_S3C_FB_H __FILE__
|
||||
|
||||
/* 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;
|
||||
};
|
||||
#include <linux/platform_data/video_s3c.h>
|
||||
|
||||
/**
|
||||
* s3c_fb_set_platdata() - Setup the FB device with platform data.
|
||||
|
@ -24,10 +24,9 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/platform_data/video_s3c.h>
|
||||
|
||||
#include <video/samsung_fimd.h>
|
||||
#include <mach/map.h>
|
||||
#include <plat/fb.h>
|
||||
|
||||
/* This driver will export a number of framebuffer interfaces depending
|
||||
* 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…
Reference in New Issue
Block a user