Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial
[pandora-kernel.git] / drivers / video / fbmem.c
index 31143af..93ffcdd 100644 (file)
@@ -11,7 +11,6 @@
  * for more details.
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 
 #include <linux/compat.h>
@@ -24,7 +23,7 @@
 #include <linux/slab.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
-#include <linux/tty.h>
+#include <linux/vt.h>
 #include <linux/init.h>
 #include <linux/linux_logo.h>
 #include <linux/proc_fs.h>
@@ -32,7 +31,6 @@
 #ifdef CONFIG_KMOD
 #include <linux/kmod.h>
 #endif
-#include <linux/devfs_fs_kernel.h>
 #include <linux/err.h>
 #include <linux/device.h>
 #include <linux/efi.h>
@@ -54,7 +52,6 @@
 
 #define FBPIXMAPSIZE   (1024 * 8)
 
-static BLOCKING_NOTIFIER_HEAD(fb_notifier_list);
 struct fb_info *registered_fb[FB_MAX];
 int num_registered_fb;
 
@@ -557,7 +554,8 @@ static int fbmem_read_proc(char *buf, char **start, off_t offset,
        int clen;
 
        clen = 0;
-       for (fi = registered_fb; fi < &registered_fb[FB_MAX] && len < 4000; fi++)
+       for (fi = registered_fb; fi < &registered_fb[FB_MAX] && clen < 4000;
+            fi++)
                if (*fi)
                        clen += sprintf(buf + clen, "%d %s\n",
                                        (*fi)->node,
@@ -793,8 +791,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
 
                    event.info = info;
                    event.data = &mode1;
-                   ret = blocking_notifier_call_chain(&fb_notifier_list,
-                                             FB_EVENT_MODE_DELETE, &event);
+                   ret = fb_notifier_call_chain(FB_EVENT_MODE_DELETE, &event);
                }
 
                if (!ret)
@@ -839,8 +836,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
 
                                info->flags &= ~FBINFO_MISC_USEREVENT;
                                event.info = info;
-                               blocking_notifier_call_chain(&fb_notifier_list,
-                                               evnt, &event);
+                               fb_notifier_call_chain(evnt, &event);
                        }
                }
        }
@@ -863,8 +859,7 @@ fb_blank(struct fb_info *info, int blank)
 
                event.info = info;
                event.data = &blank;
-               blocking_notifier_call_chain(&fb_notifier_list,
-                               FB_EVENT_BLANK, &event);
+               fb_notifier_call_chain(FB_EVENT_BLANK, &event);
        }
 
        return ret;
@@ -935,8 +930,7 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
                con2fb.framebuffer = -1;
                event.info = info;
                event.data = &con2fb;
-               blocking_notifier_call_chain(&fb_notifier_list,
-                                   FB_EVENT_GET_CONSOLE_MAP, &event);
+               fb_notifier_call_chain(FB_EVENT_GET_CONSOLE_MAP, &event);
                return copy_to_user(argp, &con2fb,
                                    sizeof(con2fb)) ? -EFAULT : 0;
        case FBIOPUT_CON2FBMAP:
@@ -954,9 +948,8 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
                    return -EINVAL;
                event.info = info;
                event.data = &con2fb;
-               return blocking_notifier_call_chain(&fb_notifier_list,
-                                          FB_EVENT_SET_CONSOLE_MAP,
-                                          &event);
+               return fb_notifier_call_chain(FB_EVENT_SET_CONSOLE_MAP,
+                                             &event);
        case FBIOBLANK:
                acquire_console_sem();
                info->flags |= FBINFO_MISC_USEREVENT;
@@ -1331,11 +1324,8 @@ register_framebuffer(struct fb_info *fb_info)
        fb_add_videomode(&mode, &fb_info->modelist);
        registered_fb[i] = fb_info;
 
-       devfs_mk_cdev(MKDEV(FB_MAJOR, i),
-                       S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i);
        event.info = fb_info;
-       blocking_notifier_call_chain(&fb_notifier_list,
-                           FB_EVENT_FB_REGISTERED, &event);
+       fb_notifier_call_chain(FB_EVENT_FB_REGISTERED, &event);
        return 0;
 }
 
@@ -1359,7 +1349,6 @@ unregister_framebuffer(struct fb_info *fb_info)
        i = fb_info->node;
        if (!registered_fb[i])
                return -EINVAL;
-       devfs_remove("fb/%d", i);
 
        if (fb_info->pixmap.addr &&
            (fb_info->pixmap.flags & FB_PIXMAP_DEFAULT))
@@ -1370,29 +1359,10 @@ unregister_framebuffer(struct fb_info *fb_info)
        fb_cleanup_class_device(fb_info);
        class_device_destroy(fb_class, MKDEV(FB_MAJOR, i));
        event.info = fb_info;
-       blocking_notifier_call_chain(&fb_notifier_list,
-                                    FB_EVENT_FB_UNREGISTERED, &event);
+       fb_notifier_call_chain(FB_EVENT_FB_UNREGISTERED, &event);
        return 0;
 }
 
-/**
- *     fb_register_client - register a client notifier
- *     @nb: notifier block to callback on events
- */
-int fb_register_client(struct notifier_block *nb)
-{
-       return blocking_notifier_chain_register(&fb_notifier_list, nb);
-}
-
-/**
- *     fb_unregister_client - unregister a client notifier
- *     @nb: notifier block to callback on events
- */
-int fb_unregister_client(struct notifier_block *nb)
-{
-       return blocking_notifier_chain_unregister(&fb_notifier_list, nb);
-}
-
 /**
  *     fb_set_suspend - low level driver signals suspend
  *     @info: framebuffer affected
@@ -1408,13 +1378,11 @@ void fb_set_suspend(struct fb_info *info, int state)
 
        event.info = info;
        if (state) {
-               blocking_notifier_call_chain(&fb_notifier_list,
-                               FB_EVENT_SUSPEND, &event);
+               fb_notifier_call_chain(FB_EVENT_SUSPEND, &event);
                info->state = FBINFO_STATE_SUSPENDED;
        } else {
                info->state = FBINFO_STATE_RUNNING;
-               blocking_notifier_call_chain(&fb_notifier_list,
-                               FB_EVENT_RESUME, &event);
+               fb_notifier_call_chain(FB_EVENT_RESUME, &event);
        }
 }
 
@@ -1432,7 +1400,6 @@ fbmem_init(void)
 {
        create_proc_read_entry("fb", 0, NULL, fbmem_read_proc, NULL);
 
-       devfs_mk_dir("fb");
        if (register_chrdev(FB_MAJOR,"fb",&fb_fops))
                printk("unable to get major %d for fb devs\n", FB_MAJOR);
 
@@ -1486,9 +1453,7 @@ int fb_new_modelist(struct fb_info *info)
 
        if (!list_empty(&info->modelist)) {
                event.info = info;
-               err = blocking_notifier_call_chain(&fb_notifier_list,
-                                          FB_EVENT_NEW_MODELIST,
-                                          &event);
+               err = fb_notifier_call_chain(FB_EVENT_NEW_MODELIST, &event);
        }
 
        return err;
@@ -1600,8 +1565,6 @@ EXPORT_SYMBOL(fb_blank);
 EXPORT_SYMBOL(fb_pan_display);
 EXPORT_SYMBOL(fb_get_buffer_offset);
 EXPORT_SYMBOL(fb_set_suspend);
-EXPORT_SYMBOL(fb_register_client);
-EXPORT_SYMBOL(fb_unregister_client);
 EXPORT_SYMBOL(fb_get_options);
 
 MODULE_LICENSE("GPL");