]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/fbmem.c
[PATCH] fbdev: add modeline for 1680x1050@60
[linux-2.6-omap-h63xx.git] / drivers / video / fbmem.c
index 07d882b143963f4996590665e2713747d2211b22..b1a8dca764306fd4e9ba39905c5e50241b3f2246 100644 (file)
@@ -55,7 +55,7 @@
 
 #define FBPIXMAPSIZE   (1024 * 8)
 
-static struct notifier_block *fb_notifier_list;
+static BLOCKING_NOTIFIER_HEAD(fb_notifier_list);
 struct fb_info *registered_fb[FB_MAX];
 int num_registered_fb;
 
@@ -784,7 +784,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
 
                    event.info = info;
                    event.data = &mode1;
-                   ret = notifier_call_chain(&fb_notifier_list,
+                   ret = blocking_notifier_call_chain(&fb_notifier_list,
                                              FB_EVENT_MODE_DELETE, &event);
                }
 
@@ -830,8 +830,8 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
 
                                info->flags &= ~FBINFO_MISC_USEREVENT;
                                event.info = info;
-                               notifier_call_chain(&fb_notifier_list, evnt,
-                                                   &event);
+                               blocking_notifier_call_chain(&fb_notifier_list,
+                                               evnt, &event);
                        }
                }
        }
@@ -854,7 +854,8 @@ fb_blank(struct fb_info *info, int blank)
 
                event.info = info;
                event.data = ␣
-               notifier_call_chain(&fb_notifier_list, FB_EVENT_BLANK, &event);
+               blocking_notifier_call_chain(&fb_notifier_list,
+                               FB_EVENT_BLANK, &event);
        }
 
        return ret;
@@ -925,7 +926,7 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
                con2fb.framebuffer = -1;
                event.info = info;
                event.data = &con2fb;
-               notifier_call_chain(&fb_notifier_list,
+               blocking_notifier_call_chain(&fb_notifier_list,
                                    FB_EVENT_GET_CONSOLE_MAP, &event);
                return copy_to_user(argp, &con2fb,
                                    sizeof(con2fb)) ? -EFAULT : 0;
@@ -944,7 +945,7 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
                    return -EINVAL;
                event.info = info;
                event.data = &con2fb;
-               return notifier_call_chain(&fb_notifier_list,
+               return blocking_notifier_call_chain(&fb_notifier_list,
                                           FB_EVENT_SET_CONSOLE_MAP,
                                           &event);
        case FBIOBLANK:
@@ -1324,7 +1325,7 @@ register_framebuffer(struct fb_info *fb_info)
        devfs_mk_cdev(MKDEV(FB_MAJOR, i),
                        S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i);
        event.info = fb_info;
-       notifier_call_chain(&fb_notifier_list,
+       blocking_notifier_call_chain(&fb_notifier_list,
                            FB_EVENT_FB_REGISTERED, &event);
        return 0;
 }
@@ -1366,7 +1367,7 @@ unregister_framebuffer(struct fb_info *fb_info)
  */
 int fb_register_client(struct notifier_block *nb)
 {
-       return notifier_chain_register(&fb_notifier_list, nb);
+       return blocking_notifier_chain_register(&fb_notifier_list, nb);
 }
 
 /**
@@ -1375,7 +1376,7 @@ int fb_register_client(struct notifier_block *nb)
  */
 int fb_unregister_client(struct notifier_block *nb)
 {
-       return notifier_chain_unregister(&fb_notifier_list, nb);
+       return blocking_notifier_chain_unregister(&fb_notifier_list, nb);
 }
 
 /**
@@ -1393,11 +1394,13 @@ void fb_set_suspend(struct fb_info *info, int state)
 
        event.info = info;
        if (state) {
-               notifier_call_chain(&fb_notifier_list, FB_EVENT_SUSPEND, &event);
+               blocking_notifier_call_chain(&fb_notifier_list,
+                               FB_EVENT_SUSPEND, &event);
                info->state = FBINFO_STATE_SUSPENDED;
        } else {
                info->state = FBINFO_STATE_RUNNING;
-               notifier_call_chain(&fb_notifier_list, FB_EVENT_RESUME, &event);
+               blocking_notifier_call_chain(&fb_notifier_list,
+                               FB_EVENT_RESUME, &event);
        }
 }
 
@@ -1469,7 +1472,7 @@ int fb_new_modelist(struct fb_info *info)
 
        if (!list_empty(&info->modelist)) {
                event.info = info;
-               err = notifier_call_chain(&fb_notifier_list,
+               err = blocking_notifier_call_chain(&fb_notifier_list,
                                           FB_EVENT_NEW_MODELIST,
                                           &event);
        }
@@ -1495,7 +1498,7 @@ int fb_con_duit(struct fb_info *info, int event, void *data)
        evnt.info = info;
        evnt.data = data;
 
-       return notifier_call_chain(&fb_notifier_list, event, &evnt);
+       return blocking_notifier_call_chain(&fb_notifier_list, event, &evnt);
 }
 EXPORT_SYMBOL(fb_con_duit);