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 | * Return: 0 on success, negative error code on failure. |
24 | */ |
25 | int fb_register_client(struct notifier_block *nb) |
26 | { |
27 | return blocking_notifier_chain_register(nh: &fb_notifier_list, nb); |
28 | } |
29 | EXPORT_SYMBOL(fb_register_client); |
30 | |
31 | /** |
32 | * fb_unregister_client - unregister a client notifier |
33 | * @nb: notifier block to callback on events |
34 | * |
35 | * Return: 0 on success, negative error code on failure. |
36 | */ |
37 | int fb_unregister_client(struct notifier_block *nb) |
38 | { |
39 | return blocking_notifier_chain_unregister(nh: &fb_notifier_list, nb); |
40 | } |
41 | EXPORT_SYMBOL(fb_unregister_client); |
42 | |
43 | /** |
44 | * fb_notifier_call_chain - notify clients of fb_events |
45 | * @val: value passed to callback |
46 | * @v: pointer passed to callback |
47 | * |
48 | * Return: The return value of the last notifier function |
49 | */ |
50 | int fb_notifier_call_chain(unsigned long val, void *v) |
51 | { |
52 | return blocking_notifier_call_chain(nh: &fb_notifier_list, val, v); |
53 | } |
54 | EXPORT_SYMBOL_GPL(fb_notifier_call_chain); |
55 |