diff options
Diffstat (limited to 'drivers/video/fbmem.c')
| -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 07d882b1439..b1a8dca7643 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -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);  |