xref: /linux/drivers/video/fbdev/core/fb_notify.c (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 /*
2  *  linux/drivers/video/fb_notify.c
3  *
4  *  Copyright (C) 2006 Antonino Daplas <adaplas@pol.net>
5  *
6  *	2001 - Documented with DocBook
7  *	- Brad Douglas <brad@neruo.com>
8  *
9  * This file is subject to the terms and conditions of the GNU General Public
10  * License.  See the file COPYING in the main directory of this archive
11  * for more details.
12  */
13 #include <linux/fb.h>
14 #include <linux/notifier.h>
15 #include <linux/export.h>
16 
17 static BLOCKING_NOTIFIER_HEAD(fb_notifier_list);
18 
19 /**
20  *	fb_register_client - register a client notifier
21  *	@nb: notifier block to callback on events
22  */
23 int fb_register_client(struct notifier_block *nb)
24 {
25 	return blocking_notifier_chain_register(&fb_notifier_list, nb);
26 }
27 EXPORT_SYMBOL(fb_register_client);
28 
29 /**
30  *	fb_unregister_client - unregister a client notifier
31  *	@nb: notifier block to callback on events
32  */
33 int fb_unregister_client(struct notifier_block *nb)
34 {
35 	return blocking_notifier_chain_unregister(&fb_notifier_list, nb);
36 }
37 EXPORT_SYMBOL(fb_unregister_client);
38 
39 /**
40  * fb_notifier_call_chain - notify clients of fb_events
41  *
42  */
43 int fb_notifier_call_chain(unsigned long val, void *v)
44 {
45 	return blocking_notifier_call_chain(&fb_notifier_list, val, v);
46 }
47 EXPORT_SYMBOL_GPL(fb_notifier_call_chain);
48