Re: [PATCH 1/6] driver core: Introduce device_iommu_mapped() function

Sergei Shtylyov
2018-12-11T14:59:33Z

Hello!

On 12/11/2018 04:43 PM, Joerg Roedel wrote:

> From: Joerg Roedel <jroedel-l3A5Bk7waGM@public.gmane.org>
>
> Some places in the kernel check the iommu_group pointer in
> 'struct device' in order to find ot whether a device is
> mapped by an IOMMU.
>
> This is not good way to make this check, as the pointer will
> be moved to 'struct dev_iommu_data'. This way to make the
> check is also not very readable.
>
> Introduce an explicit function to perform this check.
>
> Cc: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
> Acked-by: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
> Acked-by: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
> Signed-off-by: Joerg Roedel <jroedel-l3A5Bk7waGM@public.gmane.org>
> ---
> include/linux/device.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 1b25c7a43f4c..6cb4640b6160 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -1058,6 +1058,16 @@ static inline struct device *kobj_to_dev(struct kobject *kobj)
> return container_of(kobj, struct device, kobj);
> }
>
> +/**
> + * device_iommu_mapped - Returns true when the device DMA is translated
> + * by an IOMMU
> + * @dev: Device to perform the check on
> + */
> +static inline bool device_iommu_mapped(struct device *dev)
> +{
> + return (dev->iommu_group != NULL);

You know that parens are unnecessary here, right? :-)

> +}
> +
> /* Get the wakeup routines, which depend on struct device */
> #include <linux/pm_wakeup.h>
>

MBR, Sergei