linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>,
	Andrew Murray <andrew.murray@arm.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] of/pci: Add of_pci_parse_bus_range() function
Date: Thu, 14 Feb 2013 07:52:03 +0100	[thread overview]
Message-ID: <20130214065203.GA29588@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <20130213225844.B79093E3557@localhost>

[-- Attachment #1: Type: text/plain, Size: 2074 bytes --]

On Wed, Feb 13, 2013 at 10:58:44PM +0000, Grant Likely wrote:
> On Mon, 11 Feb 2013 09:22:20 +0100, Thierry Reding <thierry.reding@avionic-design.de> wrote:
> > This function can be used to parse a bus-range property as specified by
> > device nodes representing PCI bridges.
> > 
> > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> 
> Ditto for this one. We can wait on it until there is a user.

This is used by the Tegra driver and as I've explained the reason for
sending these patches separately was to get them merged beforehand to
reduce the number of dependencies that need to be tracked once the
driver is merged (possibly in 3.10, maybe later given the amount of
extra work you want done).

The patch used to be part of the Tegra series, but since Thomas started
using them for his Marvell work I thought it might be a good idea to
make them available separately.

But I can take it back into the Tegra series since that's where we seem
to be headed.

> > +/**
> > + * of_pci_parse_bus_range() - parse the bus-range property of a PCI device
> > + * @node: device node
> > + * @res: address to a struct resource to return the bus-range
> > + *
> > + * Returns 0 on success or a negative error-code on failure.
> > + */
> > +int of_pci_parse_bus_range(struct device_node *node, struct resource *res)
> > +{
> > +	const __be32 *values;
> > +	int len;
> > +
> > +	values = of_get_property(node, "bus-range", &len);
> > +	if (!values || len < sizeof(*values) * 2)
> > +		return -EINVAL;
> > +
> > +	res->name = node->name;
> > +	res->start = be32_to_cpup(values++);
> > +	res->end = be32_to_cpup(values);
> > +	res->flags = IORESOURCE_BUS;
> 
> Is there precedence for using struct resource for passing around the PCI
> bus range values? Who will be the user of this function?

The PCI core code actually keeps track of bus-ranges this way. See
drivers/pci/probe.c for instance which uses the global the busn_resource
variable and keeps a list of struct resource:s for each domain as well.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2013-02-14  6:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-11  8:22 [PATCH 0/4] Various PCI-related device tree helpers Thierry Reding
2013-02-11  8:22 ` [PATCH 1/4] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-02-11 19:43   ` Rob Herring
2013-02-12  6:45     ` Thierry Reding
2013-02-13 14:23       ` Rob Herring
2013-02-13 14:25         ` Thierry Reding
2013-02-13 19:54           ` Rob Herring
2013-02-13 21:29             ` Thierry Reding
2013-02-13 22:09               ` Grant Likely
2013-02-14  7:05                 ` Thierry Reding
2013-02-13 22:53   ` Grant Likely
2013-02-14 16:53     ` Andrew Murray
2013-02-14 19:17       ` Thierry Reding
2013-02-15  4:52         ` Thomas Petazzoni
2013-02-15 13:16         ` Linus Walleij
2013-02-18  9:38           ` Andrew Murray
2013-02-11  8:22 ` [PATCH v2 2/4] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-02-13 22:59   ` Grant Likely
2013-02-14  6:52     ` Thierry Reding
2013-02-11  8:22 ` [PATCH 3/4] of/pci: Add of_pci_get_bus() function Thierry Reding
2013-02-13 22:56   ` Grant Likely
2013-02-14  6:52     ` Thierry Reding
2013-02-11  8:22 ` [PATCH 4/4] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-02-13 22:58   ` Grant Likely
2013-02-14  6:52     ` Thierry Reding [this message]
2013-02-13 13:48 ` [PATCH 0/4] Various PCI-related device tree helpers Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130214065203.GA29588@avionic-0098.mockup.avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=andrew.murray@arm.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).