summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/ab8500-codec.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linusMark Brown2013-11-201-6/+8
|\
| * Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-nextMark Brown2013-11-031-6/+8
| |\
| | * ASoC: ab8500: Fix invalid cast to long pointerTakashi Iwai2013-10-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't cast to long pointers blindly just for using find_first_bit() and co. This is certainly not portable at all. Reimplement the code with ffs() and fls() instead. This is a slight optimization, too. Spotted by coverity CID 1056484 and 1056485. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: ab8500: Add missing of NULL check of devm_kzalloc()Takashi Iwai2013-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | | Spotted by coverity CID 712316. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | ASoC: ab8500: Revert to using custom I/O functionsLee Jones2013-11-191-32/+34
|/ / | | | | | | | | | | | | | | It's been reported that these break audio on Snowball so revert them until a Snowball user has time to investigate. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-nextMark Brown2013-10-241-41/+37
|\ \ | |/
| * ASoC: ab8500: Explicitly set I/O upMark Brown2013-09-241-0/+2
| | | | | | | | | | | | | | | | We do some I/O in probe so we need to ensure the I/O operations are fully set up then. Reported-by: Olof Johansson <olof@lixom.net> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: ab8500: Convert register I/O to regmapMark Brown2013-09-201-34/+30
| | | | | | | | | | | | | | | | As part of a general push to eliminate the duplicated register I/O support in ASoC convert ab8500 to use regmap. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
| * ASoC: ab8500: Use ASoC I/O functionsMark Brown2013-09-201-6/+4
| | | | | | | | | | | | | | | | | | In preparation for moving away from implementing the ASoC level register I/O functionality change direct calls to the ab8500 implementation of that to use snd_soc_write() Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
| * ASoC: ab8500: Downgrade noisy log messageMark Brown2013-09-201-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
* | ASoC: ab8500-codec: info leak in anc_status_control_put()Dan Carpenter2013-09-131-1/+6
|/ | | | | | | | | | If the user passes an invalid value it leads to an info leak when we print the error message or it could oops. This is called with user supplied data from snd_ctl_elem_write(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
* ASoC: ab8500-codec: Move codec ops on a separate structureFabio Baltieri2013-05-251-12/+7
| | | | | | | | | Define ab8500 codec operations structure on its own rather than inline with snd_soc_dai_drivers to clean up the code and make the style coherent with other codec drivers. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ab8500-codec: Set rx dai slots from rx_maskFabio Baltieri2013-05-211-9/+20
| | | | | | | | Replace hard coded rx slot numbers from ab8500_codec_set_dai_tdm_slot using the ones requested by the machine driver in rx_mask instead. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ab8500-codec: Set tx dai slots from tx_maskFabio Baltieri2013-05-211-12/+19
| | | | | | | | Replace hard-coded tx slot numbers from ab8500_codec_set_dai_tdm_slot using the ones requested by the machine driver in tx_mask instead. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ab8500-codec: Add missing ad_to_slot definitionsFabio Baltieri2013-05-121-0/+6
| | | | | | | | | | | | | | | | | | According to the AB8500 user manual AD to Slot register multiplexer accept values from 0 to 15 where: 0 to 7 corresponds to AD_OUTx slots 8 to 11 corresponds to zero output 12 to 15 sets the output in tristate mode Update enum_ad_to_slot_map array to reflect this definition. This also allows alsamixer to properly display the default configuration, as all controls are set to tristate (=12) at reset. Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'master' into for-nextJiri Kosina2013-01-291-4/+4
|\ | | | | | | | | | | | | | | Conflicts: drivers/devfreq/exynos4_bus.c Sync with Linus' tree to be able to apply patches that are against newer code (mvneta).
| * ASoC: codecs: remove __dev* attributesBill Pemberton2012-12-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: ab8500: Staticise non-exported ab85000_codec_daiMark Brown2012-11-141-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | sound: soc: Fix typo in sound/codecsMasanari Iida2013-01-091-1/+1
|/ | | | | | | Correct spelling typo in sound/soc/codecs Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* Merge remote-tracking branch 'asoc/topic/ux500' into for-3.7Mark Brown2012-09-221-0/+81
|\
| * ASoC: codecs: Enable AB8500 CODEC for Device TreeLee Jones2012-09-201-0/+81
| | | | | | | | | | | | | | | | | | | | We continue to allow the AB8500 CODEC to be registered via the AB8500 Multi Functional Device API, only this time we extract its configuration from the Device Tree binary. Acked-by: Ola Lilja <ola.o.lilja@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* | ASoC: Revert "ASoC: ab8500: Inform SoC Core that we have our own I/O ↵Fabio Estevam2012-09-111-3/+0
| | | | | | | | | | | | | | | | | | | | arrangements" Since commit 98d3088e5 (SoC: core: Fix check before defaulting to regmap) , it is not necessary to provide codec->control_data anymore. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: dapm: Add flags to regulator suppliesMark Brown2012-09-081-4/+4
| | | | | | | | | | | | | | This will be used to enable additional control of the regulators. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: ab8500: Remove pointless castMark Brown2012-08-031-3/+3
|/ | | | | | | There's never any need to cast away from void. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Lee Jones <lee.jones@linaro.org>
* ASoC: ab8500: Inform SoC Core that we have our own I/O arrangementsLee Jones2012-07-311-0/+4
| | | | | | | | | | | | | | | | | | If codec->control_data is not populated SoC Core assumes we want to use regmap, which fails catastrophically, as we don't have one: Unable to handle kernel NULL pointer dereference at virtual address 00000080 pgd = c0004000 [00000080] *pgd=00000000 Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: CPU: 1 Not tainted (3.5.0-rc6-00884-g0b2419e-dirty #130) PC is at regmap_read+0x10/0x5c LR is at hw_read+0x80/0x90 pc : [<c01a91b8>] lr : [<c0216804>] psr: 60000013 Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Ux500: unlock on an error pathDan Carpenter2012-06-171-1/+2
| | | | | | | | There is a missing mutex_unlock() here. The cleanup path also has more debug output. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Ux500: Correct license stringsOla Lilja2012-06-131-1/+1
| | | | | | | | | GPLv2 -> GPL v2 Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: codecs: Add AB8500 codec-driverOla Lilja2012-06-111-0/+2521
Add codec-driver for ST-Ericsson AB8500 mixed-signal ASIC. Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud