From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH v4 3/5] PCI: generic: Quit clobbering our pci_ops. Date: Thu, 08 Oct 2015 17:09:56 +0200 Message-ID: <5128429.u9O5dh5qKB@wuerfel> References: <1443811443-18878-1-git-send-email-ddaney.cavm@gmail.com> <1443811443-18878-4-git-send-email-ddaney.cavm@gmail.com> <20151008150215.GB3885@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: In-Reply-To: <20151008150215.GB3885@localhost> Sender: linux-pci-owner@vger.kernel.org To: Bjorn Helgaas Cc: David Daney , linux-kernel@vger.kernel.org, Bjorn Helgaas , linux-pci@vger.kernel.org, Will Deacon , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Marc Zyngier , David Daney List-Id: devicetree@vger.kernel.org On Thursday 08 October 2015 10:02:16 Bjorn Helgaas wrote: > [+cc Arnd] > > Arnd, you had comments on the previous version. What do you think of > this one? Looks good to me > On Fri, Oct 02, 2015 at 11:44:01AM -0700, David Daney wrote: > > From: David Daney > > > > The pci-host-generic driver keeps a global struct pci_ops which it > > then patches with the .map_bus method appropriate for the bus device. > > A problem arises when the driver is used for two different types of > > bus devices, the .map_bus method for the last device probed clobbers > > the method for all previous devices. The result, only the last bus > > device probed has the proper .map_bus, and the others fail. > > > > Move the struct pci_ops into the bus specific structure, and > > initialize a pointer to it when the bus device is probed. > > > > Acked-by: Will Deacon > > Signed-off-by: David Daney > Reviewed-by: Arnd Bergmann