diff options
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r-- | include/linux/fb.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index 315d89740ddf..f1281687e549 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _LINUX_FB_H | 1 | #ifndef _LINUX_FB_H |
2 | #define _LINUX_FB_H | 2 | #define _LINUX_FB_H |
3 | 3 | ||
4 | #include <linux/backlight.h> | ||
4 | #include <asm/types.h> | 5 | #include <asm/types.h> |
5 | 6 | ||
6 | /* Definitions of frame buffers */ | 7 | /* Definitions of frame buffers */ |
@@ -366,6 +367,12 @@ struct fb_cursor { | |||
366 | struct fb_image image; /* Cursor image */ | 367 | struct fb_image image; /* Cursor image */ |
367 | }; | 368 | }; |
368 | 369 | ||
370 | #ifdef CONFIG_FB_BACKLIGHT | ||
371 | /* Settings for the generic backlight code */ | ||
372 | #define FB_BACKLIGHT_LEVELS 128 | ||
373 | #define FB_BACKLIGHT_MAX 0xFF | ||
374 | #endif | ||
375 | |||
369 | #ifdef __KERNEL__ | 376 | #ifdef __KERNEL__ |
370 | 377 | ||
371 | #include <linux/fs.h> | 378 | #include <linux/fs.h> |
@@ -756,6 +763,21 @@ struct fb_info { | |||
756 | struct fb_cmap cmap; /* Current cmap */ | 763 | struct fb_cmap cmap; /* Current cmap */ |
757 | struct list_head modelist; /* mode list */ | 764 | struct list_head modelist; /* mode list */ |
758 | struct fb_videomode *mode; /* current mode */ | 765 | struct fb_videomode *mode; /* current mode */ |
766 | |||
767 | #ifdef CONFIG_FB_BACKLIGHT | ||
768 | /* Lock ordering: | ||
769 | * bl_mutex (protects bl_dev and bl_curve) | ||
770 | * bl_dev->sem (backlight class) | ||
771 | */ | ||
772 | struct mutex bl_mutex; | ||
773 | |||
774 | /* assigned backlight device */ | ||
775 | struct backlight_device *bl_dev; | ||
776 | |||
777 | /* Backlight level curve */ | ||
778 | u8 bl_curve[FB_BACKLIGHT_LEVELS]; | ||
779 | #endif | ||
780 | |||
759 | struct fb_ops *fbops; | 781 | struct fb_ops *fbops; |
760 | struct device *device; | 782 | struct device *device; |
761 | struct class_device *class_device; /* sysfs per device attrs */ | 783 | struct class_device *class_device; /* sysfs per device attrs */ |
@@ -895,6 +917,7 @@ extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); | |||
895 | extern void framebuffer_release(struct fb_info *info); | 917 | extern void framebuffer_release(struct fb_info *info); |
896 | extern int fb_init_class_device(struct fb_info *fb_info); | 918 | extern int fb_init_class_device(struct fb_info *fb_info); |
897 | extern void fb_cleanup_class_device(struct fb_info *head); | 919 | extern void fb_cleanup_class_device(struct fb_info *head); |
920 | extern void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max); | ||
898 | 921 | ||
899 | /* drivers/video/fbmon.c */ | 922 | /* drivers/video/fbmon.c */ |
900 | #define FB_MAXTIMINGS 0 | 923 | #define FB_MAXTIMINGS 0 |