diff options
-rw-r--r-- | drivers/mxc/pmic/core/pmic_external.c | 22 | ||||
-rw-r--r-- | include/linux/pmic_external.h | 3 |
2 files changed, 24 insertions, 1 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; diff --git a/include/linux/pmic_external.h b/include/linux/pmic_external.h index d704a5315c99..336c6fbaf254 100644 --- a/include/linux/pmic_external.h +++ b/include/linux/pmic_external.h @@ -505,7 +505,8 @@ PMIC_STATUS pmic_get_sensors(t_sensor_bits *sensor_bits); void pmic_event_callback(type_event event); void pmic_event_list_init(void); - +void pmic_get_enabled_events(unsigned int *enabled_events); +int pmic_is_event_masked( unsigned int * event_mask , type_event event ); unsigned int pmic_get_active_events(unsigned int *active_events); int pmic_event_mask(type_event event); int pmic_event_unmask(type_event event); |