On 14/07/2025 10:03, Hans Zhang wrote: > > > On 2025/7/14 15:43, Krzysztof Kozlowski wrote: >> EXTERNAL EMAIL >> >> On 03/07/2025 03:47, Hans Zhang wrote: >>>>> >>>>> We initially used the logic of Cadence common driver as follows: >>>>> drivers/pci/controller/cadence/pcie-cadence-host.c >>>>> of_property_read_u32(np, "vendor-id", &rc->vendor_id); >>>>> >>>>> of_property_read_u32(np, "device-id", &rc->device_id); >>>>> >>>>> So, can the code in Cadence be deleted? >>>> >>>> Don't know. If this is ABI, then not. >>>> >>> >>> According to my understanding, this is not ABI. >> >> Huh? Then what is ABI, by your understanding? >> > > Dear Krzysztof, > > I understand kernel ABI primarily refers to the stable binary contract > between the kernel and userspace (e.g., syscalls, /sys/proc interfaces). > Device tree properties are part of the boot-time hardware description > consumed by drivers during initialization. They are not directly exposed > to userspace as ABI interfaces. > > If I understand wrongly, please correct me. Then that's wrong understanding. The DT interface, documented explicitly and one implied by kernel drivers in case it differs, is the ABI, as explained in docs in the kernel and what we said on the lists thousands of times. Best regards, Krzysztof