On Tue, Jul 16, 2013 at 09:45:43AM -0600, Stephen Warren wrote:
Registering the driver earlier won't cause any bugs. However, it's not
the correct approach.
Deferred probe /is/ the approach for assuring correct dependencies
between drivers. It works and should be used. There are not enough
initcall levels to play games using initcalls and solve all the issues,
and the ordering requirements vary board-to-board. Deferred probe at
runtime handles this without having to manually place all the drivers
into specific initcall levels, and dynamically adjusts to board
differences, since it all happens automatically at run-time.
I do not quite follow the argument here. I agree with you that
deferred probe is the approach to solve dependencies. But it does not
necessarily mean that initcall can not be used to help it save some
nasty or nested deferring. Deferred probe and initcalls are not two
mutually exclusive mechanisms but two which can help each other.
Shawn