msm: sglte2: add restart orders for combined SSR
The two external modems need to be restarted together because
of the uart connection between them.
Change-Id: I376f29f1049e56b32e883783e5963cf98b322bb1
Signed-off-by: Joel King <joelking@codeaurora.org>
diff --git a/arch/arm/mach-msm/subsystem_restart.c b/arch/arm/mach-msm/subsystem_restart.c
index ee4ca70..95a5c20 100644
--- a/arch/arm/mach-msm/subsystem_restart.c
+++ b/arch/arm/mach-msm/subsystem_restart.c
@@ -115,6 +115,20 @@
&restart_orders_8960_fusion_sglte,
};
+/* SGLTE2 restart ordering info*/
+static const char * const order_8064_sglte2[] = {"external_modem",
+ "external_modem_mdm"};
+
+static struct subsys_soc_restart_order restart_orders_8064_fusion_sglte2 = {
+ .subsystem_list = order_8064_sglte2,
+ .count = ARRAY_SIZE(order_8064_sglte2),
+ .subsys_ptrs = {[ARRAY_SIZE(order_8064_sglte2)] = NULL}
+ };
+
+static struct subsys_soc_restart_order *restart_orders_8064_sglte2[] = {
+ &restart_orders_8064_fusion_sglte2,
+ };
+
/* These will be assigned to one of the sets above after
* runtime SoC identification.
*/
@@ -565,6 +579,11 @@
n_restart_orders = ARRAY_SIZE(restart_orders_8960_sglte);
}
+ if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_SGLTE2) {
+ restart_orders = restart_orders_8064_sglte2;
+ n_restart_orders = ARRAY_SIZE(restart_orders_8064_sglte2);
+ }
+
for (i = 0; i < n_restart_orders; i++) {
mutex_init(&restart_orders[i]->powerup_lock);
mutex_init(&restart_orders[i]->shutdown_lock);