diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 08:18:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 08:18:33 -0700 |
commit | 309e1e4240636f3a9704d77a164a08e1f5a81fea (patch) | |
tree | c8d7cc16b6cc07dd421b1a6f5b3153345043753d /drivers/mfd/wm8350-core.c | |
parent | 724bdd097e4d47b6ad963db5d92258ab5c485e05 (diff) | |
parent | 7cf5244ce4a0ab3f043f2e9593e07516b0df5715 (diff) |
Merge branch 'for-next' of git://git.o-hand.com/linux-mfd
* 'for-next' of git://git.o-hand.com/linux-mfd:
mfd: check for platform_get_irq() return value in sm501
mfd: use pci_ioremap_bar() in sm501
mfd: Don't store volatile bits in WM8350 register cache
mfd: don't export wm3850 static functions
mfd: twl4030-gpio driver
mfd: rtc-twl4030 driver
mfd: twl4030 IRQ handling update
Diffstat (limited to 'drivers/mfd/wm8350-core.c')
-rw-r--r-- | drivers/mfd/wm8350-core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c index bf87f675e7f..0d47fb9e4b3 100644 --- a/drivers/mfd/wm8350-core.c +++ b/drivers/mfd/wm8350-core.c @@ -183,6 +183,9 @@ static int wm8350_write(struct wm8350 *wm8350, u8 reg, int num_regs, u16 *src) (wm8350->reg_cache[i] & ~wm8350_reg_io_map[i].writable) | src[i - reg]; + /* Don't store volatile bits */ + wm8350->reg_cache[i] &= ~wm8350_reg_io_map[i].vol; + src[i - reg] = cpu_to_be16(src[i - reg]); } @@ -1120,6 +1123,7 @@ static int wm8350_create_cache(struct wm8350 *wm8350, int mode) } value = be16_to_cpu(value); value &= wm8350_reg_io_map[i].readable; + value &= ~wm8350_reg_io_map[i].vol; wm8350->reg_cache[i] = value; } else wm8350->reg_cache[i] = reg_map[i]; @@ -1128,7 +1132,6 @@ static int wm8350_create_cache(struct wm8350 *wm8350, int mode) out: return ret; } -EXPORT_SYMBOL_GPL(wm8350_create_cache); /* * Register a client device. This is non-fatal since there is no need to |