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(&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); 55