On Wed, Mar 05, 2014 at 10:20:52AM +0100, Philipp Zabel wrote: > +struct imx_drm_component { > + struct device_node *of_node; > + struct list_head list; > +}; > +
The only thing this structure appears to be doing is ensuring that a single component doesn't get added twice - is that correct? If so, (and the troublesome problem with the IPU crtcs is now gone) we can modify the core component code such that it does this: if (c->master && c->master != master) continue; if (compare(c->dev, compare_data)) { if (!c->master) component_attach_master(master, c); ret = 0; break; } which will mean that you don't need to build this list anymore to track what will be added - though I'd like to think a little more about that before making that change. Please confirm whether this will eliminate your list generation. Thanks. -- FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it.