[PATCH] pci: Provide support for parsing PCI DT ranges property

Andrew Murray andrew.murray at arm.com
Thu Dec 13 21:34:12 EST 2012


On Thu, Dec 13, 2012 at 10:03:18AM +0000, Thierry Reding wrote:
> On Thu, Dec 13, 2012 at 09:45:43AM +0000, Andrew Murray wrote:
> > On Thu, Dec 13, 2012 at 09:13:33AM +0000, Thierry Reding wrote:
> > > Hi Andrew,
> > > 
> > > I don't like iterator interfaces too much, but I can live with that.
> > > Other than that the patch looks good to me and I'll try to work it into
> > > my Tegra PCIe patch series.
> > > 
> > > Just two minor comments below.
> > > 
> > > > diff --git a/drivers/of/address.c b/drivers/of/address.c
> > > [...]
> > > > @@ -421,7 +472,7 @@ u64 __of_translate_address(struct device_node *dev, const __be32 *in_addr,
> > > >  		goto bail;
> > > >  	bus = of_match_bus(parent);
> > > >  
> > > > -	/* Cound address cells & copy address locally */
> > > > +	/* Count address cells & copy address locally */
> > > >  	bus->count_cells(dev, &na, &ns);
> > > >  	if (!OF_CHECK_COUNTS(na, ns)) {
> > > >  		printk(KERN_ERR "prom_parse: Bad cell count for %s\n",
> > > 
> > > This is really minor, but it should still go into a separate patch.
> > > 
> > > > diff --git a/include/linux/of_address.h b/include/linux/of_address.h
> > > > index 01b925a..4582b20 100644
> > > > --- a/include/linux/of_address.h
> > > > +++ b/include/linux/of_address.h
> > > > @@ -26,6 +26,8 @@ static inline unsigned long pci_address_to_pio(phys_addr_t addr) { return -1; }
> > > >  #define pci_address_to_pio pci_address_to_pio
> > > >  #endif
> > > >  
> > > > +const __be32 *of_pci_process_ranges(struct device_node *node,
> > > > +				    struct resource *res, const __be32 *from);
> > > >  #else /* CONFIG_OF_ADDRESS */
> > > >  static inline int of_address_to_resource(struct device_node *dev, int index,
> > > >  					 struct resource *r)
> > > > @@ -48,6 +50,11 @@ static inline const u32 *of_get_address(struct device_node *dev, int index,
> > > >  {
> > > >  	return NULL;
> > > >  }
> > > > +const __be32 *of_pci_process_ranges(struct device_node *node,
> > > 
> > > There should be a blank line to separate the above two lines.
> > > 
> > 
> > Thanks for the feedback.
> > 
> > I will send another patch for the typo and leave this patch with you for
> > working into your existing series.
> 
> I suppose you have your own series that uses this patch?

Not yet, it may be some time before I submit my PCI host bridge driver. Though
I am making changes else where (e.g. this patch) which I'm hoping to submit as
early as possible. I can rebase my work for these upstream dependencies.

I can re-spin this patch with your suggested changes if you prefer?

Andrew Murray




More information about the devicetree-discuss mailing list