diff options
| author | Eric Tashakkor <w36098@motorola.com> | 2014-07-16 08:23:24 -0500 |
|---|---|---|
| committer | Eric Tashakkor <w36098@motorola.com> | 2014-07-16 13:02:05 -0500 |
| commit | 74fb453848774aa38c1a32934c40b053aa99d09c (patch) | |
| tree | a4aeaa3ee6aab287a5751912024f9da192d05095 /include/linux/m4sensorhub.h | |
| parent | 76b97e60eda44d19594ce874e6f92a20966d0436 (diff) | |
| download | olio-linux-3.10-74fb453848774aa38c1a32934c40b053aa99d09c.tar.xz olio-linux-3.10-74fb453848774aa38c1a32934c40b053aa99d09c.zip | |
IKXCLOCK-2951 Fix M4 Kernel Wakeup Prints
Simplified M4 wakeup source printing to happen in the soft IRQ handler.
Moved the wakeup event flag check to the hardware IRQ handler so that it is always called before resume.
Removed an unused static variable in the M4 core.
Change-Id: Ia1ff34cd06b51fc9bc5b6da5e87993c844414e93
Signed-off-by: Eric Tashakkor <w36098@motorola.com>
Diffstat (limited to 'include/linux/m4sensorhub.h')
| -rw-r--r-- | include/linux/m4sensorhub.h | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/include/linux/m4sensorhub.h b/include/linux/m4sensorhub.h index bd4cf0c24e6..ae3645d5d99 100644 --- a/include/linux/m4sensorhub.h +++ b/include/linux/m4sensorhub.h @@ -84,17 +84,6 @@ enum m4sensorhub_panichdl_index { PANICHDL_MAX = PANICHDL_IRQ_RESTORE+1 }; -struct m4sensorhub_data; - -/* args passed to init callback, - p_m4sensorhub_data is pointer to M4's data - p_data is the void * that was registered along - with the function pointer*/ -struct init_calldata { - struct m4sensorhub_data *p_m4sensorhub_data; - void *p_data; -}; - struct m4sensorhub_hwconfig { int irq_gpio; int reset_gpio; @@ -104,16 +93,27 @@ struct m4sensorhub_hwconfig { int mpu_9150_en_gpio; }; +struct m4sensorhub_irq_dbg { + unsigned char suspend; /* 1 - Suspended, 0 - Normal */ + unsigned char print_irqs; /* 1 - IRQs to print, 0 - None */ +}; + struct m4sensorhub_data { struct i2c_client *i2c_client; void *irqdata; void *panicdata; enum m4sensorhub_mode mode; struct m4sensorhub_hwconfig hwconfig; + struct m4sensorhub_irq_dbg irq_dbg; char *filename; u16 fw_version; }; +struct init_calldata { + struct m4sensorhub_data *p_m4sensorhub_data; /* M4 pointer */ + void *p_data; /* Driver data */ +}; + /* Global (kernel) functions */ /* Client devices */ @@ -200,8 +200,7 @@ int m4sensorhub_irq_enable(struct m4sensorhub_data *m4sensorhub, enum m4sensorhub_irqs irq); int m4sensorhub_irq_enable_get(struct m4sensorhub_data *m4sensorhub, enum m4sensorhub_irqs irq); -void m4sensorhub_irq_pm_dbg_suspend(void); -void m4sensorhub_irq_pm_dbg_resume(void); + /* M4 Panic Calls */ int m4sensorhub_panic_init(struct m4sensorhub_data *m4sensorhub); |