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 of > > the "loongson, pci-gmac" driver? Would that not work? > > > This way does work only for the specified device. There are other devices, > 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.