* Matthias Schiffer <matthias.schiffer@xxxxxxxxxxxxxxx> [220309 11:09]: > while I agree that it would be great if drivers could just detect when > hardware is not available, this is simply not how most drivers work - > when you instantiate the driver via a non-disabled(/reserved/...) DT > node, the driver expects a usable device. > > Especially for busses like I2C, there is no way for a driver to > reliably detect whether the bus is usable or not. (There are several > states that can't really be distinguished: Is pinmuxing missing, or > does the device not need any muxing? Is a line low because it is not > actually connected to anything, or is there another master currently > using the bus, or is the bus stuck due to a faulty device?) Well how about set only the problem devices with status = "disabled" with a proper comment in the SoC dtsi file? See for example what has been done in arch/arm64/boot/dts/apple that has been pretty widely reviewed and done with a good taste :) Not sure what can be done to idle the unused devices in the disabled case though, maybe some firmware call to disable all unclaimed devices could be done if it does not exist already. The firmware may not have the capability to idle devices that need firmware loaded to idle them for example though. Regards, Tony