diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fb.h | 20 |
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 | ||
565 | struct 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 */ | ||
932 | extern void fb_deferred_io_init(struct fb_info *info); | ||
933 | extern void fb_deferred_io_cleanup(struct fb_info *info); | ||
934 | #endif | ||
935 | |||
916 | /* drivers/video/fbsysfs.c */ | 936 | /* drivers/video/fbsysfs.c */ |
917 | extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); | 937 | extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); |
918 | extern void framebuffer_release(struct fb_info *info); | 938 | extern void framebuffer_release(struct fb_info *info); |