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 | |
42 | #include <uapi/linux/fsl_hypervisor.h> |
43 | |
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 |
64 | |