kernel-ark/drivers/soc/renesas
Geert Uytterhoeven 977d5ba450 soc: renesas: rcar-sysc: Make PM domain initialization more robust
The quirk for R-Car E3 ES1.0 added in commit 086b399965 ("soc:
renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}") makes the 3DG-A
PM domain a subdomain of the 3DG-B PM domain.  However, registering
3DG-A with its parent fails silently, as the 3DG-B PM domain hasn't been
registered yet, and such failures are never reported.

Fix this by:
  1. Splitting PM Domain initialization in two steps, so all PM domains
     are registered before any child-parent links are established,
  2. Reporting any failures in establishing child-parent relations.

Check for and report pm_genpd_init() failures, too, as that function
gained a return value in commit 7eb231c337 ("PM / Domains: Convert
pm_genpd_init() to return an error code").

Fixes: 086b399965 ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-06-08 10:04:25 +02:00
..
Kconfig soc: renesas: rcar-sysc: Add support for R-Car E3 power areas 2018-05-16 10:57:13 +02:00
Makefile soc: renesas: rcar-sysc: Add support for R-Car E3 power areas 2018-05-16 10:57:13 +02:00
r8a7743-sysc.c soc: renesas: rcar-sysc: add R8A7743 support 2016-10-17 08:21:20 +02:00
r8a7745-sysc.c soc: renesas: rcar-sysc: add R8A7745 support 2016-11-23 14:28:41 +01:00
r8a7779-sysc.c soc: renesas: rcar-sysc: Add support for R-Car H1 power areas 2016-04-26 09:56:35 +10:00
r8a7790-sysc.c soc: renesas: rcar-sysc: Add support for R-Car H2 power areas 2016-04-26 09:56:35 +10:00
r8a7791-sysc.c soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas 2016-04-26 09:56:36 +10:00
r8a7792-sysc.c soc: renesas: rcar-sysc: add R8A7792 support 2016-06-16 10:53:57 +09:00
r8a7794-sysc.c soc: renesas: rcar-sysc: Add support for R-Car E2 power areas 2016-04-26 09:56:37 +10:00
r8a7795-sysc.c soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0 2017-04-07 13:53:41 -04:00
r8a7796-sysc.c soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas 2016-06-06 10:14:21 +09:00
r8a77470-sysc.c soc: renesas: rcar-sysc: Add r8a77470 support 2018-04-16 16:01:24 +02:00
r8a77965-sysc.c soc: renesas: rcar-sysc: Add R-Car M3-N support 2018-02-21 22:51:02 +01:00
r8a77970-sysc.c soc: renesas: r8a77970-sysc: fix power area parents 2018-02-19 10:00:50 +01:00
r8a77980-sysc.c soc: renesas: rcar-sysc: add R8A77980 support 2018-02-19 20:50:44 +01:00
r8a77990-sysc.c soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B} 2018-05-16 10:57:44 +02:00
r8a77995-sysc.c soc: renesas: r8a77995-sysc: Cleanups 2018-04-20 12:14:47 +02:00
rcar-rst.c soc: renesas: rcar-rst: Add support for R-Car E3 2018-04-16 16:01:25 +02:00
rcar-sysc.c soc: renesas: rcar-sysc: Make PM domain initialization more robust 2018-06-08 10:04:25 +02:00
rcar-sysc.h soc: renesas: rcar-sysc: Add support for R-Car E3 power areas 2018-05-16 10:57:13 +02:00
renesas-soc.c soc: renesas: identify R-Car E3 2018-04-16 16:01:25 +02:00