On Tue, Aug 07, 2018 at 12:34:57PM +0000, Horia Geanta wrote: > On 8/7/2018 11:00 AM, Marcin Niestroj wrote: > > It is possible, that caam_jr_alloc() is called before JR devices are > > probed. Return -EPROBE_DEFER in drivers that rely on JR devices, so > > they are probed at later stage. > > > These drivers don't have a probe() callback. > Returning -EPROBE_DEFER in module's init() (caamrng) or crypto algorithm's > init() (caamalg etc.) callbacks is not going to help, they won't be called later. > > Does adding request_module("caam_jr") in module's init() solve the issue? If everything is built as a module this should always work because a module isn't available until after its init function has finished. So the only problem here appears to be when everything is built-in in which case the init functions are run in random order. So perhaps move caam_jr's module_init function to an earlier level (i.e., earlier than device_initcall)? Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt