Commit graph

4018 commits

Author SHA1 Message Date
Mark Brown 7cfa467b74 ASoC: Convert WM9081 to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:14:02 +00:00
Mark Brown bd132ec585 ASoC: Convert wm5100 to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:13:50 +00:00
Mark Brown 7b16f56012 ASoC: Convert WM8962 to direct regmap usage
This initial conversion just moves the register init, regulator acquisition
and device verification out to the I2C probe(). Movement of other parts of
the driver like the GPIO and beep generation code will follow.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:13:41 +00:00
Mark Brown b2d1e23373 ASoC: Convert WM8996 gpiolib to regmap
Actually pretty straightforward.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:13:25 +00:00
Mark Brown ee5f387226 ASoC: Move most WM8996 resource acquisition to I2C probe
Now that the WM8996 driver is using the regmap API for register I/O we no
longer need the ASoC card to be active in order to interact with the chip.
In order to be more idiomatic for Linux move most of the existing probe()
function out into the I2C probe() function prior to registration with ASoC.

The IRQ and GPIO init will be moved separately as these are slightly more
involved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:13:12 +00:00
Mark Brown 7917274682 ASoC: Convert WM8996 to direct regmap API usage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 14:08:34 +00:00
Axel Lin e94de1e864 ASoC: Avoid a redundant read in cs42l51_pdn_event
snd_soc_update_bits already does read-modify-write,
no need to read the register before calling snd_soc_update_bits.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 11:02:31 +00:00
Kuninori Morimoto 65ff03f462 ASoC: fsi: add valid data position control support
FSI2 can control valid data position, like
package in front/back or stream  mode (16bit x 2).
But current fsi driver is assuming it was in-back.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 11:02:00 +00:00
Kuninori Morimoto 202113912b ASoC: ak4642: ak4642 was tested
ak4642 was tested by ms7724se board

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 10:52:24 +00:00
Kuninori Morimoto 8918b843af ASoC: fsi: fixup compile warning
This patch fixup below warning

${linux}/sound/soc/sh/fsi.c:442:3:\
 warning: passing argument 1 of '__fsi_reg_read' makes pointer\
 from integer without a cast
${linux}/sound/soc/sh/fsi.c:517:3: \
 warning: passing argument 1 of '__fsi_reg_write' makes pointer\
 from integer without a cast
${linux}/sound/soc/sh/fsi.c:663:3: \
 warning: passing argument 1 of '__fsi_reg_mask_set' makes pointer\
 from integer without a cast

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-08 10:52:24 +00:00
Mark Brown 41966710ab Merge branch 'for-3.2' into for-3.3 2011-11-08 10:47:46 +00:00
Mark Brown 1dd6c0770d Merge branch 'for-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-3.2 2011-11-08 10:37:41 +00:00
Mark Brown 4633fa48fb Merge branch 'for-3.2' into for-3.3
Conflicts:
	sound/soc/codecs/wm8940.c
2011-11-08 01:17:30 +00:00
Linus Torvalds 32aaeffbd4 Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
  Revert "tracing: Include module.h in define_trace.h"
  irq: don't put module.h into irq.h for tracking irqgen modules.
  bluetooth: macroize two small inlines to avoid module.h
  ip_vs.h: fix implicit use of module_get/module_put from module.h
  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
  include: replace linux/module.h with "struct module" wherever possible
  include: convert various register fcns to macros to avoid include chaining
  crypto.h: remove unused crypto_tfm_alg_modname() inline
  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
  pm_runtime.h: explicitly requires notifier.h
  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
  miscdevice.h: fix up implicit use of lists and types
  stop_machine.h: fix implicit use of smp.h for smp_processor_id
  of: fix implicit use of errno.h in include/linux/of.h
  of_platform.h: delete needless include <linux/module.h>
  acpi: remove module.h include from platform/aclinux.h
  miscdevice.h: delete unnecessary inclusion of module.h
  device_cgroup.h: delete needless include <linux/module.h>
  net: sch_generic remove redundant use of <linux/module.h>
  net: inet_timewait_sock doesnt need <linux/module.h>
  ...

Fix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in
 - drivers/media/dvb/frontends/dibx000_common.c
 - drivers/media/video/{mt9m111.c,ov6650.c}
 - drivers/mfd/ab3550-core.c
 - include/linux/dmaengine.h
2011-11-06 19:44:47 -08:00
Linus Torvalds 7abec10c62 Merge branch 'next/cleanup3' of git://git.linaro.org/people/arnd/arm-soc
* 'next/cleanup3' of git://git.linaro.org/people/arnd/arm-soc: (79 commits)
  ARM: SAMSUNG: Move fimc plat. device from board files to plat-samsung
  ARM: SAMSUNG: Cleanup resources by using macro
  ARM: SAMSUNG: Cleanup plat-samsung/devs.c and devs.h
  ARM: S5P: To merge devs.c files to one devs.c
  ARM: S3C64XX: To merge devs.c files to one devs.c
  ARM: S3C24XX: To merge s3c24xx devs.c files to one devs.c
  ARM: S5P64X0: Add Power Management support
  ARM: S5P: Make the sleep code common for S5P series SoCs
  ARM: S5P: Make the common S5P PM code conditionally compile
  ARM: SAMSUNG: Move S5P header files to plat-samsung
  ARM: SAMSUNG: Move S3C24XX header files to plat-samsung
  ARM: SAMSUNG: Moving each SoC support header files
  ARM: SAMSUNG: Consolidate plat/pll.h
  ARM: SAMSUNG: Consolidate plat/pwm-clock.h
  ARM: SAMSUNG: Cleanup mach/clkdev.h
  ARM: SAMSUNG: remove sdhci default configuration setup platform helper
  ARM: EXYNOS4: Add FIMC device on SMDKV310 board
  ARM: EXYNOS4: Add header file protection macros
  ARM: EXYNOS4: Add usb ehci device to the SMDKV310
  ARM: S3C2443: Add hsspi-clock from pclk and rename S3C2443 hsspi sclk
  ...

Fix up conflicts in
 - arch/arm/mach-exynos4/{Kconfig,clock.c}
	ARM_CPU_SUSPEND, various random device tables (gah!)
 - drivers/gpio/Makefile
	sa1100 gpio added, samsung gpio drivers merged
2011-11-05 18:18:05 -07:00
Linus Torvalds fba9569924 Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
* 'next' of git://git.infradead.org/users/vkoul/slave-dma: (63 commits)
  dmaengine: mid_dma: mask_peripheral_interrupt only when dmac is idle
  dmaengine/ep93xx_dma: add module.h include
  pch_dma: Reduce wasting memory
  pch_dma: Fix suspend issue
  dma/timberdale: free_irq() on an error path
  dma: shdma: transfer based runtime PM
  dmaengine: shdma: protect against the IRQ handler
  dmaengine i.MX DMA/SDMA: add missing include of linux/module.h
  dmaengine: delete redundant chan_id and chancnt initialization in dma drivers
  dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool
  dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers
  serial: sh-sci: don't filter on DMA device, use only channel ID
  ARM: SAMSUNG: Remove Samsung specific enum type for dma direction
  ASoC: Samsung: Update DMA interface
  spi/s3c64xx: Merge dma control code
  spi/s3c64xx: Add support DMA engine API
  ARM: SAMSUNG: Remove S3C-PL330-DMA driver
  ARM: S5P64X0: Use generic DMA PL330 driver
  ARM: S5PC100: Use generic DMA PL330 driver
  ARM: S5PV210: Use generic DMA PL330 driver
  ...

Fix up fairly trivial conflicts in
 - arch/arm/mach-exynos4/{Kconfig,clock.c}
 - arch/arm/mach-s5p64x0/dma.c
2011-11-04 18:02:25 -07:00
Mark Brown 19940b3d55 ASoC: Ensure we get an impedence reported for WM8958 jack detect
Occasionally we may see an accessory reported before we have a stable
impedance for the accessory. If this happens then reread the status in
order to ensure that the handler can take the appropriate action for the
status change.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 23:24:59 +00:00
Mark Brown 5a3ad6bd6a ASoC: Don't use wm8994->control_data when requesting IRQs
The field is no longer initialised so this will crash if running on
wm8958.

Reported-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 23:24:58 +00:00
Mark Brown 8eeea521d9 ASoC: Don't use wm8994->control_data in wm8994_readable_register()
The field is no longer initialised so this will crash if running on
wm8958.

Reported-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
2011-11-04 23:24:58 +00:00
Mark Brown 03431972ac ASoC: Disable thermal shutdown when not using speakers in wm_hubs
The thermal shutdown support in wm_hubs devices is tied to the speaker
drivers (which are the only high power subsystems within the device).
Ensure minimal current usage when the thermal shutdown support is not
required by disabling the circuit when the speaker drivers are powered
down.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 23:08:08 +00:00
Mark Brown 94b88e647c ASoC: Manage thermal shutdown for WM8962
Disable the thermal shutdown circuits for headphone and speaker when the
relevant outputs are not enabled in order to save current in idle modes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 22:47:55 +00:00
Mark Brown a04e0c8680 ASoC: Only enable thermal shutdown when required on WM9081
The WM9081 thermal shutdown is only effective when the speaker output is
enabled so disable it when that is not in use for a small current saving.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 22:47:32 +00:00
Mark Brown 5b6247abc9 ASoC: Remove needless unlikely()
There's no point in adding unlikely() annotations outside of hot paths
and on systems using these features the annotation will always be wrong
(as opposed to being something that only comes up once in a while) so
the annotation may even be harmful.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-04 17:19:40 +00:00
Linus Torvalds b2409fb6a4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits)
  ALSA: hda/realtek - Skip invalid digital out pins
  ALSA: hda/sigmatel - Automatically retrieve digital I/O widgets
  ALSA: hda - Remove unused variables
  ALSA: hda/realtek - Don't create alt-stream for capture when unnecessary
  ALSA: hda - Add support for 92HD65 / 92HD66 family of codecs
  ALSA: hda - Disable power-widget control for IDT 92HD83/93 as default
  ALSA: hda - Check NO_PRESENCE pincfg default bit
  ASoC: Ensure we always delay for WM8962 FLL when starting from SYSCLK
  ASoC: Ensure the WM8962 oscillator and PLLs start up disabled
  ASoC: Ensure WM8962 PLL registers are reset
  ALSA: intel8x0 - Fix inclusion of kvm_para.h
  ALSA: hda_hwdep: Fix possible buffer overflow
  ASoC: Fix return value of wm5100_gpio_direction_out()
  ASoC: WM8904: Set `invert' bit for Capture Switch
  ASoC: Leave input audio data bit length settings untouched in wm8711_set_dai_fmt
  ASoC: wm8711: Fix wrong mask for setting input audio data bit length select
  ALSA: intel8x0: Improve performance in virtual environment
  ALSA: hdspm - Enable all firmware ranges for PCI MADI/AES cards
  ALSA: hdsp - Correct HDSP_VERSION_BIT constant, thus partly fixing RPM detection
  ALSA: hdspm - Fix MADI channel format in the status ioctl
  ...
2011-11-04 07:51:43 -07:00
Linus Torvalds d6748066ad Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
  MIPS: O32: Provide definition of registers ta0 .. ta3.
  MIPS: perf: Add Octeon support for hardware perf.
  MIPS: perf: Add support for 64-bit perf counters.
  MIPS: perf: Reorganize contents of perf support files.
  MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
  MIPS: Add accessor macros for 64-bit performance counter registers.
  MIPS: Add probes for more Octeon II CPUs.
  MIPS: Add more CPU identifiers for Octeon II CPUs.
  MIPS: XLR, XLS: Add comment for smp setup
  MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
  MIPS: JZ4740: GPIO: Simplify IRQ demuxer
  MIPS: JZ4740: Use generic irq chip
  MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
  MIPS: Alchemy: kill au1xxx.h header
  MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
  MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
  MIPS: Alchemy: Redo PCI as platform driver
  MIPS: Alchemy: more base address cleanup
  MIPS: Alchemy: rewrite USB platform setup.
  MIPS: Alchemy: abstract USB block control register access
  ...

Fix up trivial conflicts in:
	arch/mips/alchemy/devboards/db1x00/platform.c
	drivers/ide/Kconfig
	drivers/mmc/host/au1xmmc.c
	drivers/video/Kconfig
	sound/mips/Kconfig
2011-11-03 13:28:14 -07:00
Takashi Iwai 6bcbf64ace Merge branch 'fix/asoc' into for-linus 2011-11-03 18:20:53 +01:00
Mark Brown 98dd932b6a ASoC: Fix sort of jz4740 in Makefile
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-02 13:31:13 +00:00
Mark Brown 8aafc43556 ASoC: Sort LM4857 with the CODECs in the Makefile
Having a separate list for amps is a little confusing now the official
driver model for them is the same as for other CODECs so let's sort them
into the CODEC list, but only do this for those that are actual CODEC
drivers so it's easier to remember which ones need updating.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-02 13:31:11 +00:00
Mark Brown 00ae3b8691 ASoC: Disable MICBIAS and SYSCLK when stopping WM8962 accessory detection
They aren't needed any more. If machines need them for other purposes then
further changes will be required.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-01 18:56:55 +00:00
Mark Brown a5ef988408 ASoC: WM8962 accessory detection requires MICBIAS
Force MICBIAS on as well as SYSCLK as the WM8962 accessory detection can't
function without both. No point in making machine drivers manually enable
it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-01 18:56:33 +00:00
Mark Brown db0e55438c ASoC: Enable SYSCLK last when enabling WM8962 mic detection
Ensure everything is set up before we start detecting.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-01 18:56:26 +00:00
Mark Brown 2a761cde31 ASoC: Start WM8962 FLL if SYSCLK is enabled
Since we have code to automatically manage the start and stop of the FLL
based on the SYSCLK widget if SYSCLK is already enabled and the FLL is
configured then we need to start it up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-11-01 18:56:21 +00:00
Mark Brown 0b7dd6ad92 ASoC: Ensure we always delay for WM8962 FLL when starting from SYSCLK
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
2011-11-01 18:52:05 +00:00
Mark Brown 2af8de8c39 ASoC: Ensure the WM8962 oscillator and PLLs start up disabled
Since there is no current software control for these they would otherwise
be left enabled, consuming power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
2011-11-01 18:51:49 +00:00
Mark Brown 4f4488abc9 ASoC: Ensure WM8962 PLL registers are reset
The WM8962 has a separate software reset for the PLL registers. Ensure that
these are reset also on startup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
2011-11-01 18:44:55 +00:00
Paul Gortmaker d81a6d7176 sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where needed
These aren't modules, but they do make use of these macros, so
they will need export.h to get that definition.  Previously,
they got it via the implicit module.h inclusion.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-10-31 19:31:22 -04:00
Paul Gortmaker da155d5b40 sound: Add module.h to the previously silent sound users
Lots of sound drivers were getting module.h via the implicit presence
of it in <linux/device.h> but we are going to clean that up.  So
fix up those users now.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-10-31 19:31:21 -04:00
Paul Gortmaker 6a550b99a0 blackfin: add module.h to files implicitly expecting to use it.
Its presence was implicit everywhere, but we are aiming to fix that,
so call out the users explicitly.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-10-31 19:31:02 -04:00
Mark Brown 64964e8264 ASoC: Fix return value of wm5100_gpio_direction_out()
We can't just pass back the return value of snd_soc_update_bits() as it
will be 1 if a bit changed rather than zero.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:08:31 +00:00
Mark Brown 3ff51c859f ASoC: Convert wm8400 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:08:22 +00:00
Mark Brown 8a709d92c7 ASoC: Convert wm8900 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:08:14 +00:00
Mark Brown dcd658c56b ASoC: Convert wm8904 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:08:08 +00:00
Mark Brown 187774cbe3 ASoC: Convert wm8960 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:08:04 +00:00
Mark Brown 20abf08879 ASoC: Convert wm8961 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:07:58 +00:00
Mark Brown 48dd231b0b ASoC: Convert wm8974 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:53 +00:00
Mark Brown 605b151ae3 ASoC: Convert wm8983 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:40 +00:00
Mark Brown 812f8a3524 ASoC: Convert wm8985 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:35 +00:00
Mark Brown be48f20d8f ASoC: Convert wm8988 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:30 +00:00
Mark Brown e1fc3f21c2 ASoC: Convert wm8990 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:25 +00:00
Mark Brown b6406a8027 ASoC: Convert wm8991 MICBIAS to a supply widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-10-31 19:06:18 +00:00