From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753318AbdBJP6K (ORCPT ); Fri, 10 Feb 2017 10:58:10 -0500 Received: from 8bytes.org ([81.169.241.247]:56983 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752779AbdBJP5o (ORCPT ); Fri, 10 Feb 2017 10:57:44 -0500 Date: Fri, 10 Feb 2017 16:33:40 +0100 From: Joerg Roedel To: Robin Murphy Cc: Will Deacon , Lorenzo Pieralisi , Alex Williamson , David Woodhouse , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Joerg Roedel Subject: Re: [PATCH 08/11] iommu/msm: Make use of iommu_device_register interface Message-ID: <20170210153339.GK7339@8bytes.org> References: <1486639981-32368-1-git-send-email-joro@8bytes.org> <1486639981-32368-9-git-send-email-joro@8bytes.org> <5bda5842-45b4-fc3c-7eea-351e4c2261b1@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5bda5842-45b4-fc3c-7eea-351e4c2261b1@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 10, 2017 at 02:35:39PM +0000, Robin Murphy wrote: > On 09/02/17 11:32, Joerg Roedel wrote: > > + ret = iommu_device_sysfs_add(&iommu->iommu, iommu->dev, NULL, > > + "msm-smmu.%pa", &ioaddr); > > + if (ret) { > > + pr_err("Could not add msm-smmu at %pa to sysfs\n", &ioaddr); > > + goto fail; > > + } > > Nit: there's a bit of inconsistency with printing errors between the > various drivers (for both _sysfs_add and _register). I reckon if we want > error messages we may as well just fold them into the helper functions. Yeah, this could be unified too. For now I looked how verbose the driver was that I was going to change and added messages to be consistent inside the drivers. > > > + > > + iommu_device_set_ops(&iommu->iommu, &msm_iommu_ops); > > + iommu_device_set_fwnode(&iommu->iommu, &pdev->dev.of_node->fwnode); > > + > > + ret = iommu_device_register(&iommu->iommu); > > + if (ret) { > > + pr_err("Could not register msm-smmu at %pa\n", &ioaddr); > > + goto fail; > > + } > > I think there's a corresponding unregister missing for > msm_iommu_remove() here (and similarly in the ARM SMMU drivers, looking > back). I know it's not strictly a problem at the moment, but I do now > have IOMMU-drivers-as-modules working on top of the probe deferral > series... ;) Well, that there was an iommu_register_instance() without any unregistration interface at all makes me believe that unregistering iommus is not really implemented yet. And in fact, the remove functions for msm and arm-smmu seem to only disable the hardware, but are not removing the corresponding data structures. So I think we are fine from that side. Joerg