linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / linux / fb.h
index 2f335e9..2fdd8ae 100644 (file)
@@ -366,21 +366,16 @@ struct fb_cursor {
        struct fb_image image;  /* Cursor image */
 };
 
-#ifdef CONFIG_FB_BACKLIGHT
-/* Settings for the generic backlight code */
-#define FB_BACKLIGHT_LEVELS    128
-#define FB_BACKLIGHT_MAX       0xFF
-#endif
-
 #ifdef __KERNEL__
 
 #include <linux/fs.h>
 #include <linux/init.h>
+#include <linux/tty.h>
 #include <linux/device.h>
 #include <linux/workqueue.h>
+#include <linux/devfs_fs_kernel.h>
 #include <linux/notifier.h>
 #include <linux/list.h>
-#include <linux/backlight.h>
 #include <asm/io.h>
 
 struct vm_area_struct;
@@ -502,19 +497,23 @@ struct fb_cursor_user {
 #define FB_EVENT_MODE_DELETE            0x04
 /*      A driver registered itself */
 #define FB_EVENT_FB_REGISTERED          0x05
-/*      A driver unregistered itself */
-#define FB_EVENT_FB_UNREGISTERED        0x06
 /*      CONSOLE-SPECIFIC: get console to framebuffer mapping */
-#define FB_EVENT_GET_CONSOLE_MAP        0x07
+#define FB_EVENT_GET_CONSOLE_MAP        0x06
 /*      CONSOLE-SPECIFIC: set console to framebuffer mapping */
-#define FB_EVENT_SET_CONSOLE_MAP        0x08
+#define FB_EVENT_SET_CONSOLE_MAP        0x07
 /*      A display blank is requested       */
-#define FB_EVENT_BLANK                  0x09
+#define FB_EVENT_BLANK                  0x08
 /*      Private modelist is to be replaced */
-#define FB_EVENT_NEW_MODELIST           0x0A
+#define FB_EVENT_NEW_MODELIST           0x09
 /*     The resolution of the passed in fb_info about to change and
         all vc's should be changed         */
-#define FB_EVENT_MODE_CHANGE_ALL       0x0B
+#define FB_EVENT_MODE_CHANGE_ALL       0x0A
+/*      CONSOLE-SPECIFIC: set console rotation */
+#define FB_EVENT_SET_CON_ROTATE         0x0B
+/*      CONSOLE-SPECIFIC: get console rotation */
+#define FB_EVENT_GET_CON_ROTATE         0x0C
+/*      CONSOLE-SPECIFIC: rotate all consoles */
+#define FB_EVENT_SET_CON_ROTATE_ALL     0x0D
 
 struct fb_event {
        struct fb_info *info;
@@ -524,7 +523,7 @@ struct fb_event {
 
 extern int fb_register_client(struct notifier_block *nb);
 extern int fb_unregister_client(struct notifier_block *nb);
-extern int fb_notifier_call_chain(unsigned long val, void *v);
+
 /*
  * Pixmap structure definition
  *
@@ -556,7 +555,7 @@ struct fb_pixmap {
  * Frame buffer operations
  *
  * LOCKING NOTE: those functions must _ALL_ be called with the console
- * semaphore held, this is the only suitable locking mechanism we have
+ * semaphore held, this is the only suitable locking mecanism we have
  * in 2.6. Some may be called at interrupt time at this point though.
  */
 
@@ -735,7 +734,7 @@ struct fb_tile_ops {
 
 /* A driver may set this flag to indicate that it does want a set_par to be
  * called every time when fbcon_switch is executed. The advantage is that with
- * this flag set you can really be sure that set_par is always called before
+ * this flag set you can really be shure that set_par is always called before
  * any of the functions dependant on the correct hardware state or altering
  * that state, even if you are using some broken X releases. The disadvantage
  * is that it introduces unwanted delays to every console switch if set_par
@@ -757,21 +756,6 @@ struct fb_info {
        struct fb_cmap cmap;            /* Current cmap */
        struct list_head modelist;      /* mode list */
        struct fb_videomode *mode;      /* current mode */
-
-#ifdef CONFIG_FB_BACKLIGHT
-       /* Lock ordering:
-        * bl_mutex (protects bl_dev and bl_curve)
-        *   bl_dev->sem (backlight class)
-        */
-       struct mutex bl_mutex;
-
-       /* assigned backlight device */
-       struct backlight_device *bl_dev;
-
-       /* Backlight level curve */
-       u8 bl_curve[FB_BACKLIGHT_LEVELS];
-#endif
-
        struct fb_ops *fbops;
        struct device *device;
        struct class_device *class_device; /* sysfs per device attrs */
@@ -886,6 +870,7 @@ extern int fb_get_color_depth(struct fb_var_screeninfo *var,
                              struct fb_fix_screeninfo *fix);
 extern int fb_get_options(char *name, char **option);
 extern int fb_new_modelist(struct fb_info *info);
+extern int fb_con_duit(struct fb_info *info, int event, void *data);
 
 extern struct fb_info *registered_fb[FB_MAX];
 extern int num_registered_fb;
@@ -910,7 +895,6 @@ extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev);
 extern void framebuffer_release(struct fb_info *info);
 extern int fb_init_class_device(struct fb_info *fb_info);
 extern void fb_cleanup_class_device(struct fb_info *head);
-extern void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max);
 
 /* drivers/video/fbmon.c */
 #define FB_MAXTIMINGS          0