Re: [PATCH 2/2] iommu/tegra-gart: Add support for struct iommu_device

From: Thierry Reding
Date: Thu Aug 17 2017 - 09:52:38 EST


On Thu, Aug 17, 2017 at 01:21:52AM +0300, Dmitry Osipenko wrote:
> Hello Joerg,
>
> On 10.08.2017 01:29, Joerg Roedel wrote:
> > From: Joerg Roedel <jroedel@xxxxxxx>
> >
> > Add a struct iommu_device to each tegra-gart and register it
> > with the iommu-core. Also link devices added to the driver
> > to their respective hardware iommus.
> >
> > Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
> > ---
> > drivers/iommu/tegra-gart.c | 26 ++++++++++++++++++++++++++
> > 1 file changed, 26 insertions(+)
> >
>
> Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> Tested-by: Dmitry Osipenko <digetx@xxxxxxxxx>
>
> > diff --git a/drivers/iommu/tegra-gart.c b/drivers/iommu/tegra-gart.c
> > index 29bafc6..b62f790 100644
> > --- a/drivers/iommu/tegra-gart.c
> > +++ b/drivers/iommu/tegra-gart.c
>
> [snip]
>
> > @@ -449,6 +472,9 @@ static int tegra_gart_remove(struct platform_device *pdev)
> > {
>
> BTW, GART's driver can't be build as a module, so this function is pretty much a
> dead code. Probably worth considering its removal.

Technically you can unbind the driver via sysfs, in which case this
function would still be called. That said, all sorts of things will
probably start to crash when you do that. I'd like to think that we
will eventually be able to deal with this sanely (there's some work
in progress to establish stronger links between devices, so that we
can sanely deal with this kind of dependency), so I think it's okay
to keep this around in case we ever get there.

I don't have any objections to making the driver unloadable if that
is what everyone else prefers, though. In that case, however, there
are more steps involved than just removing the ->remove() callback.

Thierry

Attachment: signature.asc
Description: PGP signature