devs.c:
 
static struct resource s3cfb_resource[] = {
[0] = {
.start= S5P_PA_LCD,
.end= S5P_PA_LCD + S5P_SZ_LCD - 1,
.flags= IORESOURCE_MEM,
},
[1] = {
.start= IRQ_LCD1,
.end= IRQ_LCD1,
.flags= IORESOURCE_IRQ,
},
[2] = {
.start= IRQ_LCD0,
.end= IRQ_LCD0,
.flags= IORESOURCE_IRQ,
},
};
 
static u64 fb_dma_mask = 0xffffffffUL;
 
struct platform_device s3c_device_fb = {
.name= "s3cfb",
.id= -1,
.num_resources= ARRAY_SIZE(s3cfb_resource),
.resource= s3cfb_resource,
.dev= {
.dma_mask= &fb_dma_mask,
.coherent_dma_mask= 0xffffffffUL
}
};
 
static struct s3c_platform_fb default_fb_data __initdata = {//总的
#if defined(CONFIG_CPU_S5PV210_EVT0)
.hw_ver= 0x60,
#else
.hw_ver= 0x62,
#endif
 
.nr_wins= 5,
 
#if defined(CONFIG_FB_S3C_DEFAULT_WINDOW)
.default_win= CONFIG_FB_S3C_DEFAULT_WINDOW,
#else
.default_win= 0,
#endif
.swap= FB_SWAP_WORD | FB_SWAP_HWORD,
};
 
void __init s3cfb_set_platdata(struct s3c_platform_fb *pd)
{
struct s3c_platform_fb *npd;
int i;
 
if (!pd)
pd = &default_fb_data;
 
npd = kmemdup(pd, sizeof(struct s3c_platform_fb), GFP_KERNEL);
if (!npd)
printk(KERN_ERR "%s: no memory for platform data\n", __func__);
else {
for (i = 0; i < npd->nr_wins; i++)//每个fb拥有的缓冲区个数
npd->nr_buffers[i] = 1;
 
#if defined(CONFIG_FB_S3C_NR_BUFFERS)
npd->nr_buffers[npd->default_win] = CONFIG_FB_S3C_NR_BUFFERS;
#else
npd->nr_buffers[npd->default_win] = 1;
#endif
 
s3cfb_get_clk_name(npd->clk_name);
npd->cfg_gpio = s3cfb_cfg_gpio;
npd->backlight_on = s3cfb_backlight_on;
npd->backlight_off = s3cfb_backlight_off;
npd->lcd_on = s3cfb_lcd_on;
npd->lcd_off = s3cfb_lcd_off;
npd->clk_on = s3cfb_clk_on;
npd->clk_off = s3cfb_clk_off;
 
s3c_device_fb.dev.platform_data = npd;//放到平台数据中
}
}

最新文章

  1. Android中的颜色设置
  2. Python :open文件操作,配合read()使用!
  3. 如何提升我的HTML&amp;CSS技术,编写有结构的代码
  4. Python OpenCV —— geometric
  5. LeetCode &quot;Valid Perfect Square&quot;
  6. 转载: Qt 学习之路 2归档
  7. 二模 (11) day2
  8. MIT算法导论——第二讲.Solving Recurrence
  9. CSS圆角样式
  10. 手机不支持onchange事件
  11. C# AddRange为数组添加多个元素的代码
  12. 更改oracle数据库密码(因为密码过期)
  13. 洛谷P4926 [1007]倍杀测量者(差分约束)
  14. xml 初步学习 读取
  15. TOML简介 (转) TOML的由来
  16. 11.4vue(3)
  17. SpringMVC异常处理方式
  18. android 编程之 PopupWindow 窗口的弹出
  19. ionic中数据进行操作后,需要直接显示改变后的数据,数据刷新
  20. 深度学习 vs. 概率图模型 vs. 逻辑学

热门文章

  1. 【Django】基于Django架构网站代码的目录结构
  2. 网络设备作用和工作ISO层
  3. python上下文管理器及with语句
  4. python编程语言 函数的形参
  5. 【DB】SQLite学习笔记
  6. Java学习--封装、继承、多态
  7. 微信开发之开发环境搭建( visual studio 2015we + IIS express + ngrok)
  8. objective_C 优缺点
  9. 一个简单的php分页类代码(转载)
  10. Nagios 邮箱告警的方式太OUT了!