On 18/09/2020 14:07, Andy Shevchenko wrote: > On Fri, Sep 18, 2020 at 10:51:57AM +0300, Sakari Ailus wrote: >> On Thu, Sep 17, 2020 at 03:45:14PM +0300, Andy Shevchenko wrote: >>> On Thu, Sep 17, 2020 at 11:52:28AM +0100, Dan Scally wrote: >>>> On 17/09/2020 11:33, Sakari Ailus wrote: >>>>> a module and not enlarge everyone's kernel, and the initialisation would at >>>>> the same time take place before the rest of what the CIO2 driver does in >>>>> probe. >>>> I thought of that as well, but wasn't sure which was preferable. I can >>>> compress it into the CIO2 driver though sure. >>> Sakari, I tend to agree with Dan and have the board file separated from the >>> driver and even framework. >> And it'll be linked to the kernel binary then I suppose? > Solely depends to your Kconfig dependencies and declaration. > > From code perspective you may do it before enumeration of the certain device or > after with reprobe. > >> I don't have a strong opinion either way, just thought that this will >> affect anyone using x86 machines, whether or not they have IPU3. I guess it >> could be compiled in if the ipu3-cio2 driver is enabled? > Of course! Apologies both - my inexperience is showing here: I thought you couldn't make it compile into the kernel where it's dependent on another piece of code that's configured to be a module? In my case, ipu3-cio2 plus some other dependencies are configured as modules; VIDEO_DEV and VIDEO_V4L2 notably. Is that not right? It would probably make the probe() ordering issues easier if it could be compiled in, since I could just rely on late_initcall() in that case and I guess that should work.