diff options
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r-- | include/linux/fb.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index c10163b4c40e..907ace3a64c8 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -4,8 +4,6 @@ | |||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/i2c.h> | 5 | #include <linux/i2c.h> |
6 | 6 | ||
7 | struct dentry; | ||
8 | |||
9 | /* Definitions of frame buffers */ | 7 | /* Definitions of frame buffers */ |
10 | 8 | ||
11 | #define FB_MAX 32 /* sufficient for now */ | 9 | #define FB_MAX 32 /* sufficient for now */ |
@@ -37,7 +35,7 @@ struct dentry; | |||
37 | #define FBIOGET_HWCINFO 0x4616 | 35 | #define FBIOGET_HWCINFO 0x4616 |
38 | #define FBIOPUT_MODEINFO 0x4617 | 36 | #define FBIOPUT_MODEINFO 0x4617 |
39 | #define FBIOGET_DISPINFO 0x4618 | 37 | #define FBIOGET_DISPINFO 0x4618 |
40 | 38 | #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) | |
41 | 39 | ||
42 | #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ | 40 | #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ |
43 | #define FB_TYPE_PLANES 1 /* Non interleaved planes */ | 41 | #define FB_TYPE_PLANES 1 /* Non interleaved planes */ |
@@ -403,6 +401,7 @@ struct fb_cursor { | |||
403 | #include <linux/notifier.h> | 401 | #include <linux/notifier.h> |
404 | #include <linux/list.h> | 402 | #include <linux/list.h> |
405 | #include <linux/backlight.h> | 403 | #include <linux/backlight.h> |
404 | #include <linux/slab.h> | ||
406 | #include <asm/io.h> | 405 | #include <asm/io.h> |
407 | 406 | ||
408 | struct vm_area_struct; | 407 | struct vm_area_struct; |
@@ -862,10 +861,22 @@ struct fb_info { | |||
862 | /* we need the PCI or similiar aperture base/size not | 861 | /* we need the PCI or similiar aperture base/size not |
863 | smem_start/size as smem_start may just be an object | 862 | smem_start/size as smem_start may just be an object |
864 | allocated inside the aperture so may not actually overlap */ | 863 | allocated inside the aperture so may not actually overlap */ |
865 | resource_size_t aperture_base; | 864 | struct apertures_struct { |
866 | resource_size_t aperture_size; | 865 | unsigned int count; |
866 | struct aperture { | ||
867 | resource_size_t base; | ||
868 | resource_size_t size; | ||
869 | } ranges[0]; | ||
870 | } *apertures; | ||
867 | }; | 871 | }; |
868 | 872 | ||
873 | static inline struct apertures_struct *alloc_apertures(unsigned int max_num) { | ||
874 | struct apertures_struct *a = kzalloc(sizeof(struct apertures_struct) | ||
875 | + max_num * sizeof(struct aperture), GFP_KERNEL); | ||
876 | a->count = max_num; | ||
877 | return a; | ||
878 | } | ||
879 | |||
869 | #ifdef MODULE | 880 | #ifdef MODULE |
870 | #define FBINFO_DEFAULT FBINFO_MODULE | 881 | #define FBINFO_DEFAULT FBINFO_MODULE |
871 | #else | 882 | #else |
@@ -958,6 +969,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, | |||
958 | /* drivers/video/fbmem.c */ | 969 | /* drivers/video/fbmem.c */ |
959 | extern int register_framebuffer(struct fb_info *fb_info); | 970 | extern int register_framebuffer(struct fb_info *fb_info); |
960 | extern int unregister_framebuffer(struct fb_info *fb_info); | 971 | extern int unregister_framebuffer(struct fb_info *fb_info); |
972 | extern void remove_conflicting_framebuffers(struct apertures_struct *a, | ||
973 | const char *name, bool primary); | ||
961 | extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); | 974 | extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); |
962 | extern int fb_show_logo(struct fb_info *fb_info, int rotate); | 975 | extern int fb_show_logo(struct fb_info *fb_info, int rotate); |
963 | extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size); | 976 | extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size); |
@@ -1002,8 +1015,7 @@ extern void fb_deferred_io_open(struct fb_info *info, | |||
1002 | struct inode *inode, | 1015 | struct inode *inode, |
1003 | struct file *file); | 1016 | struct file *file); |
1004 | extern void fb_deferred_io_cleanup(struct fb_info *info); | 1017 | extern void fb_deferred_io_cleanup(struct fb_info *info); |
1005 | extern int fb_deferred_io_fsync(struct file *file, struct dentry *dentry, | 1018 | extern int fb_deferred_io_fsync(struct file *file, int datasync); |
1006 | int datasync); | ||
1007 | 1019 | ||
1008 | static inline bool fb_be_math(struct fb_info *info) | 1020 | static inline bool fb_be_math(struct fb_info *info) |
1009 | { | 1021 | { |