diff mbox

ARM: uniphier: drop code for old DT binding

Message ID 1464682628-12163-1-git-send-email-yamada.masahiro@socionext.com (mailing list archive)
State New, archived
Headers show

Commit Message

Masahiro Yamada May 31, 2016, 8:17 a.m. UTC
Commit 307d40c56b0c ("ARM: uniphier: rework SMP code to support new
System Bus binding") added a new DT binding for SMP code, but still
kept old code for the backward compatibility.

Linux 4.6 was out with both bindings supported, so it should not
hurt to drop the old code now.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 arch/arm/mach-uniphier/platsmp.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

Comments

Arnd Bergmann May 31, 2016, 9:21 a.m. UTC | #1
On Tuesday, May 31, 2016 5:17:08 PM CEST Masahiro Yamada wrote:
> Commit 307d40c56b0c ("ARM: uniphier: rework SMP code to support new
> System Bus binding") added a new DT binding for SMP code, but still
> kept old code for the backward compatibility.
> 
> Linux 4.6 was out with both bindings supported, so it should not
> hurt to drop the old code now.
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> 

That explanation is in general not sufficient. Are you sure that
nobody is shipping a machine with their own dts file that is not
merged upstream, and that there are no bootloaders that have a
hardcoded dtb file that we need to support indefinitely?

	Arnd
Masahiro Yamada June 1, 2016, 6:30 a.m. UTC | #2
Hi Arnd.

2016-05-31 18:21 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Tuesday, May 31, 2016 5:17:08 PM CEST Masahiro Yamada wrote:
>> Commit 307d40c56b0c ("ARM: uniphier: rework SMP code to support new
>> System Bus binding") added a new DT binding for SMP code, but still
>> kept old code for the backward compatibility.
>>
>> Linux 4.6 was out with both bindings supported, so it should not
>> hurt to drop the old code now.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>
>
> That explanation is in general not sufficient. Are you sure that
> nobody is shipping a machine with their own dts file that is not
> merged upstream, and that there are no bootloaders that have a
> hardcoded dtb file that we need to support indefinitely?
>

I have to confess that almost no one (except me) uses this upstreamed
code directly.
It can boot, but it is almost useless for practical uses (at least for
production level)
because it still lacks lots of drivers.

Our products based on ARM 32bit SoCs were shipped with old kernel
(without device tree) that were never upstreamed.

Socionext is now trying to change the development procedure
and the situation will be much better for ARM64 SoC products; it will be
more community-based development, although they are not shipped yet.

So, the answer is,  nobody is shipping ARM32 products using this upstream code.
Device Tree is not used in the first place.
(But, I still believe I should keep upstreaming.)
Arnd Bergmann June 1, 2016, 7:49 a.m. UTC | #3
On Wednesday, June 1, 2016 3:30:03 PM CEST Masahiro Yamada wrote:
> Hi Arnd.
> 
> 2016-05-31 18:21 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> > On Tuesday, May 31, 2016 5:17:08 PM CEST Masahiro Yamada wrote:
> >> Commit 307d40c56b0c ("ARM: uniphier: rework SMP code to support new
> >> System Bus binding") added a new DT binding for SMP code, but still
> >> kept old code for the backward compatibility.
> >>
> >> Linux 4.6 was out with both bindings supported, so it should not
> >> hurt to drop the old code now.
> >>
> >> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> >>
> >
> > That explanation is in general not sufficient. Are you sure that
> > nobody is shipping a machine with their own dts file that is not
> > merged upstream, and that there are no bootloaders that have a
> > hardcoded dtb file that we need to support indefinitely?
> >
> 
> I have to confess that almost no one (except me) uses this upstreamed
> code directly.
> It can boot, but it is almost useless for practical uses (at least for
> production level)
> because it still lacks lots of drivers.
> 
> Our products based on ARM 32bit SoCs were shipped with old kernel
> (without device tree) that were never upstreamed.

That's fine, a lot of companies work like this when the upstreaming
starts, just mention this in the changelog.

> Socionext is now trying to change the development procedure
> and the situation will be much better for ARM64 SoC products; it will be
> more community-based development, although they are not shipped yet.
> 
> So, the answer is,  nobody is shipping ARM32 products using this upstream code.
> Device Tree is not used in the first place.
> (But, I still believe I should keep upstreaming.)

Ok.

	Arnd
diff mbox

Patch

diff --git a/arch/arm/mach-uniphier/platsmp.c b/arch/arm/mach-uniphier/platsmp.c
index e802ca8..9978c41 100644
--- a/arch/arm/mach-uniphier/platsmp.c
+++ b/arch/arm/mach-uniphier/platsmp.c
@@ -101,21 +101,13 @@  static int __init uniphier_smp_prepare_trampoline(unsigned int max_cpus)
 	np = of_find_compatible_node(NULL, NULL, "socionext,uniphier-smpctrl");
 	ret = of_address_to_resource(np, 0, &res);
 	of_node_put(np);
-	if (!ret) {
-		rom_rsv2_phys = res.start + UNIPHIER_SMPCTRL_ROM_RSV2;
-	} else {
-		/* try old binding too */
-		np = of_find_compatible_node(NULL, NULL,
-					     "socionext,uniphier-system-bus-controller");
-		ret = of_address_to_resource(np, 1, &res);
-		of_node_put(np);
-		if (ret) {
-			pr_err("failed to get resource of SMP control\n");
-			return ret;
-		}
-		rom_rsv2_phys = res.start + 0x1000 + UNIPHIER_SMPCTRL_ROM_RSV2;
+	if (ret) {
+		pr_err("failed to get resource of SMP control\n");
+		return ret;
 	}
 
+	rom_rsv2_phys = res.start + UNIPHIER_SMPCTRL_ROM_RSV2;
+
 	ret = uniphier_smp_copy_trampoline(rom_rsv2_phys);
 	if (ret)
 		return ret;