diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/fbmem.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 07d882b14396..b1a8dca76430 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c | |||
@@ -55,7 +55,7 @@ | |||
55 | 55 | ||
56 | #define FBPIXMAPSIZE (1024 * 8) | 56 | #define FBPIXMAPSIZE (1024 * 8) |
57 | 57 | ||
58 | static struct notifier_block *fb_notifier_list; | 58 | static BLOCKING_NOTIFIER_HEAD(fb_notifier_list); |
59 | struct fb_info *registered_fb[FB_MAX]; | 59 | struct fb_info *registered_fb[FB_MAX]; |
60 | int num_registered_fb; | 60 | int num_registered_fb; |
61 | 61 | ||
@@ -784,7 +784,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) | |||
784 | 784 | ||
785 | event.info = info; | 785 | event.info = info; |
786 | event.data = &mode1; | 786 | event.data = &mode1; |
787 | ret = notifier_call_chain(&fb_notifier_list, | 787 | ret = blocking_notifier_call_chain(&fb_notifier_list, |
788 | FB_EVENT_MODE_DELETE, &event); | 788 | FB_EVENT_MODE_DELETE, &event); |
789 | } | 789 | } |
790 | 790 | ||
@@ -830,8 +830,8 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) | |||
830 | 830 | ||
831 | info->flags &= ~FBINFO_MISC_USEREVENT; | 831 | info->flags &= ~FBINFO_MISC_USEREVENT; |
832 | event.info = info; | 832 | event.info = info; |
833 | notifier_call_chain(&fb_notifier_list, evnt, | 833 | blocking_notifier_call_chain(&fb_notifier_list, |
834 | &event); | 834 | evnt, &event); |
835 | } | 835 | } |
836 | } | 836 | } |
837 | } | 837 | } |
@@ -854,7 +854,8 @@ fb_blank(struct fb_info *info, int blank) | |||
854 | 854 | ||
855 | event.info = info; | 855 | event.info = info; |
856 | event.data = ␣ | 856 | event.data = ␣ |
857 | notifier_call_chain(&fb_notifier_list, FB_EVENT_BLANK, &event); | 857 | blocking_notifier_call_chain(&fb_notifier_list, |
858 | FB_EVENT_BLANK, &event); | ||
858 | } | 859 | } |
859 | 860 | ||
860 | return ret; | 861 | return ret; |
@@ -925,7 +926,7 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | |||
925 | con2fb.framebuffer = -1; | 926 | con2fb.framebuffer = -1; |
926 | event.info = info; | 927 | event.info = info; |
927 | event.data = &con2fb; | 928 | event.data = &con2fb; |
928 | notifier_call_chain(&fb_notifier_list, | 929 | blocking_notifier_call_chain(&fb_notifier_list, |
929 | FB_EVENT_GET_CONSOLE_MAP, &event); | 930 | FB_EVENT_GET_CONSOLE_MAP, &event); |
930 | return copy_to_user(argp, &con2fb, | 931 | return copy_to_user(argp, &con2fb, |
931 | sizeof(con2fb)) ? -EFAULT : 0; | 932 | sizeof(con2fb)) ? -EFAULT : 0; |
@@ -944,7 +945,7 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | |||
944 | return -EINVAL; | 945 | return -EINVAL; |
945 | event.info = info; | 946 | event.info = info; |
946 | event.data = &con2fb; | 947 | event.data = &con2fb; |
947 | return notifier_call_chain(&fb_notifier_list, | 948 | return blocking_notifier_call_chain(&fb_notifier_list, |
948 | FB_EVENT_SET_CONSOLE_MAP, | 949 | FB_EVENT_SET_CONSOLE_MAP, |
949 | &event); | 950 | &event); |
950 | case FBIOBLANK: | 951 | case FBIOBLANK: |
@@ -1324,7 +1325,7 @@ register_framebuffer(struct fb_info *fb_info) | |||
1324 | devfs_mk_cdev(MKDEV(FB_MAJOR, i), | 1325 | devfs_mk_cdev(MKDEV(FB_MAJOR, i), |
1325 | S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i); | 1326 | S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i); |
1326 | event.info = fb_info; | 1327 | event.info = fb_info; |
1327 | notifier_call_chain(&fb_notifier_list, | 1328 | blocking_notifier_call_chain(&fb_notifier_list, |
1328 | FB_EVENT_FB_REGISTERED, &event); | 1329 | FB_EVENT_FB_REGISTERED, &event); |
1329 | return 0; | 1330 | return 0; |
1330 | } | 1331 | } |
@@ -1366,7 +1367,7 @@ unregister_framebuffer(struct fb_info *fb_info) | |||
1366 | */ | 1367 | */ |
1367 | int fb_register_client(struct notifier_block *nb) | 1368 | int fb_register_client(struct notifier_block *nb) |
1368 | { | 1369 | { |
1369 | return notifier_chain_register(&fb_notifier_list, nb); | 1370 | return blocking_notifier_chain_register(&fb_notifier_list, nb); |
1370 | } | 1371 | } |
1371 | 1372 | ||
1372 | /** | 1373 | /** |
@@ -1375,7 +1376,7 @@ int fb_register_client(struct notifier_block *nb) | |||
1375 | */ | 1376 | */ |
1376 | int fb_unregister_client(struct notifier_block *nb) | 1377 | int fb_unregister_client(struct notifier_block *nb) |
1377 | { | 1378 | { |
1378 | return notifier_chain_unregister(&fb_notifier_list, nb); | 1379 | return blocking_notifier_chain_unregister(&fb_notifier_list, nb); |
1379 | } | 1380 | } |
1380 | 1381 | ||
1381 | /** | 1382 | /** |
@@ -1393,11 +1394,13 @@ void fb_set_suspend(struct fb_info *info, int state) | |||
1393 | 1394 | ||
1394 | event.info = info; | 1395 | event.info = info; |
1395 | if (state) { | 1396 | if (state) { |
1396 | notifier_call_chain(&fb_notifier_list, FB_EVENT_SUSPEND, &event); | 1397 | blocking_notifier_call_chain(&fb_notifier_list, |
1398 | FB_EVENT_SUSPEND, &event); | ||
1397 | info->state = FBINFO_STATE_SUSPENDED; | 1399 | info->state = FBINFO_STATE_SUSPENDED; |
1398 | } else { | 1400 | } else { |
1399 | info->state = FBINFO_STATE_RUNNING; | 1401 | info->state = FBINFO_STATE_RUNNING; |
1400 | notifier_call_chain(&fb_notifier_list, FB_EVENT_RESUME, &event); | 1402 | blocking_notifier_call_chain(&fb_notifier_list, |
1403 | FB_EVENT_RESUME, &event); | ||
1401 | } | 1404 | } |
1402 | } | 1405 | } |
1403 | 1406 | ||
@@ -1469,7 +1472,7 @@ int fb_new_modelist(struct fb_info *info) | |||
1469 | 1472 | ||
1470 | if (!list_empty(&info->modelist)) { | 1473 | if (!list_empty(&info->modelist)) { |
1471 | event.info = info; | 1474 | event.info = info; |
1472 | err = notifier_call_chain(&fb_notifier_list, | 1475 | err = blocking_notifier_call_chain(&fb_notifier_list, |
1473 | FB_EVENT_NEW_MODELIST, | 1476 | FB_EVENT_NEW_MODELIST, |
1474 | &event); | 1477 | &event); |
1475 | } | 1478 | } |
@@ -1495,7 +1498,7 @@ int fb_con_duit(struct fb_info *info, int event, void *data) | |||
1495 | evnt.info = info; | 1498 | evnt.info = info; |
1496 | evnt.data = data; | 1499 | evnt.data = data; |
1497 | 1500 | ||
1498 | return notifier_call_chain(&fb_notifier_list, event, &evnt); | 1501 | return blocking_notifier_call_chain(&fb_notifier_list, event, &evnt); |
1499 | } | 1502 | } |
1500 | EXPORT_SYMBOL(fb_con_duit); | 1503 | EXPORT_SYMBOL(fb_con_duit); |
1501 | 1504 | ||