On 02/21/2013 04:11 PM, Rhyland Klein wrote:The main problem I ran into when I was essentially trying to do this, was that the list of names thatWith the growing support for dt, it make sense to try to make use ofWhen parsing the DT, you can convert from phandle (or struct device_node
dt features to make the general code cleaner. This patch is an
attempt to commonize how chargers and their supplies are linked.
Following common dt convention, the "supplied-to" char** list is
replaced with phandle lists defined in the supplies which contain
phandles of their suppliers.
This has the effect however of introducing an inversion in the internal
mechanics of how this information is stored. In the case of non-dt,
the char** list of supplies is stored in the charger. In the dt case,
a device_node * list is stored in the supplies of their chargers,
however this seems to be the only way to support this.
*) to the name of the referenced supply by simple lookup. So, you could
store supply names rather than device_node *. Can't you then also fill
in the referenced supply's existing char** list of supplies?
Of course, making this interact-with/use -EPROBE_DEFERRED might be
challenging, since this would be operating in the inverse order to other
producer/consumer relationships, which might cause loops.