summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorRichard Zhu <richard.zhu@freescale.com>2014-10-20 15:40:18 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-01-15 21:18:40 -0600
commite392e691ca4ba11cd45b153268ac7f4b8dfa6087 (patch)
tree2b8f3f6c1e9a9b42e2e4fccbd2e358dc2a470ab0 /drivers/char
parenta3a931f9bffb2de030090d6b5481e5a4c64585a4 (diff)
MLK-9707-5 arm: mcc: mcc2.0 sema4 related changes
imx sema4 driver changes in mcc2.0 updates Signed-off-by: Richard Zhu <richard.zhu@freescale.com>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/imx_mcc/imx_sema4.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/char/imx_mcc/imx_sema4.c b/drivers/char/imx_mcc/imx_sema4.c
index 12d68a86dfe3..a32ec2dbdcb9 100644
--- a/drivers/char/imx_mcc/imx_sema4.c
+++ b/drivers/char/imx_mcc/imx_sema4.c
@@ -15,6 +15,8 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/err.h>
+#include <linux/mcc_config_linux.h>
+#include <linux/mcc_common.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/wait.h>
@@ -261,7 +263,7 @@ int imx_sema4_mutex_unlock(struct imx_sema4_mutex *mutex_ptr)
mutex_ptr->gate_val = readb(imx6_sema4->ioaddr + i);
mutex_ptr->gate_val &= SEMA4_GATE_MASK;
/* make sure it is locked by this core */
- if (mutex_ptr->gate_val != SEMA4_UNLOCK)
+ if (mutex_ptr->gate_val == SEMA4_A9_LOCK)
pr_err("%d ERROR, failed to unlock the mutex.\n", __LINE__);
out:
@@ -313,8 +315,9 @@ static irqreturn_t imx_sema4_isr(int irq, void *dev_id)
imx6_sema4->ioaddr + i);
wake_up(&mutex_ptr->wait_q);
} else {
- pr_err("can't lock gate%d re-do it! %s->%s\n",
- i, __FILE__, __func__);
+ pr_debug("can't lock gate%d %s retry!\n", i,
+ mutex_ptr->gate_val ?
+ "locked by m4" : "");
}
}
}