OSDN Git Service

iommu/arm-smmu: Fix -Wunused-const-variable warning
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 24 Dec 2019 08:15:00 +0000 (17:15 +0900)
committerWill Deacon <will@kernel.org>
Fri, 10 Jan 2020 09:49:27 +0000 (09:49 +0000)
For ARCH=arm builds, OF is not necessarily enabled, that is, you can
build this driver without CONFIG_OF.

When CONFIG_OF is unset, of_match_ptr() is NULL, and arm_smmu_of_match
is left orphan.

Building it with W=1 emits a warning:

drivers/iommu/arm-smmu.c:1904:34: warning: ‘arm_smmu_of_match’ defined but not used [-Wunused-const-variable=]
 static const struct of_device_id arm_smmu_of_match[] = {
                                  ^~~~~~~~~~~~~~~~~

There are two ways to fix this:

 - annotate arm_smmu_of_match with __maybe_unused (or surround the
   code with #ifdef CONFIG_OF ... #endif)

 - stop using of_match_ptr()

This commit took the latter solution.

It slightly increases the object size, but it is probably not a big deal
because arm_smmu_device_dt_probe() is also compiled irrespective of
CONFIG_OF.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu.c

index 93d3324..46b8774 100644 (file)
@@ -2310,7 +2310,7 @@ static const struct dev_pm_ops arm_smmu_pm_ops = {
 static struct platform_driver arm_smmu_driver = {
        .driver = {
                .name                   = "arm-smmu",
-               .of_match_table         = of_match_ptr(arm_smmu_of_match),
+               .of_match_table         = arm_smmu_of_match,
                .pm                     = &arm_smmu_pm_ops,
                .suppress_bind_attrs    = true,
        },