linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/18] Cleanup for populate default bus
@ 2016-06-01  6:52 Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 01/18] of/platform: Add common method to " Kefeng Wang
                   ` (18 more replies)
  0 siblings, 19 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang

This cleanup patchset cantains two parts.

Firstly, introduce a new way to populate the default bus, then, we can
drop unnecessary calls from the arch code, and do the same thing for
of_iommu_init() in [1].

Secondly, use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with default
match table, After that, it is possible for driver code build as a module,
and no need to export of_default_bus_match_table anymore.

This patchset is based on Linux 4.7-rc1, and only test in arm/arm64 qemu
with defconfig.

Changes since v4:
- Rebase to v4.7-rc1
- Remove pointless msg when acpi_disabled, sugguested by Rob Herring

Changes since v3:
- Get rid of by making of_platform_populate callable multiple times,
  sugguested by Rob Herring

Changes since v2:
- Add more acks
- Update based on v4.6-rc2, of-generic.c in sh and board-artpec6.c in arm
  are considered

Changes since v1:
- Add ack, test and review
- Remove v1 patch 14/15, the similar patch has posted and applied,
  see https://patchwork.kernel.org/patch/8096991/

v1:
- https://lkml.org/lkml/2016/1/26/1123

[1]: 
- v1: https://lkml.org/lkml/2016/4/23/31
- v2: https://lkml.org/lkml/2016/6/1/43

Kefeng Wang (18):
  of/platform: Add common method to populate default bus
  arc: Remove unnecessary of_platform_populate with default match table
  arm: Remove unnecessary of_platform_populate with default match table
  arm64: Remove unnecessary of_platform_populate with default match
    table
  c6x: Remove unnecessary of_platform_populate with default match table
  cris: Remove unnecessary of_platform_populate with default match
    table
  metag: Remove unnecessary of_platform_populate with default match
    table
  mips: Remove unnecessary of_platform_populate with default match
    table
  nios2: Remove unnecessary of_platform_populate with default match
    table
  sh: Remove unnecessary of_platform_populate with default match table
  xtensa: Remove unnecessary of_platform_populate with default match
    table
  arm: use of_platform_default_populate() to populate
  mips: use of_platform_default_populate() to populate default bus
  bus: imx-weim: use of_platform_default_populate() to populate default
    bus
  bus: uniphier-system-bus: use of_platform_default_populate() to
    populate default bus
  memory: omap-gpmc: use of_platform_default_populate() to populate
    default bus
  of: unittest: use of_platform_default_populate() to populate default
    bus
  Revert "of/platform: export of_default_bus_match_table"

 arch/arc/kernel/setup.c                  |  7 -------
 arch/arm/kernel/setup.c                  |  6 +-----
 arch/arm/mach-artpec/board-artpec6.c     |  3 ---
 arch/arm/mach-at91/at91rm9200.c          |  2 +-
 arch/arm/mach-at91/at91sam9.c            |  2 +-
 arch/arm/mach-at91/sama5.c               |  2 +-
 arch/arm/mach-bcm/board_bcm21664.c       |  2 --
 arch/arm/mach-bcm/board_bcm281xx.c       |  2 --
 arch/arm/mach-bcm/board_bcm2835.c        | 10 ----------
 arch/arm/mach-cns3xxx/core.c             |  3 +--
 arch/arm/mach-exynos/exynos.c            |  3 ---
 arch/arm/mach-highbank/highbank.c        |  3 ---
 arch/arm/mach-imx/mach-imx51.c           |  2 --
 arch/arm/mach-imx/mach-imx53.c           |  2 --
 arch/arm/mach-imx/mach-imx6q.c           |  2 +-
 arch/arm/mach-imx/mach-imx6sl.c          |  2 +-
 arch/arm/mach-imx/mach-imx6sx.c          |  2 +-
 arch/arm/mach-imx/mach-imx6ul.c          |  1 -
 arch/arm/mach-imx/mach-imx7d.c           |  1 -
 arch/arm/mach-integrator/integrator_ap.c |  3 +--
 arch/arm/mach-integrator/integrator_cp.c |  3 +--
 arch/arm/mach-keystone/keystone.c        |  1 -
 arch/arm/mach-lpc32xx/phy3250.c          |  3 +--
 arch/arm/mach-mvebu/board-v7.c           |  3 ---
 arch/arm/mach-mvebu/dove.c               |  2 --
 arch/arm/mach-mvebu/kirkwood.c           |  2 +-
 arch/arm/mach-mxs/mach-mxs.c             |  3 +--
 arch/arm/mach-nspire/nspire.c            |  3 +--
 arch/arm/mach-orion5x/board-dt.c         |  3 +--
 arch/arm/mach-picoxcell/common.c         |  2 --
 arch/arm/mach-rockchip/rockchip.c        |  1 -
 arch/arm/mach-s3c24xx/mach-s3c2416-dt.c  |  2 --
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c  |  3 ---
 arch/arm/mach-shmobile/setup-r8a7740.c   |  3 ---
 arch/arm/mach-shmobile/setup-sh73a0.c    |  2 --
 arch/arm/mach-spear/spear1310.c          |  2 --
 arch/arm/mach-spear/spear1340.c          |  1 -
 arch/arm/mach-spear/spear300.c           |  3 +--
 arch/arm/mach-spear/spear310.c           |  3 +--
 arch/arm/mach-spear/spear320.c           |  3 +--
 arch/arm/mach-spear/spear6xx.c           |  3 +--
 arch/arm/mach-tegra/tegra.c              |  2 +-
 arch/arm/mach-u300/core.c                |  3 +--
 arch/arm/mach-versatile/versatile_dt.c   |  3 +--
 arch/arm/mach-vt8500/vt8500.c            |  3 ---
 arch/arm/mach-zynq/common.c              |  2 +-
 arch/arm64/kernel/setup.c                | 13 -------------
 arch/c6x/platforms/Makefile              |  2 +-
 arch/c6x/platforms/platform.c            | 17 -----------------
 arch/cris/kernel/setup.c                 |  8 --------
 arch/metag/kernel/setup.c                |  5 +----
 arch/mips/ath79/setup.c                  |  3 ---
 arch/mips/jz4740/setup.c                 |  8 --------
 arch/mips/mti-sead3/sead3-setup.c        |  8 --------
 arch/mips/pic32/pic32mzda/init.c         |  3 +--
 arch/mips/pistachio/init.c               | 13 -------------
 arch/mips/xilfpga/init.c                 | 13 -------------
 arch/nios2/platform/platform.c           |  4 +---
 arch/sh/boards/of-generic.c              | 14 --------------
 arch/xtensa/kernel/setup.c               | 11 -----------
 arch/xtensa/kernel/time.c                |  2 ++
 drivers/bus/imx-weim.c                   |  5 ++---
 drivers/bus/uniphier-system-bus.c        |  3 +--
 drivers/memory/omap-gpmc.c               |  3 +--
 drivers/of/platform.c                    | 21 +++++++++++++++++++--
 drivers/of/unittest.c                    |  5 ++---
 66 files changed, 54 insertions(+), 231 deletions(-)
 delete mode 100644 arch/c6x/platforms/platform.c

-- 
1.7.12.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v5 01/18] of/platform: Add common method to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 02/18] arc: Remove unnecessary of_platform_populate with default match table Kefeng Wang
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Frank Rowand

The arch code calls of_platform_populate() with default match table
when it wants to populate default bus.

This patch introduce a new of_platform_default_populate_init() and make it
arch_initcall_sync(it should be later than some iommu configration, eg,
of_iommu_init() and swiotlb_late_init in arm64), then we can finish above
job in common method.

In order to avoid the default bus being populated twice, simply checking
the flag of bus node whether has be set OF_POPULATED_BUS or not.

After that, we can safely remove the caller in arch code.

Btw, add debug print in of_platform_populate(), and use __func__ to
print function's name of of_platform_bus_create().

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/of/platform.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 16e8daf..c559ef8 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -363,6 +363,12 @@ static int of_platform_bus_create(struct device_node *bus,
 		return 0;
 	}
 
+	if (of_node_check_flag(bus, OF_POPULATED_BUS)) {
+		pr_debug("%s() - skipping %s, already populated\n",
+			__func__, bus->full_name);
+		return 0;
+	}
+
 	auxdata = of_dev_lookup(lookup, bus);
 	if (auxdata) {
 		bus_id = auxdata->name;
@@ -414,7 +420,7 @@ int of_platform_bus_probe(struct device_node *root,
 	if (!root)
 		return -EINVAL;
 
-	pr_debug("of_platform_bus_probe()\n");
+	pr_debug("%s()\n", __func__);
 	pr_debug(" starting at: %s\n", root->full_name);
 
 	/* Do a self check of bus type, if there's a match, create children */
@@ -466,6 +472,9 @@ int of_platform_populate(struct device_node *root,
 	if (!root)
 		return -EINVAL;
 
+	pr_debug("%s()\n", __func__);
+	pr_debug(" starting at: %s\n", root->full_name);
+
 	for_each_child_of_node(root, child) {
 		rc = of_platform_bus_create(child, matches, lookup, parent, true);
 		if (rc) {
@@ -489,6 +498,15 @@ int of_platform_default_populate(struct device_node *root,
 }
 EXPORT_SYMBOL_GPL(of_platform_default_populate);
 
+static int __init of_platform_default_populate_init(void)
+{
+	if (of_have_populated_dt())
+		of_platform_default_populate(NULL, NULL, NULL);
+
+	return 0;
+}
+arch_initcall_sync(of_platform_default_populate_init);
+
 static int of_platform_device_destroy(struct device *dev, void *data)
 {
 	/* Do not touch devices not populated from the device tree */
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 02/18] arc: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 01/18] of/platform: Add common method to " Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 03/18] arm: " Kefeng Wang
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Vineet Gupta

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Acked-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/arc/kernel/setup.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c
index f63b8bf..59053c1 100644
--- a/arch/arc/kernel/setup.c
+++ b/arch/arc/kernel/setup.c
@@ -14,7 +14,6 @@
 #include <linux/module.h>
 #include <linux/cpu.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <linux/cache.h>
 #include <asm/sections.h>
 #include <asm/arcregs.h>
@@ -435,12 +434,6 @@ void __init setup_arch(char **cmdline_p)
 
 static int __init customize_machine(void)
 {
-	/*
-	 * Traverses flattened DeviceTree - registering platform devices
-	 * (if any) complete with their resources
-	 */
-	of_platform_default_populate(NULL, NULL, NULL);
-
 	if (machine_desc->init_machine)
 		machine_desc->init_machine();
 
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 03/18] arm: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 01/18] of/platform: Add common method to " Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 02/18] arc: Remove unnecessary of_platform_populate with default match table Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 04/18] arm64: " Kefeng Wang
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Nicolas Ferre,
	Ray Jui, Lee Jones, Krzysztof Halasa, Kukjin Kim, Rob Herring,
	Santosh Shilimkar, Roland Stigge, Jason Cooper, Haojian Zhuang,
	Heiko Stuebner, Viresh Kumar, Shiraz Hashim, Tony Prisk

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Lee Jones <lee@kernel.org>
Cc: Krzysztof Halasa <khalasa@piap.pl>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Roland Stigge <stigge@antcom.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
Cc: Tony Prisk <linux@prisktech.co.nz>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/arm/kernel/setup.c                 |  6 +-----
 arch/arm/mach-artpec/board-artpec6.c    |  3 ---
 arch/arm/mach-bcm/board_bcm21664.c      |  2 --
 arch/arm/mach-bcm/board_bcm281xx.c      |  2 --
 arch/arm/mach-bcm/board_bcm2835.c       | 10 ----------
 arch/arm/mach-exynos/exynos.c           |  3 ---
 arch/arm/mach-highbank/highbank.c       |  3 ---
 arch/arm/mach-imx/mach-imx51.c          |  2 --
 arch/arm/mach-imx/mach-imx53.c          |  2 --
 arch/arm/mach-imx/mach-imx6ul.c         |  1 -
 arch/arm/mach-imx/mach-imx7d.c          |  1 -
 arch/arm/mach-keystone/keystone.c       |  1 -
 arch/arm/mach-mvebu/board-v7.c          |  3 ---
 arch/arm/mach-mvebu/dove.c              |  2 --
 arch/arm/mach-picoxcell/common.c        |  2 --
 arch/arm/mach-rockchip/rockchip.c       |  1 -
 arch/arm/mach-s3c24xx/mach-s3c2416-dt.c |  2 --
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c |  3 ---
 arch/arm/mach-shmobile/setup-r8a7740.c  |  3 ---
 arch/arm/mach-shmobile/setup-sh73a0.c   |  2 --
 arch/arm/mach-spear/spear1310.c         |  2 --
 arch/arm/mach-spear/spear1340.c         |  1 -
 arch/arm/mach-vt8500/vt8500.c           |  3 ---
 23 files changed, 1 insertion(+), 59 deletions(-)

diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 7e455339..2273acb 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -904,11 +904,7 @@ static int __init customize_machine(void)
 	 */
 	if (machine_desc->init_machine)
 		machine_desc->init_machine();
-#ifdef CONFIG_OF
-	else
-		of_platform_populate(NULL, of_default_bus_match_table,
-					NULL, NULL);
-#endif
+
 	return 0;
 }
 arch_initcall(customize_machine);
diff --git a/arch/arm/mach-artpec/board-artpec6.c b/arch/arm/mach-artpec/board-artpec6.c
index 71513df..a0b1979 100644
--- a/arch/arm/mach-artpec/board-artpec6.c
+++ b/arch/arm/mach-artpec/board-artpec6.c
@@ -13,7 +13,6 @@
 #include <linux/irqchip.h>
 #include <linux/irqchip/arm-gic.h>
 #include <linux/mfd/syscon.h>
-#include <linux/of_platform.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/clk-provider.h>
@@ -44,8 +43,6 @@ static void __init artpec6_init_machine(void)
 		regmap_write(regmap, ARTPEC6_DMACFG_REGNUM,
 			     ARTPEC6_DMACFG_UARTS_BURST);
 	};
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static void artpec6_l2c310_write_sec(unsigned long val, unsigned reg)
diff --git a/arch/arm/mach-bcm/board_bcm21664.c b/arch/arm/mach-bcm/board_bcm21664.c
index 82ad568..0d7034c 100644
--- a/arch/arm/mach-bcm/board_bcm21664.c
+++ b/arch/arm/mach-bcm/board_bcm21664.c
@@ -12,7 +12,6 @@
  */
 
 #include <linux/of_address.h>
-#include <linux/of_platform.h>
 #include <linux/io.h>
 
 #include <asm/mach/arch.h>
@@ -60,7 +59,6 @@ static void bcm21664_restart(enum reboot_mode mode, const char *cmd)
 
 static void __init bcm21664_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	kona_l2_cache_init();
 }
 
diff --git a/arch/arm/mach-bcm/board_bcm281xx.c b/arch/arm/mach-bcm/board_bcm281xx.c
index 2e367bd..b81bb38 100644
--- a/arch/arm/mach-bcm/board_bcm281xx.c
+++ b/arch/arm/mach-bcm/board_bcm281xx.c
@@ -13,7 +13,6 @@
 
 #include <linux/clocksource.h>
 #include <linux/of_address.h>
-#include <linux/of_platform.h>
 
 #include <asm/mach/arch.h>
 
@@ -58,7 +57,6 @@ static void bcm281xx_restart(enum reboot_mode mode, const char *cmd)
 
 static void __init bcm281xx_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	kona_l2_cache_init();
 }
 
diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c
index 834d676..0c1edfc 100644
--- a/arch/arm/mach-bcm/board_bcm2835.c
+++ b/arch/arm/mach-bcm/board_bcm2835.c
@@ -15,7 +15,6 @@
 #include <linux/init.h>
 #include <linux/irqchip.h>
 #include <linux/of_address.h>
-#include <linux/of_platform.h>
 #include <linux/clk/bcm2835.h>
 
 #include <asm/mach/arch.h>
@@ -23,16 +22,7 @@
 
 static void __init bcm2835_init(void)
 {
-	int ret;
-
 	bcm2835_init_clocks();
-
-	ret = of_platform_populate(NULL, of_default_bus_match_table, NULL,
-				   NULL);
-	if (ret) {
-		pr_err("of_platform_populate failed: %d\n", ret);
-		BUG();
-	}
 }
 
 static const char * const bcm2835_compat[] = {
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 52ccf24..dea410a 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -14,7 +14,6 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <linux/platform_device.h>
 #include <linux/irqchip.h>
 #include <linux/soc/samsung/exynos-regs-pmu.h>
@@ -217,8 +216,6 @@ static void __init exynos_dt_machine_init(void)
 	    of_machine_is_compatible("samsung,exynos3250") ||
 	    of_machine_is_compatible("samsung,exynos5250"))
 		platform_device_register(&exynos_cpuidle);
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static char const *const exynos_dt_compat[] __initconst = {
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
index 6050a14..07f6098 100644
--- a/arch/arm/mach-highbank/highbank.c
+++ b/arch/arm/mach-highbank/highbank.c
@@ -23,7 +23,6 @@
 #include <linux/pl320-ipc.h>
 #include <linux/of.h>
 #include <linux/of_irq.h>
-#include <linux/of_platform.h>
 #include <linux/of_address.h>
 #include <linux/reboot.h>
 #include <linux/amba/bus.h>
@@ -163,8 +162,6 @@ static void __init highbank_init(void)
 
 	pl320_ipc_register_notifier(&hb_keys_nb);
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-
 	if (psci_ops.cpu_suspend)
 		platform_device_register(&highbank_cpuidle_device);
 }
diff --git a/arch/arm/mach-imx/mach-imx51.c b/arch/arm/mach-imx/mach-imx51.c
index 10a82a4..ec64de6 100644
--- a/arch/arm/mach-imx/mach-imx51.c
+++ b/arch/arm/mach-imx/mach-imx51.c
@@ -52,8 +52,6 @@ static void __init imx51_dt_init(void)
 {
 	imx51_ipu_mipi_setup();
 	imx_src_init();
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static void __init imx51_init_late(void)
diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
index 18b5c5c13..68aec23 100644
--- a/arch/arm/mach-imx/mach-imx53.c
+++ b/arch/arm/mach-imx/mach-imx53.c
@@ -32,8 +32,6 @@ static void __init imx53_dt_init(void)
 {
 	imx_src_init();
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-
 	imx_aips_allow_unprivileged_access("fsl,imx53-aipstz");
 }
 
diff --git a/arch/arm/mach-imx/mach-imx6ul.c b/arch/arm/mach-imx/mach-imx6ul.c
index a38b16b..4078b1c 100644
--- a/arch/arm/mach-imx/mach-imx6ul.c
+++ b/arch/arm/mach-imx/mach-imx6ul.c
@@ -64,7 +64,6 @@ static void __init imx6ul_init_machine(void)
 	if (parent == NULL)
 		pr_warn("failed to initialize soc device\n");
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	imx6ul_enet_init();
 	imx_anatop_init();
 	imx6ul_pm_init();
diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm/mach-imx/mach-imx7d.c
index b450f52..f388e6b 100644
--- a/arch/arm/mach-imx/mach-imx7d.c
+++ b/arch/arm/mach-imx/mach-imx7d.c
@@ -93,7 +93,6 @@ static void __init imx7d_init_machine(void)
 	if (parent == NULL)
 		pr_warn("failed to initialize soc device\n");
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	imx_anatop_init();
 	imx7d_enet_init();
 }
diff --git a/arch/arm/mach-keystone/keystone.c b/arch/arm/mach-keystone/keystone.c
index a33a296..84613ab 100644
--- a/arch/arm/mach-keystone/keystone.c
+++ b/arch/arm/mach-keystone/keystone.c
@@ -60,7 +60,6 @@ static void __init keystone_init(void)
 		bus_register_notifier(&platform_bus_type, &platform_nb);
 	}
 	keystone_pm_runtime_init();
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static long long __init keystone_pv_fixup(void)
diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c
index 1648edd..ccca951 100644
--- a/arch/arm/mach-mvebu/board-v7.c
+++ b/arch/arm/mach-mvebu/board-v7.c
@@ -16,7 +16,6 @@
 #include <linux/init.h>
 #include <linux/of_address.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <linux/io.h>
 #include <linux/clocksource.h>
 #include <linux/dma-mapping.h>
@@ -144,8 +143,6 @@ static void __init mvebu_dt_init(void)
 {
 	if (of_machine_is_compatible("marvell,armadaxp"))
 		i2c_quirk();
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char * const armada_370_xp_dt_compat[] __initconst = {
diff --git a/arch/arm/mach-mvebu/dove.c b/arch/arm/mach-mvebu/dove.c
index 1aebb82..d076c57 100644
--- a/arch/arm/mach-mvebu/dove.c
+++ b/arch/arm/mach-mvebu/dove.c
@@ -11,7 +11,6 @@
 #include <linux/init.h>
 #include <linux/mbus.h>
 #include <linux/of.h>
-#include <linux/of_platform.h>
 #include <linux/soc/dove/pmu.h>
 #include <asm/hardware/cache-tauros2.h>
 #include <asm/mach/arch.h>
@@ -26,7 +25,6 @@ static void __init dove_init(void)
 #endif
 	BUG_ON(mvebu_mbus_dt_init(false));
 	dove_init_pmu();
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char * const dove_dt_compat[] __initconst = {
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index ec79fea..4e3d6d5 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -10,7 +10,6 @@
 #include <linux/delay.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
-#include <linux/of_platform.h>
 #include <linux/reboot.h>
 
 #include <asm/mach/arch.h>
@@ -54,7 +53,6 @@ static void __init picoxcell_map_io(void)
 
 static void __init picoxcell_init_machine(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	picoxcell_setup_restart();
 }
 
diff --git a/arch/arm/mach-rockchip/rockchip.c b/arch/arm/mach-rockchip/rockchip.c
index beb71da..a7ab9ec 100644
--- a/arch/arm/mach-rockchip/rockchip.c
+++ b/arch/arm/mach-rockchip/rockchip.c
@@ -73,7 +73,6 @@ static void __init rockchip_timer_init(void)
 static void __init rockchip_dt_init(void)
 {
 	rockchip_suspend_init();
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char * const rockchip_board_dt_compat[] = {
diff --git a/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c b/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c
index 5f028ff..c83c076 100644
--- a/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c
+++ b/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c
@@ -17,7 +17,6 @@
 
 #include <linux/clocksource.h>
 #include <linux/irqchip.h>
-#include <linux/of_platform.h>
 #include <linux/serial_s3c.h>
 
 #include <asm/mach/arch.h>
@@ -35,7 +34,6 @@ static void __init s3c2416_dt_map_io(void)
 
 static void __init s3c2416_dt_machine_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	s3c_pm_init();
 }
 
diff --git a/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
index bbf74ed..5bf9afa 100644
--- a/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
+++ b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
@@ -8,8 +8,6 @@
  * published by the Free Software Foundation.
 */
 
-#include <linux/of_platform.h>
-
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/system_misc.h>
@@ -48,7 +46,6 @@ static void __init s3c64xx_dt_map_io(void)
 static void __init s3c64xx_dt_init_machine(void)
 {
 	samsung_wdt_reset_of_init();
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static void s3c64xx_dt_restart(enum reboot_mode mode, const char *cmd)
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index db6dbfb..3849eef 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -18,7 +18,6 @@
 #include <linux/io.h>
 #include <linux/irqchip.h>
 #include <linux/irqchip/arm-gic.h>
-#include <linux/of_platform.h>
 
 #include <asm/mach/map.h>
 #include <asm/mach/arch.h>
@@ -77,8 +76,6 @@ static void __init r8a7740_init_irq_of(void)
 static void __init r8a7740_generic_init(void)
 {
 	r8a7740_meram_workaround();
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char *const r8a7740_boards_compat_dt[] __initconst = {
diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c
index 99a2004..a25ff18 100644
--- a/arch/arm/mach-shmobile/setup-sh73a0.c
+++ b/arch/arm/mach-shmobile/setup-sh73a0.c
@@ -18,7 +18,6 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
-#include <linux/of_platform.h>
 #include <linux/delay.h>
 #include <linux/input.h>
 #include <linux/io.h>
@@ -55,7 +54,6 @@ static void __init sh73a0_generic_init(void)
 	/* Shared attribute override enable, 64K*8way */
 	l2x0_init(IOMEM(0xf0100000), 0x00400000, 0xc20f0fff);
 #endif
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char *const sh73a0_boards_compat_dt[] __initconst = {
diff --git a/arch/arm/mach-spear/spear1310.c b/arch/arm/mach-spear/spear1310.c
index cd5d375..a7d4f13 100644
--- a/arch/arm/mach-spear/spear1310.c
+++ b/arch/arm/mach-spear/spear1310.c
@@ -14,7 +14,6 @@
 #define pr_fmt(fmt) "SPEAr1310: " fmt
 
 #include <linux/amba/pl022.h>
-#include <linux/of_platform.h>
 #include <linux/pata_arasan_cf_data.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
@@ -27,7 +26,6 @@
 
 static void __init spear1310_dt_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	platform_device_register_simple("spear-cpufreq", -1, NULL, 0);
 }
 
diff --git a/arch/arm/mach-spear/spear1340.c b/arch/arm/mach-spear/spear1340.c
index 94594d5..a212af9 100644
--- a/arch/arm/mach-spear/spear1340.c
+++ b/arch/arm/mach-spear/spear1340.c
@@ -19,7 +19,6 @@
 
 static void __init spear1340_dt_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	platform_device_register_simple("spear-cpufreq", -1, NULL, 0);
 }
 
diff --git a/arch/arm/mach-vt8500/vt8500.c b/arch/arm/mach-vt8500/vt8500.c
index 3bc0dc9..773c04f 100644
--- a/arch/arm/mach-vt8500/vt8500.c
+++ b/arch/arm/mach-vt8500/vt8500.c
@@ -30,7 +30,6 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
-#include <linux/of_platform.h>
 
 #define LEGACY_GPIO_BASE	0xD8110000
 #define LEGACY_PMC_BASE		0xD8130000
@@ -158,8 +157,6 @@ static void __init vt8500_init(void)
 		pm_power_off = &vt8500_power_off;
 	else
 		pr_err("%s: PMC Hibernation register could not be remapped, not enabling power off!\n", __func__);
-
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
 static const char * const vt8500_dt_compat[] = {
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 04/18] arm64: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (2 preceding siblings ...)
  2016-06-01  6:52 ` [PATCH v5 03/18] arm: " Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  8:16   ` Catalin Marinas
  2016-06-01  6:52 ` [PATCH v5 05/18] c6x: " Kefeng Wang
                   ` (14 subsequent siblings)
  18 siblings, 1 reply; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Will Deacon

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/arm64/kernel/setup.c | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 8412520..c907e2f 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -40,7 +40,6 @@
 #include <linux/proc_fs.h>
 #include <linux/memblock.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <linux/efi.h>
 #include <linux/psci.h>
 
@@ -301,18 +300,6 @@ void __init setup_arch(char **cmdline_p)
 	}
 }
 
-static int __init arm64_device_init(void)
-{
-	if (of_have_populated_dt()) {
-		of_platform_populate(NULL, of_default_bus_match_table,
-				     NULL, NULL);
-	} else if (acpi_disabled) {
-		pr_crit("Device tree not populated\n");
-	}
-	return 0;
-}
-arch_initcall_sync(arm64_device_init);
-
 static int __init topology_init(void)
 {
 	int i;
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 05/18] c6x: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (3 preceding siblings ...)
  2016-06-01  6:52 ` [PATCH v5 04/18] arm64: " Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  6:52 ` [PATCH v5 06/18] cris: " Kefeng Wang
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Mikael Starvik,
	Jesper Nilsson

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: Mikael Starvik <starvik@axis.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/c6x/platforms/Makefile   |  2 +-
 arch/c6x/platforms/platform.c | 17 -----------------
 2 files changed, 1 insertion(+), 18 deletions(-)
 delete mode 100644 arch/c6x/platforms/platform.c

diff --git a/arch/c6x/platforms/Makefile b/arch/c6x/platforms/Makefile
index 9a95b9b..5f7d934 100644
--- a/arch/c6x/platforms/Makefile
+++ b/arch/c6x/platforms/Makefile
@@ -4,7 +4,7 @@
 # Copyright 2010, 2011 Texas Instruments Incorporated
 #
 
-obj-y = platform.o cache.o megamod-pic.o pll.o plldata.o timer64.o
+obj-y = cache.o megamod-pic.o pll.o plldata.o timer64.o
 obj-y += dscr.o
 
 # SoC objects
diff --git a/arch/c6x/platforms/platform.c b/arch/c6x/platforms/platform.c
deleted file mode 100644
index 26c1a35..0000000
--- a/arch/c6x/platforms/platform.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2011 Texas Instruments Incorporated
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2. This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#include <linux/init.h>
-#include <linux/of_platform.h>
-
-static int __init c6x_device_probe(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-	return 0;
-}
-core_initcall(c6x_device_probe);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 06/18] cris: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (4 preceding siblings ...)
  2016-06-01  6:52 ` [PATCH v5 05/18] c6x: " Kefeng Wang
@ 2016-06-01  6:52 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 07/18] metag: " Kefeng Wang
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:52 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Mikael Starvik,
	Jesper Nilsson

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/cris/kernel/setup.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/arch/cris/kernel/setup.c b/arch/cris/kernel/setup.c
index bb12aa9..4b4853d 100644
--- a/arch/cris/kernel/setup.c
+++ b/arch/cris/kernel/setup.c
@@ -21,7 +21,6 @@
 #include <linux/cpu.h>
 #include <linux/of.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <asm/setup.h>
 #include <arch/system.h>
 
@@ -212,10 +211,3 @@ static int __init topology_init(void)
 }
 
 subsys_initcall(topology_init);
-
-static int __init cris_of_init(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-	return 0;
-}
-core_initcall(cris_of_init);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 07/18] metag: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (5 preceding siblings ...)
  2016-06-01  6:52 ` [PATCH v5 06/18] cris: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 08/18] mips: " Kefeng Wang
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, James Hogan

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/metag/kernel/setup.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/metag/kernel/setup.c b/arch/metag/kernel/setup.c
index 31cf53d..1166f1f 100644
--- a/arch/metag/kernel/setup.c
+++ b/arch/metag/kernel/setup.c
@@ -20,7 +20,6 @@
 #include <linux/memblock.h>
 #include <linux/mm.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 #include <linux/pfn.h>
 #include <linux/root_dev.h>
 #include <linux/sched.h>
@@ -414,9 +413,7 @@ static int __init customize_machine(void)
 	/* customizes platform devices, or adds new ones */
 	if (machine_desc->init_machine)
 		machine_desc->init_machine();
-	else
-		of_platform_populate(NULL, of_default_bus_match_table, NULL,
-				     NULL);
+
 	return 0;
 }
 arch_initcall(customize_machine);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 08/18] mips: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (6 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 07/18] metag: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 09/18] nios2: " Kefeng Wang
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Ralf Baechle,
	Alban Bedel, Paul Burton, James Hogan, Joshua Henderson,
	Zubair Lutfullah Kakakhel

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Alban Bedel <albeu@free.fr>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/mips/ath79/setup.c           |  3 ---
 arch/mips/jz4740/setup.c          |  8 --------
 arch/mips/mti-sead3/sead3-setup.c |  8 --------
 arch/mips/pistachio/init.c        | 13 -------------
 arch/mips/xilfpga/init.c          | 13 -------------
 5 files changed, 45 deletions(-)

diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 7adab18..8887eb1 100644
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -17,8 +17,6 @@
 #include <linux/bootmem.h>
 #include <linux/err.h>
 #include <linux/clk.h>
-#include <linux/clk-provider.h>
-#include <linux/of_platform.h>
 #include <linux/of_fdt.h>
 
 #include <asm/bootinfo.h>
@@ -285,7 +283,6 @@ void __init plat_time_init(void)
 
 static int __init ath79_setup(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 	if  (mips_machtype == ATH79_MACH_GENERIC_OF)
 		return 0;
 
diff --git a/arch/mips/jz4740/setup.c b/arch/mips/jz4740/setup.c
index 510fc0d..0914ef7 100644
--- a/arch/mips/jz4740/setup.c
+++ b/arch/mips/jz4740/setup.c
@@ -20,7 +20,6 @@
 #include <linux/kernel.h>
 #include <linux/libfdt.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 
 #include <asm/bootinfo.h>
 #include <asm/prom.h>
@@ -74,13 +73,6 @@ void __init device_tree_init(void)
 	unflatten_and_copy_device_tree();
 }
 
-static int __init populate_machine(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-	return 0;
-}
-arch_initcall(populate_machine);
-
 const char *get_system_type(void)
 {
 	if (config_enabled(CONFIG_MACH_JZ4780))
diff --git a/arch/mips/mti-sead3/sead3-setup.c b/arch/mips/mti-sead3/sead3-setup.c
index 9f2f9b2..edfcaf0 100644
--- a/arch/mips/mti-sead3/sead3-setup.c
+++ b/arch/mips/mti-sead3/sead3-setup.c
@@ -8,7 +8,6 @@
  */
 #include <linux/init.h>
 #include <linux/libfdt.h>
-#include <linux/of_platform.h>
 #include <linux/of_fdt.h>
 
 #include <asm/prom.h>
@@ -107,10 +106,3 @@ void __init device_tree_init(void)
 
 	unflatten_and_copy_device_tree();
 }
-
-static int __init customize_machine(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-	return 0;
-}
-arch_initcall(customize_machine);
diff --git a/arch/mips/pistachio/init.c b/arch/mips/pistachio/init.c
index ab79828..c50a670 100644
--- a/arch/mips/pistachio/init.c
+++ b/arch/mips/pistachio/init.c
@@ -14,7 +14,6 @@
 #include <linux/kernel.h>
 #include <linux/of_address.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 
 #include <asm/cacheflush.h>
 #include <asm/dma-coherence.h>
@@ -159,15 +158,3 @@ void __init device_tree_init(void)
 
 	unflatten_and_copy_device_tree();
 }
-
-static int __init plat_of_setup(void)
-{
-	if (!of_have_populated_dt())
-		panic("Device tree not present");
-
-	if (of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL))
-		panic("Failed to populate DT");
-
-	return 0;
-}
-arch_initcall(plat_of_setup);
diff --git a/arch/mips/xilfpga/init.c b/arch/mips/xilfpga/init.c
index ce2aee2..602e384 100644
--- a/arch/mips/xilfpga/init.c
+++ b/arch/mips/xilfpga/init.c
@@ -10,7 +10,6 @@
  */
 
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 
 #include <asm/prom.h>
 
@@ -43,15 +42,3 @@ void __init device_tree_init(void)
 
 	unflatten_and_copy_device_tree();
 }
-
-static int __init plat_of_setup(void)
-{
-	if (!of_have_populated_dt())
-		panic("Device tree not present");
-
-	if (of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL))
-		panic("Failed to populate DT");
-
-	return 0;
-}
-arch_initcall(plat_of_setup);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 09/18] nios2: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (7 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 08/18] mips: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 10/18] sh: " Kefeng Wang
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Ley Foon Tan

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: Ley Foon Tan <lftan@altera.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/nios2/platform/platform.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/nios2/platform/platform.c b/arch/nios2/platform/platform.c
index d478773..2a35154 100644
--- a/arch/nios2/platform/platform.c
+++ b/arch/nios2/platform/platform.c
@@ -9,7 +9,6 @@
  */
 
 #include <linux/init.h>
-#include <linux/of_platform.h>
 #include <linux/of_address.h>
 #include <linux/of_fdt.h>
 #include <linux/err.h>
@@ -39,8 +38,7 @@ static int __init nios2_soc_device_init(void)
 		}
 	}
 
-	return of_platform_populate(NULL, of_default_bus_match_table,
-		NULL, NULL);
+	return 0;
 }
 
 device_initcall(nios2_soc_device_init);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 10/18] sh: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (8 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 09/18] nios2: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 11/18] xtensa: " Kefeng Wang
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Yoshinori Sato,
	Rich Felker

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/sh/boards/of-generic.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/arch/sh/boards/of-generic.c b/arch/sh/boards/of-generic.c
index b4d4313..911ffb9 100644
--- a/arch/sh/boards/of-generic.c
+++ b/arch/sh/boards/of-generic.c
@@ -9,7 +9,6 @@
  */
 
 #include <linux/of.h>
-#include <linux/of_platform.h>
 #include <linux/of_fdt.h>
 #include <linux/clocksource.h>
 #include <linux/irqchip.h>
@@ -179,16 +178,3 @@ void __init arch_init_clk_ops(struct sh_clk_ops **ops, int idx)
 void __init plat_irq_setup(void)
 {
 }
-
-static int __init sh_of_device_init(void)
-{
-	pr_info("SH generic board support: populating platform devices\n");
-	if (of_have_populated_dt()) {
-		of_platform_populate(NULL, of_default_bus_match_table,
-				     NULL, NULL);
-	} else {
-		pr_crit("Device tree not populated\n");
-	}
-	return 0;
-}
-arch_initcall_sync(sh_of_device_init);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 11/18] xtensa: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (9 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 10/18] sh: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 12/18] arm: use of_platform_default_populate() to populate Kefeng Wang
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Chris Zankel,
	Max Filippov

After patch "of/platform: Add common method to populate default bus",
it is possible for arch code to remove unnecessary callers of
of_platform_populate with default match table.

Move of_clk_init() into time_init(), then drop xtensa_device_probe() fully.

Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/xtensa/kernel/setup.c | 11 -----------
 arch/xtensa/kernel/time.c  |  2 ++
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index 9735691..18af563 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -22,10 +22,8 @@
 #include <linux/bootmem.h>
 #include <linux/kernel.h>
 #include <linux/percpu.h>
-#include <linux/clk-provider.h>
 #include <linux/cpu.h>
 #include <linux/of_fdt.h>
-#include <linux/of_platform.h>
 
 #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
 # include <linux/console.h>
@@ -252,15 +250,6 @@ void __init early_init_devtree(void *params)
 		strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
 }
 
-static int __init xtensa_device_probe(void)
-{
-	of_clk_init(NULL);
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-	return 0;
-}
-
-device_initcall(xtensa_device_probe);
-
 #endif /* CONFIG_OF */
 
 /*
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index b9ad9fe..6ec73c9 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -15,6 +15,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/time.h>
+#include <linux/clk-provider.h>
 #include <linux/clocksource.h>
 #include <linux/clockchips.h>
 #include <linux/interrupt.h>
@@ -148,6 +149,7 @@ void __init time_init(void)
 	local_timer_setup(0);
 	setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction);
 	sched_clock_register(ccount_sched_clock_read, 32, ccount_freq);
+	of_clk_init(NULL);
 	clocksource_probe();
 }
 
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 12/18] arm: use of_platform_default_populate() to populate
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (10 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 11/18] xtensa: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 13/18] mips: use of_platform_default_populate() to populate default bus Kefeng Wang
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Nicolas Ferre,
	Krzysztof Halasa, Sekhar Nori, Roland Stigge, Jason Cooper,
	Ray Jui, Viresh Kumar, Stephen Warren, Rob Herring, Michal Simek

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Krzysztof Halasa <khalasa@piap.pl>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Roland Stigge <stigge@antcom.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Viresh Kumar <vireshk@kernel.org>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/arm/mach-at91/at91rm9200.c          | 2 +-
 arch/arm/mach-at91/at91sam9.c            | 2 +-
 arch/arm/mach-at91/sama5.c               | 2 +-
 arch/arm/mach-cns3xxx/core.c             | 3 +--
 arch/arm/mach-imx/mach-imx6q.c           | 2 +-
 arch/arm/mach-imx/mach-imx6sl.c          | 2 +-
 arch/arm/mach-imx/mach-imx6sx.c          | 2 +-
 arch/arm/mach-integrator/integrator_ap.c | 3 +--
 arch/arm/mach-integrator/integrator_cp.c | 3 +--
 arch/arm/mach-lpc32xx/phy3250.c          | 3 +--
 arch/arm/mach-mvebu/kirkwood.c           | 2 +-
 arch/arm/mach-mxs/mach-mxs.c             | 3 +--
 arch/arm/mach-nspire/nspire.c            | 3 +--
 arch/arm/mach-orion5x/board-dt.c         | 3 +--
 arch/arm/mach-spear/spear300.c           | 3 +--
 arch/arm/mach-spear/spear310.c           | 3 +--
 arch/arm/mach-spear/spear320.c           | 3 +--
 arch/arm/mach-spear/spear6xx.c           | 3 +--
 arch/arm/mach-tegra/tegra.c              | 2 +-
 arch/arm/mach-u300/core.c                | 3 +--
 arch/arm/mach-versatile/versatile_dt.c   | 3 +--
 arch/arm/mach-zynq/common.c              | 2 +-
 22 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
index 63b4fa2..d068ec3 100644
--- a/arch/arm/mach-at91/at91rm9200.c
+++ b/arch/arm/mach-at91/at91rm9200.c
@@ -30,7 +30,7 @@ static void __init at91rm9200_dt_device_init(void)
 	if (soc != NULL)
 		soc_dev = soc_device_to_device(soc);
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
+	of_platform_default_populate(NULL, NULL, soc_dev);
 
 	at91rm9200_pm_init();
 }
diff --git a/arch/arm/mach-at91/at91sam9.c b/arch/arm/mach-at91/at91sam9.c
index cada2a6..ba28e9c 100644
--- a/arch/arm/mach-at91/at91sam9.c
+++ b/arch/arm/mach-at91/at91sam9.c
@@ -61,7 +61,7 @@ static void __init at91sam9_common_init(void)
 	if (soc != NULL)
 		soc_dev = soc_device_to_device(soc);
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
+	of_platform_default_populate(NULL, NULL, soc_dev);
 }
 
 static void __init at91sam9_dt_device_init(void)
diff --git a/arch/arm/mach-at91/sama5.c b/arch/arm/mach-at91/sama5.c
index 922b85f..b272c45 100644
--- a/arch/arm/mach-at91/sama5.c
+++ b/arch/arm/mach-at91/sama5.c
@@ -68,7 +68,7 @@ static void __init sama5_dt_device_init(void)
 	if (soc != NULL)
 		soc_dev = soc_device_to_device(soc);
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
+	of_platform_default_populate(NULL, NULL, soc_dev);
 	sama5_pm_init();
 }
 
diff --git a/arch/arm/mach-cns3xxx/core.c b/arch/arm/mach-cns3xxx/core.c
index 9b1dc22..03da381 100644
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
@@ -395,8 +395,7 @@ static void __init cns3xxx_init(void)
 
 	pm_power_off = cns3xxx_power_off;
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-                        cns3xxx_auxdata, NULL);
+	of_platform_default_populate(NULL, cns3xxx_auxdata, NULL);
 }
 
 static const char *const cns3xxx_dt_compat[] __initconst = {
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index cb27d56..e394070 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -278,7 +278,7 @@ static void __init imx6q_init_machine(void)
 
 	imx6q_enet_phy_init();
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 
 	imx_anatop_init();
 	cpu_is_imx6q() ?  imx6q_pm_init() : imx6dl_pm_init();
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c
index 3003263..37ae87d 100644
--- a/arch/arm/mach-imx/mach-imx6sl.c
+++ b/arch/arm/mach-imx/mach-imx6sl.c
@@ -52,7 +52,7 @@ static void __init imx6sl_init_machine(void)
 	if (parent == NULL)
 		pr_warn("failed to initialize soc device\n");
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 
 	imx6sl_fec_init();
 	imx_anatop_init();
diff --git a/arch/arm/mach-imx/mach-imx6sx.c b/arch/arm/mach-imx/mach-imx6sx.c
index 6a0b061..107cfc1 100644
--- a/arch/arm/mach-imx/mach-imx6sx.c
+++ b/arch/arm/mach-imx/mach-imx6sx.c
@@ -72,7 +72,7 @@ static void __init imx6sx_init_machine(void)
 	if (parent == NULL)
 		pr_warn("failed to initialize soc device\n");
 
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 
 	imx6sx_enet_init();
 	imx_anatop_init();
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c
index 2b118f2..c7bb832 100644
--- a/arch/arm/mach-integrator/integrator_ap.c
+++ b/arch/arm/mach-integrator/integrator_ap.c
@@ -240,8 +240,7 @@ static void __init ap_init_of(void)
 	if (!ebi_base)
 		return;
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			ap_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, ap_auxdata_lookup, NULL);
 
 	sc_dec = readl(ap_syscon_base + INTEGRATOR_SC_DEC_OFFSET);
 	for (i = 0; i < 4; i++) {
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c
index 6f6b051..8252983 100644
--- a/arch/arm/mach-integrator/integrator_cp.c
+++ b/arch/arm/mach-integrator/integrator_cp.c
@@ -231,8 +231,7 @@ static void __init intcp_init_of(void)
 	if (!intcp_con_base)
 		return;
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			     intcp_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, intcp_auxdata_lookup, NULL);
 }
 
 static const char * intcp_dt_board_compat[] = {
diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
index 81265e8..0e4cbbe 100644
--- a/arch/arm/mach-lpc32xx/phy3250.c
+++ b/arch/arm/mach-lpc32xx/phy3250.c
@@ -191,8 +191,7 @@ static void __init lpc3250_machine_init(void)
 		LPC32XX_CLKPWR_TESTCLK_TESTCLK2_EN,
 		LPC32XX_CLKPWR_TEST_CLK_SEL);
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			     lpc32xx_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, lpc32xx_auxdata_lookup, NULL);
 }
 
 static const char *const lpc32xx_dt_compat[] __initconst = {
diff --git a/arch/arm/mach-mvebu/kirkwood.c b/arch/arm/mach-mvebu/kirkwood.c
index f9d8e1e..8f459ee 100644
--- a/arch/arm/mach-mvebu/kirkwood.c
+++ b/arch/arm/mach-mvebu/kirkwood.c
@@ -179,7 +179,7 @@ static void __init kirkwood_dt_init(void)
 	kirkwood_pm_init();
 	kirkwood_dt_eth_fixup();
 
-	of_platform_populate(NULL, of_default_bus_match_table, auxdata, NULL);
+	of_platform_default_populate(NULL, auxdata, NULL);
 }
 
 static const char * const kirkwood_dt_board_compat[] __initconst = {
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index f1ea470..0b7fe74 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -498,8 +498,7 @@ static void __init mxs_machine_init(void)
 	else if (of_machine_is_compatible("msr,m28cu3"))
 		m28cu3_init();
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			     NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 
 	mxs_restart_init();
 
diff --git a/arch/arm/mach-nspire/nspire.c b/arch/arm/mach-nspire/nspire.c
index 34c2a1b3..f0808fc 100644
--- a/arch/arm/mach-nspire/nspire.c
+++ b/arch/arm/mach-nspire/nspire.c
@@ -57,8 +57,7 @@ static struct of_dev_auxdata nspire_auxdata[] __initdata = {
 
 static void __init nspire_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table,
-			nspire_auxdata, NULL);
+	of_platform_default_populate(NULL, nspire_auxdata, NULL);
 }
 
 static void nspire_restart(enum reboot_mode mode, const char *cmd)
diff --git a/arch/arm/mach-orion5x/board-dt.c b/arch/arm/mach-orion5x/board-dt.c
index 6f4c2c4..3d36f1d 100644
--- a/arch/arm/mach-orion5x/board-dt.c
+++ b/arch/arm/mach-orion5x/board-dt.c
@@ -63,8 +63,7 @@ static void __init orion5x_dt_init(void)
 	if (of_machine_is_compatible("maxtor,shared-storage-2"))
 		mss2_init();
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			     orion5x_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, orion5x_auxdata_lookup, NULL);
 }
 
 static const char *orion5x_dt_compat[] = {
diff --git a/arch/arm/mach-spear/spear300.c b/arch/arm/mach-spear/spear300.c
index 5b32edd..325b895 100644
--- a/arch/arm/mach-spear/spear300.c
+++ b/arch/arm/mach-spear/spear300.c
@@ -194,8 +194,7 @@ static void __init spear300_dt_init(void)
 	pl080_plat_data.slave_channels = spear300_dma_info;
 	pl080_plat_data.num_slave_channels = ARRAY_SIZE(spear300_dma_info);
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			spear300_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, spear300_auxdata_lookup, NULL);
 }
 
 static const char * const spear300_dt_board_compat[] = {
diff --git a/arch/arm/mach-spear/spear310.c b/arch/arm/mach-spear/spear310.c
index 86a44ac..59e173d 100644
--- a/arch/arm/mach-spear/spear310.c
+++ b/arch/arm/mach-spear/spear310.c
@@ -236,8 +236,7 @@ static void __init spear310_dt_init(void)
 	pl080_plat_data.slave_channels = spear310_dma_info;
 	pl080_plat_data.num_slave_channels = ARRAY_SIZE(spear310_dma_info);
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			spear310_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, spear310_auxdata_lookup, NULL);
 }
 
 static const char * const spear310_dt_board_compat[] = {
diff --git a/arch/arm/mach-spear/spear320.c b/arch/arm/mach-spear/spear320.c
index d45d751..0958f68 100644
--- a/arch/arm/mach-spear/spear320.c
+++ b/arch/arm/mach-spear/spear320.c
@@ -240,8 +240,7 @@ static void __init spear320_dt_init(void)
 	pl080_plat_data.slave_channels = spear320_dma_info;
 	pl080_plat_data.num_slave_channels = ARRAY_SIZE(spear320_dma_info);
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			spear320_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, spear320_auxdata_lookup, NULL);
 }
 
 static const char * const spear320_dt_board_compat[] = {
diff --git a/arch/arm/mach-spear/spear6xx.c b/arch/arm/mach-spear/spear6xx.c
index da26fa5b..ccf3573 100644
--- a/arch/arm/mach-spear/spear6xx.c
+++ b/arch/arm/mach-spear/spear6xx.c
@@ -411,8 +411,7 @@ struct of_dev_auxdata spear6xx_auxdata_lookup[] __initdata = {
 
 static void __init spear600_dt_init(void)
 {
-	of_platform_populate(NULL, of_default_bus_match_table,
-			spear6xx_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, spear6xx_auxdata_lookup, NULL);
 }
 
 static const char *spear600_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 2378fa56..6745a65 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -115,7 +115,7 @@ static void __init tegra_dt_init(void)
 	 * devices
 	 */
 out:
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 }
 
 static void __init paz00_init(void)
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c
index 546338b..a4910ea 100644
--- a/arch/arm/mach-u300/core.c
+++ b/arch/arm/mach-u300/core.c
@@ -391,8 +391,7 @@ static void __init u300_init_machine_dt(void)
 	pinctrl_register_mappings(u300_pinmux_map,
 				  ARRAY_SIZE(u300_pinmux_map));
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			u300_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, u300_auxdata_lookup, NULL);
 
 	/* Enable SEMI self refresh */
 	val = readw(syscon_base + U300_SYSCON_SMCR) |
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
index d643b92..3c8d39c 100644
--- a/arch/arm/mach-versatile/versatile_dt.c
+++ b/arch/arm/mach-versatile/versatile_dt.c
@@ -344,8 +344,7 @@ static void __init versatile_dt_init(void)
 
 	versatile_dt_pci_init();
 
-	of_platform_populate(NULL, of_default_bus_match_table,
-			     versatile_auxdata_lookup, NULL);
+	of_platform_default_populate(NULL, versatile_auxdata_lookup, NULL);
 }
 
 static const char *const versatile_dt_match[] __initconst = {
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index da876d2..d12002c 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -141,7 +141,7 @@ out:
 	 * Finished with the static registrations now; fill in the missing
 	 * devices
 	 */
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
+	of_platform_default_populate(NULL, NULL, parent);
 
 	platform_device_register(&zynq_cpuidle_device);
 }
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 13/18] mips: use of_platform_default_populate() to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (11 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 12/18] arm: use of_platform_default_populate() to populate Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 14/18] bus: imx-weim: " Kefeng Wang
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Joshua Henderson,
	Ralf Baechle

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Cc: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 arch/mips/pic32/pic32mzda/init.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/mips/pic32/pic32mzda/init.c b/arch/mips/pic32/pic32mzda/init.c
index 775ff90..77ecf32 100644
--- a/arch/mips/pic32/pic32mzda/init.c
+++ b/arch/mips/pic32/pic32mzda/init.c
@@ -147,8 +147,7 @@ static int __init plat_of_setup(void)
 		panic("Device tree not present");
 
 	pic32_of_prepare_platform_data(pic32_auxdata_lookup);
-	if (of_platform_populate(NULL, of_default_bus_match_table,
-				 pic32_auxdata_lookup, NULL))
+	if (of_platform_default_populate(NULL, pic32_auxdata_lookup, NULL))
 		panic("Failed to populate DT");
 
 	return 0;
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 14/18] bus: imx-weim: use of_platform_default_populate() to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (12 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 13/18] mips: use of_platform_default_populate() to populate default bus Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 15/18] bus: uniphier-system-bus: " Kefeng Wang
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang,
	Signed-off-by : Huang Shijie, Shawn Guo

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Acked-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Signed-off-by: Huang Shijie <b32955@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/bus/imx-weim.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c
index 1827fc4..4bd361d 100644
--- a/drivers/bus/imx-weim.c
+++ b/drivers/bus/imx-weim.c
@@ -163,9 +163,8 @@ static int __init weim_parse_dt(struct platform_device *pdev,
 	}
 
 	if (have_child)
-		ret = of_platform_populate(pdev->dev.of_node,
-				   of_default_bus_match_table,
-				   NULL, &pdev->dev);
+		ret = of_platform_default_populate(pdev->dev.of_node,
+						   NULL, &pdev->dev);
 	if (ret)
 		dev_err(&pdev->dev, "%s fail to create devices.\n",
 			pdev->dev.of_node->full_name);
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 15/18] bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (13 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 14/18] bus: imx-weim: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 16/18] memory: omap-gpmc: " Kefeng Wang
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/bus/uniphier-system-bus.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/bus/uniphier-system-bus.c b/drivers/bus/uniphier-system-bus.c
index 350b730..1e6e0269 100644
--- a/drivers/bus/uniphier-system-bus.c
+++ b/drivers/bus/uniphier-system-bus.c
@@ -257,8 +257,7 @@ static int uniphier_system_bus_probe(struct platform_device *pdev)
 	uniphier_system_bus_set_reg(priv);
 
 	/* Now, the bus is configured.  Populate platform_devices below it */
-	return of_platform_populate(dev->of_node, of_default_bus_match_table,
-				    NULL, dev);
+	return of_platform_default_populate(dev->of_node, NULL, dev);
 }
 
 static const struct of_device_id uniphier_system_bus_match[] = {
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 16/18] memory: omap-gpmc: use of_platform_default_populate() to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (14 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 15/18] bus: uniphier-system-bus: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 17/18] of: unittest: " Kefeng Wang
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Roger Quadros,
	Tony Lindgren

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Acked-by: Roger Quadros <rogerq@ti.com>
Cc: Roger Quadros <rogerq@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/memory/omap-gpmc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index af4884b..4b1913a 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -2134,8 +2134,7 @@ no_timings:
 	/* is child a common bus? */
 	if (of_match_node(of_default_bus_match_table, child))
 		/* create children and other common bus children */
-		if (of_platform_populate(child, of_default_bus_match_table,
-					 NULL, &pdev->dev))
+		if (of_platform_default_populate(child, NULL, &pdev->dev))
 			goto err_child_fail;
 
 	return 0;
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 17/18] of: unittest: use of_platform_default_populate() to populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (15 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 16/18] memory: omap-gpmc: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-01  6:53 ` [PATCH v5 18/18] Revert "of/platform: export of_default_bus_match_table" Kefeng Wang
  2016-06-08 15:42 ` [PATCH v5 00/18] Cleanup for populate default bus Rob Herring
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Frank Rowand

Use helper of_platform_default_populate() in linux/of_platform
when possible, instead of calling of_platform_populate() with
the default match table.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/of/unittest.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index f34ed93..53c83d6 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -771,7 +771,7 @@ static void __init of_unittest_platform_populate(void)
 	};
 
 	np = of_find_node_by_path("/testcase-data");
-	of_platform_populate(np, of_default_bus_match_table, NULL, NULL);
+	of_platform_default_populate(np, NULL, NULL);
 
 	/* Test that a missing irq domain returns -EPROBE_DEFER */
 	np = of_find_node_by_path("/testcase-data/testcase-device1");
@@ -1871,8 +1871,7 @@ static void __init of_unittest_overlay(void)
 		goto out;
 	}
 
-	ret = of_platform_populate(bus_np, of_default_bus_match_table,
-			NULL, NULL);
+	ret = of_platform_default_populate(bus_np, NULL, NULL);
 	if (ret != 0) {
 		unittest(0, "could not populate bus @ \"%s\"\n", bus_path);
 		goto out;
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 18/18] Revert "of/platform: export of_default_bus_match_table"
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (16 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 17/18] of: unittest: " Kefeng Wang
@ 2016-06-01  6:53 ` Kefeng Wang
  2016-06-08 15:42 ` [PATCH v5 00/18] Cleanup for populate default bus Rob Herring
  18 siblings, 0 replies; 23+ messages in thread
From: Kefeng Wang @ 2016-06-01  6:53 UTC (permalink / raw)
  To: robh+dt, linux-kernel, linux-arm-kernel
  Cc: arnd, shawnguo, catalin.marinas, grant.likely, olof, linux,
	yamada.masahiro, guohanjun, wangkefeng.wang, Frank Rowand

This reverts commit b80443c2211c7daaabd20fbbe9e7beb3fa3408e0.

After covering to use helper of_platform_default_populate() to populate
the default bus, no need to export of_default_bus_match_table anymore.

Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 drivers/of/platform.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index c559ef8..153dbe1 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -31,7 +31,6 @@ const struct of_device_id of_default_bus_match_table[] = {
 #endif /* CONFIG_ARM_AMBA */
 	{} /* Empty terminated list */
 };
-EXPORT_SYMBOL(of_default_bus_match_table);
 
 static int of_dev_node_match(struct device *dev, void *data)
 {
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 04/18] arm64: Remove unnecessary of_platform_populate with default match table
  2016-06-01  6:52 ` [PATCH v5 04/18] arm64: " Kefeng Wang
@ 2016-06-01  8:16   ` Catalin Marinas
  0 siblings, 0 replies; 23+ messages in thread
From: Catalin Marinas @ 2016-06-01  8:16 UTC (permalink / raw)
  To: Kefeng Wang
  Cc: robh+dt, linux-kernel, linux-arm-kernel, linux, arnd,
	yamada.masahiro, Will Deacon, olof, guohanjun, grant.likely,
	shawnguo

On Wed, Jun 01, 2016 at 02:52:57PM +0800, Kefeng Wang wrote:
> After patch "of/platform: Add common method to populate default bus",
> it is possible for arch code to remove unnecessary callers of
> of_platform_populate with default match table.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>

For arm64:

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 00/18] Cleanup for populate default bus
  2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
                   ` (17 preceding siblings ...)
  2016-06-01  6:53 ` [PATCH v5 18/18] Revert "of/platform: export of_default_bus_match_table" Kefeng Wang
@ 2016-06-08 15:42 ` Rob Herring
  2016-06-15 14:02   ` Joerg Roedel
  18 siblings, 1 reply; 23+ messages in thread
From: Rob Herring @ 2016-06-08 15:42 UTC (permalink / raw)
  To: Kefeng Wang, Olof Johansson, Arnd Bergmann, Catalin Marinas,
	Will Deacon, Joerg Roedel
  Cc: linux-kernel, linux-arm-kernel, Shawn Guo, Grant Likely,
	Russell King - ARM Linux, Masahiro Yamada, Hanjun Guo

+Joerg, Will

On Wed, Jun 1, 2016 at 1:52 AM, Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
> This cleanup patchset cantains two parts.
>
> Firstly, introduce a new way to populate the default bus, then, we can
> drop unnecessary calls from the arch code, and do the same thing for
> of_iommu_init() in [1].
>
> Secondly, use helper of_platform_default_populate() in linux/of_platform
> when possible, instead of calling of_platform_populate() with default
> match table, After that, it is possible for driver code build as a module,
> and no need to export of_default_bus_match_table anymore.
>
> This patchset is based on Linux 4.7-rc1, and only test in arm/arm64 qemu
> with defconfig.

This series doesn't apply for me as it appears you had "of: iommu:
make of_iommu_init() postcore_initcall_sync" in your tree. Either we
need to phase these out over 2 releases or someone needs to take them
all (or we leave the minor conflicts for Linus).

Rob

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 00/18] Cleanup for populate default bus
  2016-06-08 15:42 ` [PATCH v5 00/18] Cleanup for populate default bus Rob Herring
@ 2016-06-15 14:02   ` Joerg Roedel
  2016-06-24 20:36     ` Rob Herring
  0 siblings, 1 reply; 23+ messages in thread
From: Joerg Roedel @ 2016-06-15 14:02 UTC (permalink / raw)
  To: Rob Herring
  Cc: Kefeng Wang, Olof Johansson, Arnd Bergmann, Catalin Marinas,
	Will Deacon, linux-kernel, linux-arm-kernel, Shawn Guo,
	Grant Likely, Russell King - ARM Linux, Masahiro Yamada,
	Hanjun Guo

On Wed, Jun 08, 2016 at 10:42:50AM -0500, Rob Herring wrote:
> +Joerg, Will
> 
> On Wed, Jun 1, 2016 at 1:52 AM, Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
> > This cleanup patchset cantains two parts.
> >
> > Firstly, introduce a new way to populate the default bus, then, we can
> > drop unnecessary calls from the arch code, and do the same thing for
> > of_iommu_init() in [1].
> >
> > Secondly, use helper of_platform_default_populate() in linux/of_platform
> > when possible, instead of calling of_platform_populate() with default
> > match table, After that, it is possible for driver code build as a module,
> > and no need to export of_default_bus_match_table anymore.
> >
> > This patchset is based on Linux 4.7-rc1, and only test in arm/arm64 qemu
> > with defconfig.
> 
> This series doesn't apply for me as it appears you had "of: iommu:
> make of_iommu_init() postcore_initcall_sync" in your tree. Either we
> need to phase these out over 2 releases or someone needs to take them
> all (or we leave the minor conflicts for Linus).

Feel free to take the mentioned patch through your tree with my

Acked-by: Joerg Roedel <jroedel@suse.de>


	Joerg

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 00/18] Cleanup for populate default bus
  2016-06-15 14:02   ` Joerg Roedel
@ 2016-06-24 20:36     ` Rob Herring
  0 siblings, 0 replies; 23+ messages in thread
From: Rob Herring @ 2016-06-24 20:36 UTC (permalink / raw)
  To: Joerg Roedel, Kefeng Wang
  Cc: Russell King - ARM Linux, Arnd Bergmann, Masahiro Yamada,
	Catalin Marinas, Will Deacon, linux-kernel, Grant Likely,
	Hanjun Guo, Olof Johansson, Shawn Guo, linux-arm-kernel

On Wed, Jun 15, 2016 at 9:02 AM, Joerg Roedel <joro@8bytes.org> wrote:
> On Wed, Jun 08, 2016 at 10:42:50AM -0500, Rob Herring wrote:
>> +Joerg, Will
>>
>> On Wed, Jun 1, 2016 at 1:52 AM, Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>> > This cleanup patchset cantains two parts.
>> >
>> > Firstly, introduce a new way to populate the default bus, then, we can
>> > drop unnecessary calls from the arch code, and do the same thing for
>> > of_iommu_init() in [1].
>> >
>> > Secondly, use helper of_platform_default_populate() in linux/of_platform
>> > when possible, instead of calling of_platform_populate() with default
>> > match table, After that, it is possible for driver code build as a module,
>> > and no need to export of_default_bus_match_table anymore.
>> >
>> > This patchset is based on Linux 4.7-rc1, and only test in arm/arm64 qemu
>> > with defconfig.
>>
>> This series doesn't apply for me as it appears you had "of: iommu:
>> make of_iommu_init() postcore_initcall_sync" in your tree. Either we
>> need to phase these out over 2 releases or someone needs to take them
>> all (or we leave the minor conflicts for Linus).
>
> Feel free to take the mentioned patch through your tree with my
>
> Acked-by: Joerg Roedel <jroedel@suse.de>

Thanks.

I've applied this series now.

Rob

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-06-24 20:36 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-01  6:52 [PATCH v5 00/18] Cleanup for populate default bus Kefeng Wang
2016-06-01  6:52 ` [PATCH v5 01/18] of/platform: Add common method to " Kefeng Wang
2016-06-01  6:52 ` [PATCH v5 02/18] arc: Remove unnecessary of_platform_populate with default match table Kefeng Wang
2016-06-01  6:52 ` [PATCH v5 03/18] arm: " Kefeng Wang
2016-06-01  6:52 ` [PATCH v5 04/18] arm64: " Kefeng Wang
2016-06-01  8:16   ` Catalin Marinas
2016-06-01  6:52 ` [PATCH v5 05/18] c6x: " Kefeng Wang
2016-06-01  6:52 ` [PATCH v5 06/18] cris: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 07/18] metag: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 08/18] mips: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 09/18] nios2: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 10/18] sh: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 11/18] xtensa: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 12/18] arm: use of_platform_default_populate() to populate Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 13/18] mips: use of_platform_default_populate() to populate default bus Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 14/18] bus: imx-weim: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 15/18] bus: uniphier-system-bus: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 16/18] memory: omap-gpmc: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 17/18] of: unittest: " Kefeng Wang
2016-06-01  6:53 ` [PATCH v5 18/18] Revert "of/platform: export of_default_bus_match_table" Kefeng Wang
2016-06-08 15:42 ` [PATCH v5 00/18] Cleanup for populate default bus Rob Herring
2016-06-15 14:02   ` Joerg Roedel
2016-06-24 20:36     ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).