Merge "mfd: wcd9xxx: send down notification to devices before cleaning-up IRQs"

This commit is contained in:
Linux Build Service Account 2017-01-19 09:52:40 -08:00 committed by Gerrit - the friendly Code Review server
commit 49d49b15a5
2 changed files with 4 additions and 12 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -1519,9 +1519,9 @@ static int wcd9xxx_slim_device_down(struct slim_device *sldev)
return 0;
wcd9xxx->dev_up = false;
wcd9xxx_irq_exit(&wcd9xxx->core_res);
if (wcd9xxx->dev_down)
wcd9xxx->dev_down(wcd9xxx);
wcd9xxx_irq_exit(&wcd9xxx->core_res);
wcd9xxx_reset_low(wcd9xxx->dev);
return 0;
}

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -891,14 +891,7 @@ static int wcd_cpe_enable(struct wcd_cpe_core *core,
* instead SSR handler will control CPE.
*/
wcd_cpe_enable_cpe_clks(core, false);
/*
* During BUS_DOWN event, possibly the
* irq driver is under cleanup, do not request
* cleanup of irqs here, rather cleanup irqs
* once BUS_UP event is received.
*/
if (core->ssr_type != WCD_CPE_BUS_DOWN_EVENT)
wcd_cpe_cleanup_irqs(core);
wcd_cpe_cleanup_irqs(core);
goto done;
}
@ -1149,7 +1142,6 @@ int wcd_cpe_ssr_event(void *core_handle,
break;
case WCD_CPE_BUS_UP_EVENT:
wcd_cpe_cleanup_irqs(core);
wcd_cpe_set_and_complete(core, WCD_CPE_BUS_READY);
/*
* In case of bus up event ssr_type will be changed