On Sat, Jun 03, 2023 at 10:35:50AM +0800, Jianmin Lv wrote:
How about 3. handle of_device_is_available() in the probe function ofThis way does work only for the specified device. There are other devices,
the "loongson, pci-gmac" driver? Would that not work?
such as HDA, I2S, etc, which have shared pins. Then we have to add
of_device_is_available() checking to those drivers one by one. And we are
not sure if there are other devices in new generation chips in future. So
I'm afraid that the way you mentioned is not suitable for us.
Got it, so you have more on-chip PCIe devices than the ones listed in
loongson64-2k1000.dtsi, and you don't want to describe them in the
device tree just to put status = "disabled" for those devices/functions
that you don't want Linux to use - although you could, and it wouldn't
be that hard or have unintended side effects.
Though you need to admit, in case you had an on-chip multi-function PCIe
device like the NXP ENETC, and you wanted Linux to not use function 0,
the strategy you're suggesting here that is acceptable for Loongson
would not have worked.
I believe we need a bit of coordination from PCIe and device tree
maintainers, to suggest what would be the encouraged best practices and
ways to solve this regression for the ENETC.