aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rwxr-xr-xarch/arm/mach-ux500/include/mach/prcmu-fw-api.h1
-rwxr-xr-xarch/arm/mach-ux500/prcmu-fw.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/include/mach/prcmu-fw-api.h b/arch/arm/mach-ux500/include/mach/prcmu-fw-api.h
index fe708a40134..504f8c506ae 100755
--- a/arch/arm/mach-ux500/include/mach/prcmu-fw-api.h
+++ b/arch/arm/mach-ux500/include/mach/prcmu-fw-api.h
@@ -78,6 +78,7 @@ int prcmu_configure_wakeup_events(u32, u32, int);
int prcmu_get_wakeup_reason(u32 *, u8 *);
int prcmu_ack_wakeup_reason(void);
void prcmu_set_callback_cawakereq(void (*func)(u8));
+void prcmu_set_callback_modem_reset_request(void (*func)(void));
void prcmu_system_reset(void);
int prcmu_is_ca_wake_req_pending(void);
int prcmu_read_ack_mb7(void);
diff --git a/arch/arm/mach-ux500/prcmu-fw.c b/arch/arm/mach-ux500/prcmu-fw.c
index 5c8f7102a6b..a09405dc189 100755
--- a/arch/arm/mach-ux500/prcmu-fw.c
+++ b/arch/arm/mach-ux500/prcmu-fw.c
@@ -1807,7 +1807,13 @@ void prcmu_ack_mb7_status_tasklet(unsigned long tasklet_data)
switch (ack_mb7) {
case MOD_SW_RESET_REQ:
- /*forward the reset request to ARM */
+ /*forward the reset request to SHRM */
+ if (prcmu_modem_reset_shrm != NULL)
+ (*prcmu_modem_reset_shrm)();
+ else {
+ /* SHRM callback for reset not registered!*/
+ printk(KERN_INFO "\nSHRM callback for reset NULL\n");
+ }
break;
case CA_SLEEP_REQ:
/* modem no longer requires to communicate