|
@@ -44,7 +44,6 @@
|
|
#include <asm/openpromio.h>
|
|
#include <asm/openpromio.h>
|
|
#ifdef CONFIG_PCI
|
|
#ifdef CONFIG_PCI
|
|
#include <linux/pci.h>
|
|
#include <linux/pci.h>
|
|
-#include <asm/pbm.h>
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
MODULE_AUTHOR("Thomas K. Dyas (tdyas@noc.rutgers.edu) and Eddie C. Dost (ecd@skynet.be)");
|
|
MODULE_AUTHOR("Thomas K. Dyas (tdyas@noc.rutgers.edu) and Eddie C. Dost (ecd@skynet.be)");
|
|
@@ -248,18 +247,17 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
|
|
if (bufsize >= 2*sizeof(int)) {
|
|
if (bufsize >= 2*sizeof(int)) {
|
|
#ifdef CONFIG_PCI
|
|
#ifdef CONFIG_PCI
|
|
struct pci_dev *pdev;
|
|
struct pci_dev *pdev;
|
|
- struct pcidev_cookie *pcp;
|
|
|
|
|
|
+ struct device_node *dp;
|
|
|
|
+
|
|
pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0],
|
|
pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0],
|
|
((int *) op->oprom_array)[1]);
|
|
((int *) op->oprom_array)[1]);
|
|
|
|
|
|
- pcp = pdev->sysdata;
|
|
|
|
- if (pcp != NULL) {
|
|
|
|
- dp = pcp->prom_node;
|
|
|
|
- data->current_node = dp;
|
|
|
|
- *((int *)op->oprom_array) = dp->node;
|
|
|
|
- op->oprom_size = sizeof(int);
|
|
|
|
- err = copyout(argp, op, bufsize + sizeof(int));
|
|
|
|
- }
|
|
|
|
|
|
+ dp = pci_device_to_OF_node(pdev);
|
|
|
|
+ data->current_node = dp;
|
|
|
|
+ *((int *)op->oprom_array) = dp->node;
|
|
|
|
+ op->oprom_size = sizeof(int);
|
|
|
|
+ err = copyout(argp, op, bufsize + sizeof(int));
|
|
|
|
+
|
|
pci_dev_put(pdev);
|
|
pci_dev_put(pdev);
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|