diff options
author | Kefeng Wang <wangkefeng.wang@huawei.com> | 2016-06-01 02:06:15 -0400 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2016-06-23 15:57:40 -0400 |
commit | bb8e15d60462a84a25a3bf33e8bc29b46c6d470a (patch) | |
tree | b09eb2259c374d36808aba948788eb90b50dc5bc /arch/sh/boards/of-generic.c | |
parent | 5edb56491d4812c42175980759da53388e5d86f5 (diff) |
of: iommu: make of_iommu_init() postcore_initcall_sync
The of_iommu_init() is called multiple times by arch code,
make it postcore_initcall_sync, then we can drop relevant
calls fully.
Note, the IOMMUs should have a chance to perform some basic
initialisation before we start adding masters to them. So
postcore_initcall_sync is good choice, it ensures of_iommu_init()
called before of_platform_populate.
Acked-by: Rich Felker <dalias@libc.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Rich Felker <dalias@libc.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'arch/sh/boards/of-generic.c')
-rw-r--r-- | arch/sh/boards/of-generic.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/sh/boards/of-generic.c b/arch/sh/boards/of-generic.c index bf3a166a5407..b4d4313af6f1 100644 --- a/arch/sh/boards/of-generic.c +++ b/arch/sh/boards/of-generic.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/of.h> | 11 | #include <linux/of.h> |
12 | #include <linux/of_platform.h> | 12 | #include <linux/of_platform.h> |
13 | #include <linux/of_fdt.h> | 13 | #include <linux/of_fdt.h> |
14 | #include <linux/of_iommu.h> | ||
15 | #include <linux/clocksource.h> | 14 | #include <linux/clocksource.h> |
16 | #include <linux/irqchip.h> | 15 | #include <linux/irqchip.h> |
17 | #include <linux/clk-provider.h> | 16 | #include <linux/clk-provider.h> |
@@ -185,7 +184,6 @@ static int __init sh_of_device_init(void) | |||
185 | { | 184 | { |
186 | pr_info("SH generic board support: populating platform devices\n"); | 185 | pr_info("SH generic board support: populating platform devices\n"); |
187 | if (of_have_populated_dt()) { | 186 | if (of_have_populated_dt()) { |
188 | of_iommu_init(); | ||
189 | of_platform_populate(NULL, of_default_bus_match_table, | 187 | of_platform_populate(NULL, of_default_bus_match_table, |
190 | NULL, NULL); | 188 | NULL, NULL); |
191 | } else { | 189 | } else { |