On 2020-09-15 22:13, Rob Herring wrote:
On Sat, Sep 12, 2020 at 01:51:42PM +0100, Marc Zyngier wrote:
A recent attempt at converting a couple of interrupt controllers from
early probing to standard platform drivers have badly failed, as it
became evident that although an interrupt controller can easily probe
late, device drivers for the endpoints connected to it are rarely
equipped to deal with probe deferral. Changes were swiftly reverted.
However, there is some value in *optionally* enabling this, if only
for development purposes, as there is otherwise a "chicken and egg"
problem, and a few people (cc'd) are working on a potential solution.
This short series enables the infrastructure for modular building
whilst retaining the usual early probing for monolithic build, and
introduces it to the three drivers that were previously made to probe
as platform drivers.
I hardly expected more OF_DECLARE macros when I opened this up. Given
desires to get rid of them, I don't think adding to it is the way
forward. That wrapping a platform driver around OF_DECLARE looks pretty
horrible IMO.
Nobody said it was cute. It's a band aid that allows us to move from the
status-quo that exists today. How would you propose we allow people to
go and start "fixing" drivers if you don't give them the opportunity
to even start trying?
I browsed some of the discussion around this. It didn't seem like it's
a large number of drivers that have to be fixed to defer probe
correctly. Am I missing something?
Well, that was enough drivers for the two platforms that had it enabled
to break horribly, without a way to go back to a working state. Do you
find that acceptable? I don't.
I'd rather keep the pressure on getting fw_devlink on by default.
So far, fw_devlink breaks everything under the sun, even without modular
irqchips. Most of my systems fail to boot if I enable it. So yes, it
really needs some work. And this series allows this work to happen.
M.
--
Jazz is not dead. It just smells funny...