summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: pxa: Convert e740_wm9705 to use snd_soc_register_card()Axel Lin2011-12-172-43/+38Star
| | | | | | | Use snd_soc_register_card() instead of creating a "soc-audio" platform device. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: omap-mcbsp: Enable FIFO usage on OMAP4Peter Ujfalusi2011-12-171-1/+1
| | | | | | | | Allow McBSP FIFO configuration from ASoC dai driver on OMAP4 platform. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* OMAP4: mcbsp: Enable FIFO usagePeter Ujfalusi2011-12-171-0/+3
| | | | | | | | All McBSP instances on OMAP4 has 128 word long FIFO Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'topic/asoc' of ↵Mark Brown2011-12-171-0/+1
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound into for-3.3
| * ASoC: Fix compile error in sound/soc/mid-x86/sst_platform.cJoerg Roedel2011-12-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The variable ret_val is used but not declared. This causes the following compile error: sound/soc/mid-x86/sst_platform.c: In function ‘sst_platform_open’: sound/soc/mid-x86/sst_platform.c:274:2: error: ‘ret_val’ undeclared (first use in this function) sound/soc/mid-x86/sst_platform.c:274:2: note: each undeclared identifier is reported only once for each function it appears in make[1]: *** [sound/soc/mid-x86/sst_platform.o] Error 1 Fix this. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: Staticise mfld_msic_dailinkAxel Lin2011-12-151-1/+1
| | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked by: Vinod Koul <vinod.koul@linux.intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix partial cherry pick in wm8993Mark Brown2011-12-151-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use core pm_runtime callbacks for fsiMark Brown2011-12-141-4/+0Star
| | | | | | | | | | | | | | Now that the core holds a pm_runtime reference to the device while the link is active there is no need for the driver to do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use core pm_runtime callbacks for siu_daiMark Brown2011-12-141-6/+0Star
| | | | | | | | | | | | | | Now that the core holds a pm_runtime reference to the device while the link is active there is no need for the driver to do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Tune the accessory detection rates for WM8996Mark Brown2011-12-141-6/+12
| | | | | | | | | | | | | | Use longer intervals when the microphone is not inserted to increase robustness against leisurely insertion. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | mfd: Test for jack detection when deciding if wm8994 should suspendMark Brown2011-12-141-0/+14
| | | | | | | | | | | | | | | | The jack detection on WM1811 is often required during system suspend, add it as another check when deciding if we should suspend. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
* | ASoC: Use standard register cache sync in wm8993Mark Brown2011-12-141-23/+1Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Convert wm8993 to devm_kzalloc()Mark Brown2011-12-141-3/+2Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use standard snd_soc_cache_sync() for WM9090Mark Brown2011-12-141-12/+1Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove cache default for volatile wm9081 reset registerMark Brown2011-12-141-1/+0Star
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise sst_pcm_new and sst_soc_platform_drvAxel Lin2011-12-141-2/+2
| | | | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by Vinod Koul <vinod.koul@linux.intel.com> Acked-by: Lu Guanqun <guanqun.lu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove unused extern declarations for sh4_hac_dai and sh7760_soc_platformAxel Lin2011-12-141-4/+0Star
| | | | | | | | | | | | | | | | Both sh4_hac_dai and sh7760_soc_platform are changed to static by multi-component patch and they are not used in sh7760-ac97.c now. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Complete initialisation before registering Samsung PCM DAIMark Brown2011-12-141-6/+6
| | | | | | | | | | | | | | | | Otherwise there's a race where the DAI might get used without everything having been set up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Sangbeom Kim <sbkim73@samsung.com>
* | ASoC: Staticise asoc_idma_platformMark Brown2011-12-141-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Sangbeom Kim <sbkim73@samsung.com>
* | ASoC: Fix wm8995 regmap usageMark Brown2011-12-141-0/+1
|/ | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Rename ALC5632 MICBIAS to common name convention.Leon Romanovsky2011-12-131-2/+2
| | | | | Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'topic/cache' of ↵Mark Brown2011-12-133-9/+10
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into for-3.3
| * regmap: Move initialization of regcache related fields to regcache_initLars-Peter Clausen2011-12-133-9/+10
| | | | | | | | | | | | | | | | | | Move the initialization regcache related fields of the regmap struct to regcache_init. This allows us to keep regmap and regcache code better separated. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise alchemy_pcm_soc_platformAxel Lin2011-12-131-1/+1
| | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise au1xpsc_soc_platformAxel Lin2011-12-131-1/+1
| | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Staticise rx51_aux_devAxel Lin2011-12-131-1/+1
| | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove rbtree register cacheMark Brown2011-12-122-382/+0Star
| | | | | | | | | | | | All users now use regmap directly so delete the ASoC version of the code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove WM8994 register cacheMark Brown2011-12-124-3245/+1Star
| | | | | | | | | | | | | | | | | | Now that the mfd is using the register map cache there's no need for the CODEC driver to do any register cache management or any funny dances to interact with the other drivers using the device so just remove the cache initialisation and volatility information. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove ASoC-specific WM8994 I/O codeMark Brown2011-12-121-51/+12Star
| | | | | | | | | | | | | | Just go directly to the regmap API, saving code and making integration that bit more direct. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'mfd/wm8994' of ↵Mark Brown2011-12-12727-6343/+9310
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into for-3.3
| * | mfd: Convert wm8994 to use generic regmap irq_chipMark Brown2011-12-123-165/+35Star
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Merge branch 'topic/irq' of ↵Mark Brown2011-12-124-0/+354
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into wm8994-mfd
| | * | regmap: Add irq_base accessor to regmap_irqMark Brown2011-12-052-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows devices to discover their own interrupt without having to remember it themselves. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | regmap: Report if we actually handled an interrupt in regmap-irqMark Brown2011-11-281-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the IRQ core doesn't currently support shared threaded interrupts that's no reason for drivers not to do their bit and report IRQ_NONE when they don't get an interrupt. This allows the core spurious/wedget interrupt detection support to do its thing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | regmap: Add a reusable irq_chip for regmap based interrupt controllersMark Brown2011-11-084-0/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seem to be lots of regmap-using devices with very similar interrupt controllers with a small bank of interrupt registers and mask registers with an interrupt per bit. This won't cover everything but it's a good start. Each chip supplies a base for the status registers, a base for the mask registers, an optional base for writing acknowledgements (which may be the same as the status registers) and an array of bits within each of these register banks which indicate the interrupt. There is an assumption that the bit for each interrupt will be the same in each of the register bank. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | mfd: Mark WM1811 GPIO6 register volatile for later revisionsMark Brown2011-12-123-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | mfd: Add missing mutex.h inclusion to WM8994 core.hMark Brown2011-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | mfd: Add WM1811A device ID to wm8994 driverMark Brown2011-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM1811A is a variant of the WM1811 with pin configuration changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Correct revision display for WM1811 revision DMark Brown2011-12-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As WM1811 revision C was transparent to software the revision IDs for subsequent revisions are one less than they would normally be. Correct for this in log messages. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Constify WM8994 regulator_init_dataMark Brown2011-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver has no need to modify the regulator_init_data so declare it const to allow machine code to do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Initialise WM8994 register cache after reading chip ID registersMark Brown2011-12-123-17/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The different devices handled by the WM8994 can be distinguished using their ID registers so we don't need to rely on the user having registered the device correctly. Instead do the initial regmap setup with a minimal configuration only supporting physical I/O and then configure the cache once we have identified the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Enable register cache for wm8994 devicesMark Brown2011-12-122-54/+30Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Merge branch 'topic/cache' of ↵Mark Brown2011-12-125-3/+61
| |\ \ \ | | | |/ | | |/| | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into HEAD
| | * | regmap: Allow drivers to reinitialise the register cache at runtimeMark Brown2011-12-052-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the register map information may change in ways that drivers can discover at runtime. For example, new revisions of a device may add new registers. Support runtime discovery by drivers by allowing the register cache to be reinitialised with a new function regmap_reinit_cache() which discards the existing cache and creates a new one. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | regmap: Rename LZO cache type to compressedMark Brown2011-11-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users probably don't care about the specific compression algorithm and we might want to use a different algorithm (snappy being the one I'm thinking of right now) so update the public interface to have a more generic name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | mfd: Add wm8994 register access and default informationMark Brown2011-12-123-1/+1243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Describe the register map to the regmap core so that we can use its diagnostic features and cache support. This is split out from the patch using it due to the size so that the actual code change is a bit clearer. As the various devices are supersets of each other the access maps are built up by layering the functions on top of each other, though the interface for specifying the register defaults isn't currently amenable to this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Define some additional wm8994 registersMark Brown2011-12-122-6/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a bunch of definitions for wm8994 registers that are not currently used by software. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Don't hard code the reset value for WM8994 devicesMark Brown2011-12-121-1/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Disable more pulls on WM8994Mark Brown2011-12-122-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable more pulls by default on WM8994 for a small current saving. Since some designs do leave SPKMODE floating provide platform data to allow that to be left enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | mfd: Convert wm8994 to devm_kzalloc()Mark Brown2011-12-121-11/+5Star
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>