aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r--include/linux/fb.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h
index be913ec87169..8a8255b94b62 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -561,6 +561,16 @@ struct fb_pixmap {
561 void (*readio) (struct fb_info *info, void *dst, void __iomem *src, unsigned int size); 561 void (*readio) (struct fb_info *info, void *dst, void __iomem *src, unsigned int size);
562}; 562};
563 563
564#ifdef CONFIG_FB_DEFERRED_IO
565struct fb_deferred_io {
566 /* delay between mkwrite and deferred handler */
567 unsigned long delay;
568 struct mutex lock; /* mutex that protects the page list */
569 struct list_head pagelist; /* list of touched pages */
570 /* callback */
571 void (*deferred_io)(struct fb_info *info, struct list_head *pagelist);
572};
573#endif
564 574
565/* 575/*
566 * Frame buffer operations 576 * Frame buffer operations
@@ -778,6 +788,10 @@ struct fb_info {
778 struct mutex bl_curve_mutex; 788 struct mutex bl_curve_mutex;
779 u8 bl_curve[FB_BACKLIGHT_LEVELS]; 789 u8 bl_curve[FB_BACKLIGHT_LEVELS];
780#endif 790#endif
791#ifdef CONFIG_FB_DEFERRED_IO
792 struct delayed_work deferred_work;
793 struct fb_deferred_io *fbdefio;
794#endif
781 795
782 struct fb_ops *fbops; 796 struct fb_ops *fbops;
783 struct device *device; /* This is the parent */ 797 struct device *device; /* This is the parent */
@@ -913,6 +927,12 @@ static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
913 } 927 }
914} 928}
915 929
930#ifdef CONFIG_FB_DEFERRED_IO
931/* drivers/video/fb_defio.c */
932extern void fb_deferred_io_init(struct fb_info *info);
933extern void fb_deferred_io_cleanup(struct fb_info *info);
934#endif
935
916/* drivers/video/fbsysfs.c */ 936/* drivers/video/fbsysfs.c */
917extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); 937extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev);
918extern void framebuffer_release(struct fb_info *info); 938extern void framebuffer_release(struct fb_info *info);