From a3281268e2205a88de74634dd7865eae248b1264 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 29 Aug 2008 22:42:34 -0700 Subject: [PATCH] --- yaml --- r: 113063 b: refs/heads/master c: ae05f87ee2f403228bca6d28fef29d6be0bfbedc h: refs/heads/master i: 113061: d5ee55f50cc4978b831b72d5680548c4dd52815d 113059: bd18e4ac0681a84c5352b488e2006f3ee133a897 113055: 95dad3376b7077e8023a7734e51fe292227e22db v: v3 --- [refs] | 2 +- trunk/arch/sparc64/kernel/pci.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5dfc458c5741..e00d0e3f1759 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e21e245bcd9d5244735799387d14421789b20557 +refs/heads/master: ae05f87ee2f403228bca6d28fef29d6be0bfbedc diff --git a/trunk/arch/sparc64/kernel/pci.c b/trunk/arch/sparc64/kernel/pci.c index 9bb4b8cbcacb..71d423a1c17a 100644 --- a/trunk/arch/sparc64/kernel/pci.c +++ b/trunk/arch/sparc64/kernel/pci.c @@ -337,6 +337,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, struct pci_bus *bus, int devfn) { struct dev_archdata *sd; + struct of_device *op; struct pci_dev *dev; const char *type; u32 class; @@ -350,14 +351,17 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, sd->stc = &pbm->stc; sd->host_controller = pbm; sd->prom_node = node; - sd->op = of_find_device_by_node(node); + sd->op = op = of_find_device_by_node(node); sd->numa_node = pbm->numa_node; - sd = &sd->op->dev.archdata; + sd = &op->dev.archdata; sd->iommu = pbm->iommu; sd->stc = &pbm->stc; sd->numa_node = pbm->numa_node; + if (!strcmp(node->name, "ebus")) + of_propagate_archdata(op); + type = of_get_property(node, "device_type", NULL); if (type == NULL) type = "";