diff options
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r-- | include/linux/fb.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index c10163b4c40e..1296af45169d 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -403,6 +403,7 @@ struct fb_cursor { | |||
403 | #include <linux/notifier.h> | 403 | #include <linux/notifier.h> |
404 | #include <linux/list.h> | 404 | #include <linux/list.h> |
405 | #include <linux/backlight.h> | 405 | #include <linux/backlight.h> |
406 | #include <linux/slab.h> | ||
406 | #include <asm/io.h> | 407 | #include <asm/io.h> |
407 | 408 | ||
408 | struct vm_area_struct; | 409 | struct vm_area_struct; |
@@ -862,10 +863,22 @@ struct fb_info { | |||
862 | /* we need the PCI or similiar aperture base/size not | 863 | /* we need the PCI or similiar aperture base/size not |
863 | smem_start/size as smem_start may just be an object | 864 | smem_start/size as smem_start may just be an object |
864 | allocated inside the aperture so may not actually overlap */ | 865 | allocated inside the aperture so may not actually overlap */ |
865 | resource_size_t aperture_base; | 866 | struct apertures_struct { |
866 | resource_size_t aperture_size; | 867 | unsigned int count; |
868 | struct aperture { | ||
869 | resource_size_t base; | ||
870 | resource_size_t size; | ||
871 | } ranges[0]; | ||
872 | } *apertures; | ||
867 | }; | 873 | }; |
868 | 874 | ||
875 | static inline struct apertures_struct *alloc_apertures(unsigned int max_num) { | ||
876 | struct apertures_struct *a = kzalloc(sizeof(struct apertures_struct) | ||
877 | + max_num * sizeof(struct aperture), GFP_KERNEL); | ||
878 | a->count = max_num; | ||
879 | return a; | ||
880 | } | ||
881 | |||
869 | #ifdef MODULE | 882 | #ifdef MODULE |
870 | #define FBINFO_DEFAULT FBINFO_MODULE | 883 | #define FBINFO_DEFAULT FBINFO_MODULE |
871 | #else | 884 | #else |
@@ -958,6 +971,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, | |||
958 | /* drivers/video/fbmem.c */ | 971 | /* drivers/video/fbmem.c */ |
959 | extern int register_framebuffer(struct fb_info *fb_info); | 972 | extern int register_framebuffer(struct fb_info *fb_info); |
960 | extern int unregister_framebuffer(struct fb_info *fb_info); | 973 | extern int unregister_framebuffer(struct fb_info *fb_info); |
974 | extern void remove_conflicting_framebuffers(struct apertures_struct *a, | ||
975 | const char *name, bool primary); | ||
961 | extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); | 976 | 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); | 977 | 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); | 978 | extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size); |