projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e2d4497
)
mfd:rk616:core:fix rk616_i2c_write_bits
author
yxj
<yxj@rock-chips.com>
Fri, 28 Jun 2013 06:13:05 +0000
(14:13 +0800)
committer
yxj
<yxj@rock-chips.com>
Fri, 28 Jun 2013 06:57:10 +0000
(14:57 +0800)
drivers/mfd/rk616-core.c
patch
|
blob
|
history
diff --git
a/drivers/mfd/rk616-core.c
b/drivers/mfd/rk616-core.c
index 376ecb07b990be66e22c0c0f35a7522f764da10d..fd3dfbef1dc119d47d40c85e59f975302ef8412a 100755
(executable)
--- a/
drivers/mfd/rk616-core.c
+++ b/
drivers/mfd/rk616-core.c
@@
-103,13
+103,15
@@
static int rk616_i2c_write_bits(struct mfd_rk616 *rk616, u16 reg,u32 mask,u32 *p
int ret;
u32 reg_val;
char *tx_buf = NULL;
- mutex_lock(&rk616->reg_lock);
+
tx_buf = (char *)kmalloc(6, GFP_KERNEL);
if(!tx_buf)
return -ENOMEM;
+ mutex_lock(&rk616->reg_lock);
rk616->read_dev(rk616,reg,®_val);
reg_val &= ~mask;
+ *pval &= mask;
reg_val |= *pval;
*pval = reg_val;
memcpy(tx_buf, ®, 2);