diff options
| author | David S. Miller <davem@davemloft.net> | 2009-05-18 21:08:20 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-05-18 21:08:20 -0700 | 
| commit | bb803cfbecb03a0cf8dc7e1864f18dda6631af00 (patch) | |
| tree | 6c0989693bea6f50cfa5c6bb14f52ec19668def3 /drivers/video/console/fbcon.c | |
| parent | 3878fb6fdbceecca20b15748f807340854220f06 (diff) | |
| parent | 511e11e396dc596825ce04d53d7f6d579404bc01 (diff) | |
| download | olio-linux-3.10-bb803cfbecb03a0cf8dc7e1864f18dda6631af00.tar.xz olio-linux-3.10-bb803cfbecb03a0cf8dc7e1864f18dda6631af00.zip  | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	drivers/scsi/fcoe/fcoe.c
Diffstat (limited to 'drivers/video/console/fbcon.c')
| -rw-r--r-- | drivers/video/console/fbcon.c | 55 | 
1 files changed, 3 insertions, 52 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 2cd500a304f..471a9a60376 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -2263,9 +2263,12 @@ static void fbcon_generic_blank(struct vc_data *vc, struct fb_info *info,  	} +	if (!lock_fb_info(info)) +		return;  	event.info = info;  	event.data = ␣  	fb_notifier_call_chain(FB_EVENT_CONBLANK, &event); +	unlock_fb_info(info);  }  static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch) @@ -2956,8 +2959,6 @@ static int fbcon_fb_unregistered(struct fb_info *info)  {  	int i, idx; -	if (!lock_fb_info(info)) -		return -ENODEV;  	idx = info->node;  	for (i = first_fb_vc; i <= last_fb_vc; i++) {  		if (con2fb_map[i] == idx) @@ -2985,8 +2986,6 @@ static int fbcon_fb_unregistered(struct fb_info *info)  	if (primary_device == idx)  		primary_device = -1; -	unlock_fb_info(info); -  	if (!num_registered_fb)  		unregister_con_driver(&fb_con); @@ -3027,11 +3026,8 @@ static int fbcon_fb_registered(struct fb_info *info)  {  	int ret = 0, i, idx; -	if (!lock_fb_info(info)) -		return -ENODEV;  	idx = info->node;  	fbcon_select_primary(info); -	unlock_fb_info(info);  	if (info_idx == -1) {  		for (i = first_fb_vc; i <= last_fb_vc; i++) { @@ -3152,53 +3148,23 @@ static int fbcon_event_notify(struct notifier_block *self,  	switch(action) {  	case FB_EVENT_SUSPEND: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_suspended(info); -		unlock_fb_info(info);  		break;  	case FB_EVENT_RESUME: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_resumed(info); -		unlock_fb_info(info);  		break;  	case FB_EVENT_MODE_CHANGE: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_modechanged(info); -		unlock_fb_info(info);  		break;  	case FB_EVENT_MODE_CHANGE_ALL: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_set_all_vcs(info); -		unlock_fb_info(info);  		break;  	case FB_EVENT_MODE_DELETE:  		mode = event->data; -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		ret = fbcon_mode_deleted(info, mode); -		unlock_fb_info(info);  		break;  	case FB_EVENT_FB_UNBIND: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		idx = info->node; -		unlock_fb_info(info);  		ret = fbcon_fb_unbind(idx);  		break;  	case FB_EVENT_FB_REGISTERED: @@ -3217,29 +3183,14 @@ static int fbcon_event_notify(struct notifier_block *self,  		con2fb->framebuffer = con2fb_map[con2fb->console - 1];  		break;  	case FB_EVENT_BLANK: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_fb_blanked(info, *(int *)event->data); -		unlock_fb_info(info);  		break;  	case FB_EVENT_NEW_MODELIST: -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_new_modelist(info); -		unlock_fb_info(info);  		break;  	case FB_EVENT_GET_REQ:  		caps = event->data; -		if (!lock_fb_info(info)) { -			ret = -ENODEV; -			goto done; -		}  		fbcon_get_requirement(info, caps); -		unlock_fb_info(info);  		break;  	}  done:  |