[PATCH v5 01/17] of/pci: Provide support for parsing PCI DT ranges property
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Fri Mar 22 06:20:59 EDT 2013
On Fri, 22 Mar 2013 11:12:39 +0100, Thierry Reding wrote:
> This sounds like you're trying to do too much within the for loop. When
> we discussed this previously I had a vague idea that this functionality
> could be wrapped into something a bit more object-like.
>
> What I had in mind was something like:
>
> struct of_pci_range_parser;
> struct of_pci_range;
>
> struct of_pci_range_parser parser;
> struct of_pci_range range;
>
> err = of_pci_range_parser(&parser, np);
> if (err < 0)
> return err;
>
> for_each_of_pci_range(range, parser) {
> struct resource res;
>
> ...
> usage of range similar to iterator
> ...
>
> of_pci_range_to_resource(&res, &range);
> }
>
> In the above the of_pci_range structure pretty much replaces the
> iterator and the whole is wrapped up within a parser structure to give
> some extra flexibility and provides for easier (or more structured)
> setup compared to doing all of it within the loop statement.
>
> But aside from the (perceived?) increased robustness there's not a lot
> of technical benefit over your implementation, so it isn't a very hard
> objection. I find it to be a little more encapsulated and therefore
> easier to work with, but that's possibly just a matter of taste.
I don't have a strong opinion on this. Andrew, what do you think?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list