On Wed, Jan 17, 2018 at 02:28:08PM +0100, Joerg Roedel wrote: > On Wed, Jan 03, 2018 at 02:09:20PM +0800, Jeffy Chen wrote: > > The for_each_matching_node_and_match() would return every matching > > nodes including unavailable ones. > > > > It's pointless to init unavailable IOMMUs, so add a sanity check to > > avoid that. > > > > Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> > > --- > > > > drivers/iommu/of_iommu.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c > > index 50947ebb6d17..6f7456caa30d 100644 > > --- a/drivers/iommu/of_iommu.c > > +++ b/drivers/iommu/of_iommu.c > > @@ -240,6 +240,9 @@ static int __init of_iommu_init(void) > > for_each_matching_node_and_match(np, matches, &match) { > > const of_iommu_init_fn init_fn = match->data; > > > > + if (!of_device_is_available(np)) > > + continue; > > + > > Makes sense to me, but I'd like to have an OK from Robin or Will (added > to Cc) before applying this.
I don't think this patch makes a lot of sense in isolation: the SMMU drivers themselves will likely still probe, and it's unclear what we should about DMA when an IOMMU is not deemed to be available. See: https://patchwork.kernel.org/patch/9681211/ Jeffy -- are you solving a real issue here, or is this just an attempt at some cleanup? Will