fsl_hypervisor.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Freescale hypervisor ioctl and kernel interface
  3. *
  4. * Copyright (C) 2008-2011 Freescale Semiconductor, Inc.
  5. * Author: Timur Tabi <timur@freescale.com>
  6. *
  7. * Redistribution and use in source and binary forms, with or without
  8. * modification, are permitted provided that the following conditions are met:
  9. * * Redistributions of source code must retain the above copyright
  10. * notice, this list of conditions and the following disclaimer.
  11. * * Redistributions in binary form must reproduce the above copyright
  12. * notice, this list of conditions and the following disclaimer in the
  13. * documentation and/or other materials provided with the distribution.
  14. * * Neither the name of Freescale Semiconductor nor the
  15. * names of its contributors may be used to endorse or promote products
  16. * derived from this software without specific prior written permission.
  17. *
  18. *
  19. * ALTERNATIVELY, this software may be distributed under the terms of the
  20. * GNU General Public License ("GPL") as published by the Free Software
  21. * Foundation, either version 2 of that License or (at your option) any
  22. * later version.
  23. *
  24. * This software is provided by Freescale Semiconductor "as is" and any
  25. * express or implied warranties, including, but not limited to, the implied
  26. * warranties of merchantability and fitness for a particular purpose are
  27. * disclaimed. In no event shall Freescale Semiconductor be liable for any
  28. * direct, indirect, incidental, special, exemplary, or consequential damages
  29. * (including, but not limited to, procurement of substitute goods or services;
  30. * loss of use, data, or profits; or business interruption) however caused and
  31. * on any theory of liability, whether in contract, strict liability, or tort
  32. * (including negligence or otherwise) arising in any way out of the use of this
  33. * software, even if advised of the possibility of such damage.
  34. *
  35. * This file is used by the Freescale hypervisor management driver. It can
  36. * also be included by applications that need to communicate with the driver
  37. * via the ioctl interface.
  38. */
  39. #ifndef FSL_HYPERVISOR_H
  40. #define FSL_HYPERVISOR_H
  41. #include <uapi/linux/fsl_hypervisor.h>
  42. /**
  43. * fsl_hv_event_register() - register a callback for failover events
  44. * @nb: pointer to caller-supplied notifier_block structure
  45. *
  46. * This function is called by device drivers to register their callback
  47. * functions for fail-over events.
  48. *
  49. * The caller should allocate a notifier_block object and initialize the
  50. * 'priority' and 'notifier_call' fields.
  51. */
  52. int fsl_hv_failover_register(struct notifier_block *nb);
  53. /**
  54. * fsl_hv_event_unregister() - unregister a callback for failover events
  55. * @nb: the same 'nb' used in previous fsl_hv_failover_register call
  56. */
  57. int fsl_hv_failover_unregister(struct notifier_block *nb);
  58. #endif