2005-11-04 03:50:04 +03:00
/*
* eeh_event . h
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*
* Copyright ( c ) 2005 Linas Vepstas < linas @ linas . org >
*/
2006-04-19 08:05:21 +04:00
# ifndef ASM_POWERPC_EEH_EVENT_H
# define ASM_POWERPC_EEH_EVENT_H
2005-12-17 00:43:46 +03:00
# ifdef __KERNEL__
2005-11-04 03:50:04 +03:00
/** EEH event -- structure holding pci controller data that describes
* a change in the isolation status of a PCI slot . A pointer
* to this struct is passed as the data pointer in a notify callback .
*/
struct eeh_event {
struct list_head list ;
struct device_node * dn ; /* struct device node */
struct pci_dev * dev ; /* affected device */
} ;
/**
* eeh_send_failure_event - generate a PCI error event
* @ dev pci device
*
* This routine builds a PCI error event which will be delivered
2006-04-19 08:05:21 +04:00
* to all listeners on the eeh_notifier_chain .
2005-11-04 03:50:04 +03:00
*
* This routine can be called within an interrupt context ;
* the actual event will be delivered in a normal context
* ( from a workqueue ) .
*/
int eeh_send_failure_event ( struct device_node * dn ,
2007-03-19 22:59:10 +03:00
struct pci_dev * dev ) ;
2005-11-04 03:50:04 +03:00
2005-11-04 03:52:49 +03:00
/* Main recovery function */
2006-04-19 08:05:21 +04:00
struct pci_dn * handle_eeh_events ( struct eeh_event * ) ;
2005-11-04 03:52:49 +03:00
2005-12-17 00:43:46 +03:00
# endif /* __KERNEL__ */
2006-04-19 08:05:21 +04:00
# endif /* ASM_POWERPC_EEH_EVENT_H */