summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/wm8776.h
blob: 4cf1c8e0bfc9e093ecc8f449de7b1db8b1a2062b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
 * wm8776.h  --  WM8776 ASoC driver
 *
 * Copyright 2009 Wolfson Microelectronics plc
 *
 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef _WM8776_H
#define _WM8776_H

/* Registers */

#define WM8776_HPLVOL    0x00
#define WM8776_HPRVOL    0x01
#define WM8776_HPMASTER  0x02
#define WM8776_DACLVOL   0x03
#define WM8776_DACRVOL   0x04
#define WM8776_DACMASTER 0x05
#define WM8776_PHASESWAP 0x06
#define WM8776_DACCTRL1  0x07
#define WM8776_DACMUTE   0x08
#define WM8776_DACCTRL2  0x09
#define WM8776_DACIFCTRL 0x0a
#define WM8776_ADCIFCTRL 0x0b
#define WM8776_MSTRCTRL  0x0c
#define WM8776_PWRDOWN   0x0d
#define WM8776_ADCLVOL   0x0e
#define WM8776_ADCRVOL   0x0f
#define WM8776_ALCCTRL1  0x10
#define WM8776_ALCCTRL2  0x11
#define WM8776_ALCCTRL3  0x12
#define WM8776_NOISEGATE 0x13
#define WM8776_LIMITER   0x14
#define WM8776_ADCMUX    0x15
#define WM8776_OUTMUX    0x16
#define WM8776_RESET     0x17

#define WM8776_CACHEREGNUM 0x17

#define WM8776_DAI_DAC 0
#define WM8776_DAI_ADC 1

#endif
the BUG. Using add_timer_on() is pretty pointless in this code because the timer is strictlty per CPU, initialized as pinned and all operations which arm the timer happen on the CPU to which the timer belongs. Simplify the whole machinery by using mod_timer() instead of add_timer_on() which avoids the problem because mod_timer() can handle already queued timers. Use __start_timer() everywhere so the earliest armed expiry time is preserved. Reported-by: Erik Veijola <erik.veijola@intel.com> Tested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Borislav Petkov <bp@alien8.de> Cc: Tony Luck <tony.luck@intel.com> Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1701310936080.3457@nanos Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'sound/soc/au1x/db1200.c')