Am 11.06.2015 um 14:30 schrieb Linus Walleij:
On Thu, Jun 11, 2015 at 12:17 PM, Alexander Holler <holler@xxxxxxxxxxxxx> wrote:
Am 11.06.2015 um 10:12 schrieb Linus Walleij:
On Wed, Jun 10, 2015 at 10:28 AM, Alexander Holler <holler@xxxxxxxxxxxxx>
wrote:
You would end up with the same problem of deadlocks as currently, and you
would still need something ugly like the defered probe brutforce to avoid
them.
Sorry I don't get that. Care to elaborate on why?
Because loading/initializing on demand doesn't give you any solved order of
drivers to initialize. And it can't because it has no idea about the
requirements of other drivers. The reason why it might work better in the
case of the tegra is that it might give you another initialization order
than the one which is currently choosen, which, by luck, might be a better
one.
But maybe I missed something, I haven't looked at the patches at all. But
just loading on demand, can't magically give you a working order of drivers
to initialize. E.g. how do you choose the first driver to initialize?
So the current patch set introduces dependencies (just for device tree)
and Tomeu is working on a more generic dependency approach for
any HW description.
The first driver to initialize will be as usual the first one in the list for
that initlevel, then walking up the initilevels.
However if any driver runs into a resource roadblock it will postpone
and wait for dependencies to probe first.
Certainly it is possible to create deadlocks in this scenario, but the
scope is not to create an ubreakable system.
IAnd what happens if you run into a deadlock? Do you print "you've lost,
try changing your kernel config" in some output hidden by a
splash-screen? ;)
That sounds like the fun with duck typed languages where you have to
test any and every possible screnario (something which is almost
impossible) in order to not run into something unexpected.
Anyway, have fun, good luck.
Alexander Holler
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html