Re: [PATCH v2 4/5] iommu: Add Broadcom BCM2712 IOMMU driver

Daniel Drake <[email protected]> Fri, 31 Jul 2026 21:34:02 +0100
Newsgroups dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 30/07/2026 08:00, Krzysztof Kozlowski wrote:
> On Mon, Jul 27, 2026 at 09:43:59PM +0100, Daniel Drake wrote:
>> +static int bcm2712_iommu_init_cache(struct bcm2712_iommu *mmu,
>> +				    struct platform_device *pdev)
>> +{
>> +	struct device *dev = &pdev->dev;
>> +	struct platform_device *cache_pdev;
>> +	struct device_node *cache_np;
>> +
>> +	cache_np = of_parse_phandle(dev->of_node, "brcm,iommu-cache", 0);
>> +
>> +	/* Fall back on 'cache' property used in old/downstream firmware */
>> +	if (!cache_np)
>> +		cache_np = of_parse_phandle(dev->of_node, "cache", 0);
> 
> NAK.
> 
> You cannot have undocumented ABI. I asked you to drop this at v1.
Is there any approach I should consider here in order to support 
existing shipped firmware versions that use the 'cache' property, or 
should I simply break compatibility?

While I was working on another issue recently there was a lean towards 
supporting existing/wrong DTs at the end of
https://lore.kernel.org/all/[email protected]/

but admittedly that case has some different parameters: it was incorrect 
DT values (not incorrect ABI) and also was more severe (breaks boot). In 
this case if the system were to boot without iommu support it is not the 
end of the world.

Thanks,
Daniel