Timur Tabi | 6db7199 | 2011-06-09 15:52:06 -0500 | [diff] [blame] | 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 | */ |
Timur Tabi | 6db7199 | 2011-06-09 15:52:06 -0500 | [diff] [blame] | 39 | #ifndef FSL_HYPERVISOR_H |
| 40 | #define FSL_HYPERVISOR_H |
| 41 | |
David Howells | 607ca46 | 2012-10-13 10:46:48 +0100 | [diff] [blame] | 42 | #include <uapi/linux/fsl_hypervisor.h> |
Timur Tabi | 6db7199 | 2011-06-09 15:52:06 -0500 | [diff] [blame] | 43 | |
Timur Tabi | 6db7199 | 2011-06-09 15:52:06 -0500 | [diff] [blame] | 44 | |
| 45 | /** |
| 46 | * fsl_hv_event_register() - register a callback for failover events |
| 47 | * @nb: pointer to caller-supplied notifier_block structure |
| 48 | * |
| 49 | * This function is called by device drivers to register their callback |
| 50 | * functions for fail-over events. |
| 51 | * |
| 52 | * The caller should allocate a notifier_block object and initialize the |
| 53 | * 'priority' and 'notifier_call' fields. |
| 54 | */ |
| 55 | int fsl_hv_failover_register(struct notifier_block *nb); |
| 56 | |
| 57 | /** |
| 58 | * fsl_hv_event_unregister() - unregister a callback for failover events |
| 59 | * @nb: the same 'nb' used in previous fsl_hv_failover_register call |
| 60 | */ |
| 61 | int fsl_hv_failover_unregister(struct notifier_block *nb); |
| 62 | |
| 63 | #endif |