Update video driver to support the Bookeen way to use screen.

This commit is contained in:
mlt 2009-12-22 18:44:36 +00:00 committed by Godzil
parent 6a09ec6d7a
commit 2c907884d1
10 changed files with 83255 additions and 2883 deletions

View File

@ -31,4 +31,11 @@ config MACH_SMDK2416
select MACH_SMDK
help
Say Y here if you are using an SMDK2416
config MACH_CYBOOK2416
bool "CYBOOK 2416"
select MACH_SMDK2416
help
Say Y here is you are using a Cybook 2416
endmenu

View File

@ -20,3 +20,4 @@ obj-$(CONFIG_S3C2416_PM) += pm.o
obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o
obj-$(CONFIG_MACH_SMDK2416) += qisda-utils.o
obj-$(CONFIGçMACH_CYBOOK2416) += cybook.o

View File

@ -0,0 +1,78 @@
/*
* cybook.c
*
* Copyright 2009 Bookeen <yep@confucius>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
struct proc_dir_entry *platform_type_Proc_File;
#define procfs_name "device"
int procfile_read(char *buffer,
char **buffer_location,
off_t offset, int buffer_length, int *eof, void *data)
{
int ret;
if (offset > 0) {
/* we have finished to read, return 0 */
ret = 0;
} else {
/* fill the buffer, return the buffer size */
/* Currently, this kernel branch will only support the Cybook Gen4 TwistEffect */
ret = sprintf(buffer, "CYBOOK_GEN4\n");
}
return ret;
}
// ---------------------------------------------------------------------------
// ===========================================================================
static int __init cybooInit(void)
{
/* cybook proc file */
platform_type_Proc_File = create_proc_entry(procfs_name, 0644, NULL);
if (platform_type_Proc_File == NULL) {
remove_proc_entry(procfs_name, &proc_root);
printk(KERN_ALERT "Error: Could not initialize /proc/%s\n",
procfs_name);
}
platform_type_Proc_File->read_proc = procfile_read;
platform_type_Proc_File->owner = THIS_MODULE;
platform_type_Proc_File->mode = S_IFREG | S_IRUGO;
platform_type_Proc_File->uid = 0;
platform_type_Proc_File->gid = 0;
platform_type_Proc_File->size = 37;
return 0;
}
// ---------------------------------------------------------------------------
static void __exit cybookExit(void)
{
return;
}
// ---------------------------------------------------------------------------
module_init(cybookInit);
module_exit(cybookExit);
// ---------------------------------------------------------------------------
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Bookeen <developers@bookeen.com>");
MODULE_DESCRIPTION("Cybook Specialized functions");
MODULE_VERSION("2.0");
// ===================================================================

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.5-cfs-v19
# Thu Dec 17 11:52:21 2009
# Tue Dec 22 17:57:18 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@ -204,6 +204,7 @@ CONFIG_S3C2416_PM=y
# S3C2416 Machines
#
CONFIG_MACH_SMDK2416=y
CONFIG_MACH_CYBOOK2416=y
#
# S3C6400 Machines

View File

@ -956,7 +956,7 @@ static int s3c24xx_i2c_suspend(struct platform_device *dev)
static struct platform_driver s3c2410_i2c_driver = {
.probe = s3c24xx_i2c_probe,
.remove = s3c24xx_i2c_remove,
.suspend = s3c24xx_i2c_suspend, //Asaku
.suspend = s3c24xx_i2c_suspend, //Asaku
.resume = s3c24xx_i2c_resume,
.driver = {
.owner = THIS_MODULE,
@ -967,7 +967,7 @@ static struct platform_driver s3c2410_i2c_driver = {
static struct platform_driver s3c2440_i2c_driver = {
.probe = s3c24xx_i2c_probe,
.remove = s3c24xx_i2c_remove,
.suspend = s3c24xx_i2c_suspend, //Asaku
.suspend = s3c24xx_i2c_suspend, //Asaku
.resume = s3c24xx_i2c_resume,
.driver = {
.owner = THIS_MODULE,

File diff suppressed because it is too large Load Diff

View File

@ -411,6 +411,5 @@ extern int auo_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long ar
extern void auofb_activate_var(struct auo_fb_info *fbi, struct fb_var_screeninfo *var);
#endif

File diff suppressed because it is too large Load Diff

View File

@ -89,6 +89,7 @@ typedef struct T_DISPLAY_FRAME_TAG
unsigned short* pFrameData;
} T_DISPLAY_FRAME, *T_DISPLAY_FRAME_P;
//functions
void Epaper_SetLcdPort(void);
DispErrorCode_t Epaper_Disp(T_DISPLAY_FRAME tFrame);
@ -106,7 +107,7 @@ void EPaper_CloseLcdPort(void);
void Epaper_Read_R_TEMP(unsigned short* val0, unsigned short* val1, unsigned short* val2, unsigned short* val3);
void Epaper_Display_Refresh(void);
int Epaper_Update_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
int Epaper_Read_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
void Epaper_Read_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
void Epaper_Reset(void);
void Epaper_Clean_Panel(void);
void Epaper_Show_Progress(int percent);

80003
drivers/video/logo/logo.ppm Normal file

File diff suppressed because it is too large Load Diff