[PATCH] of: When constructing the bus id consider assigned-addresses as well

Grant Likely grant.likely at secretlab.ca
Tue Nov 27 01:03:16 EST 2012


On Wed, 21 Nov 2012 14:02:40 -0700, Jason Gunthorpe <jgunthorpe at obsidianresearch.com> wrote:
> 'assigned-addresses' is used for certain PCI device type nodes in
> lieu of 'reg',  since this is enforced by of/address.c, have
> of_device_make_bus_id look there as well.
> 
> Signed-off-by: Jason Gunthorpe <jgunthorpe at obsidianresearch.com>

If it is a PCI device, then of_device_make_bus_id() shouldn't come into
play. PCI devices already have their own naming scheme. Only
platform_bus device creation uses of_device_make_bus_id(). What am I
missing?

g.

> ---
>  drivers/of/platform.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> of_can_translate_address and of_translate_address already support
> using assigned-addresses.
> 
> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
> index b80891b..4f0f701 100644
> --- a/drivers/of/platform.c
> +++ b/drivers/of/platform.c
> @@ -105,6 +105,8 @@ void of_device_make_bus_id(struct device *dev)
>  	 * For MMIO, get the physical address
>  	 */
>  	reg = of_get_property(node, "reg", NULL);
> +	if (!reg)
> +		reg = of_get_property(node, "assigned-addresses", NULL);
>  	if (reg) {
>  		if (of_can_translate_address(node)) {
>  			addr = of_translate_address(node, reg);
> -- 
> 1.7.5.4
> 

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.


More information about the devicetree-discuss mailing list