 256154fbc3
			
		
	
	
	256154fbc3
	
	
	
		
			
			The backlight and lcd subsystems can be notified by the framebuffer layer of blanking events. However, these subsystems, as a whole, can function independently from the framebuffer layer. But in order to enable to the lcd and backlight subsystems, the framebuffer has to be compiled also, effectively sucking in a huge amount of unneeded code. To prevent dependency problems, separate out the framebuffer notification mechanism from the framebuffer layer and permanently link it to the kernel. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  linux/drivers/video/fb_notify.c
 | |
|  *
 | |
|  *  Copyright (C) 2006 Antonino Daplas <adaplas@pol.net>
 | |
|  *
 | |
|  *	2001 - Documented with DocBook
 | |
|  *	- Brad Douglas <brad@neruo.com>
 | |
|  *
 | |
|  * This file is subject to the terms and conditions of the GNU General Public
 | |
|  * License.  See the file COPYING in the main directory of this archive
 | |
|  * for more details.
 | |
|  */
 | |
| #include <linux/fb.h>
 | |
| #include <linux/notifier.h>
 | |
| 
 | |
| static BLOCKING_NOTIFIER_HEAD(fb_notifier_list);
 | |
| 
 | |
| /**
 | |
|  *	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);
 | |
| }
 | |
| EXPORT_SYMBOL(fb_register_client);
 | |
| 
 | |
| /**
 | |
|  *	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);
 | |
| }
 | |
| EXPORT_SYMBOL(fb_unregister_client);
 | |
| 
 | |
| /**
 | |
|  * fb_notifier_call_chain - notify clients of fb_events
 | |
|  *
 | |
|  */
 | |
| int fb_notifier_call_chain(unsigned long val, void *v)
 | |
| {
 | |
| 	return blocking_notifier_call_chain(&fb_notifier_list, val, v);
 | |
| }
 | |
| EXPORT_SYMBOL_GPL(fb_notifier_call_chain);
 |