Hi Joe, On Thu, Jul 05, 2012 at 09:08:38PM -0700, Joe Perches wrote: > On Thu, 2012-07-05 at 14:36 +0200, Joerg Roedel wrote: > > + static const char * const feat_str[] = { > > + "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", > > + "IA", "GA", "HE", "PC", NULL > > + }; > > + struct amd_iommu *iommu; > > + > > + for_each_iommu(iommu) { > > + int i; > > + pr_info("AMD-Vi: Found IOMMU at %s cap 0x%hx\n", > > + dev_name(&iommu->dev->dev), iommu->cap_ptr); > > + if (iommu->cap & (1 << IOMMU_CAP_EFR)) { > > + pr_info("AMD-Vi: Extended features: "); > > + for (i = 0; feat_str[i]; ++i) > > + if (iommu_feature(iommu, (1ULL << i))) > > + pr_cont(" %s", feat_str[i]); > > I think this should use {} around the for loop > and this would be better as: > > static const char * const feat_str[] = { > "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", > "IA", "GA", "HE", "PC" > }; > [] > for (i = 0; ARRAY_SIZE(feat_str); i++) { > if (iommu_feature(iommu, (1ULL << i))) > pr_cont(" %s", feat_str[i]); > }
Changed that, thanks. > I don't see the utility of the separate function and > this could just be inlined in the calling function. Well, the benefit is that the function call can be easily moved to another place if necessary. So I left the printks in the seperate function. The compiler will inline them anyway. Thanks, Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu