[PATCH v7 04/16] drivers: iommu: make of_iommu_set/get_ops() DT agnostic

Robin Murphy robin.murphy at arm.com
Fri Nov 11 08:17:37 PST 2016


On 11/11/16 15:22, Joerg Roedel wrote:
> On Wed, Nov 09, 2016 at 02:19:36PM +0000, Lorenzo Pieralisi wrote:
>> +struct iommu_fwentry {
>> +	struct list_head list;
>> +	struct fwnode_handle *fwnode;
>> +	const struct iommu_ops *ops;
>> +};
> 
> Is there a reason the iommu_ops need to be stored there? Currently it
> seems that the ops are only needed to get the of_xlate fn-ptr later. And
> the place where it is called the iommu-ops should also be available
> through pdev->dev->bus->iommu_ops.

In the original of_iommu_configure design, the thought was that an ops
structure could be IOMMU-instance-specific (hence the later-removed
"priv" member), so I suppose right now it is mostly a hangover from
that. However, it's also what we initialise a device's fwspec with, so
becomes important again if we're ever going to get past the limitations
of buses-which-are-not-actually-buses[1].

Robin.

[1]:http://www.mail-archive.com/iommu@lists.linux-foundation.org/msg14576.html



More information about the linux-arm-kernel mailing list