Re: [RFC 04/20] iommu: Add iommu_device_get_info interface

From: Christoph Hellwig
Date: Wed Sep 22 2021 - 01:07:52 EST


On Wed, Sep 22, 2021 at 10:31:47AM +0800, Lu Baolu wrote:
> Hi Jason,
>
> On 9/22/21 12:19 AM, Jason Gunthorpe wrote:
>> On Sun, Sep 19, 2021 at 02:38:32PM +0800, Liu Yi L wrote:
>>> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
>>>
>>> This provides an interface for upper layers to get the per-device iommu
>>> attributes.
>>>
>>> int iommu_device_get_info(struct device *dev,
>>> enum iommu_devattr attr, void *data);
>>
>> Can't we use properly typed ops and functions here instead of a void
>> *data?
>>
>> get_snoop()
>> get_page_size()
>> get_addr_width()
>
> Yeah! Above are more friendly to the upper layer callers.

The other option would be a struct with all the attributes. Still
type safe, but not as many methods. It'll require a little boilerplate
in the callers, though.