xref: /linux/net/dcb/dcbevent.c (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 /*
2  * Copyright (c) 2010, Intel Corporation.
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms and conditions of the GNU General Public License,
6  * version 2, as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  * You should have received a copy of the GNU General Public License along with
14  * this program; if not, see <http://www.gnu.org/licenses/>.
15  *
16  * Author: John Fastabend <john.r.fastabend@intel.com>
17  */
18 
19 #include <linux/rtnetlink.h>
20 #include <linux/notifier.h>
21 #include <linux/export.h>
22 #include <net/dcbevent.h>
23 
24 static ATOMIC_NOTIFIER_HEAD(dcbevent_notif_chain);
25 
26 int register_dcbevent_notifier(struct notifier_block *nb)
27 {
28 	return atomic_notifier_chain_register(&dcbevent_notif_chain, nb);
29 }
30 EXPORT_SYMBOL(register_dcbevent_notifier);
31 
32 int unregister_dcbevent_notifier(struct notifier_block *nb)
33 {
34 	return atomic_notifier_chain_unregister(&dcbevent_notif_chain, nb);
35 }
36 EXPORT_SYMBOL(unregister_dcbevent_notifier);
37 
38 int call_dcbevent_notifiers(unsigned long val, void *v)
39 {
40 	return atomic_notifier_call_chain(&dcbevent_notif_chain, val, v);
41 }
42