diff options
| author | Eric Tashakkor <w36098@motorola.com> | 2014-10-06 12:07:07 -0500 |
|---|---|---|
| committer | ERIC TASHAKKOR <w36098@motorola.com> | 2014-11-04 18:06:34 +0000 |
| commit | d9d10f921a50e6e6e2c1d3f27ebe4561187e994a (patch) | |
| tree | c309dd3ec888f07b608af12ed8f9ae9bff6f9aab /drivers/misc/c55_ctrl.c | |
| parent | b3d7ee2041ae40ae8c9426dfd8e0c4b2feaae0c0 (diff) | |
| download | olio-linux-3.10-d9d10f921a50e6e6e2c1d3f27ebe4561187e994a.tar.xz olio-linux-3.10-d9d10f921a50e6e6e2c1d3f27ebe4561187e994a.zip | |
IKXCLOCK-4107 Add Additional M4 Panic Restore Logic
Added user settings recovery to the pedometer driver.
Created panic recovery for display and audio statuses.
Change-Id: I9520d54d66a7711201d6d17f726afd592365d74a
Signed-off-by: Eric Tashakkor <w36098@motorola.com>
Diffstat (limited to 'drivers/misc/c55_ctrl.c')
| -rw-r--r-- | drivers/misc/c55_ctrl.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/misc/c55_ctrl.c b/drivers/misc/c55_ctrl.c index 54ffc6e5b2b..cf763272922 100644 --- a/drivers/misc/c55_ctrl.c +++ b/drivers/misc/c55_ctrl.c @@ -143,7 +143,6 @@ static ssize_t c55_ctrl_enable(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct c55_ctrl_data *cdata = dev_get_drvdata(dev); - struct m4sensorhub_data *m4sensorhub = m4sensorhub_client_get_drvdata(); int mode; if (kstrtoint(buf, 10, &mode) < 0) @@ -154,7 +153,7 @@ static ssize_t c55_ctrl_enable(struct device *dev, return -EINVAL; } - if (m4sensorhub->mode != NORMALMODE) { + if (m4sensorhub_get_current_mode() != NORMALMODE) { dev_err(dev, "M4 not ready, Unable to set screen status\n"); return -EINVAL; } @@ -169,9 +168,7 @@ static ssize_t c55_ctrl_enable(struct device *dev, gpio_set_value(cdata->ap_c55_int_gpio, 1); - if (m4sensorhub_reg_write_1byte - (m4sensorhub, M4SH_REG_USERSETTINGS_AUDIOSTATUS, - AUDIO_STATUS_ON, 0xFF) != 1) { + if (m4sensorhub_extern_set_audio_status(AUDIO_STATUS_ON) < 0) { dev_err(dev, "Unable to set screen status to 0x01\n"); mutex_unlock(&cdata->ctrl_mutex); return -EINVAL; @@ -189,9 +186,7 @@ static ssize_t c55_ctrl_enable(struct device *dev, cdata->c55_ap_int_enabled = 0; } - if (m4sensorhub_reg_write_1byte - (m4sensorhub, M4SH_REG_USERSETTINGS_AUDIOSTATUS, - AUDIO_STATUS_OFF, 0xFF) != 1) { + if (m4sensorhub_extern_set_audio_status(AUDIO_STATUS_OFF) < 0) { dev_err(dev, "Unable to set screen status to 0x00\n"); mutex_unlock(&cdata->ctrl_mutex); return -EINVAL; @@ -363,7 +358,6 @@ static int c55_ctrl_remove(struct platform_device *pdev) static int c55_ctrl_suspend(struct platform_device *dev, pm_message_t state) { struct c55_ctrl_data *cdata = dev_get_drvdata(&dev->dev); - struct m4sensorhub_data *m4sensorhub = m4sensorhub_client_get_drvdata(); if (cdata->c55_mode != C55_OFF) { dev_warn(&dev->dev, "C55 still ON when going into suspend\n"); @@ -375,9 +369,7 @@ static int c55_ctrl_suspend(struct platform_device *dev, pm_message_t state) cdata->c55_ap_int_enabled = 0; } - if (m4sensorhub_reg_write_1byte - (m4sensorhub, M4SH_REG_USERSETTINGS_AUDIOSTATUS, - AUDIO_STATUS_OFF, 0xFF) != 1) { + if (m4sensorhub_extern_set_audio_status(AUDIO_STATUS_OFF) < 0) { dev_err(&dev->dev, "Unable to set screen status to 0x00\n"); } |