162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright (c) 2005 Linas Vepstas <linas@linas.org> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef ASM_POWERPC_EEH_EVENT_H 862306a36Sopenharmony_ci#define ASM_POWERPC_EEH_EVENT_H 962306a36Sopenharmony_ci#ifdef __KERNEL__ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* 1262306a36Sopenharmony_ci * structure holding pci controller data that describes a 1362306a36Sopenharmony_ci * change in the isolation status of a PCI slot. A pointer 1462306a36Sopenharmony_ci * to this struct is passed as the data pointer in a notify 1562306a36Sopenharmony_ci * callback. 1662306a36Sopenharmony_ci */ 1762306a36Sopenharmony_cistruct eeh_event { 1862306a36Sopenharmony_ci struct list_head list; /* to form event queue */ 1962306a36Sopenharmony_ci struct eeh_pe *pe; /* EEH PE */ 2062306a36Sopenharmony_ci}; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciint eeh_event_init(void); 2362306a36Sopenharmony_ciint eeh_send_failure_event(struct eeh_pe *pe); 2462306a36Sopenharmony_ciint __eeh_send_failure_event(struct eeh_pe *pe); 2562306a36Sopenharmony_civoid eeh_remove_event(struct eeh_pe *pe, bool force); 2662306a36Sopenharmony_civoid eeh_handle_normal_event(struct eeh_pe *pe); 2762306a36Sopenharmony_civoid eeh_handle_special_event(void); 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#endif /* __KERNEL__ */ 3062306a36Sopenharmony_ci#endif /* ASM_POWERPC_EEH_EVENT_H */ 31