On 30/08/2022 20:56, Tuma, Martin (Digiteq Automotive) wrote: > > >>>> Thanks for the patch. Empty commits are not accepted, so instead you >>>> should explain here why do you need it. In general, your change should >>>> not be needed, so please explain in detail why do you think otherwise. >>> >>> The reason the alias is required is that without the "platform" prefix, loading >>> the xiic module does not work properly in the mgb4 module. I can not explain >>> exactly why as my knowledge of the module loading mechanism in linux/modprobe >>> is quite limited, but that's how it is. The mgb4 v4l2 module requires two modules >>> that are defined using MODULE_SOFTDEP() to be loaded prior to the mgb4 >>> module - the Xilinx I2C module and the Xilinx SPI module. The SPI module already >>> has the "platform" prefixed alias and loads fine, while the I2C doesn't and does >>> not get loaded without it. So I added the alias to make the loading work. >>> >>> I will add the info that the alias is required by the mgb4 module to the commit >>> message the next time I will send the fixed patches, thanks for pointing this out. > >> Driver matches only by Devicetree, so instead of this patch you rather >> miss proper DTS. > > Can you please explain this in more depth? There is AFAIK no device tree on x86 > and I have no idea how this should work for a PCIe card on ARM either. Ah, right, you do not use it for DT platform. Then you need proper ID table, e.g. for ACPI. platform_device_id table would also do the trick but I don't think it is suitable for such matching via ACPI. > > The fact really is, that on x86_64 and ARM (Nvidia jetson) without any specific devicetree > where I tested the driver, the mgb4 driver loads properly both the I2C and SPI modules > defined using MODULE_SOFTDEP (there is no link dependency) if and only if they are > defined using the "platform" prefix (and the module has that alias, hence this patch). So > there must IMHO be some mechanism in the kernel or in modprobe, that works based > on the prefix. Nvidia Jetson is ARM (and not an ACPI?) so it comes with DT. Let's don't mix problems. Depending on the type of your system where this is used, you need proper matching. Sprinkling aliases is not the way, usually. Best regards, Krzysztof