diff options
author | Gavin Shan <shangw@linux.vnet.ibm.com> | 2012-03-20 17:30:27 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-27 20:31:57 -0400 |
commit | 2a0352fa4a78081c76be1e450b51a6aa27c92616 (patch) | |
tree | cacc28c7f6058cdc5bbf3d940917ca06ef1df84e /arch/powerpc/include/asm/pci-bridge.h | |
parent | e22057c8599373e5caef0bc42bdb95d2a361ab0d (diff) |
powerpc/eeh: Remove eeh device from OF node
Originally, the PCI sensitive OF node is tracing the eeh device
through struct device_node->edev. However, it was regarded as
bad idea.
The patch removes struct device_node->edev and uses PCI_DN to
trace the corresponding eeh device according to BenH's comments.
Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/pci-bridge.h')
-rw-r--r-- | arch/powerpc/include/asm/pci-bridge.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h index 5d487657322e..21f99aec41b9 100644 --- a/arch/powerpc/include/asm/pci-bridge.h +++ b/arch/powerpc/include/asm/pci-bridge.h | |||
@@ -155,6 +155,7 @@ struct pci_dn { | |||
155 | 155 | ||
156 | struct pci_dev *pcidev; /* back-pointer to the pci device */ | 156 | struct pci_dev *pcidev; /* back-pointer to the pci device */ |
157 | #ifdef CONFIG_EEH | 157 | #ifdef CONFIG_EEH |
158 | struct eeh_dev *edev; /* eeh device */ | ||
158 | int class_code; /* pci device class */ | 159 | int class_code; /* pci device class */ |
159 | int eeh_mode; /* See eeh.h for possible EEH_MODEs */ | 160 | int eeh_mode; /* See eeh.h for possible EEH_MODEs */ |
160 | int eeh_config_addr; | 161 | int eeh_config_addr; |
@@ -185,6 +186,13 @@ static inline int pci_device_from_OF_node(struct device_node *np, | |||
185 | return 0; | 186 | return 0; |
186 | } | 187 | } |
187 | 188 | ||
189 | #if defined(CONFIG_EEH) | ||
190 | static inline struct eeh_dev *of_node_to_eeh_dev(struct device_node *dn) | ||
191 | { | ||
192 | return PCI_DN(dn)->edev; | ||
193 | } | ||
194 | #endif | ||
195 | |||
188 | /** Find the bus corresponding to the indicated device node */ | 196 | /** Find the bus corresponding to the indicated device node */ |
189 | extern struct pci_bus *pcibios_find_pci_bus(struct device_node *dn); | 197 | extern struct pci_bus *pcibios_find_pci_bus(struct device_node *dn); |
190 | 198 | ||