On Mon, Feb 06, 2017 at 05:23:06PM +0000, Liviu Dudau wrote: > On Mon, Feb 06, 2017 at 11:09:49AM -0600, Rob Herring wrote: > > On Mon, Feb 06, 2017 at 10:29:33AM +0000, Liviu Dudau wrote: > > > On Fri, Feb 03, 2017 at 09:36:33PM -0600, Rob Herring wrote: > > > > - /* add the remote encoder port as component */ > > > > - port = of_graph_get_remote_port_parent(ep); > > > > - of_node_put(ep); > > > > - if (!port || !of_device_is_available(port)) { > > > > - of_node_put(port); > > > > - return -EAGAIN; > > > > > > The HDLCD change looks reasonable except for this -EAGAIN business. I'll have to > > > test your changes on my setup to see how this affects having the encoder as a module. > > > > What are you expecting to happen with -EAGAIN? This one was a bit of an > > oddball. > > When both the HDLCD and the TDA998x drivers are compiled as modules, the > order in which they are inserted can be somewhat random (due to testing). Not really "due to testing" but if you run a real distro, they tend to have a multi-threaded behaviour when loading kernel modules at boot. > It is at that time when you want the probe of HDLCD to be retried on the > insmod-ing of the tda998x.ko rather than fail entirely. -EAGAIN doesn't get you that, and in any case, solving that problem is exactly why the component API exists - so that DRM only comes up once all the necessary components are available. -EAGAIN also doesn't get you that from inside a probe function - such an error will be reported in the kernel log, and no further action will be taken (the device driver probe will be failed, and not automatically retried. The only case that we automatically retry is if a driver returns -EPROBE_DEFER. Everything else causes a probe failure. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html