summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlex Gonzalez <alex.gonzalez@digi.com>2012-02-21 12:03:41 +0100
committerAlex Gonzalez <alex.gonzalez@digi.com>2012-02-21 12:14:09 +0100
commitdac0169edb4a0f3043038f54c4c4cbab35b95af9 (patch)
treeb94ab4c66dae10c4647eb7b6978b8fdc7c83ad0b /drivers
parent1436564512fc3960b3969700d1e5d98d65309021 (diff)
mc13892: Extend event handling API.
Add functions to get the currently enabled events and to ascertain whether certain event is masked on a provided event mask. These functions will be used to mask/unmask events in suspend/resume. Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mxc/pmic/core/pmic_external.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/mxc/pmic/core/pmic_external.c b/drivers/mxc/pmic/core/pmic_external.c
index 0330e2475e64..b5047d63e7b5 100644
--- a/drivers/mxc/pmic/core/pmic_external.c
+++ b/drivers/mxc/pmic/core/pmic_external.c
@@ -262,9 +262,31 @@ unsigned int pmic_get_active_events(unsigned int *active_events)
}
EXPORT_SYMBOL(pmic_get_active_events);
+void pmic_get_enabled_events(unsigned int *enabled_events)
+{
+ enabled_events[0] = events_enabled0;
+ enabled_events[1] = events_enabled1;
+}
+EXPORT_SYMBOL(pmic_get_enabled_events);
+
#define EVENT_MASK_0 0x387fff
#define EVENT_MASK_1 0x1177ef
+int pmic_is_event_masked( unsigned int * event_mask , type_event event )
+{
+ unsigned int event_bit = 0;
+
+ if (event < EVENT_1HZI) {
+ event_bit = (1 << event);
+ return !(event_mask[0] & event_bit);
+ } else {
+ event -= 24;
+ event_bit = (1 << event);
+ return !(event_mask[1] & event_bit);
+ }
+}
+EXPORT_SYMBOL(pmic_is_event_masked);
+
int pmic_event_unmask(type_event event)
{
unsigned int event_mask = 0;