From: David S. Miller Date: Fri, 2 Mar 2007 02:09:18 +0000 (-0800) Subject: [SPARC]: Provide pci_device_to_OF_node() just like powerpc. X-Git-Tag: v2.6.21-rc3~143 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=f6d0f9ea55277a49ef6c86a768acec021451b139;p=safe%2Fjmp%2Flinux-2.6 [SPARC]: Provide pci_device_to_OF_node() just like powerpc. Signed-off-by: David S. Miller --- diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c index 207f1b6..3fa5f95 100644 --- a/arch/sparc/kernel/pcic.c +++ b/arch/sparc/kernel/pcic.c @@ -944,6 +944,14 @@ int pcibios_assign_resource(struct pci_dev *pdev, int resource) return -ENXIO; } +struct device_node *pci_device_to_OF_node(struct pci_dev *pdev) +{ + struct pcidev_cookie *pc = pdev->sysdata; + + return pc->prom_node; +} +EXPORT_SYMBOL(pci_device_to_OF_node); + /* * This probably belongs here rather than ioport.c because * we do not want this crud linked into SBus kernels. diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 6fedfb9..196b4b7 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -681,4 +681,12 @@ void arch_teardown_msi_irq(unsigned int virt_irq) } #endif /* !(CONFIG_PCI_MSI) */ +struct device_node *pci_device_to_OF_node(struct pci_dev *pdev) +{ + struct pcidev_cookie *pc = pdev->sysdata; + + return pc->op->node; +} +EXPORT_SYMBOL(pci_device_to_OF_node); + #endif /* !(CONFIG_PCI) */ diff --git a/include/asm-sparc/pci.h b/include/asm-sparc/pci.h index 3864474..a750c688 100644 --- a/include/asm-sparc/pci.h +++ b/include/asm-sparc/pci.h @@ -165,6 +165,9 @@ static inline int pci_dma_mapping_error(dma_addr_t dma_addr) return (dma_addr == PCI_DMA_ERROR_CODE); } +struct device_node; +extern struct device_node *pci_device_to_OF_node(struct pci_dev *pdev); + #endif /* __KERNEL__ */ /* generic pci stuff */ diff --git a/include/asm-sparc64/pci.h b/include/asm-sparc64/pci.h index ca65602..b14a725 100644 --- a/include/asm-sparc64/pci.h +++ b/include/asm-sparc64/pci.h @@ -312,6 +312,9 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) return PCI_IRQ_NONE; } +struct device_node; +extern struct device_node *pci_device_to_OF_node(struct pci_dev *pdev); + #endif /* __KERNEL__ */ #endif /* __SPARC64_PCI_H */