History log of /include/linux/mfd/wm8994/core.h
Revision Date Author Comments
dae188c6092a3f085bf7fc335b6c0e0420d3dd8f 06-Sep-2013 Mark Brown <broonie@linaro.org> mfd: wm8994: Remove unused irq_lock

Since the conversion to regmap-irq irq_lock has been unused.

Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
b5f90240e1ef0568a8c666da3c3be4c6a682c5a6 06-Sep-2013 Mark Brown <broonie@linaro.org> mfd: wm8994: Inline register I/O functions

Since the register I/O functions are all simple wrappers for the regmap
equivalents inline them to provide a small code size saving and an example
of good practice.

Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
7c8844481a1c16c10fa9be4ce95be5725aed6ce3 06-May-2013 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: wm8994: Emulate level triggered interrupts if required

The interrupt controller on the wm8994 series of devices requires a level
triggered parent. If one is not available but a GPIO is available for the
interrupt then emulate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
a8a8fc287dd7497b3adb2f2952513849ab6506eb 08-Oct-2012 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: wm8994: Store platform data in device

This is better style as platform data is supposed to be discardable after
init (though hotplug usually prevents this) and will ease implementation
of device tree property bindings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
6550334f96ab02e540572a142d0851c7f3120585 13-May-2012 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: wm8994: Update to fully use irq_domain

Take advantage of the new regmap irq_domain support to dynamically
allocate interrupts, using regmap_irq_get_virq() rather than irq_base
to look up the interrupts. This means that most users should not need
to specify an irq_base at all.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
cc7a727941193e3e59be2e9f6522eb78bc7ee909 07-May-2012 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Read CUST_ID from the wm8994 device

Read CUST_ID from the device and log it for diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
83051b7287e43241ccb6adaaa92615a87274898b 01-Dec-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add missing mutex.h inclusion to WM8994 core.h

struct wm8994 includes a mutex so we need to include mutex.h before we
declare it. All current users rely on this being done implicitly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
8ab30691826fc05efa47c4ffba19b80496bb3a2c 25-Oct-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Convert wm8994 to use generic regmap irq_chip

Factor out the irq_chip implementation, substantially reducing the code
size for the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
7ed5849c2861faf9c13f027868f635bd782a50e5 01-Dec-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Mark WM1811 GPIO6 register volatile for later revisions

For later chip revisions the WM1811 GPIO6 register is always volatile so
store the device revision when initialising the driver and then check at
runtime if we're running on a newer device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
19f9557174d61fcfe132a6846a83c36437ff014e 01-Dec-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add missing mutex.h inclusion to WM8994 core.h

struct wm8994 includes a mutex so we need to include mutex.h before we
declare it. All current users rely on this being done implicitly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
c3f1386171a100d27d9fb978f474a6a330888af5 25-Oct-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Enable register cache for wm8994 devices

As part of this we provide information about the registers that exist in
the device to the regmap core, drop the small amount of cache that the
core had been using and let regmap do the sync.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
881de67046f424fc3a6e05b1c681c12afd94e802 22-Aug-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Allow WM8994 LDO enable pulls to be disabled

In systems where the LDO enables are always driven (for example, being
connected to an always on supply rail or a GPIO which is driven by the
CPU even in suspend) then we can disable the pull downs on the LDO for
a small power savings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
b1f43bf3a52b085b786adf0b719712df574955f9 24-May-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add WM1811 support

The WM1811 is mostly register compatible with the WM8994 and WM8958,
providing a high performance audio hub CODEC in a small form factor
suitable for ultra compact system designs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
d6c645fc00777a6f8a7df1f580065ec30c71be7b 17-Jun-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Convert WM8994 to use new register map API

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
07e73fbb2d52434e6b61019326f35040357e8efb 17-Mar-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Constify WM8994 write path

Allow const buffers to be passed in without type safety issues.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
e93c53870c6d77c40de8981da238af947d6aa084 10-Mar-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add WM8994 bulk register write operation

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
77bd70e9009eab6dbdef3ee08afe87ab26df8dac 04-Feb-2011 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Don't suspend WM8994 if the CODEC is not suspended

ASoC supports keeping the audio subsysetm active over suspend in order
to support use cases such as audio passthrough from a cellular modem
with the main CPU suspended. Ensure that we don't power down the CODEC
when this is happening by checking to see if VMID is up and skipping
suspend and resume when it is. If the CODEC has suspended then it'll
turn VMID off before the core suspend() gets called.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
559e0df6b3ffbc218a11bb9dada5320a217cb7a6 31-Aug-2010 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add initial WM8958 support

The WM8958 is a derivative of the WM8994 which is register compatible
with the addition of some extra features, mostly in the CODEC side.
The major change visible at the MFD level is that rather than a single
DBVDD supply we now have three separate DBVDDs so we must request and
enable a different set of supplies.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
c9fbf7e070bbf9cc7adc1420df87706c62cb04ed 26-Mar-2010 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add WM8994 interrupt controller support

The WM8994 has an interrupt controller which supports interrupts for
both CODEC and GPIO portions of the chip. Support this using genirq,
while allowing for systems that do not have an interrupt hooked up.

Wrapper functions are provided for the IRQ request and free to simplify
the code in consumer drivers when handling cases where IRQs are not
set up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
9e50108668a70a9927257298bd4e679300124420 29-Jan-2010 Mark Brown <broonie@opensource.wolfsonmicro.com> mfd: Add initial WM8994 support

The WM8994 is a highly integrated ultra low power audio hub CODEC.
Since it includes on-board regulators and GPIOs it is represented
as a multi-function device, though the overwhelming majority of
the functionality is provided by the ASoC CODEC driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>