赞
踩
MIPI_CSI HOST驱动
mipi_csi2_probe函数:
mipi_csi2_get_error1函数:
获取MIPI_CSI2_ERR1寄存器信息
mipi_csi2_get_error2函数:
获取MIPI_CSI2_ERR2寄存器信息
Frame buffer驱动
mxcfb_probe函数:
struct fb_ops mxcfb_ops结构体:
.fb_set_par = mxcfb_set_par,
.fb_check_var = mxcfb_check_var,
.fb_setcolreg = mxcfb_setcolreg,
.fb_pan_display = mxcfb_pan_display,
.fb_ioctl = mxcfb_ioctl,
.fb_mmap = mxcfb_mmap,
.fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit,
.fb_blank = mxcfb_blank,
mxcfb_set_par函数:
mxcfb_check_var函数:
主要做参数检查与调整。
mxcfb_setcolreg函数:
mxcfb_pan_display函数:
Pan or Wrap the Display
mxcfb_mmap函数:
根据传入的vm_area_struct结构体参数进行映射。
cfb_fillrect函数:
Fbdev通用函数,填充图像矩阵。
cfb_copyarea函数:
Fbdev通用函数,区域拷贝
cfb_imageblit函数:
Fbdev通用函数,图像blit
mxcfb_blank函数:
空白显示。
mxcfb_ioctl函数:
处理framebuffer的ioctl
struct file_operations fb_fops结构体:
.read = fb_read,
.write = fb_write,
.unlocked_ioctl = fb_ioctl,
.compat_ioctl = fb_compat_ioctl,
.mmap = fb_mmap,
.open = fb_open,
.release = fb_release,
.get_unmapped_area = get_fb_unmapped_area,
.fsync = fb_deferred_io_fsync,
.llseek = default_llseek,
fb_read函数:
fb_write函数:
fb_ioctl函数:
调用do_fb_ioctl函数,根据命令进行ioctl处理,支持的命令包括:
FBIOGET_VSCREENINFO、FBIOPUT_VSCREENINFO、FBIOGET_FSCREENINFO、FBIOPUTCMAP、FBIOGETCMAP、FBIOPAN_DISPLAY、FBIOGET_CON2FBMAP、FBIOPUT_CON2FBMAP、FBIOBLANK;其余命令会调用struct fb_ops mxcfb_ops结构体的fb_ioctl函数处理。
fb_compat_ioctl函数:
略。主要是加一些兼容性处理。
fb_mmap、fb_open函数:
调用struct fb_ops mxcfb_ops结构体的fb_mmap、fb_open函数。
IPU驱动
ipu_probe函数:
V4L2驱动
mxc_v4l2_probe函数:
struct v4l2_file_operations mxc_v4l_fops结构体:
.open = mxc_v4l_open,
.release = mxc_v4l_close,
.read = mxc_v4l_read,
.ioctl = mxc_v4l_ioctl,
.mmap = mxc_mmap,
.poll = mxc_poll,
mxc_v4l_open函数:
mxc_v4l_close函数:
mxc_v4l_read函数:
mxc_v4l_ioctl函数:
调用v4l2框架函数video_usercopy拷贝命令及参数到kernel,并执行真正的ioctl函数mxc_v4l_do_ioctl,下面分析这个函数。
mxc_mmap函数:
根据传入的vm_area_struct结构体参数进行映射。
mxc_poll函数:
执行poll_wait操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。