linux/drivers/video/fbdev/core/fb_notify.c
<<
>>
Prefs
   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
  17static 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 */
  25int fb_register_client(struct notifier_block *nb)
  26{
  27        return blocking_notifier_chain_register(&fb_notifier_list, nb);
  28}
  29EXPORT_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 */
  37int fb_unregister_client(struct notifier_block *nb)
  38{
  39        return blocking_notifier_chain_unregister(&fb_notifier_list, nb);
  40}
  41EXPORT_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 */
  50int fb_notifier_call_chain(unsigned long val, void *v)
  51{
  52        return blocking_notifier_call_chain(&fb_notifier_list, val, v);
  53}
  54EXPORT_SYMBOL_GPL(fb_notifier_call_chain);
  55