Re: Re: Re: [PATCH 4/9] PCI: create platform devices for child OF nodes of the port node
From: Bartosz Golaszewski <hidden>
Date: 2024-02-02 10:02:21
Also in:
linux-arm-kernel, linux-arm-msm, linux-devicetree, linux-pci, linux-wireless, lkml
On Fri, Feb 2, 2024 at 1:03 AM Bjorn Andersson [off-list ref] wrote:
[snip]
quoted
quoted
I believe I missed this part of the discussion, why does this need to be a platform_device? What does the platform_bus bring that can't be provided by some other bus?Does it need to be a platform_device? No, of course not. Does it make sense for it to be one? Yes, for two reasons: 1. The ATH11K WLAN module is represented on the device tree like a platform device, we know it's always there and it consumes regulators from another platform device. The fact it uses PCIe doesn't change the fact that it is logically a platform device.Are you referring to the ath11k SNOC (firmware running on co-processor in the SoC) variant? Afaict the PCIe-attached ath11k is not represented as a platform_device in DeviceTree.
My bad. In RB5 it isn't (yet - I want to add it in the power sequencing series). It is in X13s though[1].
Said platform_device is also not a child under the PCIe bus, so this would be a different platform_device...
It's the child of the PCIe port node but there's a reason for it to have the `compatible` property. It's because it's an entity of whose existence we are aware before the system boots.
quoted
2. The platform bus already provides us with the entire infrastructure that we'd now need to duplicate (possibly adding bugs) in order to introduce a "power sequencing bus".This is a perfectly reasonable desire. Look at our PMICs, they are full of platform_devices. But through the years it's been said many times, that this is not a valid or good reason for using platform_devices, and as a result we have e.g. auxiliary bus.
Ok, so I cannot find this information anywhere (nor any example). Do you happen to know if the auxiliary bus offers any software node integration so that the `compatible` property from DT can get seamlessly mapped to auxiliary device IDs?
Anyway, (please) don't claim that "we need to", when it actually is "we want to use platform_device because that's more convenient"!
Bart [snip] [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts#n744