1*9952f691SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 296b99684SJohn Fastabend /* 396b99684SJohn Fastabend * Copyright (c) 2010, Intel Corporation. 496b99684SJohn Fastabend * 596b99684SJohn Fastabend * Author: John Fastabend <john.r.fastabend@intel.com> 696b99684SJohn Fastabend */ 796b99684SJohn Fastabend 896b99684SJohn Fastabend #include <linux/rtnetlink.h> 996b99684SJohn Fastabend #include <linux/notifier.h> 10bc3b2d7fSPaul Gortmaker #include <linux/export.h> 1123bdbc80Sstephen hemminger #include <net/dcbevent.h> 1296b99684SJohn Fastabend 1396b99684SJohn Fastabend static ATOMIC_NOTIFIER_HEAD(dcbevent_notif_chain); 1496b99684SJohn Fastabend register_dcbevent_notifier(struct notifier_block * nb)1596b99684SJohn Fastabendint register_dcbevent_notifier(struct notifier_block *nb) 1696b99684SJohn Fastabend { 1796b99684SJohn Fastabend return atomic_notifier_chain_register(&dcbevent_notif_chain, nb); 1896b99684SJohn Fastabend } 1996b99684SJohn Fastabend EXPORT_SYMBOL(register_dcbevent_notifier); 2096b99684SJohn Fastabend unregister_dcbevent_notifier(struct notifier_block * nb)2196b99684SJohn Fastabendint unregister_dcbevent_notifier(struct notifier_block *nb) 2296b99684SJohn Fastabend { 2396b99684SJohn Fastabend return atomic_notifier_chain_unregister(&dcbevent_notif_chain, nb); 2496b99684SJohn Fastabend } 2596b99684SJohn Fastabend EXPORT_SYMBOL(unregister_dcbevent_notifier); 2696b99684SJohn Fastabend call_dcbevent_notifiers(unsigned long val,void * v)2796b99684SJohn Fastabendint call_dcbevent_notifiers(unsigned long val, void *v) 2896b99684SJohn Fastabend { 2996b99684SJohn Fastabend return atomic_notifier_call_chain(&dcbevent_notif_chain, val, v); 3096b99684SJohn Fastabend } 31