2011-06-29 20:46:54 +04:00
/*
* 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 .
*/
# ifndef _ASM_GENERIC_PCI_BRIDGE_H
# define _ASM_GENERIC_PCI_BRIDGE_H
# ifdef __KERNEL__
enum {
/* Force re-assigning all resources (ignore firmware
* setup completely )
*/
PCI_REASSIGN_ALL_RSRC = 0x00000001 ,
/* Re-assign all bus numbers */
PCI_REASSIGN_ALL_BUS = 0x00000002 ,
/* Do not try to assign, just use existing setup */
PCI_PROBE_ONLY = 0x00000004 ,
/* Don't bother with ISA alignment unless the bridge has
* ISA forwarding enabled
*/
PCI_CAN_SKIP_ISA_ALIGN = 0x00000008 ,
/* Enable domain numbers in /proc */
PCI_ENABLE_PROC_DOMAINS = 0x00000010 ,
/* ... except for domain 0 */
PCI_COMPAT_DOMAIN_0 = 0x00000020 ,
2012-05-01 01:21:02 +04:00
/* PCIe downstream ports are bridges that normally lead to only a
* device 0 , but if this is set , we scan all possible devices , not
* just device 0.
*/
PCI_SCAN_ALL_PCIE_DEVS = 0x00000040 ,
2011-06-29 20:46:54 +04:00
} ;
# ifdef CONFIG_PCI
extern unsigned int pci_flags ;
static inline void pci_set_flags ( int flags )
{
pci_flags = flags ;
}
static inline void pci_add_flags ( int flags )
{
pci_flags | = flags ;
}
2012-02-24 07:18:56 +04:00
static inline void pci_clear_flags ( int flags )
{
pci_flags & = ~ flags ;
}
2011-06-29 20:46:54 +04:00
static inline int pci_has_flag ( int flag )
{
return pci_flags & flag ;
}
# else
static inline void pci_set_flags ( int flags ) { }
static inline void pci_add_flags ( int flags ) { }
2012-02-24 07:18:56 +04:00
static inline void pci_clear_flags ( int flags ) { }
2011-06-29 20:46:54 +04:00
static inline int pci_has_flag ( int flag )
{
return 0 ;
}
# endif /* CONFIG_PCI */
# endif /* __KERNEL__ */
# endif /* _ASM_GENERIC_PCI_BRIDGE_H */