On Thu, 2016-06-16 at 07:53 +1000, Ian Munsie wrote: > This could probably use a description in the commit message, perhaps > including output showing the before/after difference this makes to > lsvpd, but otherwise it looks fine to me. > > @Mikey - this look OK to you?
Yeah I think this is a good idea. IIRC, we had something like this really early on but hit some random issue and pulled it out before posting. Mikey > Acked-by: Ian Munsie <imun...@au1.ibm.com> > > Excerpts from Frederic Barrat's message of 2016-06-15 16:42:16 +0200: > > > > Tested by cxlflash on bare-metal and powerVM. > > > > Signed-off-by: Frederic Barrat <fbar...@linux.vnet.ibm.com> > > --- > > drivers/misc/cxl/vphb.c | 21 ++++++++++----------- > > 1 file changed, 10 insertions(+), 11 deletions(-) > > > > diff --git a/drivers/misc/cxl/vphb.c b/drivers/misc/cxl/vphb.c > > index cdc7723..012b6aa 100644 > > --- a/drivers/misc/cxl/vphb.c > > +++ b/drivers/misc/cxl/vphb.c > > @@ -208,20 +208,19 @@ static struct pci_controller_ops > > cxl_pci_controller_ops = > > > > int cxl_pci_vphb_add(struct cxl_afu *afu) > > { > > - struct pci_dev *phys_dev; > > - struct pci_controller *phb, *phys_phb; > > + struct pci_controller *phb; > > struct device_node *vphb_dn; > > struct device *parent; > > > > - if (cpu_has_feature(CPU_FTR_HVMODE)) { > > - phys_dev = to_pci_dev(afu->adapter->dev.parent); > > - phys_phb = pci_bus_to_host(phys_dev->bus); > > - vphb_dn = phys_phb->dn; > > - parent = &phys_dev->dev; > > - } else { > > - vphb_dn = afu->adapter->dev.parent->of_node; > > - parent = afu->adapter->dev.parent; > > - } > > + /* The parent device is the adapter. Reuse the device node of > > + * the adapter. > > + * We don't seem to care what device node is used for the vPHB, > > + * but tools such as lsvpd walk up the device parents looking > > + * for a valid location code, so we might as well show devices > > + * attached to the adapter as being located on that adapter. > > + */ > > + parent = afu->adapter->dev.parent; > > + vphb_dn = parent->of_node; > > > > /* Alloc and setup PHB data structure */ > > phb = pcibios_alloc_controller(vphb_dn); _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev