| 1 | |
| 2 | * linux/drivers/video/fb_notify.c
|
| 3 | *
|
| 4 | * Copyright (C) 2006 Antonino Daplas <[email protected]>
|
| 5 | *
|
| 6 | * 2001 - Documented with DocBook
|
| 7 | * - Brad Douglas <[email protected]>
|
| 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(&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(&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(&fb_notifier_list, val, v);
|
| 53 | }
|
| 54 | EXPORT_SYMBOL_GPL(fb_notifier_call_chain);
|