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
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to