> -----Original Message----- > From: Wood Scott-B07421 > Sent: Friday, January 03, 2014 4:19 PM > To: Lian Minghuan-B31939 > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; Zang Roy- > R61911; Bjorn Helgaas > Subject: Re: [02/12,v3] pci: fsl: add structure fsl_pci > > On Wed, Oct 23, 2013 at 06:41:24PM +0800, Minghuan Lian wrote: > > PowerPC uses structure pci_controller to describe PCI controller, but > > ARM uses structure pci_sys_data. In order to support PowerPC and ARM > > simultaneously, the patch adds a structure fsl_pci that contains most > > of the members of the pci_controller and pci_sys_data. > > Meanwhile, it defines a interface fsl_arch_sys_to_pci() which should > > be implemented in architecture-specific PCI controller driver to > > convert pci_controller or pci_sys_data to fsl_pci. > > > > Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> > > > > --- > > change log: > > v1-v3: > > Derived from http://patchwork.ozlabs.org/patch/278965/ > > > > Based on upstream master. > > Based on the discussion of RFC version here > > http://patchwork.ozlabs.org/patch/274487/ > > > > include/linux/fsl/pci-common.h | 41 > > +++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 41 insertions(+) > > > > diff --git a/include/linux/fsl/pci-common.h > > b/include/linux/fsl/pci-common.h index 5e4f683..e56a040 100644 > > --- a/include/linux/fsl/pci-common.h > > +++ b/include/linux/fsl/pci-common.h > > @@ -102,5 +102,46 @@ struct ccsr_pci { > > > > }; > > > > +/* > > + * Structure of a PCI controller (host bridge) */ struct fsl_pci { > > + struct list_head node; > > + bool is_pcie; > > + struct device_node *dn; > > + struct device *dev; > > + > > + int first_busno; > > + int last_busno; > > + int self_busno; > > + struct resource busn; > > + > > + struct pci_ops *ops; > > + struct ccsr_pci __iomem *regs; > > + > > + u32 indirect_type; > > + > > + struct resource io_resource; > > + resource_size_t io_base_phys; > > + resource_size_t pci_io_size; > > + > > + struct resource mem_resources[3]; > > + resource_size_t mem_offset[3]; > > + > > + int global_number; /* PCI domain number */ > > + > > + resource_size_t dma_window_base_cur; > > + resource_size_t dma_window_size; > > + > > + void *sys; > > +}; > > I don't like the extent to which this duplicates (not moves) PPC's struct > pci_controller. Also this leaves some fields like "indirect_type" > unexplained (PPC_INDIRECT_TYPE_xxx is only in the PPC header). INDIRECT type is for configuration space access, I do not think it is ppc header specific. It is good to put it to freescale pci common code. Roy -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html