aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-12-10 03:00:45 -0500
committerTakashi Iwai <tiwai@suse.de>2012-12-10 03:00:45 -0500
commit97768a8e658605a905ba0d908d1b23b475170bed (patch)
tree0431dd9a118c138d164c263033a53502e4c01586
parent9621055fbbb190264cb6a8182b70e3f0f917d770 (diff)
parent7a79e94e973639da7bf1b8242d504f9db9e5e848 (diff)
Merge tag 'asoc-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.8 Some incremental updates, nothing too exciting. The biggest block here is the __dev annotation removal stuff from Bill, everything else is the usual driver-specific stuff - a combination of fixes and development. There will be at least more more set of fixes to come but I wanted to get these out ready for the merge window to make sure Bill's stuff makes it in.
-rw-r--r--arch/arm/mach-exynos/mach-armlex4210.c1
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c1
-rw-r--r--arch/arm/mach-s3c24xx/mach-gta02.c1
-rw-r--r--arch/arm/mach-s3c24xx/mach-h1940.c1
-rw-r--r--arch/arm/mach-s3c24xx/mach-mini2440.c1
-rw-r--r--arch/arm/mach-s3c24xx/mach-rx1950.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c1
-rw-r--r--arch/arm/mach-s5p64x0/mach-smdk6440.c1
-rw-r--r--arch/arm/mach-s5p64x0/mach-smdk6450.c1
-rw-r--r--arch/arm/mach-s5pc100/mach-smdkc100.c1
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkc110.c1
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkv210.c1
-rw-r--r--arch/arm/plat-samsung/devs.c9
-rw-r--r--arch/arm/plat-samsung/include/plat/devs.h1
-rw-r--r--include/linux/platform_data/davinci_asp.h1
-rw-r--r--include/linux/platform_data/omap-twl4030.h26
-rw-r--r--sound/soc/atmel/sam9g20_wm8731.c6
-rw-r--r--sound/soc/au1x/ac97c.c6
-rw-r--r--sound/soc/au1x/db1000.c6
-rw-r--r--sound/soc/au1x/db1200.c8
-rw-r--r--sound/soc/au1x/dbdma2.c6
-rw-r--r--sound/soc/au1x/dma.c6
-rw-r--r--sound/soc/au1x/i2sc.c6
-rw-r--r--sound/soc/au1x/psc-ac97.c6
-rw-r--r--sound/soc/au1x/psc-i2s.c6
-rw-r--r--sound/soc/blackfin/bf5xx-ac97-pcm.c6
-rw-r--r--sound/soc/blackfin/bf5xx-ac97.c6
-rw-r--r--sound/soc/blackfin/bf5xx-ad1836.c6
-rw-r--r--sound/soc/blackfin/bf5xx-i2s-pcm.c6
-rw-r--r--sound/soc/blackfin/bf5xx-i2s.c6
-rw-r--r--sound/soc/blackfin/bf5xx-tdm-pcm.c6
-rw-r--r--sound/soc/blackfin/bf5xx-tdm.c6
-rw-r--r--sound/soc/blackfin/bf6xx-i2s.c6
-rw-r--r--sound/soc/blackfin/bfin-eval-adau1373.c4
-rw-r--r--sound/soc/blackfin/bfin-eval-adau1701.c4
-rw-r--r--sound/soc/blackfin/bfin-eval-adav80x.c4
-rw-r--r--sound/soc/cirrus/edb93xx.c6
-rw-r--r--sound/soc/cirrus/ep93xx-ac97.c6
-rw-r--r--sound/soc/cirrus/ep93xx-i2s.c4
-rw-r--r--sound/soc/cirrus/ep93xx-pcm.c6
-rw-r--r--sound/soc/cirrus/simone.c6
-rw-r--r--sound/soc/cirrus/snappercl15.c6
-rw-r--r--sound/soc/codecs/88pm860x-codec.c6
-rw-r--r--sound/soc/codecs/ab8500-codec.c6
-rw-r--r--sound/soc/codecs/ac97.c6
-rw-r--r--sound/soc/codecs/ad1836.c6
-rw-r--r--sound/soc/codecs/ad193x.c14
-rw-r--r--sound/soc/codecs/ad1980.c6
-rw-r--r--sound/soc/codecs/ad73311.c4
-rw-r--r--sound/soc/codecs/adau1373.c8
-rw-r--r--sound/soc/codecs/adau1701.c8
-rw-r--r--sound/soc/codecs/adav80x.c20
-rw-r--r--sound/soc/codecs/ads117x.c6
-rw-r--r--sound/soc/codecs/ak4104.c4
-rw-r--r--sound/soc/codecs/ak4535.c8
-rw-r--r--sound/soc/codecs/ak4641.c8
-rw-r--r--sound/soc/codecs/ak4642.c8
-rw-r--r--sound/soc/codecs/ak4671.c8
-rw-r--r--sound/soc/codecs/alc5623.c8
-rw-r--r--sound/soc/codecs/alc5632.c8
-rw-r--r--sound/soc/codecs/arizona.c32
-rw-r--r--sound/soc/codecs/arizona.h6
-rw-r--r--sound/soc/codecs/cq93vc.c2
-rw-r--r--sound/soc/codecs/cs4271.c14
-rw-r--r--sound/soc/codecs/cs42l52.c2
-rw-r--r--sound/soc/codecs/cs42l73.c8
-rw-r--r--sound/soc/codecs/da7210.c25
-rw-r--r--sound/soc/codecs/da732x.c8
-rw-r--r--sound/soc/codecs/da9055.c8
-rw-r--r--sound/soc/codecs/dfbmcs320.c6
-rw-r--r--sound/soc/codecs/dmic.c6
-rw-r--r--sound/soc/codecs/isabelle.c8
-rw-r--r--sound/soc/codecs/jz4740.c6
-rw-r--r--sound/soc/codecs/lm4857.c8
-rw-r--r--sound/soc/codecs/lm49453.c8
-rw-r--r--sound/soc/codecs/max9768.c8
-rw-r--r--sound/soc/codecs/max98088.c2
-rw-r--r--sound/soc/codecs/max98095.c4
-rw-r--r--sound/soc/codecs/max9850.c8
-rw-r--r--sound/soc/codecs/max9877.c8
-rw-r--r--sound/soc/codecs/mc13783.c2
-rw-r--r--sound/soc/codecs/ml26124.c8
-rw-r--r--sound/soc/codecs/omap-hdmi.c6
-rw-r--r--sound/soc/codecs/pcm3008.c6
-rw-r--r--sound/soc/codecs/rt5631.c4
-rw-r--r--sound/soc/codecs/sgtl5000.c8
-rw-r--r--sound/soc/codecs/si476x.c6
-rw-r--r--sound/soc/codecs/sn95031.c6
-rw-r--r--sound/soc/codecs/ssm2602.c12
-rw-r--r--sound/soc/codecs/sta32x.c8
-rw-r--r--sound/soc/codecs/sta529.c8
-rw-r--r--sound/soc/codecs/stac9766.c6
-rw-r--r--sound/soc/codecs/tlv320aic32x4.c8
-rw-r--r--sound/soc/codecs/tlv320dac33.c8
-rw-r--r--sound/soc/codecs/tpa6130a2.c8
-rw-r--r--sound/soc/codecs/twl4030.c6
-rw-r--r--sound/soc/codecs/twl6040.c6
-rw-r--r--sound/soc/codecs/uda134x.c6
-rw-r--r--sound/soc/codecs/uda1380.c8
-rw-r--r--sound/soc/codecs/wl1273.c6
-rw-r--r--sound/soc/codecs/wm0010.c6
-rw-r--r--sound/soc/codecs/wm1250-ev1.c10
-rw-r--r--sound/soc/codecs/wm2000.c8
-rw-r--r--sound/soc/codecs/wm2200.c8
-rw-r--r--sound/soc/codecs/wm5100.c8
-rw-r--r--sound/soc/codecs/wm5102.c26
-rw-r--r--sound/soc/codecs/wm5110.c26
-rw-r--r--sound/soc/codecs/wm8350.c6
-rw-r--r--sound/soc/codecs/wm8400.c6
-rw-r--r--sound/soc/codecs/wm8510.c14
-rw-r--r--sound/soc/codecs/wm8523.c8
-rw-r--r--sound/soc/codecs/wm8711.c14
-rw-r--r--sound/soc/codecs/wm8727.c6
-rw-r--r--sound/soc/codecs/wm8728.c14
-rw-r--r--sound/soc/codecs/wm8731.c14
-rw-r--r--sound/soc/codecs/wm8737.c14
-rw-r--r--sound/soc/codecs/wm8741.c6
-rw-r--r--sound/soc/codecs/wm8750.c14
-rw-r--r--sound/soc/codecs/wm8753.c14
-rw-r--r--sound/soc/codecs/wm8770.c6
-rw-r--r--sound/soc/codecs/wm8776.c14
-rw-r--r--sound/soc/codecs/wm8782.c6
-rw-r--r--sound/soc/codecs/wm8804.c14
-rw-r--r--sound/soc/codecs/wm8900.c14
-rw-r--r--sound/soc/codecs/wm8903.c8
-rw-r--r--sound/soc/codecs/wm8904.c8
-rw-r--r--sound/soc/codecs/wm8940.c8
-rw-r--r--sound/soc/codecs/wm8955.c8
-rw-r--r--sound/soc/codecs/wm8960.c8
-rw-r--r--sound/soc/codecs/wm8961.c8
-rw-r--r--sound/soc/codecs/wm8962.c8
-rw-r--r--sound/soc/codecs/wm8971.c8
-rw-r--r--sound/soc/codecs/wm8974.c8
-rw-r--r--sound/soc/codecs/wm8978.c21
-rw-r--r--sound/soc/codecs/wm8983.c14
-rw-r--r--sound/soc/codecs/wm8985.c14
-rw-r--r--sound/soc/codecs/wm8988.c14
-rw-r--r--sound/soc/codecs/wm8990.c8
-rw-r--r--sound/soc/codecs/wm8991.c8
-rw-r--r--sound/soc/codecs/wm8993.c8
-rw-r--r--sound/soc/codecs/wm8994.c201
-rw-r--r--sound/soc/codecs/wm8994.h12
-rw-r--r--sound/soc/codecs/wm8995.c14
-rw-r--r--sound/soc/codecs/wm8996.c8
-rw-r--r--sound/soc/codecs/wm9081.c8
-rw-r--r--sound/soc/codecs/wm9090.c4
-rw-r--r--sound/soc/codecs/wm9705.c6
-rw-r--r--sound/soc/codecs/wm9712.c6
-rw-r--r--sound/soc/codecs/wm9713.c6
-rw-r--r--sound/soc/codecs/wm_adsp.c33
-rw-r--r--sound/soc/davinci/davinci-mcasp.c81
-rw-r--r--sound/soc/davinci/davinci-mcasp.h13
-rw-r--r--sound/soc/fsl/eukrea-tlv320.c6
-rw-r--r--sound/soc/fsl/fsl_dma.c6
-rw-r--r--sound/soc/fsl/fsl_ssi.c2
-rw-r--r--sound/soc/fsl/imx-audmux.c8
-rw-r--r--sound/soc/fsl/imx-mc13783.c6
-rw-r--r--sound/soc/fsl/imx-pcm-dma.c6
-rw-r--r--sound/soc/fsl/imx-pcm-fiq.c6
-rw-r--r--sound/soc/fsl/imx-sgtl5000.c6
-rw-r--r--sound/soc/fsl/imx-ssi.c4
-rw-r--r--sound/soc/fsl/mpc5200_psc_ac97.c8
-rw-r--r--sound/soc/fsl/mpc5200_psc_i2s.c8
-rw-r--r--sound/soc/fsl/mpc8610_hpcd.c4
-rw-r--r--sound/soc/fsl/mx27vis-aic32x4.c6
-rw-r--r--sound/soc/fsl/p1022_ds.c4
-rw-r--r--sound/soc/fsl/p1022_rdk.c4
-rw-r--r--sound/soc/fsl/pcm030-audio-fabric.c4
-rw-r--r--sound/soc/jz4740/jz4740-i2s.c6
-rw-r--r--sound/soc/jz4740/jz4740-pcm.c6
-rw-r--r--sound/soc/jz4740/qi_lb60.c6
-rw-r--r--sound/soc/kirkwood/kirkwood-dma.c6
-rw-r--r--sound/soc/kirkwood/kirkwood-i2s.c6
-rw-r--r--sound/soc/kirkwood/kirkwood-openrd.c6
-rw-r--r--sound/soc/kirkwood/kirkwood-t5325.c6
-rw-r--r--sound/soc/mid-x86/mfld_machine.c6
-rw-r--r--sound/soc/mxs/mxs-pcm.c4
-rw-r--r--sound/soc/mxs/mxs-saif.c6
-rw-r--r--sound/soc/mxs/mxs-sgtl5000.c8
-rw-r--r--sound/soc/nuc900/nuc900-ac97.c6
-rw-r--r--sound/soc/nuc900/nuc900-pcm.c6
-rw-r--r--sound/soc/omap/ams-delta.c6
-rw-r--r--sound/soc/omap/mcbsp.c7
-rw-r--r--sound/soc/omap/mcbsp.h4
-rw-r--r--sound/soc/omap/omap-abe-twl6040.c6
-rw-r--r--sound/soc/omap/omap-dmic.c6
-rw-r--r--sound/soc/omap/omap-hdmi-card.c6
-rw-r--r--sound/soc/omap/omap-hdmi.c6
-rw-r--r--sound/soc/omap/omap-mcbsp.c6
-rw-r--r--sound/soc/omap/omap-mcpdm.c6
-rw-r--r--sound/soc/omap/omap-pcm.c6
-rw-r--r--sound/soc/omap/omap-twl4030.c6
-rw-r--r--sound/soc/omap/zoom2.c7
-rw-r--r--sound/soc/pxa/brownstone.c6
-rw-r--r--sound/soc/pxa/corgi.c6
-rw-r--r--sound/soc/pxa/e740_wm9705.c6
-rw-r--r--sound/soc/pxa/e750_wm9705.c6
-rw-r--r--sound/soc/pxa/e800_wm9712.c6
-rw-r--r--sound/soc/pxa/hx4700.c6
-rw-r--r--sound/soc/pxa/imote2.c6
-rw-r--r--sound/soc/pxa/mioa701_wm9713.c6
-rw-r--r--sound/soc/pxa/mmp-pcm.c6
-rw-r--r--sound/soc/pxa/mmp-sspa.c6
-rw-r--r--sound/soc/pxa/palm27x.c4
-rw-r--r--sound/soc/pxa/poodle.c6
-rw-r--r--sound/soc/pxa/pxa-ssp.c6
-rw-r--r--sound/soc/pxa/pxa2xx-ac97.c8
-rw-r--r--sound/soc/pxa/pxa2xx-i2s.c4
-rw-r--r--sound/soc/pxa/pxa2xx-pcm.c6
-rw-r--r--sound/soc/pxa/tosa.c6
-rw-r--r--sound/soc/pxa/ttc-dkb.c6
-rw-r--r--sound/soc/s6000/s6000-i2s.c6
-rw-r--r--sound/soc/s6000/s6000-pcm.c6
-rw-r--r--sound/soc/samsung/ac97.c16
-rw-r--r--sound/soc/samsung/bells.c12
-rw-r--r--sound/soc/samsung/dma.c24
-rw-r--r--sound/soc/samsung/dma.h3
-rw-r--r--sound/soc/samsung/goni_wm8994.c2
-rw-r--r--sound/soc/samsung/h1940_uda1380.c2
-rw-r--r--sound/soc/samsung/i2s.c13
-rw-r--r--sound/soc/samsung/idma.c6
-rw-r--r--sound/soc/samsung/jive_wm8750.c2
-rw-r--r--sound/soc/samsung/littlemill.c10
-rw-r--r--sound/soc/samsung/ln2440sbc_alc650.c2
-rw-r--r--sound/soc/samsung/lowland.c8
-rw-r--r--sound/soc/samsung/neo1973_wm8753.c2
-rw-r--r--sound/soc/samsung/pcm.c15
-rw-r--r--sound/soc/samsung/rx1950_uda1380.c2
-rw-r--r--sound/soc/samsung/s3c2412-i2s.c26
-rw-r--r--sound/soc/samsung/s3c24xx-i2s.c26
-rw-r--r--sound/soc/samsung/s3c24xx_simtec.c6
-rw-r--r--sound/soc/samsung/s3c24xx_simtec_hermes.c6
-rw-r--r--sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c6
-rw-r--r--sound/soc/samsung/s3c24xx_uda134x.c2
-rw-r--r--sound/soc/samsung/smartq_wm8987.c2
-rw-r--r--sound/soc/samsung/smdk2443_wm9710.c2
-rw-r--r--sound/soc/samsung/smdk_spdif.c2
-rw-r--r--sound/soc/samsung/smdk_wm8580.c6
-rw-r--r--sound/soc/samsung/smdk_wm8580pcm.c8
-rw-r--r--sound/soc/samsung/smdk_wm8994.c10
-rw-r--r--sound/soc/samsung/smdk_wm8994pcm.c8
-rw-r--r--sound/soc/samsung/smdk_wm9713.c2
-rw-r--r--sound/soc/samsung/spdif.c16
-rw-r--r--sound/soc/samsung/speyside.c8
-rw-r--r--sound/soc/samsung/tobermory.c8
-rw-r--r--sound/soc/sh/dma-sh7760.c6
-rw-r--r--sound/soc/sh/hac.c6
-rw-r--r--sound/soc/sh/siu_dai.c6
-rw-r--r--sound/soc/sh/ssi.c6
-rw-r--r--sound/soc/soc-utils.c6
-rw-r--r--sound/soc/spear/spear_pcm.c6
-rw-r--r--sound/soc/tegra/tegra20_das.c6
-rw-r--r--sound/soc/tegra/tegra20_i2s.c6
-rw-r--r--sound/soc/tegra/tegra20_spdif.c6
-rw-r--r--sound/soc/tegra/tegra30_ahub.c8
-rw-r--r--sound/soc/tegra/tegra30_i2s.c6
-rw-r--r--sound/soc/tegra/tegra_alc5632.c6
-rw-r--r--sound/soc/tegra/tegra_pcm.c4
-rw-r--r--sound/soc/tegra/tegra_wm8753.c6
-rw-r--r--sound/soc/tegra/tegra_wm8903.c6
-rw-r--r--sound/soc/tegra/trimslice.c6
-rw-r--r--sound/soc/txx9/txx9aclc-ac97.c6
-rw-r--r--sound/soc/txx9/txx9aclc.c6
-rw-r--r--sound/soc/ux500/mop500.c10
-rw-r--r--sound/soc/ux500/ux500_msp_dai.c4
-rw-r--r--sound/soc/ux500/ux500_pcm.c4
267 files changed, 1177 insertions, 1050 deletions
diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c
index 3f37a5e8a1f4..b938f9fc1dd1 100644
--- a/arch/arm/mach-exynos/mach-armlex4210.c
+++ b/arch/arm/mach-exynos/mach-armlex4210.c
@@ -147,7 +147,6 @@ static struct platform_device *armlex4210_devices[] __initdata = {
147 &s3c_device_hsmmc3, 147 &s3c_device_hsmmc3,
148 &s3c_device_rtc, 148 &s3c_device_rtc,
149 &s3c_device_wdt, 149 &s3c_device_wdt,
150 &samsung_asoc_dma,
151 &armlex4210_smsc911x, 150 &armlex4210_smsc911x,
152 &exynos4_device_ahci, 151 &exynos4_device_ahci,
153}; 152};
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index ee4fb1a9cb72..5de9ee28a508 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -311,7 +311,6 @@ static struct platform_device *smdkv310_devices[] __initdata = {
311 &s5p_device_mfc_l, 311 &s5p_device_mfc_l,
312 &s5p_device_mfc_r, 312 &s5p_device_mfc_r,
313 &exynos4_device_spdif, 313 &exynos4_device_spdif,
314 &samsung_asoc_dma,
315 &samsung_asoc_idma, 314 &samsung_asoc_idma,
316 &s5p_device_fimd0, 315 &s5p_device_fimd0,
317 &smdkv310_device_audio, 316 &smdkv310_device_audio,
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c
index 4a963467b7ee..973b87ca87f4 100644
--- a/arch/arm/mach-s3c24xx/mach-gta02.c
+++ b/arch/arm/mach-s3c24xx/mach-gta02.c
@@ -521,7 +521,6 @@ static struct platform_device *gta02_devices[] __initdata = {
521 &gta02_nor_flash, 521 &gta02_nor_flash,
522 &s3c24xx_pwm_device, 522 &s3c24xx_pwm_device,
523 &s3c_device_iis, 523 &s3c_device_iis,
524 &samsung_asoc_dma,
525 &s3c_device_i2c0, 524 &s3c_device_i2c0,
526 &gta02_dfbmcs320_device, 525 &gta02_dfbmcs320_device,
527 &gta02_buttons_device, 526 &gta02_buttons_device,
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c
index 63aaf076f611..b23dd1b106e8 100644
--- a/arch/arm/mach-s3c24xx/mach-h1940.c
+++ b/arch/arm/mach-s3c24xx/mach-h1940.c
@@ -632,7 +632,6 @@ static struct platform_device *h1940_devices[] __initdata = {
632 &s3c_device_wdt, 632 &s3c_device_wdt,
633 &s3c_device_i2c0, 633 &s3c_device_i2c0,
634 &s3c_device_iis, 634 &s3c_device_iis,
635 &samsung_asoc_dma,
636 &s3c_device_usbgadget, 635 &s3c_device_usbgadget,
637 &h1940_device_leds, 636 &h1940_device_leds,
638 &h1940_device_bluetooth, 637 &h1940_device_bluetooth,
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c
index 393c0f1ac11a..a31d5b83e5f7 100644
--- a/arch/arm/mach-s3c24xx/mach-mini2440.c
+++ b/arch/arm/mach-s3c24xx/mach-mini2440.c
@@ -519,7 +519,6 @@ static struct platform_device *mini2440_devices[] __initdata = {
519 &s3c_device_iis, 519 &s3c_device_iis,
520 &uda1340_codec, 520 &uda1340_codec,
521 &mini2440_audio, 521 &mini2440_audio,
522 &samsung_asoc_dma,
523}; 522};
524 523
525static void __init mini2440_map_io(void) 524static void __init mini2440_map_io(void)
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c
index 379fde521d37..0606f2faaa5c 100644
--- a/arch/arm/mach-s3c24xx/mach-rx1950.c
+++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
@@ -712,7 +712,6 @@ static struct platform_device *rx1950_devices[] __initdata = {
712 &s3c_device_wdt, 712 &s3c_device_wdt,
713 &s3c_device_i2c0, 713 &s3c_device_i2c0,
714 &s3c_device_iis, 714 &s3c_device_iis,
715 &samsung_asoc_dma,
716 &s3c_device_usbgadget, 715 &s3c_device_usbgadget,
717 &s3c_device_rtc, 716 &s3c_device_rtc,
718 &s3c_device_nand, 717 &s3c_device_nand,
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 13b7eaa45fd0..ef2117d7391b 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -357,7 +357,6 @@ static struct platform_device *crag6410_devices[] __initdata = {
357 &s3c_device_timer[0], 357 &s3c_device_timer[0],
358 &s3c64xx_device_iis0, 358 &s3c64xx_device_iis0,
359 &s3c64xx_device_iis1, 359 &s3c64xx_device_iis1,
360 &samsung_asoc_dma,
361 &samsung_device_keypad, 360 &samsung_device_keypad,
362 &crag6410_gpio_keydev, 361 &crag6410_gpio_keydev,
363 &crag6410_dm9k_device, 362 &crag6410_dm9k_device,
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index da1a771a29e9..574a9eef588d 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -275,7 +275,6 @@ static struct platform_device *smdk6410_devices[] __initdata = {
275 &s3c_device_fb, 275 &s3c_device_fb,
276 &s3c_device_ohci, 276 &s3c_device_ohci,
277 &s3c_device_usb_hsotg, 277 &s3c_device_usb_hsotg,
278 &samsung_asoc_dma,
279 &s3c64xx_device_iisv4, 278 &s3c64xx_device_iisv4,
280 &samsung_device_keypad, 279 &samsung_device_keypad,
281 280
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c
index 96ea1fe0ec94..1af823558c60 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6440.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c
@@ -165,7 +165,6 @@ static struct platform_device *smdk6440_devices[] __initdata = {
165 &s3c_device_i2c1, 165 &s3c_device_i2c1,
166 &s3c_device_ts, 166 &s3c_device_ts,
167 &s3c_device_wdt, 167 &s3c_device_wdt,
168 &samsung_asoc_dma,
169 &s5p6440_device_iis, 168 &s5p6440_device_iis,
170 &s3c_device_fb, 169 &s3c_device_fb,
171 &smdk6440_lcd_lte480wv, 170 &smdk6440_lcd_lte480wv,
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c
index 12748b6eaa7b..62526ccf6b70 100644
--- a/arch/arm/mach-s5p64x0/mach-smdk6450.c
+++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c
@@ -183,7 +183,6 @@ static struct platform_device *smdk6450_devices[] __initdata = {
183 &s3c_device_i2c1, 183 &s3c_device_i2c1,
184 &s3c_device_ts, 184 &s3c_device_ts,
185 &s3c_device_wdt, 185 &s3c_device_wdt,
186 &samsung_asoc_dma,
187 &s5p6450_device_iis0, 186 &s5p6450_device_iis0,
188 &s3c_device_fb, 187 &s3c_device_fb,
189 &smdk6450_lcd_lte480wv, 188 &smdk6450_lcd_lte480wv,
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index dba7384a87bd..9abe95e806ab 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -197,7 +197,6 @@ static struct platform_device *smdkc100_devices[] __initdata = {
197 &s3c_device_ts, 197 &s3c_device_ts,
198 &s3c_device_wdt, 198 &s3c_device_wdt,
199 &smdkc100_lcd_powerdev, 199 &smdkc100_lcd_powerdev,
200 &samsung_asoc_dma,
201 &s5pc100_device_iis0, 200 &s5pc100_device_iis0,
202 &samsung_device_keypad, 201 &samsung_device_keypad,
203 &s5pc100_device_ac97, 202 &s5pc100_device_ac97,
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c
index d9c99fcc1aa7..f1f3bd37ecda 100644
--- a/arch/arm/mach-s5pv210/mach-smdkc110.c
+++ b/arch/arm/mach-s5pv210/mach-smdkc110.c
@@ -85,7 +85,6 @@ static struct s3c_ide_platdata smdkc110_ide_pdata __initdata = {
85}; 85};
86 86
87static struct platform_device *smdkc110_devices[] __initdata = { 87static struct platform_device *smdkc110_devices[] __initdata = {
88 &samsung_asoc_dma,
89 &s5pv210_device_iis0, 88 &s5pv210_device_iis0,
90 &s5pv210_device_ac97, 89 &s5pv210_device_ac97,
91 &s5pv210_device_spdif, 90 &s5pv210_device_spdif,
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index 4cdb5bb7bbcf..6bc8404bf678 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -234,7 +234,6 @@ static struct platform_device *smdkv210_devices[] __initdata = {
234 &s5pv210_device_ac97, 234 &s5pv210_device_ac97,
235 &s5pv210_device_iis0, 235 &s5pv210_device_iis0,
236 &s5pv210_device_spdif, 236 &s5pv210_device_spdif,
237 &samsung_asoc_dma,
238 &samsung_asoc_idma, 237 &samsung_asoc_idma,
239 &samsung_device_keypad, 238 &samsung_device_keypad,
240 &smdkv210_dm9000, 239 &smdkv210_dm9000,
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index 03f654d55eff..7d27a241f984 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -146,15 +146,6 @@ struct platform_device s3c_device_camif = {
146 146
147/* ASOC DMA */ 147/* ASOC DMA */
148 148
149struct platform_device samsung_asoc_dma = {
150 .name = "samsung-audio",
151 .id = -1,
152 .dev = {
153 .dma_mask = &samsung_device_dma_mask,
154 .coherent_dma_mask = DMA_BIT_MASK(32),
155 }
156};
157
158struct platform_device samsung_asoc_idma = { 149struct platform_device samsung_asoc_idma = {
159 .name = "samsung-idma", 150 .name = "samsung-idma",
160 .id = -1, 151 .id = -1,
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h
index 5da4b4f38f40..c45f70cbbfb7 100644
--- a/arch/arm/plat-samsung/include/plat/devs.h
+++ b/arch/arm/plat-samsung/include/plat/devs.h
@@ -135,7 +135,6 @@ extern struct platform_device exynos4_device_spdif;
135 135
136extern struct platform_device exynos_device_drm; 136extern struct platform_device exynos_device_drm;
137 137
138extern struct platform_device samsung_asoc_dma;
139extern struct platform_device samsung_asoc_idma; 138extern struct platform_device samsung_asoc_idma;
140extern struct platform_device samsung_device_keypad; 139extern struct platform_device samsung_device_keypad;
141 140
diff --git a/include/linux/platform_data/davinci_asp.h b/include/linux/platform_data/davinci_asp.h
index f3d6e4f20962..8db5ae03b6e3 100644
--- a/include/linux/platform_data/davinci_asp.h
+++ b/include/linux/platform_data/davinci_asp.h
@@ -23,7 +23,6 @@ struct snd_platform_data {
23 u32 rx_dma_offset; 23 u32 rx_dma_offset;
24 int asp_chan_q; /* event queue number for ASP channel */ 24 int asp_chan_q; /* event queue number for ASP channel */
25 int ram_chan_q; /* event queue number for RAM channel */ 25 int ram_chan_q; /* event queue number for RAM channel */
26 unsigned int codec_fmt;
27 /* 26 /*
28 * Allowing this is more efficient and eliminates left and right swaps 27 * Allowing this is more efficient and eliminates left and right swaps
29 * caused by underruns, but will swap the left and right channels 28 * caused by underruns, but will swap the left and right channels
diff --git a/include/linux/platform_data/omap-twl4030.h b/include/linux/platform_data/omap-twl4030.h
index c7bef788daab..ee60ef79d792 100644
--- a/include/linux/platform_data/omap-twl4030.h
+++ b/include/linux/platform_data/omap-twl4030.h
@@ -25,8 +25,34 @@
25#ifndef _OMAP_TWL4030_H_ 25#ifndef _OMAP_TWL4030_H_
26#define _OMAP_TWL4030_H_ 26#define _OMAP_TWL4030_H_
27 27
28/* To select if only one channel is connected in a stereo port */
29#define OMAP_TWL4030_LEFT (1 << 0)
30#define OMAP_TWL4030_RIGHT (1 << 1)
31
28struct omap_tw4030_pdata { 32struct omap_tw4030_pdata {
29 const char *card_name; 33 const char *card_name;
34 /* Voice port is connected to McBSP3 */
35 bool voice_connected;
36
37 /* The driver will parse the connection flags if this flag is set */
38 bool custom_routing;
39 /* Flags to indicate connected audio ports. */
40 u8 has_hs;
41 u8 has_hf;
42 u8 has_predriv;
43 u8 has_carkit;
44 bool has_ear;
45
46 bool has_mainmic;
47 bool has_submic;
48 bool has_hsmic;
49 bool has_carkitmic;
50 bool has_digimic0;
51 bool has_digimic1;
52 u8 has_linein;
53
54 /* Jack detect GPIO or <= 0 if it is not implemented */
55 int jack_detect;
30}; 56};
31 57
32#endif /* _OMAP_TWL4030_H_ */ 58#endif /* _OMAP_TWL4030_H_ */
diff --git a/sound/soc/atmel/sam9g20_wm8731.c b/sound/soc/atmel/sam9g20_wm8731.c
index 0744610e53dd..da976291da9e 100644
--- a/sound/soc/atmel/sam9g20_wm8731.c
+++ b/sound/soc/atmel/sam9g20_wm8731.c
@@ -197,7 +197,7 @@ static struct snd_soc_card snd_soc_at91sam9g20ek = {
197 .set_bias_level = at91sam9g20ek_set_bias_level, 197 .set_bias_level = at91sam9g20ek_set_bias_level,
198}; 198};
199 199
200static int __devinit at91sam9g20ek_audio_probe(struct platform_device *pdev) 200static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
201{ 201{
202 struct device_node *np = pdev->dev.of_node; 202 struct device_node *np = pdev->dev.of_node;
203 struct device_node *codec_np, *cpu_np; 203 struct device_node *codec_np, *cpu_np;
@@ -301,7 +301,7 @@ err:
301 return ret; 301 return ret;
302} 302}
303 303
304static int __devexit at91sam9g20ek_audio_remove(struct platform_device *pdev) 304static int at91sam9g20ek_audio_remove(struct platform_device *pdev)
305{ 305{
306 struct snd_soc_card *card = platform_get_drvdata(pdev); 306 struct snd_soc_card *card = platform_get_drvdata(pdev);
307 307
@@ -328,7 +328,7 @@ static struct platform_driver at91sam9g20ek_audio_driver = {
328 .of_match_table = of_match_ptr(at91sam9g20ek_wm8731_dt_ids), 328 .of_match_table = of_match_ptr(at91sam9g20ek_wm8731_dt_ids),
329 }, 329 },
330 .probe = at91sam9g20ek_audio_probe, 330 .probe = at91sam9g20ek_audio_probe,
331 .remove = __devexit_p(at91sam9g20ek_audio_remove), 331 .remove = at91sam9g20ek_audio_remove,
332}; 332};
333 333
334module_platform_driver(at91sam9g20ek_audio_driver); 334module_platform_driver(at91sam9g20ek_audio_driver);
diff --git a/sound/soc/au1x/ac97c.c b/sound/soc/au1x/ac97c.c
index c5ac2449563a..ea7d9d157022 100644
--- a/sound/soc/au1x/ac97c.c
+++ b/sound/soc/au1x/ac97c.c
@@ -223,7 +223,7 @@ static struct snd_soc_dai_driver au1xac97c_dai_driver = {
223 .ops = &alchemy_ac97c_ops, 223 .ops = &alchemy_ac97c_ops,
224}; 224};
225 225
226static int __devinit au1xac97c_drvprobe(struct platform_device *pdev) 226static int au1xac97c_drvprobe(struct platform_device *pdev)
227{ 227{
228 int ret; 228 int ret;
229 struct resource *iores, *dmares; 229 struct resource *iores, *dmares;
@@ -276,7 +276,7 @@ static int __devinit au1xac97c_drvprobe(struct platform_device *pdev)
276 return 0; 276 return 0;
277} 277}
278 278
279static int __devexit au1xac97c_drvremove(struct platform_device *pdev) 279static int au1xac97c_drvremove(struct platform_device *pdev)
280{ 280{
281 struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev); 281 struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);
282 282
@@ -330,7 +330,7 @@ static struct platform_driver au1xac97c_driver = {
330 .pm = AU1XPSCAC97_PMOPS, 330 .pm = AU1XPSCAC97_PMOPS,
331 }, 331 },
332 .probe = au1xac97c_drvprobe, 332 .probe = au1xac97c_drvprobe,
333 .remove = __devexit_p(au1xac97c_drvremove), 333 .remove = au1xac97c_drvremove,
334}; 334};
335 335
336static int __init au1xac97c_load(void) 336static int __init au1xac97c_load(void)
diff --git a/sound/soc/au1x/db1000.c b/sound/soc/au1x/db1000.c
index 511d83c11a9a..376d976bcc2d 100644
--- a/sound/soc/au1x/db1000.c
+++ b/sound/soc/au1x/db1000.c
@@ -34,14 +34,14 @@ static struct snd_soc_card db1000_ac97 = {
34 .num_links = 1, 34 .num_links = 1,
35}; 35};
36 36
37static int __devinit db1000_audio_probe(struct platform_device *pdev) 37static int db1000_audio_probe(struct platform_device *pdev)
38{ 38{
39 struct snd_soc_card *card = &db1000_ac97; 39 struct snd_soc_card *card = &db1000_ac97;
40 card->dev = &pdev->dev; 40 card->dev = &pdev->dev;
41 return snd_soc_register_card(card); 41 return snd_soc_register_card(card);
42} 42}
43 43
44static int __devexit db1000_audio_remove(struct platform_device *pdev) 44static int db1000_audio_remove(struct platform_device *pdev)
45{ 45{
46 struct snd_soc_card *card = platform_get_drvdata(pdev); 46 struct snd_soc_card *card = platform_get_drvdata(pdev);
47 snd_soc_unregister_card(card); 47 snd_soc_unregister_card(card);
@@ -55,7 +55,7 @@ static struct platform_driver db1000_audio_driver = {
55 .pm = &snd_soc_pm_ops, 55 .pm = &snd_soc_pm_ops,
56 }, 56 },
57 .probe = db1000_audio_probe, 57 .probe = db1000_audio_probe,
58 .remove = __devexit_p(db1000_audio_remove), 58 .remove = db1000_audio_remove,
59}; 59};
60 60
61module_platform_driver(db1000_audio_driver); 61module_platform_driver(db1000_audio_driver);
diff --git a/sound/soc/au1x/db1200.c b/sound/soc/au1x/db1200.c
index 30ea513d81d7..a497a0cfeba1 100644
--- a/sound/soc/au1x/db1200.c
+++ b/sound/soc/au1x/db1200.c
@@ -167,7 +167,7 @@ static struct snd_soc_card db1550_i2s_machine = {
167 167
168/*------------------------- COMMON PART ---------------------------*/ 168/*------------------------- COMMON PART ---------------------------*/
169 169
170static struct snd_soc_card *db1200_cards[] __devinitdata = { 170static struct snd_soc_card *db1200_cards[] = {
171 &db1200_ac97_machine, 171 &db1200_ac97_machine,
172 &db1200_i2s_machine, 172 &db1200_i2s_machine,
173 &db1300_ac97_machine, 173 &db1300_ac97_machine,
@@ -176,7 +176,7 @@ static struct snd_soc_card *db1200_cards[] __devinitdata = {
176 &db1550_i2s_machine, 176 &db1550_i2s_machine,
177}; 177};
178 178
179static int __devinit db1200_audio_probe(struct platform_device *pdev) 179static int db1200_audio_probe(struct platform_device *pdev)
180{ 180{
181 const struct platform_device_id *pid = platform_get_device_id(pdev); 181 const struct platform_device_id *pid = platform_get_device_id(pdev);
182 struct snd_soc_card *card; 182 struct snd_soc_card *card;
@@ -186,7 +186,7 @@ static int __devinit db1200_audio_probe(struct platform_device *pdev)
186 return snd_soc_register_card(card); 186 return snd_soc_register_card(card);
187} 187}
188 188
189static int __devexit db1200_audio_remove(struct platform_device *pdev) 189static int db1200_audio_remove(struct platform_device *pdev)
190{ 190{
191 struct snd_soc_card *card = platform_get_drvdata(pdev); 191 struct snd_soc_card *card = platform_get_drvdata(pdev);
192 snd_soc_unregister_card(card); 192 snd_soc_unregister_card(card);
@@ -201,7 +201,7 @@ static struct platform_driver db1200_audio_driver = {
201 }, 201 },
202 .id_table = db1200_pids, 202 .id_table = db1200_pids,
203 .probe = db1200_audio_probe, 203 .probe = db1200_audio_probe,
204 .remove = __devexit_p(db1200_audio_remove), 204 .remove = db1200_audio_remove,
205}; 205};
206 206
207module_platform_driver(db1200_audio_driver); 207module_platform_driver(db1200_audio_driver);
diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c
index 8372cd35f0d6..3b4eafaf30d3 100644
--- a/sound/soc/au1x/dbdma2.c
+++ b/sound/soc/au1x/dbdma2.c
@@ -347,7 +347,7 @@ static struct snd_soc_platform_driver au1xpsc_soc_platform = {
347 .pcm_free = au1xpsc_pcm_free_dma_buffers, 347 .pcm_free = au1xpsc_pcm_free_dma_buffers,
348}; 348};
349 349
350static int __devinit au1xpsc_pcm_drvprobe(struct platform_device *pdev) 350static int au1xpsc_pcm_drvprobe(struct platform_device *pdev)
351{ 351{
352 struct au1xpsc_audio_dmadata *dmadata; 352 struct au1xpsc_audio_dmadata *dmadata;
353 353
@@ -362,7 +362,7 @@ static int __devinit au1xpsc_pcm_drvprobe(struct platform_device *pdev)
362 return snd_soc_register_platform(&pdev->dev, &au1xpsc_soc_platform); 362 return snd_soc_register_platform(&pdev->dev, &au1xpsc_soc_platform);
363} 363}
364 364
365static int __devexit au1xpsc_pcm_drvremove(struct platform_device *pdev) 365static int au1xpsc_pcm_drvremove(struct platform_device *pdev)
366{ 366{
367 snd_soc_unregister_platform(&pdev->dev); 367 snd_soc_unregister_platform(&pdev->dev);
368 368
@@ -375,7 +375,7 @@ static struct platform_driver au1xpsc_pcm_driver = {
375 .owner = THIS_MODULE, 375 .owner = THIS_MODULE,
376 }, 376 },
377 .probe = au1xpsc_pcm_drvprobe, 377 .probe = au1xpsc_pcm_drvprobe,
378 .remove = __devexit_p(au1xpsc_pcm_drvremove), 378 .remove = au1xpsc_pcm_drvremove,
379}; 379};
380 380
381module_platform_driver(au1xpsc_pcm_driver); 381module_platform_driver(au1xpsc_pcm_driver);
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 0a91b186a86f..befd1074f9bd 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -322,7 +322,7 @@ static struct snd_soc_platform_driver alchemy_pcm_soc_platform = {
322 .pcm_free = alchemy_pcm_free_dma_buffers, 322 .pcm_free = alchemy_pcm_free_dma_buffers,
323}; 323};
324 324
325static int __devinit alchemy_pcm_drvprobe(struct platform_device *pdev) 325static int alchemy_pcm_drvprobe(struct platform_device *pdev)
326{ 326{
327 struct alchemy_pcm_ctx *ctx; 327 struct alchemy_pcm_ctx *ctx;
328 328
@@ -335,7 +335,7 @@ static int __devinit alchemy_pcm_drvprobe(struct platform_device *pdev)
335 return snd_soc_register_platform(&pdev->dev, &alchemy_pcm_soc_platform); 335 return snd_soc_register_platform(&pdev->dev, &alchemy_pcm_soc_platform);
336} 336}
337 337
338static int __devexit alchemy_pcm_drvremove(struct platform_device *pdev) 338static int alchemy_pcm_drvremove(struct platform_device *pdev)
339{ 339{
340 snd_soc_unregister_platform(&pdev->dev); 340 snd_soc_unregister_platform(&pdev->dev);
341 341
@@ -348,7 +348,7 @@ static struct platform_driver alchemy_pcmdma_driver = {
348 .owner = THIS_MODULE, 348 .owner = THIS_MODULE,
349 }, 349 },
350 .probe = alchemy_pcm_drvprobe, 350 .probe = alchemy_pcm_drvprobe,
351 .remove = __devexit_p(alchemy_pcm_drvremove), 351 .remove = alchemy_pcm_drvremove,
352}; 352};
353 353
354module_platform_driver(alchemy_pcmdma_driver); 354module_platform_driver(alchemy_pcmdma_driver);
diff --git a/sound/soc/au1x/i2sc.c b/sound/soc/au1x/i2sc.c
index d4b9e364a47a..072448afc219 100644
--- a/sound/soc/au1x/i2sc.c
+++ b/sound/soc/au1x/i2sc.c
@@ -225,7 +225,7 @@ static struct snd_soc_dai_driver au1xi2s_dai_driver = {
225 .ops = &au1xi2s_dai_ops, 225 .ops = &au1xi2s_dai_ops,
226}; 226};
227 227
228static int __devinit au1xi2s_drvprobe(struct platform_device *pdev) 228static int au1xi2s_drvprobe(struct platform_device *pdev)
229{ 229{
230 struct resource *iores, *dmares; 230 struct resource *iores, *dmares;
231 struct au1xpsc_audio_data *ctx; 231 struct au1xpsc_audio_data *ctx;
@@ -263,7 +263,7 @@ static int __devinit au1xi2s_drvprobe(struct platform_device *pdev)
263 return snd_soc_register_dai(&pdev->dev, &au1xi2s_dai_driver); 263 return snd_soc_register_dai(&pdev->dev, &au1xi2s_dai_driver);
264} 264}
265 265
266static int __devexit au1xi2s_drvremove(struct platform_device *pdev) 266static int au1xi2s_drvremove(struct platform_device *pdev)
267{ 267{
268 struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev); 268 struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);
269 269
@@ -309,7 +309,7 @@ static struct platform_driver au1xi2s_driver = {
309 .pm = AU1XI2SC_PMOPS, 309 .pm = AU1XI2SC_PMOPS,
310 }, 310 },
311 .probe = au1xi2s_drvprobe, 311 .probe = au1xi2s_drvprobe,
312 .remove = __devexit_p(au1xi2s_drvremove), 312 .remove = au1xi2s_drvremove,
313}; 313};
314 314
315module_platform_driver(au1xi2s_driver); 315module_platform_driver(au1xi2s_driver);
diff --git a/sound/soc/au1x/psc-ac97.c b/sound/soc/au1x/psc-ac97.c
index 476b79a1c11a..6ba07e365967 100644
--- a/sound/soc/au1x/psc-ac97.c
+++ b/sound/soc/au1x/psc-ac97.c
@@ -361,7 +361,7 @@ static const struct snd_soc_dai_driver au1xpsc_ac97_dai_template = {
361 .ops = &au1xpsc_ac97_dai_ops, 361 .ops = &au1xpsc_ac97_dai_ops,
362}; 362};
363 363
364static int __devinit au1xpsc_ac97_drvprobe(struct platform_device *pdev) 364static int au1xpsc_ac97_drvprobe(struct platform_device *pdev)
365{ 365{
366 int ret; 366 int ret;
367 struct resource *iores, *dmares; 367 struct resource *iores, *dmares;
@@ -427,7 +427,7 @@ static int __devinit au1xpsc_ac97_drvprobe(struct platform_device *pdev)
427 return 0; 427 return 0;
428} 428}
429 429
430static int __devexit au1xpsc_ac97_drvremove(struct platform_device *pdev) 430static int au1xpsc_ac97_drvremove(struct platform_device *pdev)
431{ 431{
432 struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev); 432 struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
433 433
@@ -495,7 +495,7 @@ static struct platform_driver au1xpsc_ac97_driver = {
495 .pm = AU1XPSCAC97_PMOPS, 495 .pm = AU1XPSCAC97_PMOPS,
496 }, 496 },
497 .probe = au1xpsc_ac97_drvprobe, 497 .probe = au1xpsc_ac97_drvprobe,
498 .remove = __devexit_p(au1xpsc_ac97_drvremove), 498 .remove = au1xpsc_ac97_drvremove,
499}; 499};
500 500
501static int __init au1xpsc_ac97_load(void) 501static int __init au1xpsc_ac97_load(void)
diff --git a/sound/soc/au1x/psc-i2s.c b/sound/soc/au1x/psc-i2s.c
index 0607ba3d9258..360b4e50d7c8 100644
--- a/sound/soc/au1x/psc-i2s.c
+++ b/sound/soc/au1x/psc-i2s.c
@@ -288,7 +288,7 @@ static const struct snd_soc_dai_driver au1xpsc_i2s_dai_template = {
288 .ops = &au1xpsc_i2s_dai_ops, 288 .ops = &au1xpsc_i2s_dai_ops,
289}; 289};
290 290
291static int __devinit au1xpsc_i2s_drvprobe(struct platform_device *pdev) 291static int au1xpsc_i2s_drvprobe(struct platform_device *pdev)
292{ 292{
293 struct resource *iores, *dmares; 293 struct resource *iores, *dmares;
294 unsigned long sel; 294 unsigned long sel;
@@ -353,7 +353,7 @@ static int __devinit au1xpsc_i2s_drvprobe(struct platform_device *pdev)
353 return snd_soc_register_dai(&pdev->dev, &wd->dai_drv); 353 return snd_soc_register_dai(&pdev->dev, &wd->dai_drv);
354} 354}
355 355
356static int __devexit au1xpsc_i2s_drvremove(struct platform_device *pdev) 356static int au1xpsc_i2s_drvremove(struct platform_device *pdev)
357{ 357{
358 struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev); 358 struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
359 359
@@ -418,7 +418,7 @@ static struct platform_driver au1xpsc_i2s_driver = {
418 .pm = AU1XPSCI2S_PMOPS, 418 .pm = AU1XPSCI2S_PMOPS,
419 }, 419 },
420 .probe = au1xpsc_i2s_drvprobe, 420 .probe = au1xpsc_i2s_drvprobe,
421 .remove = __devexit_p(au1xpsc_i2s_drvremove), 421 .remove = au1xpsc_i2s_drvremove,
422}; 422};
423 423
424module_platform_driver(au1xpsc_i2s_driver); 424module_platform_driver(au1xpsc_i2s_driver);
diff --git a/sound/soc/blackfin/bf5xx-ac97-pcm.c b/sound/soc/blackfin/bf5xx-ac97-pcm.c
index d7dc9bde0976..7e2f36004a5a 100644
--- a/sound/soc/blackfin/bf5xx-ac97-pcm.c
+++ b/sound/soc/blackfin/bf5xx-ac97-pcm.c
@@ -453,12 +453,12 @@ static struct snd_soc_platform_driver bf5xx_ac97_soc_platform = {
453 .pcm_free = bf5xx_pcm_free_dma_buffers, 453 .pcm_free = bf5xx_pcm_free_dma_buffers,
454}; 454};
455 455
456static int __devinit bf5xx_soc_platform_probe(struct platform_device *pdev) 456static int bf5xx_soc_platform_probe(struct platform_device *pdev)
457{ 457{
458 return snd_soc_register_platform(&pdev->dev, &bf5xx_ac97_soc_platform); 458 return snd_soc_register_platform(&pdev->dev, &bf5xx_ac97_soc_platform);
459} 459}
460 460
461static int __devexit bf5xx_soc_platform_remove(struct platform_device *pdev) 461static int bf5xx_soc_platform_remove(struct platform_device *pdev)
462{ 462{
463 snd_soc_unregister_platform(&pdev->dev); 463 snd_soc_unregister_platform(&pdev->dev);
464 return 0; 464 return 0;
@@ -471,7 +471,7 @@ static struct platform_driver bf5xx_pcm_driver = {
471 }, 471 },
472 472
473 .probe = bf5xx_soc_platform_probe, 473 .probe = bf5xx_soc_platform_probe,
474 .remove = __devexit_p(bf5xx_soc_platform_remove), 474 .remove = bf5xx_soc_platform_remove,
475}; 475};
476 476
477module_platform_driver(bf5xx_pcm_driver); 477module_platform_driver(bf5xx_pcm_driver);
diff --git a/sound/soc/blackfin/bf5xx-ac97.c b/sound/soc/blackfin/bf5xx-ac97.c
index f4e9dc4e262e..8e41bcb020eb 100644
--- a/sound/soc/blackfin/bf5xx-ac97.c
+++ b/sound/soc/blackfin/bf5xx-ac97.c
@@ -282,7 +282,7 @@ static struct snd_soc_dai_driver bfin_ac97_dai = {
282 .formats = SNDRV_PCM_FMTBIT_S16_LE, }, 282 .formats = SNDRV_PCM_FMTBIT_S16_LE, },
283}; 283};
284 284
285static int __devinit asoc_bfin_ac97_probe(struct platform_device *pdev) 285static int asoc_bfin_ac97_probe(struct platform_device *pdev)
286{ 286{
287 struct sport_device *sport_handle; 287 struct sport_device *sport_handle;
288 int ret; 288 int ret;
@@ -352,7 +352,7 @@ gpio_err:
352 return ret; 352 return ret;
353} 353}
354 354
355static int __devexit asoc_bfin_ac97_remove(struct platform_device *pdev) 355static int asoc_bfin_ac97_remove(struct platform_device *pdev)
356{ 356{
357 struct sport_device *sport_handle = platform_get_drvdata(pdev); 357 struct sport_device *sport_handle = platform_get_drvdata(pdev);
358 358
@@ -372,7 +372,7 @@ static struct platform_driver asoc_bfin_ac97_driver = {
372 }, 372 },
373 373
374 .probe = asoc_bfin_ac97_probe, 374 .probe = asoc_bfin_ac97_probe,
375 .remove = __devexit_p(asoc_bfin_ac97_remove), 375 .remove = asoc_bfin_ac97_remove,
376}; 376};
377 377
378module_platform_driver(asoc_bfin_ac97_driver); 378module_platform_driver(asoc_bfin_ac97_driver);
diff --git a/sound/soc/blackfin/bf5xx-ad1836.c b/sound/soc/blackfin/bf5xx-ad1836.c
index 16b9c9efd19a..d23f4b0ea54f 100644
--- a/sound/soc/blackfin/bf5xx-ad1836.c
+++ b/sound/soc/blackfin/bf5xx-ad1836.c
@@ -75,7 +75,7 @@ static struct snd_soc_card bf5xx_ad1836 = {
75 .num_links = 1, 75 .num_links = 1,
76}; 76};
77 77
78static __devinit int bf5xx_ad1836_driver_probe(struct platform_device *pdev) 78static int bf5xx_ad1836_driver_probe(struct platform_device *pdev)
79{ 79{
80 struct snd_soc_card *card = &bf5xx_ad1836; 80 struct snd_soc_card *card = &bf5xx_ad1836;
81 const char **link_name; 81 const char **link_name;
@@ -98,7 +98,7 @@ static __devinit int bf5xx_ad1836_driver_probe(struct platform_device *pdev)
98 return ret; 98 return ret;
99} 99}
100 100
101static int __devexit bf5xx_ad1836_driver_remove(struct platform_device *pdev) 101static int bf5xx_ad1836_driver_remove(struct platform_device *pdev)
102{ 102{
103 struct snd_soc_card *card = platform_get_drvdata(pdev); 103 struct snd_soc_card *card = platform_get_drvdata(pdev);
104 104
@@ -113,7 +113,7 @@ static struct platform_driver bf5xx_ad1836_driver = {
113 .pm = &snd_soc_pm_ops, 113 .pm = &snd_soc_pm_ops,
114 }, 114 },
115 .probe = bf5xx_ad1836_driver_probe, 115 .probe = bf5xx_ad1836_driver_probe,
116 .remove = __devexit_p(bf5xx_ad1836_driver_remove), 116 .remove = bf5xx_ad1836_driver_remove,
117}; 117};
118module_platform_driver(bf5xx_ad1836_driver); 118module_platform_driver(bf5xx_ad1836_driver);
119 119
diff --git a/sound/soc/blackfin/bf5xx-i2s-pcm.c b/sound/soc/blackfin/bf5xx-i2s-pcm.c
index 63205d723eab..262c1de364d8 100644
--- a/sound/soc/blackfin/bf5xx-i2s-pcm.c
+++ b/sound/soc/blackfin/bf5xx-i2s-pcm.c
@@ -292,12 +292,12 @@ static struct snd_soc_platform_driver bf5xx_i2s_soc_platform = {
292 .pcm_free = bf5xx_pcm_free_dma_buffers, 292 .pcm_free = bf5xx_pcm_free_dma_buffers,
293}; 293};
294 294
295static int __devinit bfin_i2s_soc_platform_probe(struct platform_device *pdev) 295static int bfin_i2s_soc_platform_probe(struct platform_device *pdev)
296{ 296{
297 return snd_soc_register_platform(&pdev->dev, &bf5xx_i2s_soc_platform); 297 return snd_soc_register_platform(&pdev->dev, &bf5xx_i2s_soc_platform);
298} 298}
299 299
300static int __devexit bfin_i2s_soc_platform_remove(struct platform_device *pdev) 300static int bfin_i2s_soc_platform_remove(struct platform_device *pdev)
301{ 301{
302 snd_soc_unregister_platform(&pdev->dev); 302 snd_soc_unregister_platform(&pdev->dev);
303 return 0; 303 return 0;
@@ -310,7 +310,7 @@ static struct platform_driver bfin_i2s_pcm_driver = {
310 }, 310 },
311 311
312 .probe = bfin_i2s_soc_platform_probe, 312 .probe = bfin_i2s_soc_platform_probe,
313 .remove = __devexit_p(bfin_i2s_soc_platform_remove), 313 .remove = bfin_i2s_soc_platform_remove,
314}; 314};
315 315
316module_platform_driver(bfin_i2s_pcm_driver); 316module_platform_driver(bfin_i2s_pcm_driver);
diff --git a/sound/soc/blackfin/bf5xx-i2s.c b/sound/soc/blackfin/bf5xx-i2s.c
index 4dccf0374fe7..168d88bccb41 100644
--- a/sound/soc/blackfin/bf5xx-i2s.c
+++ b/sound/soc/blackfin/bf5xx-i2s.c
@@ -245,7 +245,7 @@ static struct snd_soc_dai_driver bf5xx_i2s_dai = {
245 .ops = &bf5xx_i2s_dai_ops, 245 .ops = &bf5xx_i2s_dai_ops,
246}; 246};
247 247
248static int __devinit bf5xx_i2s_probe(struct platform_device *pdev) 248static int bf5xx_i2s_probe(struct platform_device *pdev)
249{ 249{
250 struct sport_device *sport_handle; 250 struct sport_device *sport_handle;
251 int ret; 251 int ret;
@@ -267,7 +267,7 @@ static int __devinit bf5xx_i2s_probe(struct platform_device *pdev)
267 return 0; 267 return 0;
268} 268}
269 269
270static int __devexit bf5xx_i2s_remove(struct platform_device *pdev) 270static int bf5xx_i2s_remove(struct platform_device *pdev)
271{ 271{
272 struct sport_device *sport_handle = platform_get_drvdata(pdev); 272 struct sport_device *sport_handle = platform_get_drvdata(pdev);
273 273
@@ -281,7 +281,7 @@ static int __devexit bf5xx_i2s_remove(struct platform_device *pdev)
281 281
282static struct platform_driver bfin_i2s_driver = { 282static struct platform_driver bfin_i2s_driver = {
283 .probe = bf5xx_i2s_probe, 283 .probe = bf5xx_i2s_probe,
284 .remove = __devexit_p(bf5xx_i2s_remove), 284 .remove = bf5xx_i2s_remove,
285 .driver = { 285 .driver = {
286 .name = "bfin-i2s", 286 .name = "bfin-i2s",
287 .owner = THIS_MODULE, 287 .owner = THIS_MODULE,
diff --git a/sound/soc/blackfin/bf5xx-tdm-pcm.c b/sound/soc/blackfin/bf5xx-tdm-pcm.c
index 254490cf1876..0e6b888bb4cc 100644
--- a/sound/soc/blackfin/bf5xx-tdm-pcm.c
+++ b/sound/soc/blackfin/bf5xx-tdm-pcm.c
@@ -317,12 +317,12 @@ static struct snd_soc_platform_driver bf5xx_tdm_soc_platform = {
317 .pcm_free = bf5xx_pcm_free_dma_buffers, 317 .pcm_free = bf5xx_pcm_free_dma_buffers,
318}; 318};
319 319
320static int __devinit bf5xx_soc_platform_probe(struct platform_device *pdev) 320static int bf5xx_soc_platform_probe(struct platform_device *pdev)
321{ 321{
322 return snd_soc_register_platform(&pdev->dev, &bf5xx_tdm_soc_platform); 322 return snd_soc_register_platform(&pdev->dev, &bf5xx_tdm_soc_platform);
323} 323}
324 324
325static int __devexit bf5xx_soc_platform_remove(struct platform_device *pdev) 325static int bf5xx_soc_platform_remove(struct platform_device *pdev)
326{ 326{
327 snd_soc_unregister_platform(&pdev->dev); 327 snd_soc_unregister_platform(&pdev->dev);
328 return 0; 328 return 0;
@@ -335,7 +335,7 @@ static struct platform_driver bfin_tdm_driver = {
335 }, 335 },
336 336
337 .probe = bf5xx_soc_platform_probe, 337 .probe = bf5xx_soc_platform_probe,
338 .remove = __devexit_p(bf5xx_soc_platform_remove), 338 .remove = bf5xx_soc_platform_remove,
339}; 339};
340 340
341module_platform_driver(bfin_tdm_driver); 341module_platform_driver(bfin_tdm_driver);
diff --git a/sound/soc/blackfin/bf5xx-tdm.c b/sound/soc/blackfin/bf5xx-tdm.c
index 594f88217c74..c1e516ec53ad 100644
--- a/sound/soc/blackfin/bf5xx-tdm.c
+++ b/sound/soc/blackfin/bf5xx-tdm.c
@@ -249,7 +249,7 @@ static struct snd_soc_dai_driver bf5xx_tdm_dai = {
249 .ops = &bf5xx_tdm_dai_ops, 249 .ops = &bf5xx_tdm_dai_ops,
250}; 250};
251 251
252static int __devinit bfin_tdm_probe(struct platform_device *pdev) 252static int bfin_tdm_probe(struct platform_device *pdev)
253{ 253{
254 struct sport_device *sport_handle; 254 struct sport_device *sport_handle;
255 int ret; 255 int ret;
@@ -295,7 +295,7 @@ sport_config_err:
295 return ret; 295 return ret;
296} 296}
297 297
298static int __devexit bfin_tdm_remove(struct platform_device *pdev) 298static int bfin_tdm_remove(struct platform_device *pdev)
299{ 299{
300 struct sport_device *sport_handle = platform_get_drvdata(pdev); 300 struct sport_device *sport_handle = platform_get_drvdata(pdev);
301 301
@@ -307,7 +307,7 @@ static int __devexit bfin_tdm_remove(struct platform_device *pdev)
307 307
308static struct platform_driver bfin_tdm_driver = { 308static struct platform_driver bfin_tdm_driver = {
309 .probe = bfin_tdm_probe, 309 .probe = bfin_tdm_probe,
310 .remove = __devexit_p(bfin_tdm_remove), 310 .remove = bfin_tdm_remove,
311 .driver = { 311 .driver = {
312 .name = "bfin-tdm", 312 .name = "bfin-tdm",
313 .owner = THIS_MODULE, 313 .owner = THIS_MODULE,
diff --git a/sound/soc/blackfin/bf6xx-i2s.c b/sound/soc/blackfin/bf6xx-i2s.c
index c3c2466d3a42..8f337972f438 100644
--- a/sound/soc/blackfin/bf6xx-i2s.c
+++ b/sound/soc/blackfin/bf6xx-i2s.c
@@ -186,7 +186,7 @@ static struct snd_soc_dai_driver bfin_i2s_dai = {
186 .ops = &bfin_i2s_dai_ops, 186 .ops = &bfin_i2s_dai_ops,
187}; 187};
188 188
189static int __devinit bfin_i2s_probe(struct platform_device *pdev) 189static int bfin_i2s_probe(struct platform_device *pdev)
190{ 190{
191 struct sport_device *sport; 191 struct sport_device *sport;
192 struct device *dev = &pdev->dev; 192 struct device *dev = &pdev->dev;
@@ -208,7 +208,7 @@ static int __devinit bfin_i2s_probe(struct platform_device *pdev)
208 return 0; 208 return 0;
209} 209}
210 210
211static int __devexit bfin_i2s_remove(struct platform_device *pdev) 211static int bfin_i2s_remove(struct platform_device *pdev)
212{ 212{
213 struct sport_device *sport = platform_get_drvdata(pdev); 213 struct sport_device *sport = platform_get_drvdata(pdev);
214 214
@@ -220,7 +220,7 @@ static int __devexit bfin_i2s_remove(struct platform_device *pdev)
220 220
221static struct platform_driver bfin_i2s_driver = { 221static struct platform_driver bfin_i2s_driver = {
222 .probe = bfin_i2s_probe, 222 .probe = bfin_i2s_probe,
223 .remove = __devexit_p(bfin_i2s_remove), 223 .remove = bfin_i2s_remove,
224 .driver = { 224 .driver = {
225 .name = "bfin-i2s", 225 .name = "bfin-i2s",
226 .owner = THIS_MODULE, 226 .owner = THIS_MODULE,
diff --git a/sound/soc/blackfin/bfin-eval-adau1373.c b/sound/soc/blackfin/bfin-eval-adau1373.c
index f3adbdbdd5e1..4ef9683bcad8 100644
--- a/sound/soc/blackfin/bfin-eval-adau1373.c
+++ b/sound/soc/blackfin/bfin-eval-adau1373.c
@@ -157,7 +157,7 @@ static int bfin_eval_adau1373_probe(struct platform_device *pdev)
157 return snd_soc_register_card(&bfin_eval_adau1373); 157 return snd_soc_register_card(&bfin_eval_adau1373);
158} 158}
159 159
160static int __devexit bfin_eval_adau1373_remove(struct platform_device *pdev) 160static int bfin_eval_adau1373_remove(struct platform_device *pdev)
161{ 161{
162 struct snd_soc_card *card = platform_get_drvdata(pdev); 162 struct snd_soc_card *card = platform_get_drvdata(pdev);
163 163
@@ -173,7 +173,7 @@ static struct platform_driver bfin_eval_adau1373_driver = {
173 .pm = &snd_soc_pm_ops, 173 .pm = &snd_soc_pm_ops,
174 }, 174 },
175 .probe = bfin_eval_adau1373_probe, 175 .probe = bfin_eval_adau1373_probe,
176 .remove = __devexit_p(bfin_eval_adau1373_remove), 176 .remove = bfin_eval_adau1373_remove,
177}; 177};
178 178
179module_platform_driver(bfin_eval_adau1373_driver); 179module_platform_driver(bfin_eval_adau1373_driver);
diff --git a/sound/soc/blackfin/bfin-eval-adau1701.c b/sound/soc/blackfin/bfin-eval-adau1701.c
index b0531fc9d814..3b55081a96c0 100644
--- a/sound/soc/blackfin/bfin-eval-adau1701.c
+++ b/sound/soc/blackfin/bfin-eval-adau1701.c
@@ -97,7 +97,7 @@ static int bfin_eval_adau1701_probe(struct platform_device *pdev)
97 return snd_soc_register_card(&bfin_eval_adau1701); 97 return snd_soc_register_card(&bfin_eval_adau1701);
98} 98}
99 99
100static int __devexit bfin_eval_adau1701_remove(struct platform_device *pdev) 100static int bfin_eval_adau1701_remove(struct platform_device *pdev)
101{ 101{
102 struct snd_soc_card *card = platform_get_drvdata(pdev); 102 struct snd_soc_card *card = platform_get_drvdata(pdev);
103 103
@@ -113,7 +113,7 @@ static struct platform_driver bfin_eval_adau1701_driver = {
113 .pm = &snd_soc_pm_ops, 113 .pm = &snd_soc_pm_ops,
114 }, 114 },
115 .probe = bfin_eval_adau1701_probe, 115 .probe = bfin_eval_adau1701_probe,
116 .remove = __devexit_p(bfin_eval_adau1701_remove), 116 .remove = bfin_eval_adau1701_remove,
117}; 117};
118 118
119module_platform_driver(bfin_eval_adau1701_driver); 119module_platform_driver(bfin_eval_adau1701_driver);
diff --git a/sound/soc/blackfin/bfin-eval-adav80x.c b/sound/soc/blackfin/bfin-eval-adav80x.c
index 84b09987b7f3..3b1b61a44815 100644
--- a/sound/soc/blackfin/bfin-eval-adav80x.c
+++ b/sound/soc/blackfin/bfin-eval-adav80x.c
@@ -122,7 +122,7 @@ static int bfin_eval_adav80x_probe(struct platform_device *pdev)
122 return snd_soc_register_card(&bfin_eval_adav80x); 122 return snd_soc_register_card(&bfin_eval_adav80x);
123} 123}
124 124
125static int __devexit bfin_eval_adav80x_remove(struct platform_device *pdev) 125static int bfin_eval_adav80x_remove(struct platform_device *pdev)
126{ 126{
127 struct snd_soc_card *card = platform_get_drvdata(pdev); 127 struct snd_soc_card *card = platform_get_drvdata(pdev);
128 128
@@ -145,7 +145,7 @@ static struct platform_driver bfin_eval_adav80x_driver = {
145 .pm = &snd_soc_pm_ops, 145 .pm = &snd_soc_pm_ops,
146 }, 146 },
147 .probe = bfin_eval_adav80x_probe, 147 .probe = bfin_eval_adav80x_probe,
148 .remove = __devexit_p(bfin_eval_adav80x_remove), 148 .remove = bfin_eval_adav80x_remove,
149 .id_table = bfin_eval_adav80x_ids, 149 .id_table = bfin_eval_adav80x_ids,
150}; 150};
151 151
diff --git a/sound/soc/cirrus/edb93xx.c b/sound/soc/cirrus/edb93xx.c
index e01cb02abd3a..5db68cf7b281 100644
--- a/sound/soc/cirrus/edb93xx.c
+++ b/sound/soc/cirrus/edb93xx.c
@@ -80,7 +80,7 @@ static struct snd_soc_card snd_soc_edb93xx = {
80 .num_links = 1, 80 .num_links = 1,
81}; 81};
82 82
83static int __devinit edb93xx_probe(struct platform_device *pdev) 83static int edb93xx_probe(struct platform_device *pdev)
84{ 84{
85 struct snd_soc_card *card = &snd_soc_edb93xx; 85 struct snd_soc_card *card = &snd_soc_edb93xx;
86 int ret; 86 int ret;
@@ -101,7 +101,7 @@ static int __devinit edb93xx_probe(struct platform_device *pdev)
101 return ret; 101 return ret;
102} 102}
103 103
104static int __devexit edb93xx_remove(struct platform_device *pdev) 104static int edb93xx_remove(struct platform_device *pdev)
105{ 105{
106 struct snd_soc_card *card = platform_get_drvdata(pdev); 106 struct snd_soc_card *card = platform_get_drvdata(pdev);
107 107
@@ -117,7 +117,7 @@ static struct platform_driver edb93xx_driver = {
117 .owner = THIS_MODULE, 117 .owner = THIS_MODULE,
118 }, 118 },
119 .probe = edb93xx_probe, 119 .probe = edb93xx_probe,
120 .remove = __devexit_p(edb93xx_remove), 120 .remove = edb93xx_remove,
121}; 121};
122 122
123module_platform_driver(edb93xx_driver); 123module_platform_driver(edb93xx_driver);
diff --git a/sound/soc/cirrus/ep93xx-ac97.c b/sound/soc/cirrus/ep93xx-ac97.c
index c3521653cfd3..f3f50e6fd6eb 100644
--- a/sound/soc/cirrus/ep93xx-ac97.c
+++ b/sound/soc/cirrus/ep93xx-ac97.c
@@ -352,7 +352,7 @@ static struct snd_soc_dai_driver ep93xx_ac97_dai = {
352 .ops = &ep93xx_ac97_dai_ops, 352 .ops = &ep93xx_ac97_dai_ops,
353}; 353};
354 354
355static int __devinit ep93xx_ac97_probe(struct platform_device *pdev) 355static int ep93xx_ac97_probe(struct platform_device *pdev)
356{ 356{
357 struct ep93xx_ac97_info *info; 357 struct ep93xx_ac97_info *info;
358 struct resource *res; 358 struct resource *res;
@@ -402,7 +402,7 @@ fail:
402 return ret; 402 return ret;
403} 403}
404 404
405static int __devexit ep93xx_ac97_remove(struct platform_device *pdev) 405static int ep93xx_ac97_remove(struct platform_device *pdev)
406{ 406{
407 struct ep93xx_ac97_info *info = platform_get_drvdata(pdev); 407 struct ep93xx_ac97_info *info = platform_get_drvdata(pdev);
408 408
@@ -420,7 +420,7 @@ static int __devexit ep93xx_ac97_remove(struct platform_device *pdev)
420 420
421static struct platform_driver ep93xx_ac97_driver = { 421static struct platform_driver ep93xx_ac97_driver = {
422 .probe = ep93xx_ac97_probe, 422 .probe = ep93xx_ac97_probe,
423 .remove = __devexit_p(ep93xx_ac97_remove), 423 .remove = ep93xx_ac97_remove,
424 .driver = { 424 .driver = {
425 .name = "ep93xx-ac97", 425 .name = "ep93xx-ac97",
426 .owner = THIS_MODULE, 426 .owner = THIS_MODULE,
diff --git a/sound/soc/cirrus/ep93xx-i2s.c b/sound/soc/cirrus/ep93xx-i2s.c
index ac4a7515e7be..3365d4e843b7 100644
--- a/sound/soc/cirrus/ep93xx-i2s.c
+++ b/sound/soc/cirrus/ep93xx-i2s.c
@@ -422,7 +422,7 @@ fail:
422 return err; 422 return err;
423} 423}
424 424
425static int __devexit ep93xx_i2s_remove(struct platform_device *pdev) 425static int ep93xx_i2s_remove(struct platform_device *pdev)
426{ 426{
427 struct ep93xx_i2s_info *info = dev_get_drvdata(&pdev->dev); 427 struct ep93xx_i2s_info *info = dev_get_drvdata(&pdev->dev);
428 428
@@ -436,7 +436,7 @@ static int __devexit ep93xx_i2s_remove(struct platform_device *pdev)
436 436
437static struct platform_driver ep93xx_i2s_driver = { 437static struct platform_driver ep93xx_i2s_driver = {
438 .probe = ep93xx_i2s_probe, 438 .probe = ep93xx_i2s_probe,
439 .remove = __devexit_p(ep93xx_i2s_remove), 439 .remove = ep93xx_i2s_remove,
440 .driver = { 440 .driver = {
441 .name = "ep93xx-i2s", 441 .name = "ep93xx-i2s",
442 .owner = THIS_MODULE, 442 .owner = THIS_MODULE,
diff --git a/sound/soc/cirrus/ep93xx-pcm.c b/sound/soc/cirrus/ep93xx-pcm.c
index 665d9c94cc17..72eb7a49e16a 100644
--- a/sound/soc/cirrus/ep93xx-pcm.c
+++ b/sound/soc/cirrus/ep93xx-pcm.c
@@ -213,12 +213,12 @@ static struct snd_soc_platform_driver ep93xx_soc_platform = {
213 .pcm_free = &ep93xx_pcm_free_dma_buffers, 213 .pcm_free = &ep93xx_pcm_free_dma_buffers,
214}; 214};
215 215
216static int __devinit ep93xx_soc_platform_probe(struct platform_device *pdev) 216static int ep93xx_soc_platform_probe(struct platform_device *pdev)
217{ 217{
218 return snd_soc_register_platform(&pdev->dev, &ep93xx_soc_platform); 218 return snd_soc_register_platform(&pdev->dev, &ep93xx_soc_platform);
219} 219}
220 220
221static int __devexit ep93xx_soc_platform_remove(struct platform_device *pdev) 221static int ep93xx_soc_platform_remove(struct platform_device *pdev)
222{ 222{
223 snd_soc_unregister_platform(&pdev->dev); 223 snd_soc_unregister_platform(&pdev->dev);
224 return 0; 224 return 0;
@@ -231,7 +231,7 @@ static struct platform_driver ep93xx_pcm_driver = {
231 }, 231 },
232 232
233 .probe = ep93xx_soc_platform_probe, 233 .probe = ep93xx_soc_platform_probe,
234 .remove = __devexit_p(ep93xx_soc_platform_remove), 234 .remove = ep93xx_soc_platform_remove,
235}; 235};
236 236
237module_platform_driver(ep93xx_pcm_driver); 237module_platform_driver(ep93xx_pcm_driver);
diff --git a/sound/soc/cirrus/simone.c b/sound/soc/cirrus/simone.c
index dd997094eb30..a397bb0d8179 100644
--- a/sound/soc/cirrus/simone.c
+++ b/sound/soc/cirrus/simone.c
@@ -41,7 +41,7 @@ static struct snd_soc_card snd_soc_simone = {
41 41
42static struct platform_device *simone_snd_ac97_device; 42static struct platform_device *simone_snd_ac97_device;
43 43
44static int __devinit simone_probe(struct platform_device *pdev) 44static int simone_probe(struct platform_device *pdev)
45{ 45{
46 struct snd_soc_card *card = &snd_soc_simone; 46 struct snd_soc_card *card = &snd_soc_simone;
47 int ret; 47 int ret;
@@ -63,7 +63,7 @@ static int __devinit simone_probe(struct platform_device *pdev)
63 return ret; 63 return ret;
64} 64}
65 65
66static int __devexit simone_remove(struct platform_device *pdev) 66static int simone_remove(struct platform_device *pdev)
67{ 67{
68 struct snd_soc_card *card = platform_get_drvdata(pdev); 68 struct snd_soc_card *card = platform_get_drvdata(pdev);
69 69
@@ -79,7 +79,7 @@ static struct platform_driver simone_driver = {
79 .owner = THIS_MODULE, 79 .owner = THIS_MODULE,
80 }, 80 },
81 .probe = simone_probe, 81 .probe = simone_probe,
82 .remove = __devexit_p(simone_remove), 82 .remove = simone_remove,
83}; 83};
84 84
85module_platform_driver(simone_driver); 85module_platform_driver(simone_driver);
diff --git a/sound/soc/cirrus/snappercl15.c b/sound/soc/cirrus/snappercl15.c
index a193cea3cf3c..9d77fe28dfcc 100644
--- a/sound/soc/cirrus/snappercl15.c
+++ b/sound/soc/cirrus/snappercl15.c
@@ -98,7 +98,7 @@ static struct snd_soc_card snd_soc_snappercl15 = {
98 .num_links = 1, 98 .num_links = 1,
99}; 99};
100 100
101static int __devinit snappercl15_probe(struct platform_device *pdev) 101static int snappercl15_probe(struct platform_device *pdev)
102{ 102{
103 struct snd_soc_card *card = &snd_soc_snappercl15; 103 struct snd_soc_card *card = &snd_soc_snappercl15;
104 int ret; 104 int ret;
@@ -119,7 +119,7 @@ static int __devinit snappercl15_probe(struct platform_device *pdev)
119 return ret; 119 return ret;
120} 120}
121 121
122static int __devexit snappercl15_remove(struct platform_device *pdev) 122static int snappercl15_remove(struct platform_device *pdev)
123{ 123{
124 struct snd_soc_card *card = platform_get_drvdata(pdev); 124 struct snd_soc_card *card = platform_get_drvdata(pdev);
125 125
@@ -135,7 +135,7 @@ static struct platform_driver snappercl15_driver = {
135 .owner = THIS_MODULE, 135 .owner = THIS_MODULE,
136 }, 136 },
137 .probe = snappercl15_probe, 137 .probe = snappercl15_probe,
138 .remove = __devexit_p(snappercl15_remove), 138 .remove = snappercl15_remove,
139}; 139};
140 140
141module_platform_driver(snappercl15_driver); 141module_platform_driver(snappercl15_driver);
diff --git a/sound/soc/codecs/88pm860x-codec.c b/sound/soc/codecs/88pm860x-codec.c
index 9fd3b6827bba..60159c07448d 100644
--- a/sound/soc/codecs/88pm860x-codec.c
+++ b/sound/soc/codecs/88pm860x-codec.c
@@ -1423,7 +1423,7 @@ static struct snd_soc_codec_driver soc_codec_dev_pm860x = {
1423 .num_dapm_routes = ARRAY_SIZE(pm860x_dapm_routes), 1423 .num_dapm_routes = ARRAY_SIZE(pm860x_dapm_routes),
1424}; 1424};
1425 1425
1426static int __devinit pm860x_codec_probe(struct platform_device *pdev) 1426static int pm860x_codec_probe(struct platform_device *pdev)
1427{ 1427{
1428 struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent); 1428 struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent);
1429 struct pm860x_priv *pm860x; 1429 struct pm860x_priv *pm860x;
@@ -1463,7 +1463,7 @@ out:
1463 return -EINVAL; 1463 return -EINVAL;
1464} 1464}
1465 1465
1466static int __devexit pm860x_codec_remove(struct platform_device *pdev) 1466static int pm860x_codec_remove(struct platform_device *pdev)
1467{ 1467{
1468 snd_soc_unregister_codec(&pdev->dev); 1468 snd_soc_unregister_codec(&pdev->dev);
1469 platform_set_drvdata(pdev, NULL); 1469 platform_set_drvdata(pdev, NULL);
@@ -1476,7 +1476,7 @@ static struct platform_driver pm860x_codec_driver = {
1476 .owner = THIS_MODULE, 1476 .owner = THIS_MODULE,
1477 }, 1477 },
1478 .probe = pm860x_codec_probe, 1478 .probe = pm860x_codec_probe,
1479 .remove = __devexit_p(pm860x_codec_remove), 1479 .remove = pm860x_codec_remove,
1480}; 1480};
1481 1481
1482module_platform_driver(pm860x_codec_driver); 1482module_platform_driver(pm860x_codec_driver);
diff --git a/sound/soc/codecs/ab8500-codec.c b/sound/soc/codecs/ab8500-codec.c
index 4d96090db662..6c12ac206ee9 100644
--- a/sound/soc/codecs/ab8500-codec.c
+++ b/sound/soc/codecs/ab8500-codec.c
@@ -2554,7 +2554,7 @@ static struct snd_soc_codec_driver ab8500_codec_driver = {
2554 .num_dapm_routes = ARRAY_SIZE(ab8500_dapm_routes), 2554 .num_dapm_routes = ARRAY_SIZE(ab8500_dapm_routes),
2555}; 2555};
2556 2556
2557static int __devinit ab8500_codec_driver_probe(struct platform_device *pdev) 2557static int ab8500_codec_driver_probe(struct platform_device *pdev)
2558{ 2558{
2559 int status; 2559 int status;
2560 struct ab8500_codec_drvdata *drvdata; 2560 struct ab8500_codec_drvdata *drvdata;
@@ -2580,7 +2580,7 @@ static int __devinit ab8500_codec_driver_probe(struct platform_device *pdev)
2580 return status; 2580 return status;
2581} 2581}
2582 2582
2583static int __devexit ab8500_codec_driver_remove(struct platform_device *pdev) 2583static int ab8500_codec_driver_remove(struct platform_device *pdev)
2584{ 2584{
2585 dev_info(&pdev->dev, "%s Enter.\n", __func__); 2585 dev_info(&pdev->dev, "%s Enter.\n", __func__);
2586 2586
@@ -2595,7 +2595,7 @@ static struct platform_driver ab8500_codec_platform_driver = {
2595 .owner = THIS_MODULE, 2595 .owner = THIS_MODULE,
2596 }, 2596 },
2597 .probe = ab8500_codec_driver_probe, 2597 .probe = ab8500_codec_driver_probe,
2598 .remove = __devexit_p(ab8500_codec_driver_remove), 2598 .remove = ab8500_codec_driver_remove,
2599 .suspend = NULL, 2599 .suspend = NULL,
2600 .resume = NULL, 2600 .resume = NULL,
2601}; 2601};
diff --git a/sound/soc/codecs/ac97.c b/sound/soc/codecs/ac97.c
index ea06b834a7de..ef2ae32ffc66 100644
--- a/sound/soc/codecs/ac97.c
+++ b/sound/soc/codecs/ac97.c
@@ -118,13 +118,13 @@ static struct snd_soc_codec_driver soc_codec_dev_ac97 = {
118 .resume = ac97_soc_resume, 118 .resume = ac97_soc_resume,
119}; 119};
120 120
121static __devinit int ac97_probe(struct platform_device *pdev) 121static int ac97_probe(struct platform_device *pdev)
122{ 122{
123 return snd_soc_register_codec(&pdev->dev, 123 return snd_soc_register_codec(&pdev->dev,
124 &soc_codec_dev_ac97, &ac97_dai, 1); 124 &soc_codec_dev_ac97, &ac97_dai, 1);
125} 125}
126 126
127static int __devexit ac97_remove(struct platform_device *pdev) 127static int ac97_remove(struct platform_device *pdev)
128{ 128{
129 snd_soc_unregister_codec(&pdev->dev); 129 snd_soc_unregister_codec(&pdev->dev);
130 return 0; 130 return 0;
@@ -137,7 +137,7 @@ static struct platform_driver ac97_codec_driver = {
137 }, 137 },
138 138
139 .probe = ac97_probe, 139 .probe = ac97_probe,
140 .remove = __devexit_p(ac97_remove), 140 .remove = ac97_remove,
141}; 141};
142 142
143module_platform_driver(ac97_codec_driver); 143module_platform_driver(ac97_codec_driver);
diff --git a/sound/soc/codecs/ad1836.c b/sound/soc/codecs/ad1836.c
index dce6ebeef452..9a92b7962f41 100644
--- a/sound/soc/codecs/ad1836.c
+++ b/sound/soc/codecs/ad1836.c
@@ -360,7 +360,7 @@ static const struct regmap_config ad1836_regmap_config = {
360 .cache_type = REGCACHE_RBTREE, 360 .cache_type = REGCACHE_RBTREE,
361}; 361};
362 362
363static int __devinit ad1836_spi_probe(struct spi_device *spi) 363static int ad1836_spi_probe(struct spi_device *spi)
364{ 364{
365 struct ad1836_priv *ad1836; 365 struct ad1836_priv *ad1836;
366 int ret; 366 int ret;
@@ -383,7 +383,7 @@ static int __devinit ad1836_spi_probe(struct spi_device *spi)
383 return ret; 383 return ret;
384} 384}
385 385
386static int __devexit ad1836_spi_remove(struct spi_device *spi) 386static int ad1836_spi_remove(struct spi_device *spi)
387{ 387{
388 snd_soc_unregister_codec(&spi->dev); 388 snd_soc_unregister_codec(&spi->dev);
389 return 0; 389 return 0;
@@ -405,7 +405,7 @@ static struct spi_driver ad1836_spi_driver = {
405 .owner = THIS_MODULE, 405 .owner = THIS_MODULE,
406 }, 406 },
407 .probe = ad1836_spi_probe, 407 .probe = ad1836_spi_probe,
408 .remove = __devexit_p(ad1836_spi_remove), 408 .remove = ad1836_spi_remove,
409 .id_table = ad1836_ids, 409 .id_table = ad1836_ids,
410}; 410};
411 411
diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c
index 2f752660f678..aea7e52cf714 100644
--- a/sound/soc/codecs/ad193x.c
+++ b/sound/soc/codecs/ad193x.c
@@ -378,7 +378,7 @@ static const struct regmap_config ad193x_spi_regmap_config = {
378 .volatile_reg = adau193x_reg_volatile, 378 .volatile_reg = adau193x_reg_volatile,
379}; 379};
380 380
381static int __devinit ad193x_spi_probe(struct spi_device *spi) 381static int ad193x_spi_probe(struct spi_device *spi)
382{ 382{
383 struct ad193x_priv *ad193x; 383 struct ad193x_priv *ad193x;
384 384
@@ -397,7 +397,7 @@ static int __devinit ad193x_spi_probe(struct spi_device *spi)
397 &ad193x_dai, 1); 397 &ad193x_dai, 1);
398} 398}
399 399
400static int __devexit ad193x_spi_remove(struct spi_device *spi) 400static int ad193x_spi_remove(struct spi_device *spi)
401{ 401{
402 snd_soc_unregister_codec(&spi->dev); 402 snd_soc_unregister_codec(&spi->dev);
403 return 0; 403 return 0;
@@ -409,7 +409,7 @@ static struct spi_driver ad193x_spi_driver = {
409 .owner = THIS_MODULE, 409 .owner = THIS_MODULE,
410 }, 410 },
411 .probe = ad193x_spi_probe, 411 .probe = ad193x_spi_probe,
412 .remove = __devexit_p(ad193x_spi_remove), 412 .remove = ad193x_spi_remove,
413}; 413};
414#endif 414#endif
415 415
@@ -430,8 +430,8 @@ static const struct i2c_device_id ad193x_id[] = {
430}; 430};
431MODULE_DEVICE_TABLE(i2c, ad193x_id); 431MODULE_DEVICE_TABLE(i2c, ad193x_id);
432 432
433static int __devinit ad193x_i2c_probe(struct i2c_client *client, 433static int ad193x_i2c_probe(struct i2c_client *client,
434 const struct i2c_device_id *id) 434 const struct i2c_device_id *id)
435{ 435{
436 struct ad193x_priv *ad193x; 436 struct ad193x_priv *ad193x;
437 437
@@ -450,7 +450,7 @@ static int __devinit ad193x_i2c_probe(struct i2c_client *client,
450 &ad193x_dai, 1); 450 &ad193x_dai, 1);
451} 451}
452 452
453static int __devexit ad193x_i2c_remove(struct i2c_client *client) 453static int ad193x_i2c_remove(struct i2c_client *client)
454{ 454{
455 snd_soc_unregister_codec(&client->dev); 455 snd_soc_unregister_codec(&client->dev);
456 return 0; 456 return 0;
@@ -461,7 +461,7 @@ static struct i2c_driver ad193x_i2c_driver = {
461 .name = "ad193x", 461 .name = "ad193x",
462 }, 462 },
463 .probe = ad193x_i2c_probe, 463 .probe = ad193x_i2c_probe,
464 .remove = __devexit_p(ad193x_i2c_remove), 464 .remove = ad193x_i2c_remove,
465 .id_table = ad193x_id, 465 .id_table = ad193x_id,
466}; 466};
467#endif 467#endif
diff --git a/sound/soc/codecs/ad1980.c b/sound/soc/codecs/ad1980.c
index 8c39dddd7d00..f385342947d3 100644
--- a/sound/soc/codecs/ad1980.c
+++ b/sound/soc/codecs/ad1980.c
@@ -255,13 +255,13 @@ static struct snd_soc_codec_driver soc_codec_dev_ad1980 = {
255 .read = ac97_read, 255 .read = ac97_read,
256}; 256};
257 257
258static __devinit int ad1980_probe(struct platform_device *pdev) 258static int ad1980_probe(struct platform_device *pdev)
259{ 259{
260 return snd_soc_register_codec(&pdev->dev, 260 return snd_soc_register_codec(&pdev->dev,
261 &soc_codec_dev_ad1980, &ad1980_dai, 1); 261 &soc_codec_dev_ad1980, &ad1980_dai, 1);
262} 262}
263 263
264static int __devexit ad1980_remove(struct platform_device *pdev) 264static int ad1980_remove(struct platform_device *pdev)
265{ 265{
266 snd_soc_unregister_codec(&pdev->dev); 266 snd_soc_unregister_codec(&pdev->dev);
267 return 0; 267 return 0;
@@ -274,7 +274,7 @@ static struct platform_driver ad1980_codec_driver = {
274 }, 274 },
275 275
276 .probe = ad1980_probe, 276 .probe = ad1980_probe,
277 .remove = __devexit_p(ad1980_remove), 277 .remove = ad1980_remove,
278}; 278};
279 279
280module_platform_driver(ad1980_codec_driver); 280module_platform_driver(ad1980_codec_driver);
diff --git a/sound/soc/codecs/ad73311.c b/sound/soc/codecs/ad73311.c
index ee7a68dcefd2..b1f2baf42b48 100644
--- a/sound/soc/codecs/ad73311.c
+++ b/sound/soc/codecs/ad73311.c
@@ -47,7 +47,7 @@ static int ad73311_probe(struct platform_device *pdev)
47 &soc_codec_dev_ad73311, &ad73311_dai, 1); 47 &soc_codec_dev_ad73311, &ad73311_dai, 1);
48} 48}
49 49
50static int __devexit ad73311_remove(struct platform_device *pdev) 50static int ad73311_remove(struct platform_device *pdev)
51{ 51{
52 snd_soc_unregister_codec(&pdev->dev); 52 snd_soc_unregister_codec(&pdev->dev);
53 return 0; 53 return 0;
@@ -60,7 +60,7 @@ static struct platform_driver ad73311_codec_driver = {
60 }, 60 },
61 61
62 .probe = ad73311_probe, 62 .probe = ad73311_probe,
63 .remove = __devexit_p(ad73311_remove), 63 .remove = ad73311_remove,
64}; 64};
65 65
66module_platform_driver(ad73311_codec_driver); 66module_platform_driver(ad73311_codec_driver);
diff --git a/sound/soc/codecs/adau1373.c b/sound/soc/codecs/adau1373.c
index 704544bfc90d..068b3ae56a17 100644
--- a/sound/soc/codecs/adau1373.c
+++ b/sound/soc/codecs/adau1373.c
@@ -1353,8 +1353,8 @@ static struct snd_soc_codec_driver adau1373_codec_driver = {
1353 .num_dapm_routes = ARRAY_SIZE(adau1373_dapm_routes), 1353 .num_dapm_routes = ARRAY_SIZE(adau1373_dapm_routes),
1354}; 1354};
1355 1355
1356static int __devinit adau1373_i2c_probe(struct i2c_client *client, 1356static int adau1373_i2c_probe(struct i2c_client *client,
1357 const struct i2c_device_id *id) 1357 const struct i2c_device_id *id)
1358{ 1358{
1359 struct adau1373 *adau1373; 1359 struct adau1373 *adau1373;
1360 int ret; 1360 int ret;
@@ -1370,7 +1370,7 @@ static int __devinit adau1373_i2c_probe(struct i2c_client *client,
1370 return ret; 1370 return ret;
1371} 1371}
1372 1372
1373static int __devexit adau1373_i2c_remove(struct i2c_client *client) 1373static int adau1373_i2c_remove(struct i2c_client *client)
1374{ 1374{
1375 snd_soc_unregister_codec(&client->dev); 1375 snd_soc_unregister_codec(&client->dev);
1376 return 0; 1376 return 0;
@@ -1388,7 +1388,7 @@ static struct i2c_driver adau1373_i2c_driver = {
1388 .owner = THIS_MODULE, 1388 .owner = THIS_MODULE,
1389 }, 1389 },
1390 .probe = adau1373_i2c_probe, 1390 .probe = adau1373_i2c_probe,
1391 .remove = __devexit_p(adau1373_i2c_remove), 1391 .remove = adau1373_i2c_remove,
1392 .id_table = adau1373_i2c_id, 1392 .id_table = adau1373_i2c_id,
1393}; 1393};
1394 1394
diff --git a/sound/soc/codecs/adau1701.c b/sound/soc/codecs/adau1701.c
index 51f2f3cd8136..dafdbe87edeb 100644
--- a/sound/soc/codecs/adau1701.c
+++ b/sound/soc/codecs/adau1701.c
@@ -489,8 +489,8 @@ static struct snd_soc_codec_driver adau1701_codec_drv = {
489 .set_sysclk = adau1701_set_sysclk, 489 .set_sysclk = adau1701_set_sysclk,
490}; 490};
491 491
492static __devinit int adau1701_i2c_probe(struct i2c_client *client, 492static int adau1701_i2c_probe(struct i2c_client *client,
493 const struct i2c_device_id *id) 493 const struct i2c_device_id *id)
494{ 494{
495 struct adau1701 *adau1701; 495 struct adau1701 *adau1701;
496 int ret; 496 int ret;
@@ -505,7 +505,7 @@ static __devinit int adau1701_i2c_probe(struct i2c_client *client,
505 return ret; 505 return ret;
506} 506}
507 507
508static __devexit int adau1701_i2c_remove(struct i2c_client *client) 508static int adau1701_i2c_remove(struct i2c_client *client)
509{ 509{
510 snd_soc_unregister_codec(&client->dev); 510 snd_soc_unregister_codec(&client->dev);
511 return 0; 511 return 0;
@@ -523,7 +523,7 @@ static struct i2c_driver adau1701_i2c_driver = {
523 .owner = THIS_MODULE, 523 .owner = THIS_MODULE,
524 }, 524 },
525 .probe = adau1701_i2c_probe, 525 .probe = adau1701_i2c_probe,
526 .remove = __devexit_p(adau1701_i2c_remove), 526 .remove = adau1701_i2c_remove,
527 .id_table = adau1701_i2c_id, 527 .id_table = adau1701_i2c_id,
528}; 528};
529 529
diff --git a/sound/soc/codecs/adav80x.c b/sound/soc/codecs/adav80x.c
index ebd7b37b902b..3c839cc4e00e 100644
--- a/sound/soc/codecs/adav80x.c
+++ b/sound/soc/codecs/adav80x.c
@@ -839,8 +839,8 @@ static struct snd_soc_codec_driver adav80x_codec_driver = {
839 .num_dapm_routes = ARRAY_SIZE(adav80x_dapm_routes), 839 .num_dapm_routes = ARRAY_SIZE(adav80x_dapm_routes),
840}; 840};
841 841
842static int __devinit adav80x_bus_probe(struct device *dev, 842static int adav80x_bus_probe(struct device *dev,
843 enum snd_soc_control_type control_type) 843 enum snd_soc_control_type control_type)
844{ 844{
845 struct adav80x *adav80x; 845 struct adav80x *adav80x;
846 int ret; 846 int ret;
@@ -860,7 +860,7 @@ static int __devinit adav80x_bus_probe(struct device *dev,
860 return ret; 860 return ret;
861} 861}
862 862
863static int __devexit adav80x_bus_remove(struct device *dev) 863static int adav80x_bus_remove(struct device *dev)
864{ 864{
865 snd_soc_unregister_codec(dev); 865 snd_soc_unregister_codec(dev);
866 kfree(dev_get_drvdata(dev)); 866 kfree(dev_get_drvdata(dev));
@@ -868,12 +868,12 @@ static int __devexit adav80x_bus_remove(struct device *dev)
868} 868}
869 869
870#if defined(CONFIG_SPI_MASTER) 870#if defined(CONFIG_SPI_MASTER)
871static int __devinit adav80x_spi_probe(struct spi_device *spi) 871static int adav80x_spi_probe(struct spi_device *spi)
872{ 872{
873 return adav80x_bus_probe(&spi->dev, SND_SOC_SPI); 873 return adav80x_bus_probe(&spi->dev, SND_SOC_SPI);
874} 874}
875 875
876static int __devexit adav80x_spi_remove(struct spi_device *spi) 876static int adav80x_spi_remove(struct spi_device *spi)
877{ 877{
878 return adav80x_bus_remove(&spi->dev); 878 return adav80x_bus_remove(&spi->dev);
879} 879}
@@ -884,7 +884,7 @@ static struct spi_driver adav80x_spi_driver = {
884 .owner = THIS_MODULE, 884 .owner = THIS_MODULE,
885 }, 885 },
886 .probe = adav80x_spi_probe, 886 .probe = adav80x_spi_probe,
887 .remove = __devexit_p(adav80x_spi_remove), 887 .remove = adav80x_spi_remove,
888}; 888};
889#endif 889#endif
890 890
@@ -895,13 +895,13 @@ static const struct i2c_device_id adav80x_id[] = {
895}; 895};
896MODULE_DEVICE_TABLE(i2c, adav80x_id); 896MODULE_DEVICE_TABLE(i2c, adav80x_id);
897 897
898static int __devinit adav80x_i2c_probe(struct i2c_client *client, 898static int adav80x_i2c_probe(struct i2c_client *client,
899 const struct i2c_device_id *id) 899 const struct i2c_device_id *id)
900{ 900{
901 return adav80x_bus_probe(&client->dev, SND_SOC_I2C); 901 return adav80x_bus_probe(&client->dev, SND_SOC_I2C);
902} 902}
903 903
904static int __devexit adav80x_i2c_remove(struct i2c_client *client) 904static int adav80x_i2c_remove(struct i2c_client *client)
905{ 905{
906 return adav80x_bus_remove(&client->dev); 906 return adav80x_bus_remove(&client->dev);
907} 907}
@@ -912,7 +912,7 @@ static struct i2c_driver adav80x_i2c_driver = {
912 .owner = THIS_MODULE, 912 .owner = THIS_MODULE,
913 }, 913 },
914 .probe = adav80x_i2c_probe, 914 .probe = adav80x_i2c_probe,
915 .remove = __devexit_p(adav80x_i2c_remove), 915 .remove = adav80x_i2c_remove,
916 .id_table = adav80x_id, 916 .id_table = adav80x_id,
917}; 917};
918#endif 918#endif
diff --git a/sound/soc/codecs/ads117x.c b/sound/soc/codecs/ads117x.c
index 8103b938b8c0..506d474c4d22 100644
--- a/sound/soc/codecs/ads117x.c
+++ b/sound/soc/codecs/ads117x.c
@@ -36,13 +36,13 @@ static struct snd_soc_dai_driver ads117x_dai = {
36 36
37static struct snd_soc_codec_driver soc_codec_dev_ads117x; 37static struct snd_soc_codec_driver soc_codec_dev_ads117x;
38 38
39static __devinit int ads117x_probe(struct platform_device *pdev) 39static int ads117x_probe(struct platform_device *pdev)
40{ 40{
41 return snd_soc_register_codec(&pdev->dev, 41 return snd_soc_register_codec(&pdev->dev,
42 &soc_codec_dev_ads117x, &ads117x_dai, 1); 42 &soc_codec_dev_ads117x, &ads117x_dai, 1);
43} 43}
44 44
45static int __devexit ads117x_remove(struct platform_device *pdev) 45static int ads117x_remove(struct platform_device *pdev)
46{ 46{
47 snd_soc_unregister_codec(&pdev->dev); 47 snd_soc_unregister_codec(&pdev->dev);
48 return 0; 48 return 0;
@@ -55,7 +55,7 @@ static struct platform_driver ads117x_codec_driver = {
55 }, 55 },
56 56
57 .probe = ads117x_probe, 57 .probe = ads117x_probe,
58 .remove = __devexit_p(ads117x_remove), 58 .remove = ads117x_remove,
59}; 59};
60 60
61module_platform_driver(ads117x_codec_driver); 61module_platform_driver(ads117x_codec_driver);
diff --git a/sound/soc/codecs/ak4104.c b/sound/soc/codecs/ak4104.c
index 4b11b82b2273..6f6c335a5baa 100644
--- a/sound/soc/codecs/ak4104.c
+++ b/sound/soc/codecs/ak4104.c
@@ -258,7 +258,7 @@ static int ak4104_spi_probe(struct spi_device *spi)
258 return ret; 258 return ret;
259} 259}
260 260
261static int __devexit ak4104_spi_remove(struct spi_device *spi) 261static int ak4104_spi_remove(struct spi_device *spi)
262{ 262{
263 snd_soc_unregister_codec(&spi->dev); 263 snd_soc_unregister_codec(&spi->dev);
264 return 0; 264 return 0;
@@ -277,7 +277,7 @@ static struct spi_driver ak4104_spi_driver = {
277 .of_match_table = ak4104_of_match, 277 .of_match_table = ak4104_of_match,
278 }, 278 },
279 .probe = ak4104_spi_probe, 279 .probe = ak4104_spi_probe,
280 .remove = __devexit_p(ak4104_spi_remove), 280 .remove = ak4104_spi_remove,
281}; 281};
282 282
283module_spi_driver(ak4104_spi_driver); 283module_spi_driver(ak4104_spi_driver);
diff --git a/sound/soc/codecs/ak4535.c b/sound/soc/codecs/ak4535.c
index fc5581063b2d..684fe910669f 100644
--- a/sound/soc/codecs/ak4535.c
+++ b/sound/soc/codecs/ak4535.c
@@ -436,8 +436,8 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4535 = {
436 .num_dapm_routes = ARRAY_SIZE(ak4535_audio_map), 436 .num_dapm_routes = ARRAY_SIZE(ak4535_audio_map),
437}; 437};
438 438
439static __devinit int ak4535_i2c_probe(struct i2c_client *i2c, 439static int ak4535_i2c_probe(struct i2c_client *i2c,
440 const struct i2c_device_id *id) 440 const struct i2c_device_id *id)
441{ 441{
442 struct ak4535_priv *ak4535; 442 struct ak4535_priv *ak4535;
443 int ret; 443 int ret;
@@ -462,7 +462,7 @@ static __devinit int ak4535_i2c_probe(struct i2c_client *i2c,
462 return ret; 462 return ret;
463} 463}
464 464
465static __devexit int ak4535_i2c_remove(struct i2c_client *client) 465static int ak4535_i2c_remove(struct i2c_client *client)
466{ 466{
467 snd_soc_unregister_codec(&client->dev); 467 snd_soc_unregister_codec(&client->dev);
468 return 0; 468 return 0;
@@ -480,7 +480,7 @@ static struct i2c_driver ak4535_i2c_driver = {
480 .owner = THIS_MODULE, 480 .owner = THIS_MODULE,
481 }, 481 },
482 .probe = ak4535_i2c_probe, 482 .probe = ak4535_i2c_probe,
483 .remove = __devexit_p(ak4535_i2c_remove), 483 .remove = ak4535_i2c_remove,
484 .id_table = ak4535_i2c_id, 484 .id_table = ak4535_i2c_id,
485}; 485};
486 486
diff --git a/sound/soc/codecs/ak4641.c b/sound/soc/codecs/ak4641.c
index 543a12f471be..5f9af1fb76e8 100644
--- a/sound/soc/codecs/ak4641.c
+++ b/sound/soc/codecs/ak4641.c
@@ -557,8 +557,8 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4641 = {
557}; 557};
558 558
559 559
560static int __devinit ak4641_i2c_probe(struct i2c_client *i2c, 560static int ak4641_i2c_probe(struct i2c_client *i2c,
561 const struct i2c_device_id *id) 561 const struct i2c_device_id *id)
562{ 562{
563 struct ak4641_platform_data *pdata = i2c->dev.platform_data; 563 struct ak4641_platform_data *pdata = i2c->dev.platform_data;
564 struct ak4641_priv *ak4641; 564 struct ak4641_priv *ak4641;
@@ -610,7 +610,7 @@ err_out:
610 return ret; 610 return ret;
611} 611}
612 612
613static int __devexit ak4641_i2c_remove(struct i2c_client *i2c) 613static int ak4641_i2c_remove(struct i2c_client *i2c)
614{ 614{
615 struct ak4641_platform_data *pdata = i2c->dev.platform_data; 615 struct ak4641_platform_data *pdata = i2c->dev.platform_data;
616 616
@@ -640,7 +640,7 @@ static struct i2c_driver ak4641_i2c_driver = {
640 .owner = THIS_MODULE, 640 .owner = THIS_MODULE,
641 }, 641 },
642 .probe = ak4641_i2c_probe, 642 .probe = ak4641_i2c_probe,
643 .remove = __devexit_p(ak4641_i2c_remove), 643 .remove = ak4641_i2c_remove,
644 .id_table = ak4641_i2c_id, 644 .id_table = ak4641_i2c_id,
645}; 645};
646 646
diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c
index 546466abb77f..1f0cdab03294 100644
--- a/sound/soc/codecs/ak4642.c
+++ b/sound/soc/codecs/ak4642.c
@@ -513,15 +513,15 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4648 = {
513}; 513};
514 514
515#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 515#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
516static __devinit int ak4642_i2c_probe(struct i2c_client *i2c, 516static int ak4642_i2c_probe(struct i2c_client *i2c,
517 const struct i2c_device_id *id) 517 const struct i2c_device_id *id)
518{ 518{
519 return snd_soc_register_codec(&i2c->dev, 519 return snd_soc_register_codec(&i2c->dev,
520 (struct snd_soc_codec_driver *)id->driver_data, 520 (struct snd_soc_codec_driver *)id->driver_data,
521 &ak4642_dai, 1); 521 &ak4642_dai, 1);
522} 522}
523 523
524static __devexit int ak4642_i2c_remove(struct i2c_client *client) 524static int ak4642_i2c_remove(struct i2c_client *client)
525{ 525{
526 snd_soc_unregister_codec(&client->dev); 526 snd_soc_unregister_codec(&client->dev);
527 return 0; 527 return 0;
@@ -541,7 +541,7 @@ static struct i2c_driver ak4642_i2c_driver = {
541 .owner = THIS_MODULE, 541 .owner = THIS_MODULE,
542 }, 542 },
543 .probe = ak4642_i2c_probe, 543 .probe = ak4642_i2c_probe,
544 .remove = __devexit_p(ak4642_i2c_remove), 544 .remove = ak4642_i2c_remove,
545 .id_table = ak4642_i2c_id, 545 .id_table = ak4642_i2c_id,
546}; 546};
547#endif 547#endif
diff --git a/sound/soc/codecs/ak4671.c b/sound/soc/codecs/ak4671.c
index 2b457976a7bf..25bdf6ad4a54 100644
--- a/sound/soc/codecs/ak4671.c
+++ b/sound/soc/codecs/ak4671.c
@@ -655,8 +655,8 @@ static struct snd_soc_codec_driver soc_codec_dev_ak4671 = {
655 .num_dapm_routes = ARRAY_SIZE(ak4671_intercon), 655 .num_dapm_routes = ARRAY_SIZE(ak4671_intercon),
656}; 656};
657 657
658static int __devinit ak4671_i2c_probe(struct i2c_client *client, 658static int ak4671_i2c_probe(struct i2c_client *client,
659 const struct i2c_device_id *id) 659 const struct i2c_device_id *id)
660{ 660{
661 struct ak4671_priv *ak4671; 661 struct ak4671_priv *ak4671;
662 int ret; 662 int ret;
@@ -674,7 +674,7 @@ static int __devinit ak4671_i2c_probe(struct i2c_client *client,
674 return ret; 674 return ret;
675} 675}
676 676
677static __devexit int ak4671_i2c_remove(struct i2c_client *client) 677static int ak4671_i2c_remove(struct i2c_client *client)
678{ 678{
679 snd_soc_unregister_codec(&client->dev); 679 snd_soc_unregister_codec(&client->dev);
680 return 0; 680 return 0;
@@ -692,7 +692,7 @@ static struct i2c_driver ak4671_i2c_driver = {
692 .owner = THIS_MODULE, 692 .owner = THIS_MODULE,
693 }, 693 },
694 .probe = ak4671_i2c_probe, 694 .probe = ak4671_i2c_probe,
695 .remove = __devexit_p(ak4671_i2c_remove), 695 .remove = ak4671_i2c_remove,
696 .id_table = ak4671_i2c_id, 696 .id_table = ak4671_i2c_id,
697}; 697};
698 698
diff --git a/sound/soc/codecs/alc5623.c b/sound/soc/codecs/alc5623.c
index 1960478ce6bb..256c364193a5 100644
--- a/sound/soc/codecs/alc5623.c
+++ b/sound/soc/codecs/alc5623.c
@@ -991,8 +991,8 @@ static struct snd_soc_codec_driver soc_codec_device_alc5623 = {
991 * low = 0x1a 991 * low = 0x1a
992 * high = 0x1b 992 * high = 0x1b
993 */ 993 */
994static __devinit int alc5623_i2c_probe(struct i2c_client *client, 994static int alc5623_i2c_probe(struct i2c_client *client,
995 const struct i2c_device_id *id) 995 const struct i2c_device_id *id)
996{ 996{
997 struct alc5623_platform_data *pdata; 997 struct alc5623_platform_data *pdata;
998 struct alc5623_priv *alc5623; 998 struct alc5623_priv *alc5623;
@@ -1058,7 +1058,7 @@ static __devinit int alc5623_i2c_probe(struct i2c_client *client,
1058 return ret; 1058 return ret;
1059} 1059}
1060 1060
1061static __devexit int alc5623_i2c_remove(struct i2c_client *client) 1061static int alc5623_i2c_remove(struct i2c_client *client)
1062{ 1062{
1063 snd_soc_unregister_codec(&client->dev); 1063 snd_soc_unregister_codec(&client->dev);
1064 return 0; 1064 return 0;
@@ -1079,7 +1079,7 @@ static struct i2c_driver alc5623_i2c_driver = {
1079 .owner = THIS_MODULE, 1079 .owner = THIS_MODULE,
1080 }, 1080 },
1081 .probe = alc5623_i2c_probe, 1081 .probe = alc5623_i2c_probe,
1082 .remove = __devexit_p(alc5623_i2c_remove), 1082 .remove = alc5623_i2c_remove,
1083 .id_table = alc5623_i2c_table, 1083 .id_table = alc5623_i2c_table,
1084}; 1084};
1085 1085
diff --git a/sound/soc/codecs/alc5632.c b/sound/soc/codecs/alc5632.c
index 7dd02420b36d..f2e62e45f912 100644
--- a/sound/soc/codecs/alc5632.c
+++ b/sound/soc/codecs/alc5632.c
@@ -1116,8 +1116,8 @@ static struct regmap_config alc5632_regmap = {
1116 * low = 0x1a 1116 * low = 0x1a
1117 * high = 0x1b 1117 * high = 0x1b
1118 */ 1118 */
1119static __devinit int alc5632_i2c_probe(struct i2c_client *client, 1119static int alc5632_i2c_probe(struct i2c_client *client,
1120 const struct i2c_device_id *id) 1120 const struct i2c_device_id *id)
1121{ 1121{
1122 struct alc5632_priv *alc5632; 1122 struct alc5632_priv *alc5632;
1123 int ret, ret1, ret2; 1123 int ret, ret1, ret2;
@@ -1179,7 +1179,7 @@ static __devinit int alc5632_i2c_probe(struct i2c_client *client,
1179 return ret; 1179 return ret;
1180} 1180}
1181 1181
1182static __devexit int alc5632_i2c_remove(struct i2c_client *client) 1182static int alc5632_i2c_remove(struct i2c_client *client)
1183{ 1183{
1184 snd_soc_unregister_codec(&client->dev); 1184 snd_soc_unregister_codec(&client->dev);
1185 return 0; 1185 return 0;
@@ -1198,7 +1198,7 @@ static struct i2c_driver alc5632_i2c_driver = {
1198 .owner = THIS_MODULE, 1198 .owner = THIS_MODULE,
1199 }, 1199 },
1200 .probe = alc5632_i2c_probe, 1200 .probe = alc5632_i2c_probe,
1201 .remove = __devexit_p(alc5632_i2c_remove), 1201 .remove = alc5632_i2c_remove,
1202 .id_table = alc5632_i2c_table, 1202 .id_table = alc5632_i2c_table,
1203}; 1203};
1204 1204
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 87cfaa3a6f0e..adf397b9d0e6 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -226,6 +226,31 @@ EXPORT_SYMBOL_GPL(arizona_mixer_values);
226const DECLARE_TLV_DB_SCALE(arizona_mixer_tlv, -3200, 100, 0); 226const DECLARE_TLV_DB_SCALE(arizona_mixer_tlv, -3200, 100, 0);
227EXPORT_SYMBOL_GPL(arizona_mixer_tlv); 227EXPORT_SYMBOL_GPL(arizona_mixer_tlv);
228 228
229static const char *arizona_vol_ramp_text[] = {
230 "0ms/6dB", "0.5ms/6dB", "1ms/6dB", "2ms/6dB", "4ms/6dB", "8ms/6dB",
231 "15ms/6dB", "30ms/6dB",
232};
233
234const struct soc_enum arizona_in_vd_ramp =
235 SOC_ENUM_SINGLE(ARIZONA_INPUT_VOLUME_RAMP,
236 ARIZONA_IN_VD_RAMP_SHIFT, 7, arizona_vol_ramp_text);
237EXPORT_SYMBOL_GPL(arizona_in_vd_ramp);
238
239const struct soc_enum arizona_in_vi_ramp =
240 SOC_ENUM_SINGLE(ARIZONA_INPUT_VOLUME_RAMP,
241 ARIZONA_IN_VI_RAMP_SHIFT, 7, arizona_vol_ramp_text);
242EXPORT_SYMBOL_GPL(arizona_in_vi_ramp);
243
244const struct soc_enum arizona_out_vd_ramp =
245 SOC_ENUM_SINGLE(ARIZONA_OUTPUT_VOLUME_RAMP,
246 ARIZONA_OUT_VD_RAMP_SHIFT, 7, arizona_vol_ramp_text);
247EXPORT_SYMBOL_GPL(arizona_out_vd_ramp);
248
249const struct soc_enum arizona_out_vi_ramp =
250 SOC_ENUM_SINGLE(ARIZONA_OUTPUT_VOLUME_RAMP,
251 ARIZONA_OUT_VI_RAMP_SHIFT, 7, arizona_vol_ramp_text);
252EXPORT_SYMBOL_GPL(arizona_out_vi_ramp);
253
229static const char *arizona_lhpf_mode_text[] = { 254static const char *arizona_lhpf_mode_text[] = {
230 "Low-pass", "High-pass" 255 "Low-pass", "High-pass"
231}; 256};
@@ -749,6 +774,9 @@ static int arizona_dai_set_sysclk(struct snd_soc_dai *dai,
749 return -EBUSY; 774 return -EBUSY;
750 } 775 }
751 776
777 dev_dbg(codec->dev, "Setting AIF%d to %s\n", dai->id + 1,
778 arizona_dai_clk_str(clk_id));
779
752 memset(&routes, 0, sizeof(routes)); 780 memset(&routes, 0, sizeof(routes));
753 routes[0].sink = dai->driver->capture.stream_name; 781 routes[0].sink = dai->driver->capture.stream_name;
754 routes[1].sink = dai->driver->playback.stream_name; 782 routes[1].sink = dai->driver->playback.stream_name;
@@ -761,6 +789,8 @@ static int arizona_dai_set_sysclk(struct snd_soc_dai *dai,
761 routes[1].source = arizona_dai_clk_str(clk_id); 789 routes[1].source = arizona_dai_clk_str(clk_id);
762 snd_soc_dapm_add_routes(&codec->dapm, routes, ARRAY_SIZE(routes)); 790 snd_soc_dapm_add_routes(&codec->dapm, routes, ARRAY_SIZE(routes));
763 791
792 dai_priv->clk = clk_id;
793
764 return snd_soc_dapm_sync(&codec->dapm); 794 return snd_soc_dapm_sync(&codec->dapm);
765} 795}
766 796
@@ -1016,7 +1046,7 @@ int arizona_set_fll(struct arizona_fll *fll, int source,
1016 ARIZONA_FLL1_SYNC_ENA); 1046 ARIZONA_FLL1_SYNC_ENA);
1017 1047
1018 ret = wait_for_completion_timeout(&fll->ok, 1048 ret = wait_for_completion_timeout(&fll->ok,
1019 msecs_to_jiffies(25)); 1049 msecs_to_jiffies(250));
1020 if (ret == 0) 1050 if (ret == 0)
1021 arizona_fll_warn(fll, "Timed out waiting for lock\n"); 1051 arizona_fll_warn(fll, "Timed out waiting for lock\n");
1022 1052
diff --git a/sound/soc/codecs/arizona.h b/sound/soc/codecs/arizona.h
index 84c415d335bd..41dae1ed3b71 100644
--- a/sound/soc/codecs/arizona.h
+++ b/sound/soc/codecs/arizona.h
@@ -165,6 +165,12 @@ extern int arizona_mixer_values[ARIZONA_NUM_MIXER_INPUTS];
165 ARIZONA_MIXER_ROUTES(name, name "L"), \ 165 ARIZONA_MIXER_ROUTES(name, name "L"), \
166 ARIZONA_MIXER_ROUTES(name, name "R") 166 ARIZONA_MIXER_ROUTES(name, name "R")
167 167
168extern const struct soc_enum arizona_in_vi_ramp;
169extern const struct soc_enum arizona_in_vd_ramp;
170
171extern const struct soc_enum arizona_out_vi_ramp;
172extern const struct soc_enum arizona_out_vd_ramp;
173
168extern const struct soc_enum arizona_lhpf1_mode; 174extern const struct soc_enum arizona_lhpf1_mode;
169extern const struct soc_enum arizona_lhpf2_mode; 175extern const struct soc_enum arizona_lhpf2_mode;
170extern const struct soc_enum arizona_lhpf3_mode; 176extern const struct soc_enum arizona_lhpf3_mode;
diff --git a/sound/soc/codecs/cq93vc.c b/sound/soc/codecs/cq93vc.c
index 064cd6a93516..23316c887b19 100644
--- a/sound/soc/codecs/cq93vc.c
+++ b/sound/soc/codecs/cq93vc.c
@@ -201,7 +201,7 @@ static struct platform_driver cq93vc_codec_driver = {
201 }, 201 },
202 202
203 .probe = cq93vc_platform_probe, 203 .probe = cq93vc_platform_probe,
204 .remove = __devexit_p(cq93vc_platform_remove), 204 .remove = cq93vc_platform_remove,
205}; 205};
206 206
207module_platform_driver(cq93vc_codec_driver); 207module_platform_driver(cq93vc_codec_driver);
diff --git a/sound/soc/codecs/cs4271.c b/sound/soc/codecs/cs4271.c
index 6ad3878db8fc..4f1127935fdf 100644
--- a/sound/soc/codecs/cs4271.c
+++ b/sound/soc/codecs/cs4271.c
@@ -570,7 +570,7 @@ static struct snd_soc_codec_driver soc_codec_dev_cs4271 = {
570}; 570};
571 571
572#if defined(CONFIG_SPI_MASTER) 572#if defined(CONFIG_SPI_MASTER)
573static int __devinit cs4271_spi_probe(struct spi_device *spi) 573static int cs4271_spi_probe(struct spi_device *spi)
574{ 574{
575 struct cs4271_private *cs4271; 575 struct cs4271_private *cs4271;
576 576
@@ -585,7 +585,7 @@ static int __devinit cs4271_spi_probe(struct spi_device *spi)
585 &cs4271_dai, 1); 585 &cs4271_dai, 1);
586} 586}
587 587
588static int __devexit cs4271_spi_remove(struct spi_device *spi) 588static int cs4271_spi_remove(struct spi_device *spi)
589{ 589{
590 snd_soc_unregister_codec(&spi->dev); 590 snd_soc_unregister_codec(&spi->dev);
591 return 0; 591 return 0;
@@ -598,7 +598,7 @@ static struct spi_driver cs4271_spi_driver = {
598 .of_match_table = of_match_ptr(cs4271_dt_ids), 598 .of_match_table = of_match_ptr(cs4271_dt_ids),
599 }, 599 },
600 .probe = cs4271_spi_probe, 600 .probe = cs4271_spi_probe,
601 .remove = __devexit_p(cs4271_spi_remove), 601 .remove = cs4271_spi_remove,
602}; 602};
603#endif /* defined(CONFIG_SPI_MASTER) */ 603#endif /* defined(CONFIG_SPI_MASTER) */
604 604
@@ -609,8 +609,8 @@ static const struct i2c_device_id cs4271_i2c_id[] = {
609}; 609};
610MODULE_DEVICE_TABLE(i2c, cs4271_i2c_id); 610MODULE_DEVICE_TABLE(i2c, cs4271_i2c_id);
611 611
612static int __devinit cs4271_i2c_probe(struct i2c_client *client, 612static int cs4271_i2c_probe(struct i2c_client *client,
613 const struct i2c_device_id *id) 613 const struct i2c_device_id *id)
614{ 614{
615 struct cs4271_private *cs4271; 615 struct cs4271_private *cs4271;
616 616
@@ -625,7 +625,7 @@ static int __devinit cs4271_i2c_probe(struct i2c_client *client,
625 &cs4271_dai, 1); 625 &cs4271_dai, 1);
626} 626}
627 627
628static int __devexit cs4271_i2c_remove(struct i2c_client *client) 628static int cs4271_i2c_remove(struct i2c_client *client)
629{ 629{
630 snd_soc_unregister_codec(&client->dev); 630 snd_soc_unregister_codec(&client->dev);
631 return 0; 631 return 0;
@@ -639,7 +639,7 @@ static struct i2c_driver cs4271_i2c_driver = {
639 }, 639 },
640 .id_table = cs4271_i2c_id, 640 .id_table = cs4271_i2c_id,
641 .probe = cs4271_i2c_probe, 641 .probe = cs4271_i2c_probe,
642 .remove = __devexit_p(cs4271_i2c_remove), 642 .remove = cs4271_i2c_remove,
643}; 643};
644#endif /* defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) */ 644#endif /* defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) */
645 645
diff --git a/sound/soc/codecs/cs42l52.c b/sound/soc/codecs/cs42l52.c
index 97a81051e88d..99bb1c69499e 100644
--- a/sound/soc/codecs/cs42l52.c
+++ b/sound/soc/codecs/cs42l52.c
@@ -1271,7 +1271,7 @@ static struct i2c_driver cs42l52_i2c_driver = {
1271 }, 1271 },
1272 .id_table = cs42l52_id, 1272 .id_table = cs42l52_id,
1273 .probe = cs42l52_i2c_probe, 1273 .probe = cs42l52_i2c_probe,
1274 .remove = __devexit_p(cs42l52_i2c_remove), 1274 .remove = cs42l52_i2c_remove,
1275}; 1275};
1276 1276
1277module_i2c_driver(cs42l52_i2c_driver); 1277module_i2c_driver(cs42l52_i2c_driver);
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 2c08c4cb465a..a0791ecf6d95 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -1345,8 +1345,8 @@ static struct regmap_config cs42l73_regmap = {
1345 .cache_type = REGCACHE_RBTREE, 1345 .cache_type = REGCACHE_RBTREE,
1346}; 1346};
1347 1347
1348static __devinit int cs42l73_i2c_probe(struct i2c_client *i2c_client, 1348static int cs42l73_i2c_probe(struct i2c_client *i2c_client,
1349 const struct i2c_device_id *id) 1349 const struct i2c_device_id *id)
1350{ 1350{
1351 struct cs42l73_private *cs42l73; 1351 struct cs42l73_private *cs42l73;
1352 int ret; 1352 int ret;
@@ -1406,7 +1406,7 @@ static __devinit int cs42l73_i2c_probe(struct i2c_client *i2c_client,
1406 return 0; 1406 return 0;
1407} 1407}
1408 1408
1409static __devexit int cs42l73_i2c_remove(struct i2c_client *client) 1409static int cs42l73_i2c_remove(struct i2c_client *client)
1410{ 1410{
1411 snd_soc_unregister_codec(&client->dev); 1411 snd_soc_unregister_codec(&client->dev);
1412 return 0; 1412 return 0;
@@ -1426,7 +1426,7 @@ static struct i2c_driver cs42l73_i2c_driver = {
1426 }, 1426 },
1427 .id_table = cs42l73_id, 1427 .id_table = cs42l73_id,
1428 .probe = cs42l73_i2c_probe, 1428 .probe = cs42l73_i2c_probe,
1429 .remove = __devexit_p(cs42l73_i2c_remove), 1429 .remove = cs42l73_i2c_remove,
1430 1430
1431}; 1431};
1432 1432
diff --git a/sound/soc/codecs/da7210.c b/sound/soc/codecs/da7210.c
index ab1ee5b734db..9c1231456502 100644
--- a/sound/soc/codecs/da7210.c
+++ b/sound/soc/codecs/da7210.c
@@ -1218,8 +1218,8 @@ static const struct regmap_config da7210_regmap_config_i2c = {
1218 .cache_type = REGCACHE_RBTREE, 1218 .cache_type = REGCACHE_RBTREE,
1219}; 1219};
1220 1220
1221static int __devinit da7210_i2c_probe(struct i2c_client *i2c, 1221static int da7210_i2c_probe(struct i2c_client *i2c,
1222 const struct i2c_device_id *id) 1222 const struct i2c_device_id *id)
1223{ 1223{
1224 struct da7210_priv *da7210; 1224 struct da7210_priv *da7210;
1225 int ret; 1225 int ret;
@@ -1251,7 +1251,7 @@ static int __devinit da7210_i2c_probe(struct i2c_client *i2c,
1251 return ret; 1251 return ret;
1252} 1252}
1253 1253
1254static int __devexit da7210_i2c_remove(struct i2c_client *client) 1254static int da7210_i2c_remove(struct i2c_client *client)
1255{ 1255{
1256 snd_soc_unregister_codec(&client->dev); 1256 snd_soc_unregister_codec(&client->dev);
1257 return 0; 1257 return 0;
@@ -1270,7 +1270,7 @@ static struct i2c_driver da7210_i2c_driver = {
1270 .owner = THIS_MODULE, 1270 .owner = THIS_MODULE,
1271 }, 1271 },
1272 .probe = da7210_i2c_probe, 1272 .probe = da7210_i2c_probe,
1273 .remove = __devexit_p(da7210_i2c_remove), 1273 .remove = da7210_i2c_remove,
1274 .id_table = da7210_i2c_id, 1274 .id_table = da7210_i2c_id,
1275}; 1275};
1276#endif 1276#endif
@@ -1314,7 +1314,7 @@ static const struct regmap_config da7210_regmap_config_spi = {
1314 .cache_type = REGCACHE_RBTREE, 1314 .cache_type = REGCACHE_RBTREE,
1315}; 1315};
1316 1316
1317static int __devinit da7210_spi_probe(struct spi_device *spi) 1317static int da7210_spi_probe(struct spi_device *spi)
1318{ 1318{
1319 struct da7210_priv *da7210; 1319 struct da7210_priv *da7210;
1320 int ret; 1320 int ret;
@@ -1337,24 +1337,15 @@ static int __devinit da7210_spi_probe(struct spi_device *spi)
1337 if (ret != 0) 1337 if (ret != 0)
1338 dev_warn(&spi->dev, "Failed to apply regmap patch: %d\n", ret); 1338 dev_warn(&spi->dev, "Failed to apply regmap patch: %d\n", ret);
1339 1339
1340 ret = snd_soc_register_codec(&spi->dev, 1340 ret = snd_soc_register_codec(&spi->dev,
1341 &soc_codec_dev_da7210, &da7210_dai, 1); 1341 &soc_codec_dev_da7210, &da7210_dai, 1);
1342 if (ret < 0)
1343 goto err_regmap;
1344
1345 return ret;
1346
1347err_regmap:
1348 regmap_exit(da7210->regmap);
1349 1342
1350 return ret; 1343 return ret;
1351} 1344}
1352 1345
1353static int __devexit da7210_spi_remove(struct spi_device *spi) 1346static int da7210_spi_remove(struct spi_device *spi)
1354{ 1347{
1355 struct da7210_priv *da7210 = spi_get_drvdata(spi);
1356 snd_soc_unregister_codec(&spi->dev); 1348 snd_soc_unregister_codec(&spi->dev);
1357 regmap_exit(da7210->regmap);
1358 return 0; 1349 return 0;
1359} 1350}
1360 1351
@@ -1364,7 +1355,7 @@ static struct spi_driver da7210_spi_driver = {
1364 .owner = THIS_MODULE, 1355 .owner = THIS_MODULE,
1365 }, 1356 },
1366 .probe = da7210_spi_probe, 1357 .probe = da7210_spi_probe,
1367 .remove = __devexit_p(da7210_spi_remove) 1358 .remove = da7210_spi_remove
1368}; 1359};
1369#endif 1360#endif
1370 1361
diff --git a/sound/soc/codecs/da732x.c b/sound/soc/codecs/da732x.c
index 01be2a320e21..dc0284dc9e6f 100644
--- a/sound/soc/codecs/da732x.c
+++ b/sound/soc/codecs/da732x.c
@@ -1557,8 +1557,8 @@ static struct snd_soc_codec_driver soc_codec_dev_da732x = {
1557 .reg_cache_size = ARRAY_SIZE(da732x_reg_cache), 1557 .reg_cache_size = ARRAY_SIZE(da732x_reg_cache),
1558}; 1558};
1559 1559
1560static __devinit int da732x_i2c_probe(struct i2c_client *i2c, 1560static int da732x_i2c_probe(struct i2c_client *i2c,
1561 const struct i2c_device_id *id) 1561 const struct i2c_device_id *id)
1562{ 1562{
1563 struct da732x_priv *da732x; 1563 struct da732x_priv *da732x;
1564 unsigned int reg; 1564 unsigned int reg;
@@ -1596,7 +1596,7 @@ err:
1596 return ret; 1596 return ret;
1597} 1597}
1598 1598
1599static __devexit int da732x_i2c_remove(struct i2c_client *client) 1599static int da732x_i2c_remove(struct i2c_client *client)
1600{ 1600{
1601 snd_soc_unregister_codec(&client->dev); 1601 snd_soc_unregister_codec(&client->dev);
1602 1602
@@ -1615,7 +1615,7 @@ static struct i2c_driver da732x_i2c_driver = {
1615 .owner = THIS_MODULE, 1615 .owner = THIS_MODULE,
1616 }, 1616 },
1617 .probe = da732x_i2c_probe, 1617 .probe = da732x_i2c_probe,
1618 .remove = __devexit_p(da732x_i2c_remove), 1618 .remove = da732x_i2c_remove,
1619 .id_table = da732x_i2c_id, 1619 .id_table = da732x_i2c_id,
1620}; 1620};
1621 1621
diff --git a/sound/soc/codecs/da9055.c b/sound/soc/codecs/da9055.c
index d3a6de2e757b..fc9802d1281d 100644
--- a/sound/soc/codecs/da9055.c
+++ b/sound/soc/codecs/da9055.c
@@ -1484,8 +1484,8 @@ static const struct regmap_config da9055_regmap_config = {
1484 .cache_type = REGCACHE_RBTREE, 1484 .cache_type = REGCACHE_RBTREE,
1485}; 1485};
1486 1486
1487static int __devinit da9055_i2c_probe(struct i2c_client *i2c, 1487static int da9055_i2c_probe(struct i2c_client *i2c,
1488 const struct i2c_device_id *id) 1488 const struct i2c_device_id *id)
1489{ 1489{
1490 struct da9055_priv *da9055; 1490 struct da9055_priv *da9055;
1491 struct da9055_platform_data *pdata = dev_get_platdata(&i2c->dev); 1491 struct da9055_platform_data *pdata = dev_get_platdata(&i2c->dev);
@@ -1517,7 +1517,7 @@ static int __devinit da9055_i2c_probe(struct i2c_client *i2c,
1517 return ret; 1517 return ret;
1518} 1518}
1519 1519
1520static int __devexit da9055_remove(struct i2c_client *client) 1520static int da9055_remove(struct i2c_client *client)
1521{ 1521{
1522 snd_soc_unregister_codec(&client->dev); 1522 snd_soc_unregister_codec(&client->dev);
1523 return 0; 1523 return 0;
@@ -1536,7 +1536,7 @@ static struct i2c_driver da9055_i2c_driver = {
1536 .owner = THIS_MODULE, 1536 .owner = THIS_MODULE,
1537 }, 1537 },
1538 .probe = da9055_i2c_probe, 1538 .probe = da9055_i2c_probe,
1539 .remove = __devexit_p(da9055_remove), 1539 .remove = da9055_remove,
1540 .id_table = da9055_i2c_id, 1540 .id_table = da9055_i2c_id,
1541}; 1541};
1542 1542
diff --git a/sound/soc/codecs/dfbmcs320.c b/sound/soc/codecs/dfbmcs320.c
index bfe46aa90362..4f4f7f41a7d1 100644
--- a/sound/soc/codecs/dfbmcs320.c
+++ b/sound/soc/codecs/dfbmcs320.c
@@ -33,13 +33,13 @@ static struct snd_soc_dai_driver dfbmcs320_dai = {
33 33
34static struct snd_soc_codec_driver soc_codec_dev_dfbmcs320; 34static struct snd_soc_codec_driver soc_codec_dev_dfbmcs320;
35 35
36static int __devinit dfbmcs320_probe(struct platform_device *pdev) 36static int dfbmcs320_probe(struct platform_device *pdev)
37{ 37{
38 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320, 38 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320,
39 &dfbmcs320_dai, 1); 39 &dfbmcs320_dai, 1);
40} 40}
41 41
42static int __devexit dfbmcs320_remove(struct platform_device *pdev) 42static int dfbmcs320_remove(struct platform_device *pdev)
43{ 43{
44 snd_soc_unregister_codec(&pdev->dev); 44 snd_soc_unregister_codec(&pdev->dev);
45 45
@@ -52,7 +52,7 @@ static struct platform_driver dfmcs320_driver = {
52 .owner = THIS_MODULE, 52 .owner = THIS_MODULE,
53 }, 53 },
54 .probe = dfbmcs320_probe, 54 .probe = dfbmcs320_probe,
55 .remove = __devexit_p(dfbmcs320_remove), 55 .remove = dfbmcs320_remove,
56}; 56};
57 57
58module_platform_driver(dfmcs320_driver); 58module_platform_driver(dfmcs320_driver);
diff --git a/sound/soc/codecs/dmic.c b/sound/soc/codecs/dmic.c
index 3e929f079a1f..66967ba6f757 100644
--- a/sound/soc/codecs/dmic.c
+++ b/sound/soc/codecs/dmic.c
@@ -66,13 +66,13 @@ static struct snd_soc_codec_driver soc_dmic = {
66 .probe = dmic_probe, 66 .probe = dmic_probe,
67}; 67};
68 68
69static int __devinit dmic_dev_probe(struct platform_device *pdev) 69static int dmic_dev_probe(struct platform_device *pdev)
70{ 70{
71 return snd_soc_register_codec(&pdev->dev, 71 return snd_soc_register_codec(&pdev->dev,
72 &soc_dmic, &dmic_dai, 1); 72 &soc_dmic, &dmic_dai, 1);
73} 73}
74 74
75static int __devexit dmic_dev_remove(struct platform_device *pdev) 75static int dmic_dev_remove(struct platform_device *pdev)
76{ 76{
77 snd_soc_unregister_codec(&pdev->dev); 77 snd_soc_unregister_codec(&pdev->dev);
78 return 0; 78 return 0;
@@ -86,7 +86,7 @@ static struct platform_driver dmic_driver = {
86 .owner = THIS_MODULE, 86 .owner = THIS_MODULE,
87 }, 87 },
88 .probe = dmic_dev_probe, 88 .probe = dmic_dev_probe,
89 .remove = __devexit_p(dmic_dev_remove), 89 .remove = dmic_dev_remove,
90}; 90};
91 91
92module_platform_driver(dmic_driver); 92module_platform_driver(dmic_driver);
diff --git a/sound/soc/codecs/isabelle.c b/sound/soc/codecs/isabelle.c
index 1bf55602c9eb..53b455b8c07a 100644
--- a/sound/soc/codecs/isabelle.c
+++ b/sound/soc/codecs/isabelle.c
@@ -1119,8 +1119,8 @@ static const struct regmap_config isabelle_regmap_config = {
1119 .cache_type = REGCACHE_RBTREE, 1119 .cache_type = REGCACHE_RBTREE,
1120}; 1120};
1121 1121
1122static int __devinit isabelle_i2c_probe(struct i2c_client *i2c, 1122static int isabelle_i2c_probe(struct i2c_client *i2c,
1123 const struct i2c_device_id *id) 1123 const struct i2c_device_id *id)
1124{ 1124{
1125 struct regmap *isabelle_regmap; 1125 struct regmap *isabelle_regmap;
1126 int ret = 0; 1126 int ret = 0;
@@ -1145,7 +1145,7 @@ static int __devinit isabelle_i2c_probe(struct i2c_client *i2c,
1145 return ret; 1145 return ret;
1146} 1146}
1147 1147
1148static int __devexit isabelle_i2c_remove(struct i2c_client *client) 1148static int isabelle_i2c_remove(struct i2c_client *client)
1149{ 1149{
1150 snd_soc_unregister_codec(&client->dev); 1150 snd_soc_unregister_codec(&client->dev);
1151 return 0; 1151 return 0;
@@ -1163,7 +1163,7 @@ static struct i2c_driver isabelle_i2c_driver = {
1163 .owner = THIS_MODULE, 1163 .owner = THIS_MODULE,
1164 }, 1164 },
1165 .probe = isabelle_i2c_probe, 1165 .probe = isabelle_i2c_probe,
1166 .remove = __devexit_p(isabelle_i2c_remove), 1166 .remove = isabelle_i2c_remove,
1167 .id_table = isabelle_i2c_id, 1167 .id_table = isabelle_i2c_id,
1168}; 1168};
1169 1169
diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c
index 9ad1da36887e..d991529e1aff 100644
--- a/sound/soc/codecs/jz4740.c
+++ b/sound/soc/codecs/jz4740.c
@@ -348,7 +348,7 @@ static const struct regmap_config jz4740_codec_regmap_config = {
348 .cache_type = REGCACHE_RBTREE, 348 .cache_type = REGCACHE_RBTREE,
349}; 349};
350 350
351static int __devinit jz4740_codec_probe(struct platform_device *pdev) 351static int jz4740_codec_probe(struct platform_device *pdev)
352{ 352{
353 int ret; 353 int ret;
354 struct jz4740_codec *jz4740_codec; 354 struct jz4740_codec *jz4740_codec;
@@ -380,7 +380,7 @@ static int __devinit jz4740_codec_probe(struct platform_device *pdev)
380 return ret; 380 return ret;
381} 381}
382 382
383static int __devexit jz4740_codec_remove(struct platform_device *pdev) 383static int jz4740_codec_remove(struct platform_device *pdev)
384{ 384{
385 snd_soc_unregister_codec(&pdev->dev); 385 snd_soc_unregister_codec(&pdev->dev);
386 386
@@ -391,7 +391,7 @@ static int __devexit jz4740_codec_remove(struct platform_device *pdev)
391 391
392static struct platform_driver jz4740_codec_driver = { 392static struct platform_driver jz4740_codec_driver = {
393 .probe = jz4740_codec_probe, 393 .probe = jz4740_codec_probe,
394 .remove = __devexit_p(jz4740_codec_remove), 394 .remove = jz4740_codec_remove,
395 .driver = { 395 .driver = {
396 .name = "jz4740-codec", 396 .name = "jz4740-codec",
397 .owner = THIS_MODULE, 397 .owner = THIS_MODULE,
diff --git a/sound/soc/codecs/lm4857.c b/sound/soc/codecs/lm4857.c
index 81a328c78838..9f9f59573f72 100644
--- a/sound/soc/codecs/lm4857.c
+++ b/sound/soc/codecs/lm4857.c
@@ -209,8 +209,8 @@ static struct snd_soc_codec_driver soc_codec_dev_lm4857 = {
209 .set_bias_level = lm4857_set_bias_level, 209 .set_bias_level = lm4857_set_bias_level,
210}; 210};
211 211
212static int __devinit lm4857_i2c_probe(struct i2c_client *i2c, 212static int lm4857_i2c_probe(struct i2c_client *i2c,
213 const struct i2c_device_id *id) 213 const struct i2c_device_id *id)
214{ 214{
215 struct lm4857 *lm4857; 215 struct lm4857 *lm4857;
216 int ret; 216 int ret;
@@ -228,7 +228,7 @@ static int __devinit lm4857_i2c_probe(struct i2c_client *i2c,
228 return ret; 228 return ret;
229} 229}
230 230
231static int __devexit lm4857_i2c_remove(struct i2c_client *i2c) 231static int lm4857_i2c_remove(struct i2c_client *i2c)
232{ 232{
233 snd_soc_unregister_codec(&i2c->dev); 233 snd_soc_unregister_codec(&i2c->dev);
234 return 0; 234 return 0;
@@ -246,7 +246,7 @@ static struct i2c_driver lm4857_i2c_driver = {
246 .owner = THIS_MODULE, 246 .owner = THIS_MODULE,
247 }, 247 },
248 .probe = lm4857_i2c_probe, 248 .probe = lm4857_i2c_probe,
249 .remove = __devexit_p(lm4857_i2c_remove), 249 .remove = lm4857_i2c_remove,
250 .id_table = lm4857_i2c_id, 250 .id_table = lm4857_i2c_id,
251}; 251};
252 252
diff --git a/sound/soc/codecs/lm49453.c b/sound/soc/codecs/lm49453.c
index 096b6aa87f0f..d75257d40a49 100644
--- a/sound/soc/codecs/lm49453.c
+++ b/sound/soc/codecs/lm49453.c
@@ -1483,8 +1483,8 @@ static const struct regmap_config lm49453_regmap_config = {
1483 .cache_type = REGCACHE_RBTREE, 1483 .cache_type = REGCACHE_RBTREE,
1484}; 1484};
1485 1485
1486static __devinit int lm49453_i2c_probe(struct i2c_client *i2c, 1486static int lm49453_i2c_probe(struct i2c_client *i2c,
1487 const struct i2c_device_id *id) 1487 const struct i2c_device_id *id)
1488{ 1488{
1489 struct lm49453_priv *lm49453; 1489 struct lm49453_priv *lm49453;
1490 int ret = 0; 1490 int ret = 0;
@@ -1514,7 +1514,7 @@ static __devinit int lm49453_i2c_probe(struct i2c_client *i2c,
1514 return ret; 1514 return ret;
1515} 1515}
1516 1516
1517static int __devexit lm49453_i2c_remove(struct i2c_client *client) 1517static int lm49453_i2c_remove(struct i2c_client *client)
1518{ 1518{
1519 snd_soc_unregister_codec(&client->dev); 1519 snd_soc_unregister_codec(&client->dev);
1520 return 0; 1520 return 0;
@@ -1532,7 +1532,7 @@ static struct i2c_driver lm49453_i2c_driver = {
1532 .owner = THIS_MODULE, 1532 .owner = THIS_MODULE,
1533 }, 1533 },
1534 .probe = lm49453_i2c_probe, 1534 .probe = lm49453_i2c_probe,
1535 .remove = __devexit_p(lm49453_i2c_remove), 1535 .remove = lm49453_i2c_remove,
1536 .id_table = lm49453_i2c_id, 1536 .id_table = lm49453_i2c_id,
1537}; 1537};
1538 1538
diff --git a/sound/soc/codecs/max9768.c b/sound/soc/codecs/max9768.c
index a777de6a1b23..a6ac2313047d 100644
--- a/sound/soc/codecs/max9768.c
+++ b/sound/soc/codecs/max9768.c
@@ -159,8 +159,8 @@ static const struct regmap_config max9768_i2c_regmap_config = {
159 .cache_type = REGCACHE_RBTREE, 159 .cache_type = REGCACHE_RBTREE,
160}; 160};
161 161
162static int __devinit max9768_i2c_probe(struct i2c_client *client, 162static int max9768_i2c_probe(struct i2c_client *client,
163 const struct i2c_device_id *id) 163 const struct i2c_device_id *id)
164{ 164{
165 struct max9768 *max9768; 165 struct max9768 *max9768;
166 struct max9768_pdata *pdata = client->dev.platform_data; 166 struct max9768_pdata *pdata = client->dev.platform_data;
@@ -208,7 +208,7 @@ static int __devinit max9768_i2c_probe(struct i2c_client *client,
208 return err; 208 return err;
209} 209}
210 210
211static int __devexit max9768_i2c_remove(struct i2c_client *client) 211static int max9768_i2c_remove(struct i2c_client *client)
212{ 212{
213 struct max9768 *max9768 = i2c_get_clientdata(client); 213 struct max9768 *max9768 = i2c_get_clientdata(client);
214 214
@@ -234,7 +234,7 @@ static struct i2c_driver max9768_i2c_driver = {
234 .owner = THIS_MODULE, 234 .owner = THIS_MODULE,
235 }, 235 },
236 .probe = max9768_i2c_probe, 236 .probe = max9768_i2c_probe,
237 .remove = __devexit_p(max9768_i2c_remove), 237 .remove = max9768_i2c_remove,
238 .id_table = max9768_i2c_id, 238 .id_table = max9768_i2c_id,
239}; 239};
240module_i2c_driver(max9768_i2c_driver); 240module_i2c_driver(max9768_i2c_driver);
diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c
index b858264235c4..a4c16fd70f77 100644
--- a/sound/soc/codecs/max98088.c
+++ b/sound/soc/codecs/max98088.c
@@ -2084,7 +2084,7 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
2084 return ret; 2084 return ret;
2085} 2085}
2086 2086
2087static int __devexit max98088_i2c_remove(struct i2c_client *client) 2087static int max98088_i2c_remove(struct i2c_client *client)
2088{ 2088{
2089 snd_soc_unregister_codec(&client->dev); 2089 snd_soc_unregister_codec(&client->dev);
2090 return 0; 2090 return 0;
diff --git a/sound/soc/codecs/max98095.c b/sound/soc/codecs/max98095.c
index 38d43c59d3f4..41cdd1642970 100644
--- a/sound/soc/codecs/max98095.c
+++ b/sound/soc/codecs/max98095.c
@@ -2511,7 +2511,7 @@ static int max98095_i2c_probe(struct i2c_client *i2c,
2511 return ret; 2511 return ret;
2512} 2512}
2513 2513
2514static int __devexit max98095_i2c_remove(struct i2c_client *client) 2514static int max98095_i2c_remove(struct i2c_client *client)
2515{ 2515{
2516 snd_soc_unregister_codec(&client->dev); 2516 snd_soc_unregister_codec(&client->dev);
2517 return 0; 2517 return 0;
@@ -2529,7 +2529,7 @@ static struct i2c_driver max98095_i2c_driver = {
2529 .owner = THIS_MODULE, 2529 .owner = THIS_MODULE,
2530 }, 2530 },
2531 .probe = max98095_i2c_probe, 2531 .probe = max98095_i2c_probe,
2532 .remove = __devexit_p(max98095_i2c_remove), 2532 .remove = max98095_i2c_remove,
2533 .id_table = max98095_i2c_id, 2533 .id_table = max98095_i2c_id,
2534}; 2534};
2535 2535
diff --git a/sound/soc/codecs/max9850.c b/sound/soc/codecs/max9850.c
index efe535c37b39..58c38a5b481c 100644
--- a/sound/soc/codecs/max9850.c
+++ b/sound/soc/codecs/max9850.c
@@ -329,8 +329,8 @@ static struct snd_soc_codec_driver soc_codec_dev_max9850 = {
329 .num_dapm_routes = ARRAY_SIZE(max9850_dapm_routes), 329 .num_dapm_routes = ARRAY_SIZE(max9850_dapm_routes),
330}; 330};
331 331
332static int __devinit max9850_i2c_probe(struct i2c_client *i2c, 332static int max9850_i2c_probe(struct i2c_client *i2c,
333 const struct i2c_device_id *id) 333 const struct i2c_device_id *id)
334{ 334{
335 struct max9850_priv *max9850; 335 struct max9850_priv *max9850;
336 int ret; 336 int ret;
@@ -347,7 +347,7 @@ static int __devinit max9850_i2c_probe(struct i2c_client *i2c,
347 return ret; 347 return ret;
348} 348}
349 349
350static __devexit int max9850_i2c_remove(struct i2c_client *client) 350static int max9850_i2c_remove(struct i2c_client *client)
351{ 351{
352 snd_soc_unregister_codec(&client->dev); 352 snd_soc_unregister_codec(&client->dev);
353 return 0; 353 return 0;
@@ -365,7 +365,7 @@ static struct i2c_driver max9850_i2c_driver = {
365 .owner = THIS_MODULE, 365 .owner = THIS_MODULE,
366 }, 366 },
367 .probe = max9850_i2c_probe, 367 .probe = max9850_i2c_probe,
368 .remove = __devexit_p(max9850_i2c_remove), 368 .remove = max9850_i2c_remove,
369 .id_table = max9850_i2c_id, 369 .id_table = max9850_i2c_id,
370}; 370};
371 371
diff --git a/sound/soc/codecs/max9877.c b/sound/soc/codecs/max9877.c
index d15e5943c85e..6b6c74cd83e2 100644
--- a/sound/soc/codecs/max9877.c
+++ b/sound/soc/codecs/max9877.c
@@ -258,8 +258,8 @@ int max9877_add_controls(struct snd_soc_codec *codec)
258} 258}
259EXPORT_SYMBOL_GPL(max9877_add_controls); 259EXPORT_SYMBOL_GPL(max9877_add_controls);
260 260
261static int __devinit max9877_i2c_probe(struct i2c_client *client, 261static int max9877_i2c_probe(struct i2c_client *client,
262 const struct i2c_device_id *id) 262 const struct i2c_device_id *id)
263{ 263{
264 i2c = client; 264 i2c = client;
265 265
@@ -268,7 +268,7 @@ static int __devinit max9877_i2c_probe(struct i2c_client *client,
268 return 0; 268 return 0;
269} 269}
270 270
271static __devexit int max9877_i2c_remove(struct i2c_client *client) 271static int max9877_i2c_remove(struct i2c_client *client)
272{ 272{
273 i2c = NULL; 273 i2c = NULL;
274 274
@@ -287,7 +287,7 @@ static struct i2c_driver max9877_i2c_driver = {
287 .owner = THIS_MODULE, 287 .owner = THIS_MODULE,
288 }, 288 },
289 .probe = max9877_i2c_probe, 289 .probe = max9877_i2c_probe,
290 .remove = __devexit_p(max9877_i2c_remove), 290 .remove = max9877_i2c_remove,
291 .id_table = max9877_i2c_id, 291 .id_table = max9877_i2c_id,
292}; 292};
293 293
diff --git a/sound/soc/codecs/mc13783.c b/sound/soc/codecs/mc13783.c
index bc955999c8aa..5402dfbbb716 100644
--- a/sound/soc/codecs/mc13783.c
+++ b/sound/soc/codecs/mc13783.c
@@ -779,7 +779,7 @@ static struct platform_driver mc13783_codec_driver = {
779 .owner = THIS_MODULE, 779 .owner = THIS_MODULE,
780 }, 780 },
781 .probe = mc13783_codec_probe, 781 .probe = mc13783_codec_probe,
782 .remove = __devexit_p(mc13783_codec_remove), 782 .remove = mc13783_codec_remove,
783}; 783};
784 784
785module_platform_driver(mc13783_codec_driver); 785module_platform_driver(mc13783_codec_driver);
diff --git a/sound/soc/codecs/ml26124.c b/sound/soc/codecs/ml26124.c
index 96aa5fa05160..26118828782b 100644
--- a/sound/soc/codecs/ml26124.c
+++ b/sound/soc/codecs/ml26124.c
@@ -626,8 +626,8 @@ static const struct regmap_config ml26124_i2c_regmap = {
626 .write_flag_mask = 0x01, 626 .write_flag_mask = 0x01,
627}; 627};
628 628
629static __devinit int ml26124_i2c_probe(struct i2c_client *i2c, 629static int ml26124_i2c_probe(struct i2c_client *i2c,
630 const struct i2c_device_id *id) 630 const struct i2c_device_id *id)
631{ 631{
632 struct ml26124_priv *priv; 632 struct ml26124_priv *priv;
633 int ret; 633 int ret;
@@ -649,7 +649,7 @@ static __devinit int ml26124_i2c_probe(struct i2c_client *i2c,
649 &soc_codec_dev_ml26124, &ml26124_dai, 1); 649 &soc_codec_dev_ml26124, &ml26124_dai, 1);
650} 650}
651 651
652static __devexit int ml26124_i2c_remove(struct i2c_client *client) 652static int ml26124_i2c_remove(struct i2c_client *client)
653{ 653{
654 snd_soc_unregister_codec(&client->dev); 654 snd_soc_unregister_codec(&client->dev);
655 return 0; 655 return 0;
@@ -667,7 +667,7 @@ static struct i2c_driver ml26124_i2c_driver = {
667 .owner = THIS_MODULE, 667 .owner = THIS_MODULE,
668 }, 668 },
669 .probe = ml26124_i2c_probe, 669 .probe = ml26124_i2c_probe,
670 .remove = __devexit_p(ml26124_i2c_remove), 670 .remove = ml26124_i2c_remove,
671 .id_table = ml26124_i2c_id, 671 .id_table = ml26124_i2c_id,
672}; 672};
673 673
diff --git a/sound/soc/codecs/omap-hdmi.c b/sound/soc/codecs/omap-hdmi.c
index 1bf5c74f5f96..529d06444c54 100644
--- a/sound/soc/codecs/omap-hdmi.c
+++ b/sound/soc/codecs/omap-hdmi.c
@@ -39,13 +39,13 @@ static struct snd_soc_dai_driver omap_hdmi_codec_dai = {
39 }, 39 },
40}; 40};
41 41
42static __devinit int omap_hdmi_codec_probe(struct platform_device *pdev) 42static int omap_hdmi_codec_probe(struct platform_device *pdev)
43{ 43{
44 return snd_soc_register_codec(&pdev->dev, &omap_hdmi_codec, 44 return snd_soc_register_codec(&pdev->dev, &omap_hdmi_codec,
45 &omap_hdmi_codec_dai, 1); 45 &omap_hdmi_codec_dai, 1);
46} 46}
47 47
48static __devexit int omap_hdmi_codec_remove(struct platform_device *pdev) 48static int omap_hdmi_codec_remove(struct platform_device *pdev)
49{ 49{
50 snd_soc_unregister_codec(&pdev->dev); 50 snd_soc_unregister_codec(&pdev->dev);
51 return 0; 51 return 0;
@@ -58,7 +58,7 @@ static struct platform_driver omap_hdmi_codec_driver = {
58 }, 58 },
59 59
60 .probe = omap_hdmi_codec_probe, 60 .probe = omap_hdmi_codec_probe,
61 .remove = __devexit_p(omap_hdmi_codec_remove), 61 .remove = omap_hdmi_codec_remove,
62}; 62};
63 63
64module_platform_driver(omap_hdmi_codec_driver); 64module_platform_driver(omap_hdmi_codec_driver);
diff --git a/sound/soc/codecs/pcm3008.c b/sound/soc/codecs/pcm3008.c
index edcaa7ea5487..f2a6282b41f4 100644
--- a/sound/soc/codecs/pcm3008.c
+++ b/sound/soc/codecs/pcm3008.c
@@ -149,13 +149,13 @@ static struct snd_soc_codec_driver soc_codec_dev_pcm3008 = {
149 .resume = pcm3008_soc_resume, 149 .resume = pcm3008_soc_resume,
150}; 150};
151 151
152static int __devinit pcm3008_codec_probe(struct platform_device *pdev) 152static int pcm3008_codec_probe(struct platform_device *pdev)
153{ 153{
154 return snd_soc_register_codec(&pdev->dev, 154 return snd_soc_register_codec(&pdev->dev,
155 &soc_codec_dev_pcm3008, &pcm3008_dai, 1); 155 &soc_codec_dev_pcm3008, &pcm3008_dai, 1);
156} 156}
157 157
158static int __devexit pcm3008_codec_remove(struct platform_device *pdev) 158static int pcm3008_codec_remove(struct platform_device *pdev)
159{ 159{
160 snd_soc_unregister_codec(&pdev->dev); 160 snd_soc_unregister_codec(&pdev->dev);
161 return 0; 161 return 0;
@@ -165,7 +165,7 @@ MODULE_ALIAS("platform:pcm3008-codec");
165 165
166static struct platform_driver pcm3008_codec_driver = { 166static struct platform_driver pcm3008_codec_driver = {
167 .probe = pcm3008_codec_probe, 167 .probe = pcm3008_codec_probe,
168 .remove = __devexit_p(pcm3008_codec_remove), 168 .remove = pcm3008_codec_remove,
169 .driver = { 169 .driver = {
170 .name = "pcm3008-codec", 170 .name = "pcm3008-codec",
171 .owner = THIS_MODULE, 171 .owner = THIS_MODULE,
diff --git a/sound/soc/codecs/rt5631.c b/sound/soc/codecs/rt5631.c
index d6ca615489ee..912c9cbc2724 100644
--- a/sound/soc/codecs/rt5631.c
+++ b/sound/soc/codecs/rt5631.c
@@ -1748,7 +1748,7 @@ static int rt5631_i2c_probe(struct i2c_client *i2c,
1748 return ret; 1748 return ret;
1749} 1749}
1750 1750
1751static __devexit int rt5631_i2c_remove(struct i2c_client *client) 1751static int rt5631_i2c_remove(struct i2c_client *client)
1752{ 1752{
1753 snd_soc_unregister_codec(&client->dev); 1753 snd_soc_unregister_codec(&client->dev);
1754 return 0; 1754 return 0;
@@ -1760,7 +1760,7 @@ static struct i2c_driver rt5631_i2c_driver = {
1760 .owner = THIS_MODULE, 1760 .owner = THIS_MODULE,
1761 }, 1761 },
1762 .probe = rt5631_i2c_probe, 1762 .probe = rt5631_i2c_probe,
1763 .remove = __devexit_p(rt5631_i2c_remove), 1763 .remove = rt5631_i2c_remove,
1764 .id_table = rt5631_i2c_id, 1764 .id_table = rt5631_i2c_id,
1765}; 1765};
1766 1766
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index df2f99d1d428..cb1675cd8e1c 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -1404,8 +1404,8 @@ static struct snd_soc_codec_driver sgtl5000_driver = {
1404 .num_dapm_routes = ARRAY_SIZE(sgtl5000_dapm_routes), 1404 .num_dapm_routes = ARRAY_SIZE(sgtl5000_dapm_routes),
1405}; 1405};
1406 1406
1407static __devinit int sgtl5000_i2c_probe(struct i2c_client *client, 1407static int sgtl5000_i2c_probe(struct i2c_client *client,
1408 const struct i2c_device_id *id) 1408 const struct i2c_device_id *id)
1409{ 1409{
1410 struct sgtl5000_priv *sgtl5000; 1410 struct sgtl5000_priv *sgtl5000;
1411 int ret; 1411 int ret;
@@ -1422,7 +1422,7 @@ static __devinit int sgtl5000_i2c_probe(struct i2c_client *client,
1422 return ret; 1422 return ret;
1423} 1423}
1424 1424
1425static __devexit int sgtl5000_i2c_remove(struct i2c_client *client) 1425static int sgtl5000_i2c_remove(struct i2c_client *client)
1426{ 1426{
1427 snd_soc_unregister_codec(&client->dev); 1427 snd_soc_unregister_codec(&client->dev);
1428 1428
@@ -1449,7 +1449,7 @@ static struct i2c_driver sgtl5000_i2c_driver = {
1449 .of_match_table = sgtl5000_dt_ids, 1449 .of_match_table = sgtl5000_dt_ids,
1450 }, 1450 },
1451 .probe = sgtl5000_i2c_probe, 1451 .probe = sgtl5000_i2c_probe,
1452 .remove = __devexit_p(sgtl5000_i2c_remove), 1452 .remove = sgtl5000_i2c_remove,
1453 .id_table = sgtl5000_id, 1453 .id_table = sgtl5000_id,
1454}; 1454};
1455 1455
diff --git a/sound/soc/codecs/si476x.c b/sound/soc/codecs/si476x.c
index 38145ba74db8..f2d61a187830 100644
--- a/sound/soc/codecs/si476x.c
+++ b/sound/soc/codecs/si476x.c
@@ -226,13 +226,13 @@ static struct snd_soc_codec_driver soc_codec_dev_si476x = {
226 .write = si476x_codec_write, 226 .write = si476x_codec_write,
227}; 227};
228 228
229static int __devinit si476x_platform_probe(struct platform_device *pdev) 229static int si476x_platform_probe(struct platform_device *pdev)
230{ 230{
231 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_si476x, 231 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_si476x,
232 &si476x_dai, 1); 232 &si476x_dai, 1);
233} 233}
234 234
235static int __devexit si476x_platform_remove(struct platform_device *pdev) 235static int si476x_platform_remove(struct platform_device *pdev)
236{ 236{
237 snd_soc_unregister_codec(&pdev->dev); 237 snd_soc_unregister_codec(&pdev->dev);
238 return 0; 238 return 0;
@@ -246,7 +246,7 @@ static struct platform_driver si476x_platform_driver = {
246 .owner = THIS_MODULE, 246 .owner = THIS_MODULE,
247 }, 247 },
248 .probe = si476x_platform_probe, 248 .probe = si476x_platform_probe,
249 .remove = __devexit_p(si476x_platform_remove), 249 .remove = si476x_platform_remove,
250}; 250};
251module_platform_driver(si476x_platform_driver); 251module_platform_driver(si476x_platform_driver);
252 252
diff --git a/sound/soc/codecs/sn95031.c b/sound/soc/codecs/sn95031.c
index 50dbdb9357ea..d1ae869d3181 100644
--- a/sound/soc/codecs/sn95031.c
+++ b/sound/soc/codecs/sn95031.c
@@ -896,14 +896,14 @@ struct snd_soc_codec_driver sn95031_codec = {
896 .num_dapm_routes = ARRAY_SIZE(sn95031_audio_map), 896 .num_dapm_routes = ARRAY_SIZE(sn95031_audio_map),
897}; 897};
898 898
899static int __devinit sn95031_device_probe(struct platform_device *pdev) 899static int sn95031_device_probe(struct platform_device *pdev)
900{ 900{
901 pr_debug("codec device probe called for %s\n", dev_name(&pdev->dev)); 901 pr_debug("codec device probe called for %s\n", dev_name(&pdev->dev));
902 return snd_soc_register_codec(&pdev->dev, &sn95031_codec, 902 return snd_soc_register_codec(&pdev->dev, &sn95031_codec,
903 sn95031_dais, ARRAY_SIZE(sn95031_dais)); 903 sn95031_dais, ARRAY_SIZE(sn95031_dais));
904} 904}
905 905
906static int __devexit sn95031_device_remove(struct platform_device *pdev) 906static int sn95031_device_remove(struct platform_device *pdev)
907{ 907{
908 pr_debug("codec device remove called\n"); 908 pr_debug("codec device remove called\n");
909 snd_soc_unregister_codec(&pdev->dev); 909 snd_soc_unregister_codec(&pdev->dev);
@@ -916,7 +916,7 @@ static struct platform_driver sn95031_codec_driver = {
916 .owner = THIS_MODULE, 916 .owner = THIS_MODULE,
917 }, 917 },
918 .probe = sn95031_device_probe, 918 .probe = sn95031_device_probe,
919 .remove = __devexit_p(sn95031_device_remove), 919 .remove = sn95031_device_remove,
920}; 920};
921 921
922module_platform_driver(sn95031_codec_driver); 922module_platform_driver(sn95031_codec_driver);
diff --git a/sound/soc/codecs/ssm2602.c b/sound/soc/codecs/ssm2602.c
index 079066fef425..f8d30e5f6371 100644
--- a/sound/soc/codecs/ssm2602.c
+++ b/sound/soc/codecs/ssm2602.c
@@ -691,7 +691,7 @@ static const struct regmap_config ssm2602_regmap_config = {
691}; 691};
692 692
693#if defined(CONFIG_SPI_MASTER) 693#if defined(CONFIG_SPI_MASTER)
694static int __devinit ssm2602_spi_probe(struct spi_device *spi) 694static int ssm2602_spi_probe(struct spi_device *spi)
695{ 695{
696 struct ssm2602_priv *ssm2602; 696 struct ssm2602_priv *ssm2602;
697 int ret; 697 int ret;
@@ -713,7 +713,7 @@ static int __devinit ssm2602_spi_probe(struct spi_device *spi)
713 return ret; 713 return ret;
714} 714}
715 715
716static int __devexit ssm2602_spi_remove(struct spi_device *spi) 716static int ssm2602_spi_remove(struct spi_device *spi)
717{ 717{
718 snd_soc_unregister_codec(&spi->dev); 718 snd_soc_unregister_codec(&spi->dev);
719 return 0; 719 return 0;
@@ -725,7 +725,7 @@ static struct spi_driver ssm2602_spi_driver = {
725 .owner = THIS_MODULE, 725 .owner = THIS_MODULE,
726 }, 726 },
727 .probe = ssm2602_spi_probe, 727 .probe = ssm2602_spi_probe,
728 .remove = __devexit_p(ssm2602_spi_remove), 728 .remove = ssm2602_spi_remove,
729}; 729};
730#endif 730#endif
731 731
@@ -736,7 +736,7 @@ static struct spi_driver ssm2602_spi_driver = {
736 * low = 0x1a 736 * low = 0x1a
737 * high = 0x1b 737 * high = 0x1b
738 */ 738 */
739static int __devinit ssm2602_i2c_probe(struct i2c_client *i2c, 739static int ssm2602_i2c_probe(struct i2c_client *i2c,
740 const struct i2c_device_id *id) 740 const struct i2c_device_id *id)
741{ 741{
742 struct ssm2602_priv *ssm2602; 742 struct ssm2602_priv *ssm2602;
@@ -759,7 +759,7 @@ static int __devinit ssm2602_i2c_probe(struct i2c_client *i2c,
759 return ret; 759 return ret;
760} 760}
761 761
762static int __devexit ssm2602_i2c_remove(struct i2c_client *client) 762static int ssm2602_i2c_remove(struct i2c_client *client)
763{ 763{
764 snd_soc_unregister_codec(&client->dev); 764 snd_soc_unregister_codec(&client->dev);
765 return 0; 765 return 0;
@@ -780,7 +780,7 @@ static struct i2c_driver ssm2602_i2c_driver = {
780 .owner = THIS_MODULE, 780 .owner = THIS_MODULE,
781 }, 781 },
782 .probe = ssm2602_i2c_probe, 782 .probe = ssm2602_i2c_probe,
783 .remove = __devexit_p(ssm2602_i2c_remove), 783 .remove = ssm2602_i2c_remove,
784 .id_table = ssm2602_i2c_id, 784 .id_table = ssm2602_i2c_id,
785}; 785};
786#endif 786#endif
diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index 0935bfe62471..cfb55fe35e98 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -995,8 +995,8 @@ static const struct regmap_config sta32x_regmap = {
995 .volatile_reg = sta32x_reg_is_volatile, 995 .volatile_reg = sta32x_reg_is_volatile,
996}; 996};
997 997
998static __devinit int sta32x_i2c_probe(struct i2c_client *i2c, 998static int sta32x_i2c_probe(struct i2c_client *i2c,
999 const struct i2c_device_id *id) 999 const struct i2c_device_id *id)
1000{ 1000{
1001 struct sta32x_priv *sta32x; 1001 struct sta32x_priv *sta32x;
1002 int ret, i; 1002 int ret, i;
@@ -1033,7 +1033,7 @@ static __devinit int sta32x_i2c_probe(struct i2c_client *i2c,
1033 return ret; 1033 return ret;
1034} 1034}
1035 1035
1036static __devexit int sta32x_i2c_remove(struct i2c_client *client) 1036static int sta32x_i2c_remove(struct i2c_client *client)
1037{ 1037{
1038 snd_soc_unregister_codec(&client->dev); 1038 snd_soc_unregister_codec(&client->dev);
1039 return 0; 1039 return 0;
@@ -1053,7 +1053,7 @@ static struct i2c_driver sta32x_i2c_driver = {
1053 .owner = THIS_MODULE, 1053 .owner = THIS_MODULE,
1054 }, 1054 },
1055 .probe = sta32x_i2c_probe, 1055 .probe = sta32x_i2c_probe,
1056 .remove = __devexit_p(sta32x_i2c_remove), 1056 .remove = sta32x_i2c_remove,
1057 .id_table = sta32x_i2c_id, 1057 .id_table = sta32x_i2c_id,
1058}; 1058};
1059 1059
diff --git a/sound/soc/codecs/sta529.c b/sound/soc/codecs/sta529.c
index 9e3144862386..ab355c4f0b2d 100644
--- a/sound/soc/codecs/sta529.c
+++ b/sound/soc/codecs/sta529.c
@@ -380,8 +380,8 @@ static const struct regmap_config sta529_regmap = {
380 .num_reg_defaults = ARRAY_SIZE(sta529_reg_defaults), 380 .num_reg_defaults = ARRAY_SIZE(sta529_reg_defaults),
381}; 381};
382 382
383static __devinit int sta529_i2c_probe(struct i2c_client *i2c, 383static int sta529_i2c_probe(struct i2c_client *i2c,
384 const struct i2c_device_id *id) 384 const struct i2c_device_id *id)
385{ 385{
386 struct sta529 *sta529; 386 struct sta529 *sta529;
387 int ret; 387 int ret;
@@ -412,7 +412,7 @@ static __devinit int sta529_i2c_probe(struct i2c_client *i2c,
412 return ret; 412 return ret;
413} 413}
414 414
415static int __devexit sta529_i2c_remove(struct i2c_client *client) 415static int sta529_i2c_remove(struct i2c_client *client)
416{ 416{
417 snd_soc_unregister_codec(&client->dev); 417 snd_soc_unregister_codec(&client->dev);
418 418
@@ -431,7 +431,7 @@ static struct i2c_driver sta529_i2c_driver = {
431 .owner = THIS_MODULE, 431 .owner = THIS_MODULE,
432 }, 432 },
433 .probe = sta529_i2c_probe, 433 .probe = sta529_i2c_probe,
434 .remove = __devexit_p(sta529_i2c_remove), 434 .remove = sta529_i2c_remove,
435 .id_table = sta529_i2c_id, 435 .id_table = sta529_i2c_id,
436}; 436};
437 437
diff --git a/sound/soc/codecs/stac9766.c b/sound/soc/codecs/stac9766.c
index 982e437799a8..2eda85ba79ac 100644
--- a/sound/soc/codecs/stac9766.c
+++ b/sound/soc/codecs/stac9766.c
@@ -385,13 +385,13 @@ static struct snd_soc_codec_driver soc_codec_dev_stac9766 = {
385 .reg_cache_default = stac9766_reg, 385 .reg_cache_default = stac9766_reg,
386}; 386};
387 387
388static __devinit int stac9766_probe(struct platform_device *pdev) 388static int stac9766_probe(struct platform_device *pdev)
389{ 389{
390 return snd_soc_register_codec(&pdev->dev, 390 return snd_soc_register_codec(&pdev->dev,
391 &soc_codec_dev_stac9766, stac9766_dai, ARRAY_SIZE(stac9766_dai)); 391 &soc_codec_dev_stac9766, stac9766_dai, ARRAY_SIZE(stac9766_dai));
392} 392}
393 393
394static int __devexit stac9766_remove(struct platform_device *pdev) 394static int stac9766_remove(struct platform_device *pdev)
395{ 395{
396 snd_soc_unregister_codec(&pdev->dev); 396 snd_soc_unregister_codec(&pdev->dev);
397 return 0; 397 return 0;
@@ -404,7 +404,7 @@ static struct platform_driver stac9766_codec_driver = {
404 }, 404 },
405 405
406 .probe = stac9766_probe, 406 .probe = stac9766_probe,
407 .remove = __devexit_p(stac9766_remove), 407 .remove = stac9766_remove,
408}; 408};
409 409
410module_platform_driver(stac9766_codec_driver); 410module_platform_driver(stac9766_codec_driver);
diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
index e39e08d5d8e4..17df4e32feac 100644
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -716,8 +716,8 @@ static struct snd_soc_codec_driver soc_codec_dev_aic32x4 = {
716 .set_bias_level = aic32x4_set_bias_level, 716 .set_bias_level = aic32x4_set_bias_level,
717}; 717};
718 718
719static __devinit int aic32x4_i2c_probe(struct i2c_client *i2c, 719static int aic32x4_i2c_probe(struct i2c_client *i2c,
720 const struct i2c_device_id *id) 720 const struct i2c_device_id *id)
721{ 721{
722 struct aic32x4_pdata *pdata = i2c->dev.platform_data; 722 struct aic32x4_pdata *pdata = i2c->dev.platform_data;
723 struct aic32x4_priv *aic32x4; 723 struct aic32x4_priv *aic32x4;
@@ -748,7 +748,7 @@ static __devinit int aic32x4_i2c_probe(struct i2c_client *i2c,
748 return ret; 748 return ret;
749} 749}
750 750
751static __devexit int aic32x4_i2c_remove(struct i2c_client *client) 751static int aic32x4_i2c_remove(struct i2c_client *client)
752{ 752{
753 snd_soc_unregister_codec(&client->dev); 753 snd_soc_unregister_codec(&client->dev);
754 return 0; 754 return 0;
@@ -766,7 +766,7 @@ static struct i2c_driver aic32x4_i2c_driver = {
766 .owner = THIS_MODULE, 766 .owner = THIS_MODULE,
767 }, 767 },
768 .probe = aic32x4_i2c_probe, 768 .probe = aic32x4_i2c_probe,
769 .remove = __devexit_p(aic32x4_i2c_remove), 769 .remove = aic32x4_i2c_remove,
770 .id_table = aic32x4_i2c_id, 770 .id_table = aic32x4_i2c_id,
771}; 771};
772 772
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index d2e16c5d7d1f..782b0cded2e6 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -1514,8 +1514,8 @@ static struct snd_soc_dai_driver dac33_dai = {
1514 .ops = &dac33_dai_ops, 1514 .ops = &dac33_dai_ops,
1515}; 1515};
1516 1516
1517static int __devinit dac33_i2c_probe(struct i2c_client *client, 1517static int dac33_i2c_probe(struct i2c_client *client,
1518 const struct i2c_device_id *id) 1518 const struct i2c_device_id *id)
1519{ 1519{
1520 struct tlv320dac33_platform_data *pdata; 1520 struct tlv320dac33_platform_data *pdata;
1521 struct tlv320dac33_priv *dac33; 1521 struct tlv320dac33_priv *dac33;
@@ -1586,7 +1586,7 @@ err_gpio:
1586 return ret; 1586 return ret;
1587} 1587}
1588 1588
1589static int __devexit dac33_i2c_remove(struct i2c_client *client) 1589static int dac33_i2c_remove(struct i2c_client *client)
1590{ 1590{
1591 struct tlv320dac33_priv *dac33 = i2c_get_clientdata(client); 1591 struct tlv320dac33_priv *dac33 = i2c_get_clientdata(client);
1592 1592
@@ -1617,7 +1617,7 @@ static struct i2c_driver tlv320dac33_i2c_driver = {
1617 .owner = THIS_MODULE, 1617 .owner = THIS_MODULE,
1618 }, 1618 },
1619 .probe = dac33_i2c_probe, 1619 .probe = dac33_i2c_probe,
1620 .remove = __devexit_p(dac33_i2c_remove), 1620 .remove = dac33_i2c_remove,
1621 .id_table = tlv320dac33_i2c_id, 1621 .id_table = tlv320dac33_i2c_id,
1622}; 1622};
1623 1623
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c
index 565ff39ad3a3..8d75aa152c8c 100644
--- a/sound/soc/codecs/tpa6130a2.c
+++ b/sound/soc/codecs/tpa6130a2.c
@@ -359,8 +359,8 @@ int tpa6130a2_add_controls(struct snd_soc_codec *codec)
359} 359}
360EXPORT_SYMBOL_GPL(tpa6130a2_add_controls); 360EXPORT_SYMBOL_GPL(tpa6130a2_add_controls);
361 361
362static int __devinit tpa6130a2_probe(struct i2c_client *client, 362static int tpa6130a2_probe(struct i2c_client *client,
363 const struct i2c_device_id *id) 363 const struct i2c_device_id *id)
364{ 364{
365 struct device *dev; 365 struct device *dev;
366 struct tpa6130a2_data *data; 366 struct tpa6130a2_data *data;
@@ -455,7 +455,7 @@ err_gpio:
455 return ret; 455 return ret;
456} 456}
457 457
458static int __devexit tpa6130a2_remove(struct i2c_client *client) 458static int tpa6130a2_remove(struct i2c_client *client)
459{ 459{
460 struct tpa6130a2_data *data = i2c_get_clientdata(client); 460 struct tpa6130a2_data *data = i2c_get_clientdata(client);
461 461
@@ -483,7 +483,7 @@ static struct i2c_driver tpa6130a2_i2c_driver = {
483 .owner = THIS_MODULE, 483 .owner = THIS_MODULE,
484 }, 484 },
485 .probe = tpa6130a2_probe, 485 .probe = tpa6130a2_probe,
486 .remove = __devexit_p(tpa6130a2_remove), 486 .remove = tpa6130a2_remove,
487 .id_table = tpa6130a2_id, 487 .id_table = tpa6130a2_id,
488}; 488};
489 489
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index e7f608996c41..63b280b06035 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -2334,13 +2334,13 @@ static struct snd_soc_codec_driver soc_codec_dev_twl4030 = {
2334 .num_dapm_routes = ARRAY_SIZE(intercon), 2334 .num_dapm_routes = ARRAY_SIZE(intercon),
2335}; 2335};
2336 2336
2337static int __devinit twl4030_codec_probe(struct platform_device *pdev) 2337static int twl4030_codec_probe(struct platform_device *pdev)
2338{ 2338{
2339 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_twl4030, 2339 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_twl4030,
2340 twl4030_dai, ARRAY_SIZE(twl4030_dai)); 2340 twl4030_dai, ARRAY_SIZE(twl4030_dai));
2341} 2341}
2342 2342
2343static int __devexit twl4030_codec_remove(struct platform_device *pdev) 2343static int twl4030_codec_remove(struct platform_device *pdev)
2344{ 2344{
2345 snd_soc_unregister_codec(&pdev->dev); 2345 snd_soc_unregister_codec(&pdev->dev);
2346 return 0; 2346 return 0;
@@ -2350,7 +2350,7 @@ MODULE_ALIAS("platform:twl4030-codec");
2350 2350
2351static struct platform_driver twl4030_codec_driver = { 2351static struct platform_driver twl4030_codec_driver = {
2352 .probe = twl4030_codec_probe, 2352 .probe = twl4030_codec_probe,
2353 .remove = __devexit_p(twl4030_codec_remove), 2353 .remove = twl4030_codec_remove,
2354 .driver = { 2354 .driver = {
2355 .name = "twl4030-codec", 2355 .name = "twl4030-codec",
2356 .owner = THIS_MODULE, 2356 .owner = THIS_MODULE,
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 00b85cc1b9a3..3fc3fc64dd8b 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1229,13 +1229,13 @@ static struct snd_soc_codec_driver soc_codec_dev_twl6040 = {
1229 .num_dapm_routes = ARRAY_SIZE(intercon), 1229 .num_dapm_routes = ARRAY_SIZE(intercon),
1230}; 1230};
1231 1231
1232static int __devinit twl6040_codec_probe(struct platform_device *pdev) 1232static int twl6040_codec_probe(struct platform_device *pdev)
1233{ 1233{
1234 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_twl6040, 1234 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_twl6040,
1235 twl6040_dai, ARRAY_SIZE(twl6040_dai)); 1235 twl6040_dai, ARRAY_SIZE(twl6040_dai));
1236} 1236}
1237 1237
1238static int __devexit twl6040_codec_remove(struct platform_device *pdev) 1238static int twl6040_codec_remove(struct platform_device *pdev)
1239{ 1239{
1240 snd_soc_unregister_codec(&pdev->dev); 1240 snd_soc_unregister_codec(&pdev->dev);
1241 return 0; 1241 return 0;
@@ -1247,7 +1247,7 @@ static struct platform_driver twl6040_codec_driver = {
1247 .owner = THIS_MODULE, 1247 .owner = THIS_MODULE,
1248 }, 1248 },
1249 .probe = twl6040_codec_probe, 1249 .probe = twl6040_codec_probe,
1250 .remove = __devexit_p(twl6040_codec_remove), 1250 .remove = twl6040_codec_remove,
1251}; 1251};
1252 1252
1253module_platform_driver(twl6040_codec_driver); 1253module_platform_driver(twl6040_codec_driver);
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c
index 6c3d43b8ee85..6d0aa44c3757 100644
--- a/sound/soc/codecs/uda134x.c
+++ b/sound/soc/codecs/uda134x.c
@@ -601,13 +601,13 @@ static struct snd_soc_codec_driver soc_codec_dev_uda134x = {
601 .set_bias_level = uda134x_set_bias_level, 601 .set_bias_level = uda134x_set_bias_level,
602}; 602};
603 603
604static int __devinit uda134x_codec_probe(struct platform_device *pdev) 604static int uda134x_codec_probe(struct platform_device *pdev)
605{ 605{
606 return snd_soc_register_codec(&pdev->dev, 606 return snd_soc_register_codec(&pdev->dev,
607 &soc_codec_dev_uda134x, &uda134x_dai, 1); 607 &soc_codec_dev_uda134x, &uda134x_dai, 1);
608} 608}
609 609
610static int __devexit uda134x_codec_remove(struct platform_device *pdev) 610static int uda134x_codec_remove(struct platform_device *pdev)
611{ 611{
612 snd_soc_unregister_codec(&pdev->dev); 612 snd_soc_unregister_codec(&pdev->dev);
613 return 0; 613 return 0;
@@ -619,7 +619,7 @@ static struct platform_driver uda134x_codec_driver = {
619 .owner = THIS_MODULE, 619 .owner = THIS_MODULE,
620 }, 620 },
621 .probe = uda134x_codec_probe, 621 .probe = uda134x_codec_probe,
622 .remove = __devexit_p(uda134x_codec_remove), 622 .remove = uda134x_codec_remove,
623}; 623};
624 624
625module_platform_driver(uda134x_codec_driver); 625module_platform_driver(uda134x_codec_driver);
diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c
index 2502214b84ab..fd0a314bc209 100644
--- a/sound/soc/codecs/uda1380.c
+++ b/sound/soc/codecs/uda1380.c
@@ -795,8 +795,8 @@ static struct snd_soc_codec_driver soc_codec_dev_uda1380 = {
795}; 795};
796 796
797#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 797#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
798static __devinit int uda1380_i2c_probe(struct i2c_client *i2c, 798static int uda1380_i2c_probe(struct i2c_client *i2c,
799 const struct i2c_device_id *id) 799 const struct i2c_device_id *id)
800{ 800{
801 struct uda1380_priv *uda1380; 801 struct uda1380_priv *uda1380;
802 int ret; 802 int ret;
@@ -814,7 +814,7 @@ static __devinit int uda1380_i2c_probe(struct i2c_client *i2c,
814 return ret; 814 return ret;
815} 815}
816 816
817static int __devexit uda1380_i2c_remove(struct i2c_client *i2c) 817static int uda1380_i2c_remove(struct i2c_client *i2c)
818{ 818{
819 snd_soc_unregister_codec(&i2c->dev); 819 snd_soc_unregister_codec(&i2c->dev);
820 return 0; 820 return 0;
@@ -832,7 +832,7 @@ static struct i2c_driver uda1380_i2c_driver = {
832 .owner = THIS_MODULE, 832 .owner = THIS_MODULE,
833 }, 833 },
834 .probe = uda1380_i2c_probe, 834 .probe = uda1380_i2c_probe,
835 .remove = __devexit_p(uda1380_i2c_remove), 835 .remove = uda1380_i2c_remove,
836 .id_table = uda1380_i2c_id, 836 .id_table = uda1380_i2c_id,
837}; 837};
838#endif 838#endif
diff --git a/sound/soc/codecs/wl1273.c b/sound/soc/codecs/wl1273.c
index 7b24d6d192e1..54cd3da09abd 100644
--- a/sound/soc/codecs/wl1273.c
+++ b/sound/soc/codecs/wl1273.c
@@ -485,13 +485,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wl1273 = {
485 .remove = wl1273_remove, 485 .remove = wl1273_remove,
486}; 486};
487 487
488static int __devinit wl1273_platform_probe(struct platform_device *pdev) 488static int wl1273_platform_probe(struct platform_device *pdev)
489{ 489{
490 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wl1273, 490 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wl1273,
491 &wl1273_dai, 1); 491 &wl1273_dai, 1);
492} 492}
493 493
494static int __devexit wl1273_platform_remove(struct platform_device *pdev) 494static int wl1273_platform_remove(struct platform_device *pdev)
495{ 495{
496 snd_soc_unregister_codec(&pdev->dev); 496 snd_soc_unregister_codec(&pdev->dev);
497 return 0; 497 return 0;
@@ -505,7 +505,7 @@ static struct platform_driver wl1273_platform_driver = {
505 .owner = THIS_MODULE, 505 .owner = THIS_MODULE,
506 }, 506 },
507 .probe = wl1273_platform_probe, 507 .probe = wl1273_platform_probe,
508 .remove = __devexit_p(wl1273_platform_remove), 508 .remove = wl1273_platform_remove,
509}; 509};
510 510
511module_platform_driver(wl1273_platform_driver); 511module_platform_driver(wl1273_platform_driver);
diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c
index 40256b526259..ad2fee4bb4cd 100644
--- a/sound/soc/codecs/wm0010.c
+++ b/sound/soc/codecs/wm0010.c
@@ -885,7 +885,7 @@ static int wm0010_probe(struct snd_soc_codec *codec)
885 return 0; 885 return 0;
886} 886}
887 887
888static int __devinit wm0010_spi_probe(struct spi_device *spi) 888static int wm0010_spi_probe(struct spi_device *spi)
889{ 889{
890 unsigned long gpio_flags; 890 unsigned long gpio_flags;
891 int ret; 891 int ret;
@@ -985,7 +985,7 @@ static int __devinit wm0010_spi_probe(struct spi_device *spi)
985 return 0; 985 return 0;
986} 986}
987 987
988static int __devexit wm0010_spi_remove(struct spi_device *spi) 988static int wm0010_spi_remove(struct spi_device *spi)
989{ 989{
990 struct wm0010_priv *wm0010 = spi_get_drvdata(spi); 990 struct wm0010_priv *wm0010 = spi_get_drvdata(spi);
991 991
@@ -1007,7 +1007,7 @@ static struct spi_driver wm0010_spi_driver = {
1007 .owner = THIS_MODULE, 1007 .owner = THIS_MODULE,
1008 }, 1008 },
1009 .probe = wm0010_spi_probe, 1009 .probe = wm0010_spi_probe,
1010 .remove = __devexit_p(wm0010_spi_remove), 1010 .remove = wm0010_spi_remove,
1011}; 1011};
1012 1012
1013module_spi_driver(wm0010_spi_driver); 1013module_spi_driver(wm0010_spi_driver);
diff --git a/sound/soc/codecs/wm1250-ev1.c b/sound/soc/codecs/wm1250-ev1.c
index 951d7b49476a..6e6b93d4696e 100644
--- a/sound/soc/codecs/wm1250-ev1.c
+++ b/sound/soc/codecs/wm1250-ev1.c
@@ -153,7 +153,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm1250_ev1 = {
153 .idle_bias_off = true, 153 .idle_bias_off = true,
154}; 154};
155 155
156static int __devinit wm1250_ev1_pdata(struct i2c_client *i2c) 156static int wm1250_ev1_pdata(struct i2c_client *i2c)
157{ 157{
158 struct wm1250_ev1_pdata *pdata = dev_get_platdata(&i2c->dev); 158 struct wm1250_ev1_pdata *pdata = dev_get_platdata(&i2c->dev);
159 struct wm1250_priv *wm1250; 159 struct wm1250_priv *wm1250;
@@ -199,8 +199,8 @@ static void wm1250_ev1_free(struct i2c_client *i2c)
199 gpio_free_array(wm1250->gpios, ARRAY_SIZE(wm1250->gpios)); 199 gpio_free_array(wm1250->gpios, ARRAY_SIZE(wm1250->gpios));
200} 200}
201 201
202static int __devinit wm1250_ev1_probe(struct i2c_client *i2c, 202static int wm1250_ev1_probe(struct i2c_client *i2c,
203 const struct i2c_device_id *i2c_id) 203 const struct i2c_device_id *i2c_id)
204{ 204{
205 int id, board, rev, ret; 205 int id, board, rev, ret;
206 206
@@ -237,7 +237,7 @@ static int __devinit wm1250_ev1_probe(struct i2c_client *i2c,
237 return 0; 237 return 0;
238} 238}
239 239
240static int __devexit wm1250_ev1_remove(struct i2c_client *i2c) 240static int wm1250_ev1_remove(struct i2c_client *i2c)
241{ 241{
242 snd_soc_unregister_codec(&i2c->dev); 242 snd_soc_unregister_codec(&i2c->dev);
243 wm1250_ev1_free(i2c); 243 wm1250_ev1_free(i2c);
@@ -257,7 +257,7 @@ static struct i2c_driver wm1250_ev1_i2c_driver = {
257 .owner = THIS_MODULE, 257 .owner = THIS_MODULE,
258 }, 258 },
259 .probe = wm1250_ev1_probe, 259 .probe = wm1250_ev1_probe,
260 .remove = __devexit_p(wm1250_ev1_remove), 260 .remove = wm1250_ev1_remove,
261 .id_table = wm1250_ev1_i2c_id, 261 .id_table = wm1250_ev1_i2c_id,
262}; 262};
263 263
diff --git a/sound/soc/codecs/wm2000.c b/sound/soc/codecs/wm2000.c
index 02750ab020de..1cbe88f01d63 100644
--- a/sound/soc/codecs/wm2000.c
+++ b/sound/soc/codecs/wm2000.c
@@ -764,8 +764,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm2000 = {
764 .num_controls = ARRAY_SIZE(wm2000_controls), 764 .num_controls = ARRAY_SIZE(wm2000_controls),
765}; 765};
766 766
767static int __devinit wm2000_i2c_probe(struct i2c_client *i2c, 767static int wm2000_i2c_probe(struct i2c_client *i2c,
768 const struct i2c_device_id *i2c_id) 768 const struct i2c_device_id *i2c_id)
769{ 769{
770 struct wm2000_priv *wm2000; 770 struct wm2000_priv *wm2000;
771 struct wm2000_platform_data *pdata; 771 struct wm2000_platform_data *pdata;
@@ -871,7 +871,7 @@ out:
871 return ret; 871 return ret;
872} 872}
873 873
874static __devexit int wm2000_i2c_remove(struct i2c_client *i2c) 874static int wm2000_i2c_remove(struct i2c_client *i2c)
875{ 875{
876 snd_soc_unregister_codec(&i2c->dev); 876 snd_soc_unregister_codec(&i2c->dev);
877 877
@@ -890,7 +890,7 @@ static struct i2c_driver wm2000_i2c_driver = {
890 .owner = THIS_MODULE, 890 .owner = THIS_MODULE,
891 }, 891 },
892 .probe = wm2000_i2c_probe, 892 .probe = wm2000_i2c_probe,
893 .remove = __devexit_p(wm2000_i2c_remove), 893 .remove = wm2000_i2c_remove,
894 .id_table = wm2000_i2c_id, 894 .id_table = wm2000_i2c_id,
895}; 895};
896 896
diff --git a/sound/soc/codecs/wm2200.c b/sound/soc/codecs/wm2200.c
index ff45b02a9dff..afcf31df77e0 100644
--- a/sound/soc/codecs/wm2200.c
+++ b/sound/soc/codecs/wm2200.c
@@ -2184,8 +2184,8 @@ static const unsigned int wm2200_mic_ctrl_reg[] = {
2184 WM2200_IN3L_CONTROL, 2184 WM2200_IN3L_CONTROL,
2185}; 2185};
2186 2186
2187static __devinit int wm2200_i2c_probe(struct i2c_client *i2c, 2187static int wm2200_i2c_probe(struct i2c_client *i2c,
2188 const struct i2c_device_id *id) 2188 const struct i2c_device_id *id)
2189{ 2189{
2190 struct wm2200_pdata *pdata = dev_get_platdata(&i2c->dev); 2190 struct wm2200_pdata *pdata = dev_get_platdata(&i2c->dev);
2191 struct wm2200_priv *wm2200; 2191 struct wm2200_priv *wm2200;
@@ -2385,7 +2385,7 @@ err_enable:
2385 return ret; 2385 return ret;
2386} 2386}
2387 2387
2388static __devexit int wm2200_i2c_remove(struct i2c_client *i2c) 2388static int wm2200_i2c_remove(struct i2c_client *i2c)
2389{ 2389{
2390 struct wm2200_priv *wm2200 = i2c_get_clientdata(i2c); 2390 struct wm2200_priv *wm2200 = i2c_get_clientdata(i2c);
2391 2391
@@ -2458,7 +2458,7 @@ static struct i2c_driver wm2200_i2c_driver = {
2458 .pm = &wm2200_pm, 2458 .pm = &wm2200_pm,
2459 }, 2459 },
2460 .probe = wm2200_i2c_probe, 2460 .probe = wm2200_i2c_probe,
2461 .remove = __devexit_p(wm2200_i2c_remove), 2461 .remove = wm2200_i2c_remove,
2462 .id_table = wm2200_i2c_id, 2462 .id_table = wm2200_i2c_id,
2463}; 2463};
2464 2464
diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c
index 9f57996ff272..5a5f36936235 100644
--- a/sound/soc/codecs/wm5100.c
+++ b/sound/soc/codecs/wm5100.c
@@ -2414,8 +2414,8 @@ static const unsigned int wm5100_mic_ctrl_reg[] = {
2414 WM5100_IN4L_CONTROL, 2414 WM5100_IN4L_CONTROL,
2415}; 2415};
2416 2416
2417static __devinit int wm5100_i2c_probe(struct i2c_client *i2c, 2417static int wm5100_i2c_probe(struct i2c_client *i2c,
2418 const struct i2c_device_id *id) 2418 const struct i2c_device_id *id)
2419{ 2419{
2420 struct wm5100_pdata *pdata = dev_get_platdata(&i2c->dev); 2420 struct wm5100_pdata *pdata = dev_get_platdata(&i2c->dev);
2421 struct wm5100_priv *wm5100; 2421 struct wm5100_priv *wm5100;
@@ -2639,7 +2639,7 @@ err:
2639 return ret; 2639 return ret;
2640} 2640}
2641 2641
2642static __devexit int wm5100_i2c_remove(struct i2c_client *i2c) 2642static int wm5100_i2c_remove(struct i2c_client *i2c)
2643{ 2643{
2644 struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c); 2644 struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c);
2645 2645
@@ -2717,7 +2717,7 @@ static struct i2c_driver wm5100_i2c_driver = {
2717 .pm = &wm5100_pm, 2717 .pm = &wm5100_pm,
2718 }, 2718 },
2719 .probe = wm5100_i2c_probe, 2719 .probe = wm5100_i2c_probe,
2720 .remove = __devexit_p(wm5100_i2c_remove), 2720 .remove = wm5100_i2c_remove,
2721 .id_table = wm5100_i2c_id, 2721 .id_table = wm5100_i2c_id,
2722}; 2722};
2723 2723
diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c
index 53793b1849f7..688ade080589 100644
--- a/sound/soc/codecs/wm5102.c
+++ b/sound/soc/codecs/wm5102.c
@@ -635,11 +635,23 @@ SOC_DOUBLE_R_TLV("IN3 Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_3L,
635 ARIZONA_ADC_DIGITAL_VOLUME_3R, ARIZONA_IN3L_DIG_VOL_SHIFT, 635 ARIZONA_ADC_DIGITAL_VOLUME_3R, ARIZONA_IN3L_DIG_VOL_SHIFT,
636 0xbf, 0, digital_tlv), 636 0xbf, 0, digital_tlv),
637 637
638SOC_ENUM("Input Ramp Up", arizona_in_vi_ramp),
639SOC_ENUM("Input Ramp Down", arizona_in_vd_ramp),
640
638ARIZONA_MIXER_CONTROLS("EQ1", ARIZONA_EQ1MIX_INPUT_1_SOURCE), 641ARIZONA_MIXER_CONTROLS("EQ1", ARIZONA_EQ1MIX_INPUT_1_SOURCE),
639ARIZONA_MIXER_CONTROLS("EQ2", ARIZONA_EQ2MIX_INPUT_1_SOURCE), 642ARIZONA_MIXER_CONTROLS("EQ2", ARIZONA_EQ2MIX_INPUT_1_SOURCE),
640ARIZONA_MIXER_CONTROLS("EQ3", ARIZONA_EQ3MIX_INPUT_1_SOURCE), 643ARIZONA_MIXER_CONTROLS("EQ3", ARIZONA_EQ3MIX_INPUT_1_SOURCE),
641ARIZONA_MIXER_CONTROLS("EQ4", ARIZONA_EQ4MIX_INPUT_1_SOURCE), 644ARIZONA_MIXER_CONTROLS("EQ4", ARIZONA_EQ4MIX_INPUT_1_SOURCE),
642 645
646SND_SOC_BYTES_MASK("EQ1 Coefficeints", ARIZONA_EQ1_1, 21,
647 ARIZONA_EQ1_ENA_MASK),
648SND_SOC_BYTES_MASK("EQ2 Coefficeints", ARIZONA_EQ2_1, 21,
649 ARIZONA_EQ2_ENA_MASK),
650SND_SOC_BYTES_MASK("EQ3 Coefficeints", ARIZONA_EQ3_1, 21,
651 ARIZONA_EQ3_ENA_MASK),
652SND_SOC_BYTES_MASK("EQ4 Coefficeints", ARIZONA_EQ4_1, 21,
653 ARIZONA_EQ4_ENA_MASK),
654
643SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT, 655SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT,
644 24, 0, eq_tlv), 656 24, 0, eq_tlv),
645SOC_SINGLE_TLV("EQ1 B2 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B2_GAIN_SHIFT, 657SOC_SINGLE_TLV("EQ1 B2 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B2_GAIN_SHIFT,
@@ -695,6 +707,11 @@ ARIZONA_MIXER_CONTROLS("LHPF2", ARIZONA_HPLP2MIX_INPUT_1_SOURCE),
695ARIZONA_MIXER_CONTROLS("LHPF3", ARIZONA_HPLP3MIX_INPUT_1_SOURCE), 707ARIZONA_MIXER_CONTROLS("LHPF3", ARIZONA_HPLP3MIX_INPUT_1_SOURCE),
696ARIZONA_MIXER_CONTROLS("LHPF4", ARIZONA_HPLP4MIX_INPUT_1_SOURCE), 708ARIZONA_MIXER_CONTROLS("LHPF4", ARIZONA_HPLP4MIX_INPUT_1_SOURCE),
697 709
710SND_SOC_BYTES("LHPF1 Coefficients", ARIZONA_HPLPF1_2, 1),
711SND_SOC_BYTES("LHPF2 Coefficients", ARIZONA_HPLPF2_2, 1),
712SND_SOC_BYTES("LHPF3 Coefficients", ARIZONA_HPLPF3_2, 1),
713SND_SOC_BYTES("LHPF4 Coefficients", ARIZONA_HPLPF4_2, 1),
714
698ARIZONA_MIXER_CONTROLS("DSP1L", ARIZONA_DSP1LMIX_INPUT_1_SOURCE), 715ARIZONA_MIXER_CONTROLS("DSP1L", ARIZONA_DSP1LMIX_INPUT_1_SOURCE),
699ARIZONA_MIXER_CONTROLS("DSP1R", ARIZONA_DSP1RMIX_INPUT_1_SOURCE), 716ARIZONA_MIXER_CONTROLS("DSP1R", ARIZONA_DSP1RMIX_INPUT_1_SOURCE),
700 717
@@ -748,6 +765,9 @@ SOC_DOUBLE_R_TLV("SPKDAT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_5L,
748 ARIZONA_DAC_DIGITAL_VOLUME_5R, ARIZONA_OUT5L_VOL_SHIFT, 765 ARIZONA_DAC_DIGITAL_VOLUME_5R, ARIZONA_OUT5L_VOL_SHIFT,
749 0xbf, 0, digital_tlv), 766 0xbf, 0, digital_tlv),
750 767
768SOC_ENUM("Output Ramp Up", arizona_out_vi_ramp),
769SOC_ENUM("Output Ramp Down", arizona_out_vd_ramp),
770
751SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT, 771SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT,
752 ARIZONA_SPK1R_MUTE_SHIFT, 1, 1), 772 ARIZONA_SPK1R_MUTE_SHIFT, 1, 1),
753 773
@@ -1455,7 +1475,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm5102 = {
1455 .num_dapm_routes = ARRAY_SIZE(wm5102_dapm_routes), 1475 .num_dapm_routes = ARRAY_SIZE(wm5102_dapm_routes),
1456}; 1476};
1457 1477
1458static int __devinit wm5102_probe(struct platform_device *pdev) 1478static int wm5102_probe(struct platform_device *pdev)
1459{ 1479{
1460 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); 1480 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent);
1461 struct wm5102_priv *wm5102; 1481 struct wm5102_priv *wm5102;
@@ -1507,7 +1527,7 @@ static int __devinit wm5102_probe(struct platform_device *pdev)
1507 wm5102_dai, ARRAY_SIZE(wm5102_dai)); 1527 wm5102_dai, ARRAY_SIZE(wm5102_dai));
1508} 1528}
1509 1529
1510static int __devexit wm5102_remove(struct platform_device *pdev) 1530static int wm5102_remove(struct platform_device *pdev)
1511{ 1531{
1512 snd_soc_unregister_codec(&pdev->dev); 1532 snd_soc_unregister_codec(&pdev->dev);
1513 pm_runtime_disable(&pdev->dev); 1533 pm_runtime_disable(&pdev->dev);
@@ -1521,7 +1541,7 @@ static struct platform_driver wm5102_codec_driver = {
1521 .owner = THIS_MODULE, 1541 .owner = THIS_MODULE,
1522 }, 1542 },
1523 .probe = wm5102_probe, 1543 .probe = wm5102_probe,
1524 .remove = __devexit_p(wm5102_remove), 1544 .remove = wm5102_remove,
1525}; 1545};
1526 1546
1527module_platform_driver(wm5102_codec_driver); 1547module_platform_driver(wm5102_codec_driver);
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index 2a075ad00d5b..ae80c8c28536 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -84,11 +84,23 @@ SOC_DOUBLE_R_TLV("IN4 Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_4L,
84 ARIZONA_ADC_DIGITAL_VOLUME_4R, ARIZONA_IN4L_DIG_VOL_SHIFT, 84 ARIZONA_ADC_DIGITAL_VOLUME_4R, ARIZONA_IN4L_DIG_VOL_SHIFT,
85 0xbf, 0, digital_tlv), 85 0xbf, 0, digital_tlv),
86 86
87SOC_ENUM("Input Ramp Up", arizona_in_vi_ramp),
88SOC_ENUM("Input Ramp Down", arizona_in_vd_ramp),
89
87ARIZONA_MIXER_CONTROLS("EQ1", ARIZONA_EQ1MIX_INPUT_1_SOURCE), 90ARIZONA_MIXER_CONTROLS("EQ1", ARIZONA_EQ1MIX_INPUT_1_SOURCE),
88ARIZONA_MIXER_CONTROLS("EQ2", ARIZONA_EQ2MIX_INPUT_1_SOURCE), 91ARIZONA_MIXER_CONTROLS("EQ2", ARIZONA_EQ2MIX_INPUT_1_SOURCE),
89ARIZONA_MIXER_CONTROLS("EQ3", ARIZONA_EQ3MIX_INPUT_1_SOURCE), 92ARIZONA_MIXER_CONTROLS("EQ3", ARIZONA_EQ3MIX_INPUT_1_SOURCE),
90ARIZONA_MIXER_CONTROLS("EQ4", ARIZONA_EQ4MIX_INPUT_1_SOURCE), 93ARIZONA_MIXER_CONTROLS("EQ4", ARIZONA_EQ4MIX_INPUT_1_SOURCE),
91 94
95SND_SOC_BYTES_MASK("EQ1 Coefficeints", ARIZONA_EQ1_1, 21,
96 ARIZONA_EQ1_ENA_MASK),
97SND_SOC_BYTES_MASK("EQ2 Coefficeints", ARIZONA_EQ2_1, 21,
98 ARIZONA_EQ2_ENA_MASK),
99SND_SOC_BYTES_MASK("EQ3 Coefficeints", ARIZONA_EQ3_1, 21,
100 ARIZONA_EQ3_ENA_MASK),
101SND_SOC_BYTES_MASK("EQ4 Coefficeints", ARIZONA_EQ4_1, 21,
102 ARIZONA_EQ4_ENA_MASK),
103
92SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT, 104SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT,
93 24, 0, eq_tlv), 105 24, 0, eq_tlv),
94SOC_SINGLE_TLV("EQ1 B2 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B2_GAIN_SHIFT, 106SOC_SINGLE_TLV("EQ1 B2 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B2_GAIN_SHIFT,
@@ -148,6 +160,11 @@ ARIZONA_MIXER_CONTROLS("LHPF2", ARIZONA_HPLP2MIX_INPUT_1_SOURCE),
148ARIZONA_MIXER_CONTROLS("LHPF3", ARIZONA_HPLP3MIX_INPUT_1_SOURCE), 160ARIZONA_MIXER_CONTROLS("LHPF3", ARIZONA_HPLP3MIX_INPUT_1_SOURCE),
149ARIZONA_MIXER_CONTROLS("LHPF4", ARIZONA_HPLP4MIX_INPUT_1_SOURCE), 161ARIZONA_MIXER_CONTROLS("LHPF4", ARIZONA_HPLP4MIX_INPUT_1_SOURCE),
150 162
163SND_SOC_BYTES("LHPF1 Coefficients", ARIZONA_HPLPF1_2, 1),
164SND_SOC_BYTES("LHPF2 Coefficients", ARIZONA_HPLPF2_2, 1),
165SND_SOC_BYTES("LHPF3 Coefficients", ARIZONA_HPLPF3_2, 1),
166SND_SOC_BYTES("LHPF4 Coefficients", ARIZONA_HPLPF4_2, 1),
167
151SOC_ENUM("LHPF1 Mode", arizona_lhpf1_mode), 168SOC_ENUM("LHPF1 Mode", arizona_lhpf1_mode),
152SOC_ENUM("LHPF2 Mode", arizona_lhpf2_mode), 169SOC_ENUM("LHPF2 Mode", arizona_lhpf2_mode),
153SOC_ENUM("LHPF3 Mode", arizona_lhpf3_mode), 170SOC_ENUM("LHPF3 Mode", arizona_lhpf3_mode),
@@ -243,6 +260,9 @@ SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT,
243SOC_DOUBLE("SPKDAT2 Switch", ARIZONA_PDM_SPK2_CTRL_1, ARIZONA_SPK2L_MUTE_SHIFT, 260SOC_DOUBLE("SPKDAT2 Switch", ARIZONA_PDM_SPK2_CTRL_1, ARIZONA_SPK2L_MUTE_SHIFT,
244 ARIZONA_SPK2R_MUTE_SHIFT, 1, 1), 261 ARIZONA_SPK2R_MUTE_SHIFT, 1, 1),
245 262
263SOC_ENUM("Output Ramp Up", arizona_out_vi_ramp),
264SOC_ENUM("Output Ramp Down", arizona_out_vd_ramp),
265
246ARIZONA_MIXER_CONTROLS("AIF1TX1", ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE), 266ARIZONA_MIXER_CONTROLS("AIF1TX1", ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE),
247ARIZONA_MIXER_CONTROLS("AIF1TX2", ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE), 267ARIZONA_MIXER_CONTROLS("AIF1TX2", ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE),
248ARIZONA_MIXER_CONTROLS("AIF1TX3", ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE), 268ARIZONA_MIXER_CONTROLS("AIF1TX3", ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE),
@@ -972,7 +992,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm5110 = {
972 .num_dapm_routes = ARRAY_SIZE(wm5110_dapm_routes), 992 .num_dapm_routes = ARRAY_SIZE(wm5110_dapm_routes),
973}; 993};
974 994
975static int __devinit wm5110_probe(struct platform_device *pdev) 995static int wm5110_probe(struct platform_device *pdev)
976{ 996{
977 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); 997 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent);
978 struct wm5110_priv *wm5110; 998 struct wm5110_priv *wm5110;
@@ -1011,7 +1031,7 @@ static int __devinit wm5110_probe(struct platform_device *pdev)
1011 wm5110_dai, ARRAY_SIZE(wm5110_dai)); 1031 wm5110_dai, ARRAY_SIZE(wm5110_dai));
1012} 1032}
1013 1033
1014static int __devexit wm5110_remove(struct platform_device *pdev) 1034static int wm5110_remove(struct platform_device *pdev)
1015{ 1035{
1016 snd_soc_unregister_codec(&pdev->dev); 1036 snd_soc_unregister_codec(&pdev->dev);
1017 pm_runtime_disable(&pdev->dev); 1037 pm_runtime_disable(&pdev->dev);
@@ -1025,7 +1045,7 @@ static struct platform_driver wm5110_codec_driver = {
1025 .owner = THIS_MODULE, 1045 .owner = THIS_MODULE,
1026 }, 1046 },
1027 .probe = wm5110_probe, 1047 .probe = wm5110_probe,
1028 .remove = __devexit_p(wm5110_remove), 1048 .remove = wm5110_remove,
1029}; 1049};
1030 1050
1031module_platform_driver(wm5110_codec_driver); 1051module_platform_driver(wm5110_codec_driver);
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
index 32b8f0852f6e..fb92fb47d636 100644
--- a/sound/soc/codecs/wm8350.c
+++ b/sound/soc/codecs/wm8350.c
@@ -1625,13 +1625,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8350 = {
1625 .num_dapm_routes = ARRAY_SIZE(wm8350_dapm_routes), 1625 .num_dapm_routes = ARRAY_SIZE(wm8350_dapm_routes),
1626}; 1626};
1627 1627
1628static int __devinit wm8350_probe(struct platform_device *pdev) 1628static int wm8350_probe(struct platform_device *pdev)
1629{ 1629{
1630 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8350, 1630 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8350,
1631 &wm8350_dai, 1); 1631 &wm8350_dai, 1);
1632} 1632}
1633 1633
1634static int __devexit wm8350_remove(struct platform_device *pdev) 1634static int wm8350_remove(struct platform_device *pdev)
1635{ 1635{
1636 snd_soc_unregister_codec(&pdev->dev); 1636 snd_soc_unregister_codec(&pdev->dev);
1637 return 0; 1637 return 0;
@@ -1643,7 +1643,7 @@ static struct platform_driver wm8350_codec_driver = {
1643 .owner = THIS_MODULE, 1643 .owner = THIS_MODULE,
1644 }, 1644 },
1645 .probe = wm8350_probe, 1645 .probe = wm8350_probe,
1646 .remove = __devexit_p(wm8350_remove), 1646 .remove = wm8350_remove,
1647}; 1647};
1648 1648
1649module_platform_driver(wm8350_codec_driver); 1649module_platform_driver(wm8350_codec_driver);
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c
index 262c44082eb0..af6d227e67be 100644
--- a/sound/soc/codecs/wm8400.c
+++ b/sound/soc/codecs/wm8400.c
@@ -1431,13 +1431,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8400 = {
1431 .num_dapm_routes = ARRAY_SIZE(wm8400_dapm_routes), 1431 .num_dapm_routes = ARRAY_SIZE(wm8400_dapm_routes),
1432}; 1432};
1433 1433
1434static int __devinit wm8400_probe(struct platform_device *pdev) 1434static int wm8400_probe(struct platform_device *pdev)
1435{ 1435{
1436 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8400, 1436 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8400,
1437 &wm8400_dai, 1); 1437 &wm8400_dai, 1);
1438} 1438}
1439 1439
1440static int __devexit wm8400_remove(struct platform_device *pdev) 1440static int wm8400_remove(struct platform_device *pdev)
1441{ 1441{
1442 snd_soc_unregister_codec(&pdev->dev); 1442 snd_soc_unregister_codec(&pdev->dev);
1443 return 0; 1443 return 0;
@@ -1449,7 +1449,7 @@ static struct platform_driver wm8400_codec_driver = {
1449 .owner = THIS_MODULE, 1449 .owner = THIS_MODULE,
1450 }, 1450 },
1451 .probe = wm8400_probe, 1451 .probe = wm8400_probe,
1452 .remove = __devexit_p(wm8400_remove), 1452 .remove = wm8400_remove,
1453}; 1453};
1454 1454
1455module_platform_driver(wm8400_codec_driver); 1455module_platform_driver(wm8400_codec_driver);
diff --git a/sound/soc/codecs/wm8510.c b/sound/soc/codecs/wm8510.c
index 923e7e1f6704..6ed5433943ea 100644
--- a/sound/soc/codecs/wm8510.c
+++ b/sound/soc/codecs/wm8510.c
@@ -645,7 +645,7 @@ static const struct regmap_config wm8510_regmap = {
645}; 645};
646 646
647#if defined(CONFIG_SPI_MASTER) 647#if defined(CONFIG_SPI_MASTER)
648static int __devinit wm8510_spi_probe(struct spi_device *spi) 648static int wm8510_spi_probe(struct spi_device *spi)
649{ 649{
650 struct wm8510_priv *wm8510; 650 struct wm8510_priv *wm8510;
651 int ret; 651 int ret;
@@ -667,7 +667,7 @@ static int __devinit wm8510_spi_probe(struct spi_device *spi)
667 return ret; 667 return ret;
668} 668}
669 669
670static int __devexit wm8510_spi_remove(struct spi_device *spi) 670static int wm8510_spi_remove(struct spi_device *spi)
671{ 671{
672 snd_soc_unregister_codec(&spi->dev); 672 snd_soc_unregister_codec(&spi->dev);
673 return 0; 673 return 0;
@@ -680,13 +680,13 @@ static struct spi_driver wm8510_spi_driver = {
680 .of_match_table = wm8510_of_match, 680 .of_match_table = wm8510_of_match,
681 }, 681 },
682 .probe = wm8510_spi_probe, 682 .probe = wm8510_spi_probe,
683 .remove = __devexit_p(wm8510_spi_remove), 683 .remove = wm8510_spi_remove,
684}; 684};
685#endif /* CONFIG_SPI_MASTER */ 685#endif /* CONFIG_SPI_MASTER */
686 686
687#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 687#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
688static __devinit int wm8510_i2c_probe(struct i2c_client *i2c, 688static int wm8510_i2c_probe(struct i2c_client *i2c,
689 const struct i2c_device_id *id) 689 const struct i2c_device_id *id)
690{ 690{
691 struct wm8510_priv *wm8510; 691 struct wm8510_priv *wm8510;
692 int ret; 692 int ret;
@@ -708,7 +708,7 @@ static __devinit int wm8510_i2c_probe(struct i2c_client *i2c,
708 return ret; 708 return ret;
709} 709}
710 710
711static __devexit int wm8510_i2c_remove(struct i2c_client *client) 711static int wm8510_i2c_remove(struct i2c_client *client)
712{ 712{
713 snd_soc_unregister_codec(&client->dev); 713 snd_soc_unregister_codec(&client->dev);
714 return 0; 714 return 0;
@@ -727,7 +727,7 @@ static struct i2c_driver wm8510_i2c_driver = {
727 .of_match_table = wm8510_of_match, 727 .of_match_table = wm8510_of_match,
728 }, 728 },
729 .probe = wm8510_i2c_probe, 729 .probe = wm8510_i2c_probe,
730 .remove = __devexit_p(wm8510_i2c_remove), 730 .remove = wm8510_i2c_remove,
731 .id_table = wm8510_i2c_id, 731 .id_table = wm8510_i2c_id,
732}; 732};
733#endif 733#endif
diff --git a/sound/soc/codecs/wm8523.c b/sound/soc/codecs/wm8523.c
index 8d5c27673501..139bf9ac9407 100644
--- a/sound/soc/codecs/wm8523.c
+++ b/sound/soc/codecs/wm8523.c
@@ -453,8 +453,8 @@ static const struct regmap_config wm8523_regmap = {
453}; 453};
454 454
455#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 455#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
456static __devinit int wm8523_i2c_probe(struct i2c_client *i2c, 456static int wm8523_i2c_probe(struct i2c_client *i2c,
457 const struct i2c_device_id *id) 457 const struct i2c_device_id *id)
458{ 458{
459 struct wm8523_priv *wm8523; 459 struct wm8523_priv *wm8523;
460 unsigned int val; 460 unsigned int val;
@@ -528,7 +528,7 @@ err_enable:
528 return ret; 528 return ret;
529} 529}
530 530
531static __devexit int wm8523_i2c_remove(struct i2c_client *client) 531static int wm8523_i2c_remove(struct i2c_client *client)
532{ 532{
533 snd_soc_unregister_codec(&client->dev); 533 snd_soc_unregister_codec(&client->dev);
534 return 0; 534 return 0;
@@ -547,7 +547,7 @@ static struct i2c_driver wm8523_i2c_driver = {
547 .of_match_table = wm8523_of_match, 547 .of_match_table = wm8523_of_match,
548 }, 548 },
549 .probe = wm8523_i2c_probe, 549 .probe = wm8523_i2c_probe,
550 .remove = __devexit_p(wm8523_i2c_remove), 550 .remove = wm8523_i2c_remove,
551 .id_table = wm8523_i2c_id, 551 .id_table = wm8523_i2c_id,
552}; 552};
553#endif 553#endif
diff --git a/sound/soc/codecs/wm8711.c b/sound/soc/codecs/wm8711.c
index 8b8bb70f1eb9..5b428b060d41 100644
--- a/sound/soc/codecs/wm8711.c
+++ b/sound/soc/codecs/wm8711.c
@@ -429,7 +429,7 @@ static const struct regmap_config wm8711_regmap = {
429}; 429};
430 430
431#if defined(CONFIG_SPI_MASTER) 431#if defined(CONFIG_SPI_MASTER)
432static int __devinit wm8711_spi_probe(struct spi_device *spi) 432static int wm8711_spi_probe(struct spi_device *spi)
433{ 433{
434 struct wm8711_priv *wm8711; 434 struct wm8711_priv *wm8711;
435 int ret; 435 int ret;
@@ -451,7 +451,7 @@ static int __devinit wm8711_spi_probe(struct spi_device *spi)
451 return ret; 451 return ret;
452} 452}
453 453
454static int __devexit wm8711_spi_remove(struct spi_device *spi) 454static int wm8711_spi_remove(struct spi_device *spi)
455{ 455{
456 snd_soc_unregister_codec(&spi->dev); 456 snd_soc_unregister_codec(&spi->dev);
457 457
@@ -465,13 +465,13 @@ static struct spi_driver wm8711_spi_driver = {
465 .of_match_table = wm8711_of_match, 465 .of_match_table = wm8711_of_match,
466 }, 466 },
467 .probe = wm8711_spi_probe, 467 .probe = wm8711_spi_probe,
468 .remove = __devexit_p(wm8711_spi_remove), 468 .remove = wm8711_spi_remove,
469}; 469};
470#endif /* CONFIG_SPI_MASTER */ 470#endif /* CONFIG_SPI_MASTER */
471 471
472#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 472#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
473static __devinit int wm8711_i2c_probe(struct i2c_client *client, 473static int wm8711_i2c_probe(struct i2c_client *client,
474 const struct i2c_device_id *id) 474 const struct i2c_device_id *id)
475{ 475{
476 struct wm8711_priv *wm8711; 476 struct wm8711_priv *wm8711;
477 int ret; 477 int ret;
@@ -493,7 +493,7 @@ static __devinit int wm8711_i2c_probe(struct i2c_client *client,
493 return ret; 493 return ret;
494} 494}
495 495
496static __devexit int wm8711_i2c_remove(struct i2c_client *client) 496static int wm8711_i2c_remove(struct i2c_client *client)
497{ 497{
498 snd_soc_unregister_codec(&client->dev); 498 snd_soc_unregister_codec(&client->dev);
499 return 0; 499 return 0;
@@ -512,7 +512,7 @@ static struct i2c_driver wm8711_i2c_driver = {
512 .of_match_table = wm8711_of_match, 512 .of_match_table = wm8711_of_match,
513 }, 513 },
514 .probe = wm8711_i2c_probe, 514 .probe = wm8711_i2c_probe,
515 .remove = __devexit_p(wm8711_i2c_remove), 515 .remove = wm8711_i2c_remove,
516 .id_table = wm8711_i2c_id, 516 .id_table = wm8711_i2c_id,
517}; 517};
518#endif 518#endif
diff --git a/sound/soc/codecs/wm8727.c b/sound/soc/codecs/wm8727.c
index e81705620718..462f5e4d5c05 100644
--- a/sound/soc/codecs/wm8727.c
+++ b/sound/soc/codecs/wm8727.c
@@ -45,13 +45,13 @@ static struct snd_soc_dai_driver wm8727_dai = {
45 45
46static struct snd_soc_codec_driver soc_codec_dev_wm8727; 46static struct snd_soc_codec_driver soc_codec_dev_wm8727;
47 47
48static __devinit int wm8727_probe(struct platform_device *pdev) 48static int wm8727_probe(struct platform_device *pdev)
49{ 49{
50 return snd_soc_register_codec(&pdev->dev, 50 return snd_soc_register_codec(&pdev->dev,
51 &soc_codec_dev_wm8727, &wm8727_dai, 1); 51 &soc_codec_dev_wm8727, &wm8727_dai, 1);
52} 52}
53 53
54static int __devexit wm8727_remove(struct platform_device *pdev) 54static int wm8727_remove(struct platform_device *pdev)
55{ 55{
56 snd_soc_unregister_codec(&pdev->dev); 56 snd_soc_unregister_codec(&pdev->dev);
57 return 0; 57 return 0;
@@ -64,7 +64,7 @@ static struct platform_driver wm8727_codec_driver = {
64 }, 64 },
65 65
66 .probe = wm8727_probe, 66 .probe = wm8727_probe,
67 .remove = __devexit_p(wm8727_remove), 67 .remove = wm8727_remove,
68}; 68};
69 69
70module_platform_driver(wm8727_codec_driver); 70module_platform_driver(wm8727_codec_driver);
diff --git a/sound/soc/codecs/wm8728.c b/sound/soc/codecs/wm8728.c
index 00a12a0c3919..c6a292dcded0 100644
--- a/sound/soc/codecs/wm8728.c
+++ b/sound/soc/codecs/wm8728.c
@@ -280,7 +280,7 @@ static const struct regmap_config wm8728_regmap = {
280}; 280};
281 281
282#if defined(CONFIG_SPI_MASTER) 282#if defined(CONFIG_SPI_MASTER)
283static int __devinit wm8728_spi_probe(struct spi_device *spi) 283static int wm8728_spi_probe(struct spi_device *spi)
284{ 284{
285 struct wm8728_priv *wm8728; 285 struct wm8728_priv *wm8728;
286 int ret; 286 int ret;
@@ -302,7 +302,7 @@ static int __devinit wm8728_spi_probe(struct spi_device *spi)
302 return ret; 302 return ret;
303} 303}
304 304
305static int __devexit wm8728_spi_remove(struct spi_device *spi) 305static int wm8728_spi_remove(struct spi_device *spi)
306{ 306{
307 snd_soc_unregister_codec(&spi->dev); 307 snd_soc_unregister_codec(&spi->dev);
308 308
@@ -316,13 +316,13 @@ static struct spi_driver wm8728_spi_driver = {
316 .of_match_table = wm8728_of_match, 316 .of_match_table = wm8728_of_match,
317 }, 317 },
318 .probe = wm8728_spi_probe, 318 .probe = wm8728_spi_probe,
319 .remove = __devexit_p(wm8728_spi_remove), 319 .remove = wm8728_spi_remove,
320}; 320};
321#endif /* CONFIG_SPI_MASTER */ 321#endif /* CONFIG_SPI_MASTER */
322 322
323#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 323#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
324static __devinit int wm8728_i2c_probe(struct i2c_client *i2c, 324static int wm8728_i2c_probe(struct i2c_client *i2c,
325 const struct i2c_device_id *id) 325 const struct i2c_device_id *id)
326{ 326{
327 struct wm8728_priv *wm8728; 327 struct wm8728_priv *wm8728;
328 int ret; 328 int ret;
@@ -344,7 +344,7 @@ static __devinit int wm8728_i2c_probe(struct i2c_client *i2c,
344 return ret; 344 return ret;
345} 345}
346 346
347static __devexit int wm8728_i2c_remove(struct i2c_client *client) 347static int wm8728_i2c_remove(struct i2c_client *client)
348{ 348{
349 snd_soc_unregister_codec(&client->dev); 349 snd_soc_unregister_codec(&client->dev);
350 return 0; 350 return 0;
@@ -363,7 +363,7 @@ static struct i2c_driver wm8728_i2c_driver = {
363 .of_match_table = wm8728_of_match, 363 .of_match_table = wm8728_of_match,
364 }, 364 },
365 .probe = wm8728_i2c_probe, 365 .probe = wm8728_i2c_probe,
366 .remove = __devexit_p(wm8728_i2c_remove), 366 .remove = wm8728_i2c_remove,
367 .id_table = wm8728_i2c_id, 367 .id_table = wm8728_i2c_id,
368}; 368};
369#endif 369#endif
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index bb1d26919b10..5276062d6c79 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -631,7 +631,7 @@ static const struct regmap_config wm8731_regmap = {
631}; 631};
632 632
633#if defined(CONFIG_SPI_MASTER) 633#if defined(CONFIG_SPI_MASTER)
634static int __devinit wm8731_spi_probe(struct spi_device *spi) 634static int wm8731_spi_probe(struct spi_device *spi)
635{ 635{
636 struct wm8731_priv *wm8731; 636 struct wm8731_priv *wm8731;
637 int ret; 637 int ret;
@@ -661,7 +661,7 @@ static int __devinit wm8731_spi_probe(struct spi_device *spi)
661 return 0; 661 return 0;
662} 662}
663 663
664static int __devexit wm8731_spi_remove(struct spi_device *spi) 664static int wm8731_spi_remove(struct spi_device *spi)
665{ 665{
666 snd_soc_unregister_codec(&spi->dev); 666 snd_soc_unregister_codec(&spi->dev);
667 return 0; 667 return 0;
@@ -674,13 +674,13 @@ static struct spi_driver wm8731_spi_driver = {
674 .of_match_table = wm8731_of_match, 674 .of_match_table = wm8731_of_match,
675 }, 675 },
676 .probe = wm8731_spi_probe, 676 .probe = wm8731_spi_probe,
677 .remove = __devexit_p(wm8731_spi_remove), 677 .remove = wm8731_spi_remove,
678}; 678};
679#endif /* CONFIG_SPI_MASTER */ 679#endif /* CONFIG_SPI_MASTER */
680 680
681#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 681#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
682static __devinit int wm8731_i2c_probe(struct i2c_client *i2c, 682static int wm8731_i2c_probe(struct i2c_client *i2c,
683 const struct i2c_device_id *id) 683 const struct i2c_device_id *id)
684{ 684{
685 struct wm8731_priv *wm8731; 685 struct wm8731_priv *wm8731;
686 int ret; 686 int ret;
@@ -710,7 +710,7 @@ static __devinit int wm8731_i2c_probe(struct i2c_client *i2c,
710 return 0; 710 return 0;
711} 711}
712 712
713static __devexit int wm8731_i2c_remove(struct i2c_client *client) 713static int wm8731_i2c_remove(struct i2c_client *client)
714{ 714{
715 snd_soc_unregister_codec(&client->dev); 715 snd_soc_unregister_codec(&client->dev);
716 return 0; 716 return 0;
@@ -729,7 +729,7 @@ static struct i2c_driver wm8731_i2c_driver = {
729 .of_match_table = wm8731_of_match, 729 .of_match_table = wm8731_of_match,
730 }, 730 },
731 .probe = wm8731_i2c_probe, 731 .probe = wm8731_i2c_probe,
732 .remove = __devexit_p(wm8731_i2c_remove), 732 .remove = wm8731_i2c_remove,
733 .id_table = wm8731_i2c_id, 733 .id_table = wm8731_i2c_id,
734}; 734};
735#endif 735#endif
diff --git a/sound/soc/codecs/wm8737.c b/sound/soc/codecs/wm8737.c
index 5c9634f4c1f0..2f167a8ca01b 100644
--- a/sound/soc/codecs/wm8737.c
+++ b/sound/soc/codecs/wm8737.c
@@ -645,8 +645,8 @@ static const struct regmap_config wm8737_regmap = {
645}; 645};
646 646
647#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 647#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
648static __devinit int wm8737_i2c_probe(struct i2c_client *i2c, 648static int wm8737_i2c_probe(struct i2c_client *i2c,
649 const struct i2c_device_id *id) 649 const struct i2c_device_id *id)
650{ 650{
651 struct wm8737_priv *wm8737; 651 struct wm8737_priv *wm8737;
652 int ret, i; 652 int ret, i;
@@ -679,7 +679,7 @@ static __devinit int wm8737_i2c_probe(struct i2c_client *i2c,
679 679
680} 680}
681 681
682static __devexit int wm8737_i2c_remove(struct i2c_client *client) 682static int wm8737_i2c_remove(struct i2c_client *client)
683{ 683{
684 snd_soc_unregister_codec(&client->dev); 684 snd_soc_unregister_codec(&client->dev);
685 685
@@ -699,13 +699,13 @@ static struct i2c_driver wm8737_i2c_driver = {
699 .of_match_table = wm8737_of_match, 699 .of_match_table = wm8737_of_match,
700 }, 700 },
701 .probe = wm8737_i2c_probe, 701 .probe = wm8737_i2c_probe,
702 .remove = __devexit_p(wm8737_i2c_remove), 702 .remove = wm8737_i2c_remove,
703 .id_table = wm8737_i2c_id, 703 .id_table = wm8737_i2c_id,
704}; 704};
705#endif 705#endif
706 706
707#if defined(CONFIG_SPI_MASTER) 707#if defined(CONFIG_SPI_MASTER)
708static int __devinit wm8737_spi_probe(struct spi_device *spi) 708static int wm8737_spi_probe(struct spi_device *spi)
709{ 709{
710 struct wm8737_priv *wm8737; 710 struct wm8737_priv *wm8737;
711 int ret, i; 711 int ret, i;
@@ -737,7 +737,7 @@ static int __devinit wm8737_spi_probe(struct spi_device *spi)
737 return ret; 737 return ret;
738} 738}
739 739
740static int __devexit wm8737_spi_remove(struct spi_device *spi) 740static int wm8737_spi_remove(struct spi_device *spi)
741{ 741{
742 snd_soc_unregister_codec(&spi->dev); 742 snd_soc_unregister_codec(&spi->dev);
743 743
@@ -751,7 +751,7 @@ static struct spi_driver wm8737_spi_driver = {
751 .of_match_table = wm8737_of_match, 751 .of_match_table = wm8737_of_match,
752 }, 752 },
753 .probe = wm8737_spi_probe, 753 .probe = wm8737_spi_probe,
754 .remove = __devexit_p(wm8737_spi_remove), 754 .remove = wm8737_spi_remove,
755}; 755};
756#endif /* CONFIG_SPI_MASTER */ 756#endif /* CONFIG_SPI_MASTER */
757 757
diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c
index 99b8ebe93424..b18813cc7ba9 100644
--- a/sound/soc/codecs/wm8741.c
+++ b/sound/soc/codecs/wm8741.c
@@ -562,7 +562,7 @@ static struct i2c_driver wm8741_i2c_driver = {
562#endif 562#endif
563 563
564#if defined(CONFIG_SPI_MASTER) 564#if defined(CONFIG_SPI_MASTER)
565static int __devinit wm8741_spi_probe(struct spi_device *spi) 565static int wm8741_spi_probe(struct spi_device *spi)
566{ 566{
567 struct wm8741_priv *wm8741; 567 struct wm8741_priv *wm8741;
568 int ret, i; 568 int ret, i;
@@ -596,7 +596,7 @@ static int __devinit wm8741_spi_probe(struct spi_device *spi)
596 return ret; 596 return ret;
597} 597}
598 598
599static int __devexit wm8741_spi_remove(struct spi_device *spi) 599static int wm8741_spi_remove(struct spi_device *spi)
600{ 600{
601 snd_soc_unregister_codec(&spi->dev); 601 snd_soc_unregister_codec(&spi->dev);
602 return 0; 602 return 0;
@@ -609,7 +609,7 @@ static struct spi_driver wm8741_spi_driver = {
609 .of_match_table = wm8741_of_match, 609 .of_match_table = wm8741_of_match,
610 }, 610 },
611 .probe = wm8741_spi_probe, 611 .probe = wm8741_spi_probe,
612 .remove = __devexit_p(wm8741_spi_remove), 612 .remove = wm8741_spi_remove,
613}; 613};
614#endif /* CONFIG_SPI_MASTER */ 614#endif /* CONFIG_SPI_MASTER */
615 615
diff --git a/sound/soc/codecs/wm8750.c b/sound/soc/codecs/wm8750.c
index 7665d68c4558..50d5ff616232 100644
--- a/sound/soc/codecs/wm8750.c
+++ b/sound/soc/codecs/wm8750.c
@@ -769,7 +769,7 @@ static const struct regmap_config wm8750_regmap = {
769}; 769};
770 770
771#if defined(CONFIG_SPI_MASTER) 771#if defined(CONFIG_SPI_MASTER)
772static int __devinit wm8750_spi_probe(struct spi_device *spi) 772static int wm8750_spi_probe(struct spi_device *spi)
773{ 773{
774 struct wm8750_priv *wm8750; 774 struct wm8750_priv *wm8750;
775 struct regmap *regmap; 775 struct regmap *regmap;
@@ -791,7 +791,7 @@ static int __devinit wm8750_spi_probe(struct spi_device *spi)
791 return ret; 791 return ret;
792} 792}
793 793
794static int __devexit wm8750_spi_remove(struct spi_device *spi) 794static int wm8750_spi_remove(struct spi_device *spi)
795{ 795{
796 snd_soc_unregister_codec(&spi->dev); 796 snd_soc_unregister_codec(&spi->dev);
797 return 0; 797 return 0;
@@ -812,13 +812,13 @@ static struct spi_driver wm8750_spi_driver = {
812 }, 812 },
813 .id_table = wm8750_spi_ids, 813 .id_table = wm8750_spi_ids,
814 .probe = wm8750_spi_probe, 814 .probe = wm8750_spi_probe,
815 .remove = __devexit_p(wm8750_spi_remove), 815 .remove = wm8750_spi_remove,
816}; 816};
817#endif /* CONFIG_SPI_MASTER */ 817#endif /* CONFIG_SPI_MASTER */
818 818
819#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 819#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
820static __devinit int wm8750_i2c_probe(struct i2c_client *i2c, 820static int wm8750_i2c_probe(struct i2c_client *i2c,
821 const struct i2c_device_id *id) 821 const struct i2c_device_id *id)
822{ 822{
823 struct wm8750_priv *wm8750; 823 struct wm8750_priv *wm8750;
824 struct regmap *regmap; 824 struct regmap *regmap;
@@ -840,7 +840,7 @@ static __devinit int wm8750_i2c_probe(struct i2c_client *i2c,
840 return ret; 840 return ret;
841} 841}
842 842
843static __devexit int wm8750_i2c_remove(struct i2c_client *client) 843static int wm8750_i2c_remove(struct i2c_client *client)
844{ 844{
845 snd_soc_unregister_codec(&client->dev); 845 snd_soc_unregister_codec(&client->dev);
846 return 0; 846 return 0;
@@ -860,7 +860,7 @@ static struct i2c_driver wm8750_i2c_driver = {
860 .of_match_table = wm8750_of_match, 860 .of_match_table = wm8750_of_match,
861 }, 861 },
862 .probe = wm8750_i2c_probe, 862 .probe = wm8750_i2c_probe,
863 .remove = __devexit_p(wm8750_i2c_remove), 863 .remove = wm8750_i2c_remove,
864 .id_table = wm8750_i2c_id, 864 .id_table = wm8750_i2c_id,
865}; 865};
866#endif 866#endif
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index 50a5dc7974e1..0a4ab4c423d1 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1550,7 +1550,7 @@ static const struct regmap_config wm8753_regmap = {
1550}; 1550};
1551 1551
1552#if defined(CONFIG_SPI_MASTER) 1552#if defined(CONFIG_SPI_MASTER)
1553static int __devinit wm8753_spi_probe(struct spi_device *spi) 1553static int wm8753_spi_probe(struct spi_device *spi)
1554{ 1554{
1555 struct wm8753_priv *wm8753; 1555 struct wm8753_priv *wm8753;
1556 int ret; 1556 int ret;
@@ -1578,7 +1578,7 @@ static int __devinit wm8753_spi_probe(struct spi_device *spi)
1578 return ret; 1578 return ret;
1579} 1579}
1580 1580
1581static int __devexit wm8753_spi_remove(struct spi_device *spi) 1581static int wm8753_spi_remove(struct spi_device *spi)
1582{ 1582{
1583 snd_soc_unregister_codec(&spi->dev); 1583 snd_soc_unregister_codec(&spi->dev);
1584 return 0; 1584 return 0;
@@ -1591,13 +1591,13 @@ static struct spi_driver wm8753_spi_driver = {
1591 .of_match_table = wm8753_of_match, 1591 .of_match_table = wm8753_of_match,
1592 }, 1592 },
1593 .probe = wm8753_spi_probe, 1593 .probe = wm8753_spi_probe,
1594 .remove = __devexit_p(wm8753_spi_remove), 1594 .remove = wm8753_spi_remove,
1595}; 1595};
1596#endif /* CONFIG_SPI_MASTER */ 1596#endif /* CONFIG_SPI_MASTER */
1597 1597
1598#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1598#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1599static __devinit int wm8753_i2c_probe(struct i2c_client *i2c, 1599static int wm8753_i2c_probe(struct i2c_client *i2c,
1600 const struct i2c_device_id *id) 1600 const struct i2c_device_id *id)
1601{ 1601{
1602 struct wm8753_priv *wm8753; 1602 struct wm8753_priv *wm8753;
1603 int ret; 1603 int ret;
@@ -1625,7 +1625,7 @@ static __devinit int wm8753_i2c_probe(struct i2c_client *i2c,
1625 return ret; 1625 return ret;
1626} 1626}
1627 1627
1628static __devexit int wm8753_i2c_remove(struct i2c_client *client) 1628static int wm8753_i2c_remove(struct i2c_client *client)
1629{ 1629{
1630 snd_soc_unregister_codec(&client->dev); 1630 snd_soc_unregister_codec(&client->dev);
1631 return 0; 1631 return 0;
@@ -1644,7 +1644,7 @@ static struct i2c_driver wm8753_i2c_driver = {
1644 .of_match_table = wm8753_of_match, 1644 .of_match_table = wm8753_of_match,
1645 }, 1645 },
1646 .probe = wm8753_i2c_probe, 1646 .probe = wm8753_i2c_probe,
1647 .remove = __devexit_p(wm8753_i2c_remove), 1647 .remove = wm8753_i2c_remove,
1648 .id_table = wm8753_i2c_id, 1648 .id_table = wm8753_i2c_id,
1649}; 1649};
1650#endif 1650#endif
diff --git a/sound/soc/codecs/wm8770.c b/sound/soc/codecs/wm8770.c
index 0b690ba875f8..89a18d82f303 100644
--- a/sound/soc/codecs/wm8770.c
+++ b/sound/soc/codecs/wm8770.c
@@ -650,7 +650,7 @@ static const struct regmap_config wm8770_regmap = {
650 .volatile_reg = wm8770_volatile_reg, 650 .volatile_reg = wm8770_volatile_reg,
651}; 651};
652 652
653static int __devinit wm8770_spi_probe(struct spi_device *spi) 653static int wm8770_spi_probe(struct spi_device *spi)
654{ 654{
655 struct wm8770_priv *wm8770; 655 struct wm8770_priv *wm8770;
656 int ret, i; 656 int ret, i;
@@ -697,7 +697,7 @@ static int __devinit wm8770_spi_probe(struct spi_device *spi)
697 return ret; 697 return ret;
698} 698}
699 699
700static int __devexit wm8770_spi_remove(struct spi_device *spi) 700static int wm8770_spi_remove(struct spi_device *spi)
701{ 701{
702 struct wm8770_priv *wm8770 = spi_get_drvdata(spi); 702 struct wm8770_priv *wm8770 = spi_get_drvdata(spi);
703 int i; 703 int i;
@@ -718,7 +718,7 @@ static struct spi_driver wm8770_spi_driver = {
718 .of_match_table = wm8770_of_match, 718 .of_match_table = wm8770_of_match,
719 }, 719 },
720 .probe = wm8770_spi_probe, 720 .probe = wm8770_spi_probe,
721 .remove = __devexit_p(wm8770_spi_remove) 721 .remove = wm8770_spi_remove
722}; 722};
723 723
724module_spi_driver(wm8770_spi_driver); 724module_spi_driver(wm8770_spi_driver);
diff --git a/sound/soc/codecs/wm8776.c b/sound/soc/codecs/wm8776.c
index c32249ddb2e0..f31017ed1381 100644
--- a/sound/soc/codecs/wm8776.c
+++ b/sound/soc/codecs/wm8776.c
@@ -492,7 +492,7 @@ static const struct regmap_config wm8776_regmap = {
492}; 492};
493 493
494#if defined(CONFIG_SPI_MASTER) 494#if defined(CONFIG_SPI_MASTER)
495static int __devinit wm8776_spi_probe(struct spi_device *spi) 495static int wm8776_spi_probe(struct spi_device *spi)
496{ 496{
497 struct wm8776_priv *wm8776; 497 struct wm8776_priv *wm8776;
498 int ret; 498 int ret;
@@ -514,7 +514,7 @@ static int __devinit wm8776_spi_probe(struct spi_device *spi)
514 return ret; 514 return ret;
515} 515}
516 516
517static int __devexit wm8776_spi_remove(struct spi_device *spi) 517static int wm8776_spi_remove(struct spi_device *spi)
518{ 518{
519 snd_soc_unregister_codec(&spi->dev); 519 snd_soc_unregister_codec(&spi->dev);
520 return 0; 520 return 0;
@@ -527,13 +527,13 @@ static struct spi_driver wm8776_spi_driver = {
527 .of_match_table = wm8776_of_match, 527 .of_match_table = wm8776_of_match,
528 }, 528 },
529 .probe = wm8776_spi_probe, 529 .probe = wm8776_spi_probe,
530 .remove = __devexit_p(wm8776_spi_remove), 530 .remove = wm8776_spi_remove,
531}; 531};
532#endif /* CONFIG_SPI_MASTER */ 532#endif /* CONFIG_SPI_MASTER */
533 533
534#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 534#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
535static __devinit int wm8776_i2c_probe(struct i2c_client *i2c, 535static int wm8776_i2c_probe(struct i2c_client *i2c,
536 const struct i2c_device_id *id) 536 const struct i2c_device_id *id)
537{ 537{
538 struct wm8776_priv *wm8776; 538 struct wm8776_priv *wm8776;
539 int ret; 539 int ret;
@@ -555,7 +555,7 @@ static __devinit int wm8776_i2c_probe(struct i2c_client *i2c,
555 return ret; 555 return ret;
556} 556}
557 557
558static __devexit int wm8776_i2c_remove(struct i2c_client *client) 558static int wm8776_i2c_remove(struct i2c_client *client)
559{ 559{
560 snd_soc_unregister_codec(&client->dev); 560 snd_soc_unregister_codec(&client->dev);
561 return 0; 561 return 0;
@@ -575,7 +575,7 @@ static struct i2c_driver wm8776_i2c_driver = {
575 .of_match_table = wm8776_of_match, 575 .of_match_table = wm8776_of_match,
576 }, 576 },
577 .probe = wm8776_i2c_probe, 577 .probe = wm8776_i2c_probe,
578 .remove = __devexit_p(wm8776_i2c_remove), 578 .remove = wm8776_i2c_remove,
579 .id_table = wm8776_i2c_id, 579 .id_table = wm8776_i2c_id,
580}; 580};
581#endif 581#endif
diff --git a/sound/soc/codecs/wm8782.c b/sound/soc/codecs/wm8782.c
index 3fdea98f732e..f1fdbf63abb4 100644
--- a/sound/soc/codecs/wm8782.c
+++ b/sound/soc/codecs/wm8782.c
@@ -42,13 +42,13 @@ static struct snd_soc_dai_driver wm8782_dai = {
42 42
43static struct snd_soc_codec_driver soc_codec_dev_wm8782; 43static struct snd_soc_codec_driver soc_codec_dev_wm8782;
44 44
45static __devinit int wm8782_probe(struct platform_device *pdev) 45static int wm8782_probe(struct platform_device *pdev)
46{ 46{
47 return snd_soc_register_codec(&pdev->dev, 47 return snd_soc_register_codec(&pdev->dev,
48 &soc_codec_dev_wm8782, &wm8782_dai, 1); 48 &soc_codec_dev_wm8782, &wm8782_dai, 1);
49} 49}
50 50
51static int __devexit wm8782_remove(struct platform_device *pdev) 51static int wm8782_remove(struct platform_device *pdev)
52{ 52{
53 snd_soc_unregister_codec(&pdev->dev); 53 snd_soc_unregister_codec(&pdev->dev);
54 return 0; 54 return 0;
@@ -60,7 +60,7 @@ static struct platform_driver wm8782_codec_driver = {
60 .owner = THIS_MODULE, 60 .owner = THIS_MODULE,
61 }, 61 },
62 .probe = wm8782_probe, 62 .probe = wm8782_probe,
63 .remove = __devexit_p(wm8782_remove), 63 .remove = wm8782_remove,
64}; 64};
65 65
66module_platform_driver(wm8782_codec_driver); 66module_platform_driver(wm8782_codec_driver);
diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
index 837bfb51cebf..d321a875b029 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
@@ -702,7 +702,7 @@ static struct regmap_config wm8804_regmap_config = {
702}; 702};
703 703
704#if defined(CONFIG_SPI_MASTER) 704#if defined(CONFIG_SPI_MASTER)
705static int __devinit wm8804_spi_probe(struct spi_device *spi) 705static int wm8804_spi_probe(struct spi_device *spi)
706{ 706{
707 struct wm8804_priv *wm8804; 707 struct wm8804_priv *wm8804;
708 int ret; 708 int ret;
@@ -725,7 +725,7 @@ static int __devinit wm8804_spi_probe(struct spi_device *spi)
725 return ret; 725 return ret;
726} 726}
727 727
728static int __devexit wm8804_spi_remove(struct spi_device *spi) 728static int wm8804_spi_remove(struct spi_device *spi)
729{ 729{
730 snd_soc_unregister_codec(&spi->dev); 730 snd_soc_unregister_codec(&spi->dev);
731 return 0; 731 return 0;
@@ -738,13 +738,13 @@ static struct spi_driver wm8804_spi_driver = {
738 .of_match_table = wm8804_of_match, 738 .of_match_table = wm8804_of_match,
739 }, 739 },
740 .probe = wm8804_spi_probe, 740 .probe = wm8804_spi_probe,
741 .remove = __devexit_p(wm8804_spi_remove) 741 .remove = wm8804_spi_remove
742}; 742};
743#endif 743#endif
744 744
745#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 745#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
746static __devinit int wm8804_i2c_probe(struct i2c_client *i2c, 746static int wm8804_i2c_probe(struct i2c_client *i2c,
747 const struct i2c_device_id *id) 747 const struct i2c_device_id *id)
748{ 748{
749 struct wm8804_priv *wm8804; 749 struct wm8804_priv *wm8804;
750 int ret; 750 int ret;
@@ -766,7 +766,7 @@ static __devinit int wm8804_i2c_probe(struct i2c_client *i2c,
766 return ret; 766 return ret;
767} 767}
768 768
769static __devexit int wm8804_i2c_remove(struct i2c_client *i2c) 769static int wm8804_i2c_remove(struct i2c_client *i2c)
770{ 770{
771 snd_soc_unregister_codec(&i2c->dev); 771 snd_soc_unregister_codec(&i2c->dev);
772 return 0; 772 return 0;
@@ -785,7 +785,7 @@ static struct i2c_driver wm8804_i2c_driver = {
785 .of_match_table = wm8804_of_match, 785 .of_match_table = wm8804_of_match,
786 }, 786 },
787 .probe = wm8804_i2c_probe, 787 .probe = wm8804_i2c_probe,
788 .remove = __devexit_p(wm8804_i2c_remove), 788 .remove = wm8804_i2c_remove,
789 .id_table = wm8804_i2c_id 789 .id_table = wm8804_i2c_id
790}; 790};
791#endif 791#endif
diff --git a/sound/soc/codecs/wm8900.c b/sound/soc/codecs/wm8900.c
index e781f865e5d7..7c8257c5a17b 100644
--- a/sound/soc/codecs/wm8900.c
+++ b/sound/soc/codecs/wm8900.c
@@ -1247,7 +1247,7 @@ static const struct regmap_config wm8900_regmap = {
1247}; 1247};
1248 1248
1249#if defined(CONFIG_SPI_MASTER) 1249#if defined(CONFIG_SPI_MASTER)
1250static int __devinit wm8900_spi_probe(struct spi_device *spi) 1250static int wm8900_spi_probe(struct spi_device *spi)
1251{ 1251{
1252 struct wm8900_priv *wm8900; 1252 struct wm8900_priv *wm8900;
1253 int ret; 1253 int ret;
@@ -1269,7 +1269,7 @@ static int __devinit wm8900_spi_probe(struct spi_device *spi)
1269 return ret; 1269 return ret;
1270} 1270}
1271 1271
1272static int __devexit wm8900_spi_remove(struct spi_device *spi) 1272static int wm8900_spi_remove(struct spi_device *spi)
1273{ 1273{
1274 snd_soc_unregister_codec(&spi->dev); 1274 snd_soc_unregister_codec(&spi->dev);
1275 return 0; 1275 return 0;
@@ -1281,13 +1281,13 @@ static struct spi_driver wm8900_spi_driver = {
1281 .owner = THIS_MODULE, 1281 .owner = THIS_MODULE,
1282 }, 1282 },
1283 .probe = wm8900_spi_probe, 1283 .probe = wm8900_spi_probe,
1284 .remove = __devexit_p(wm8900_spi_remove), 1284 .remove = wm8900_spi_remove,
1285}; 1285};
1286#endif /* CONFIG_SPI_MASTER */ 1286#endif /* CONFIG_SPI_MASTER */
1287 1287
1288#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1288#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1289static __devinit int wm8900_i2c_probe(struct i2c_client *i2c, 1289static int wm8900_i2c_probe(struct i2c_client *i2c,
1290 const struct i2c_device_id *id) 1290 const struct i2c_device_id *id)
1291{ 1291{
1292 struct wm8900_priv *wm8900; 1292 struct wm8900_priv *wm8900;
1293 int ret; 1293 int ret;
@@ -1309,7 +1309,7 @@ static __devinit int wm8900_i2c_probe(struct i2c_client *i2c,
1309 return ret; 1309 return ret;
1310} 1310}
1311 1311
1312static __devexit int wm8900_i2c_remove(struct i2c_client *client) 1312static int wm8900_i2c_remove(struct i2c_client *client)
1313{ 1313{
1314 snd_soc_unregister_codec(&client->dev); 1314 snd_soc_unregister_codec(&client->dev);
1315 return 0; 1315 return 0;
@@ -1327,7 +1327,7 @@ static struct i2c_driver wm8900_i2c_driver = {
1327 .owner = THIS_MODULE, 1327 .owner = THIS_MODULE,
1328 }, 1328 },
1329 .probe = wm8900_i2c_probe, 1329 .probe = wm8900_i2c_probe,
1330 .remove = __devexit_p(wm8900_i2c_remove), 1330 .remove = wm8900_i2c_remove,
1331 .id_table = wm8900_i2c_id, 1331 .id_table = wm8900_i2c_id,
1332}; 1332};
1333#endif 1333#endif
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 839414f9e2ed..134e41c870b9 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -2020,8 +2020,8 @@ static int wm8903_set_pdata_from_of(struct i2c_client *i2c,
2020 return 0; 2020 return 0;
2021} 2021}
2022 2022
2023static __devinit int wm8903_i2c_probe(struct i2c_client *i2c, 2023static int wm8903_i2c_probe(struct i2c_client *i2c,
2024 const struct i2c_device_id *id) 2024 const struct i2c_device_id *id)
2025{ 2025{
2026 struct wm8903_platform_data *pdata = dev_get_platdata(&i2c->dev); 2026 struct wm8903_platform_data *pdata = dev_get_platdata(&i2c->dev);
2027 struct wm8903_priv *wm8903; 2027 struct wm8903_priv *wm8903;
@@ -2206,7 +2206,7 @@ err:
2206 return ret; 2206 return ret;
2207} 2207}
2208 2208
2209static __devexit int wm8903_i2c_remove(struct i2c_client *client) 2209static int wm8903_i2c_remove(struct i2c_client *client)
2210{ 2210{
2211 struct wm8903_priv *wm8903 = i2c_get_clientdata(client); 2211 struct wm8903_priv *wm8903 = i2c_get_clientdata(client);
2212 2212
@@ -2237,7 +2237,7 @@ static struct i2c_driver wm8903_i2c_driver = {
2237 .of_match_table = wm8903_of_match, 2237 .of_match_table = wm8903_of_match,
2238 }, 2238 },
2239 .probe = wm8903_i2c_probe, 2239 .probe = wm8903_i2c_probe,
2240 .remove = __devexit_p(wm8903_i2c_remove), 2240 .remove = wm8903_i2c_remove,
2241 .id_table = wm8903_i2c_id, 2241 .id_table = wm8903_i2c_id,
2242}; 2242};
2243 2243
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index 7c8df52a8d9d..3ff195c541db 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -2111,8 +2111,8 @@ static const struct regmap_config wm8904_regmap = {
2111 .num_reg_defaults = ARRAY_SIZE(wm8904_reg_defaults), 2111 .num_reg_defaults = ARRAY_SIZE(wm8904_reg_defaults),
2112}; 2112};
2113 2113
2114static __devinit int wm8904_i2c_probe(struct i2c_client *i2c, 2114static int wm8904_i2c_probe(struct i2c_client *i2c,
2115 const struct i2c_device_id *id) 2115 const struct i2c_device_id *id)
2116{ 2116{
2117 struct wm8904_priv *wm8904; 2117 struct wm8904_priv *wm8904;
2118 unsigned int val; 2118 unsigned int val;
@@ -2247,7 +2247,7 @@ err_enable:
2247 return ret; 2247 return ret;
2248} 2248}
2249 2249
2250static __devexit int wm8904_i2c_remove(struct i2c_client *client) 2250static int wm8904_i2c_remove(struct i2c_client *client)
2251{ 2251{
2252 snd_soc_unregister_codec(&client->dev); 2252 snd_soc_unregister_codec(&client->dev);
2253 return 0; 2253 return 0;
@@ -2267,7 +2267,7 @@ static struct i2c_driver wm8904_i2c_driver = {
2267 .owner = THIS_MODULE, 2267 .owner = THIS_MODULE,
2268 }, 2268 },
2269 .probe = wm8904_i2c_probe, 2269 .probe = wm8904_i2c_probe,
2270 .remove = __devexit_p(wm8904_i2c_remove), 2270 .remove = wm8904_i2c_remove,
2271 .id_table = wm8904_i2c_id, 2271 .id_table = wm8904_i2c_id,
2272}; 2272};
2273 2273
diff --git a/sound/soc/codecs/wm8940.c b/sound/soc/codecs/wm8940.c
index b20aa4e7c3f9..b1591c61c254 100644
--- a/sound/soc/codecs/wm8940.c
+++ b/sound/soc/codecs/wm8940.c
@@ -742,8 +742,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8940 = {
742 .volatile_register = wm8940_volatile_register, 742 .volatile_register = wm8940_volatile_register,
743}; 743};
744 744
745static __devinit int wm8940_i2c_probe(struct i2c_client *i2c, 745static int wm8940_i2c_probe(struct i2c_client *i2c,
746 const struct i2c_device_id *id) 746 const struct i2c_device_id *id)
747{ 747{
748 struct wm8940_priv *wm8940; 748 struct wm8940_priv *wm8940;
749 int ret; 749 int ret;
@@ -762,7 +762,7 @@ static __devinit int wm8940_i2c_probe(struct i2c_client *i2c,
762 return ret; 762 return ret;
763} 763}
764 764
765static __devexit int wm8940_i2c_remove(struct i2c_client *client) 765static int wm8940_i2c_remove(struct i2c_client *client)
766{ 766{
767 snd_soc_unregister_codec(&client->dev); 767 snd_soc_unregister_codec(&client->dev);
768 768
@@ -781,7 +781,7 @@ static struct i2c_driver wm8940_i2c_driver = {
781 .owner = THIS_MODULE, 781 .owner = THIS_MODULE,
782 }, 782 },
783 .probe = wm8940_i2c_probe, 783 .probe = wm8940_i2c_probe,
784 .remove = __devexit_p(wm8940_i2c_remove), 784 .remove = wm8940_i2c_remove,
785 .id_table = wm8940_i2c_id, 785 .id_table = wm8940_i2c_id,
786}; 786};
787 787
diff --git a/sound/soc/codecs/wm8955.c b/sound/soc/codecs/wm8955.c
index 7a82b7d28dcd..82c8ba975720 100644
--- a/sound/soc/codecs/wm8955.c
+++ b/sound/soc/codecs/wm8955.c
@@ -1012,8 +1012,8 @@ static const struct regmap_config wm8955_regmap = {
1012 .num_reg_defaults = ARRAY_SIZE(wm8955_reg_defaults), 1012 .num_reg_defaults = ARRAY_SIZE(wm8955_reg_defaults),
1013}; 1013};
1014 1014
1015static __devinit int wm8955_i2c_probe(struct i2c_client *i2c, 1015static int wm8955_i2c_probe(struct i2c_client *i2c,
1016 const struct i2c_device_id *id) 1016 const struct i2c_device_id *id)
1017{ 1017{
1018 struct wm8955_priv *wm8955; 1018 struct wm8955_priv *wm8955;
1019 int ret; 1019 int ret;
@@ -1039,7 +1039,7 @@ static __devinit int wm8955_i2c_probe(struct i2c_client *i2c,
1039 return ret; 1039 return ret;
1040} 1040}
1041 1041
1042static __devexit int wm8955_i2c_remove(struct i2c_client *client) 1042static int wm8955_i2c_remove(struct i2c_client *client)
1043{ 1043{
1044 snd_soc_unregister_codec(&client->dev); 1044 snd_soc_unregister_codec(&client->dev);
1045 1045
@@ -1058,7 +1058,7 @@ static struct i2c_driver wm8955_i2c_driver = {
1058 .owner = THIS_MODULE, 1058 .owner = THIS_MODULE,
1059 }, 1059 },
1060 .probe = wm8955_i2c_probe, 1060 .probe = wm8955_i2c_probe,
1061 .remove = __devexit_p(wm8955_i2c_remove), 1061 .remove = wm8955_i2c_remove,
1062 .id_table = wm8955_i2c_id, 1062 .id_table = wm8955_i2c_id,
1063}; 1063};
1064 1064
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
index cf09cb625a7b..9bb927325993 100644
--- a/sound/soc/codecs/wm8960.c
+++ b/sound/soc/codecs/wm8960.c
@@ -1028,8 +1028,8 @@ static const struct regmap_config wm8960_regmap = {
1028 .volatile_reg = wm8960_volatile, 1028 .volatile_reg = wm8960_volatile,
1029}; 1029};
1030 1030
1031static __devinit int wm8960_i2c_probe(struct i2c_client *i2c, 1031static int wm8960_i2c_probe(struct i2c_client *i2c,
1032 const struct i2c_device_id *id) 1032 const struct i2c_device_id *id)
1033{ 1033{
1034 struct wm8960_data *pdata = dev_get_platdata(&i2c->dev); 1034 struct wm8960_data *pdata = dev_get_platdata(&i2c->dev);
1035 struct wm8960_priv *wm8960; 1035 struct wm8960_priv *wm8960;
@@ -1062,7 +1062,7 @@ static __devinit int wm8960_i2c_probe(struct i2c_client *i2c,
1062 return ret; 1062 return ret;
1063} 1063}
1064 1064
1065static __devexit int wm8960_i2c_remove(struct i2c_client *client) 1065static int wm8960_i2c_remove(struct i2c_client *client)
1066{ 1066{
1067 snd_soc_unregister_codec(&client->dev); 1067 snd_soc_unregister_codec(&client->dev);
1068 return 0; 1068 return 0;
@@ -1080,7 +1080,7 @@ static struct i2c_driver wm8960_i2c_driver = {
1080 .owner = THIS_MODULE, 1080 .owner = THIS_MODULE,
1081 }, 1081 },
1082 .probe = wm8960_i2c_probe, 1082 .probe = wm8960_i2c_probe,
1083 .remove = __devexit_p(wm8960_i2c_remove), 1083 .remove = wm8960_i2c_remove,
1084 .id_table = wm8960_i2c_id, 1084 .id_table = wm8960_i2c_id,
1085}; 1085};
1086 1086
diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c
index f387670d0d75..900328e28a15 100644
--- a/sound/soc/codecs/wm8961.c
+++ b/sound/soc/codecs/wm8961.c
@@ -937,8 +937,8 @@ static const struct regmap_config wm8961_regmap = {
937 .readable_reg = wm8961_readable, 937 .readable_reg = wm8961_readable,
938}; 938};
939 939
940static __devinit int wm8961_i2c_probe(struct i2c_client *i2c, 940static int wm8961_i2c_probe(struct i2c_client *i2c,
941 const struct i2c_device_id *id) 941 const struct i2c_device_id *id)
942{ 942{
943 struct wm8961_priv *wm8961; 943 struct wm8961_priv *wm8961;
944 unsigned int val; 944 unsigned int val;
@@ -993,7 +993,7 @@ static __devinit int wm8961_i2c_probe(struct i2c_client *i2c,
993 return ret; 993 return ret;
994} 994}
995 995
996static __devexit int wm8961_i2c_remove(struct i2c_client *client) 996static int wm8961_i2c_remove(struct i2c_client *client)
997{ 997{
998 snd_soc_unregister_codec(&client->dev); 998 snd_soc_unregister_codec(&client->dev);
999 999
@@ -1012,7 +1012,7 @@ static struct i2c_driver wm8961_i2c_driver = {
1012 .owner = THIS_MODULE, 1012 .owner = THIS_MODULE,
1013 }, 1013 },
1014 .probe = wm8961_i2c_probe, 1014 .probe = wm8961_i2c_probe,
1015 .remove = __devexit_p(wm8961_i2c_remove), 1015 .remove = wm8961_i2c_remove,
1016 .id_table = wm8961_i2c_id, 1016 .id_table = wm8961_i2c_id,
1017}; 1017};
1018 1018
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 8fd38cb4ba48..bd4b0db4cdaa 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3588,8 +3588,8 @@ static const struct regmap_config wm8962_regmap = {
3588 .cache_type = REGCACHE_RBTREE, 3588 .cache_type = REGCACHE_RBTREE,
3589}; 3589};
3590 3590
3591static __devinit int wm8962_i2c_probe(struct i2c_client *i2c, 3591static int wm8962_i2c_probe(struct i2c_client *i2c,
3592 const struct i2c_device_id *id) 3592 const struct i2c_device_id *id)
3593{ 3593{
3594 struct wm8962_pdata *pdata = dev_get_platdata(&i2c->dev); 3594 struct wm8962_pdata *pdata = dev_get_platdata(&i2c->dev);
3595 struct wm8962_priv *wm8962; 3595 struct wm8962_priv *wm8962;
@@ -3699,7 +3699,7 @@ err:
3699 return ret; 3699 return ret;
3700} 3700}
3701 3701
3702static __devexit int wm8962_i2c_remove(struct i2c_client *client) 3702static int wm8962_i2c_remove(struct i2c_client *client)
3703{ 3703{
3704 snd_soc_unregister_codec(&client->dev); 3704 snd_soc_unregister_codec(&client->dev);
3705 return 0; 3705 return 0;
@@ -3765,7 +3765,7 @@ static struct i2c_driver wm8962_i2c_driver = {
3765 .pm = &wm8962_pm, 3765 .pm = &wm8962_pm,
3766 }, 3766 },
3767 .probe = wm8962_i2c_probe, 3767 .probe = wm8962_i2c_probe,
3768 .remove = __devexit_p(wm8962_i2c_remove), 3768 .remove = wm8962_i2c_remove,
3769 .id_table = wm8962_i2c_id, 3769 .id_table = wm8962_i2c_id,
3770}; 3770};
3771 3771
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c
index 70dd27e94514..67aba78a7ca5 100644
--- a/sound/soc/codecs/wm8971.c
+++ b/sound/soc/codecs/wm8971.c
@@ -717,8 +717,8 @@ static const struct regmap_config wm8971_regmap = {
717 .cache_type = REGCACHE_RBTREE, 717 .cache_type = REGCACHE_RBTREE,
718}; 718};
719 719
720static __devinit int wm8971_i2c_probe(struct i2c_client *i2c, 720static int wm8971_i2c_probe(struct i2c_client *i2c,
721 const struct i2c_device_id *id) 721 const struct i2c_device_id *id)
722{ 722{
723 struct wm8971_priv *wm8971; 723 struct wm8971_priv *wm8971;
724 struct regmap *regmap; 724 struct regmap *regmap;
@@ -741,7 +741,7 @@ static __devinit int wm8971_i2c_probe(struct i2c_client *i2c,
741 return ret; 741 return ret;
742} 742}
743 743
744static __devexit int wm8971_i2c_remove(struct i2c_client *client) 744static int wm8971_i2c_remove(struct i2c_client *client)
745{ 745{
746 snd_soc_unregister_codec(&client->dev); 746 snd_soc_unregister_codec(&client->dev);
747 return 0; 747 return 0;
@@ -759,7 +759,7 @@ static struct i2c_driver wm8971_i2c_driver = {
759 .owner = THIS_MODULE, 759 .owner = THIS_MODULE,
760 }, 760 },
761 .probe = wm8971_i2c_probe, 761 .probe = wm8971_i2c_probe,
762 .remove = __devexit_p(wm8971_i2c_remove), 762 .remove = wm8971_i2c_remove,
763 .id_table = wm8971_i2c_id, 763 .id_table = wm8971_i2c_id,
764}; 764};
765 765
diff --git a/sound/soc/codecs/wm8974.c b/sound/soc/codecs/wm8974.c
index 9a39511af52a..ea58b73e86b2 100644
--- a/sound/soc/codecs/wm8974.c
+++ b/sound/soc/codecs/wm8974.c
@@ -625,8 +625,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8974 = {
625 .num_dapm_routes = ARRAY_SIZE(wm8974_dapm_routes), 625 .num_dapm_routes = ARRAY_SIZE(wm8974_dapm_routes),
626}; 626};
627 627
628static __devinit int wm8974_i2c_probe(struct i2c_client *i2c, 628static int wm8974_i2c_probe(struct i2c_client *i2c,
629 const struct i2c_device_id *id) 629 const struct i2c_device_id *id)
630{ 630{
631 int ret; 631 int ret;
632 632
@@ -636,7 +636,7 @@ static __devinit int wm8974_i2c_probe(struct i2c_client *i2c,
636 return ret; 636 return ret;
637} 637}
638 638
639static __devexit int wm8974_i2c_remove(struct i2c_client *client) 639static int wm8974_i2c_remove(struct i2c_client *client)
640{ 640{
641 snd_soc_unregister_codec(&client->dev); 641 snd_soc_unregister_codec(&client->dev);
642 642
@@ -655,7 +655,7 @@ static struct i2c_driver wm8974_i2c_driver = {
655 .owner = THIS_MODULE, 655 .owner = THIS_MODULE,
656 }, 656 },
657 .probe = wm8974_i2c_probe, 657 .probe = wm8974_i2c_probe,
658 .remove = __devexit_p(wm8974_i2c_remove), 658 .remove = wm8974_i2c_remove,
659 .id_table = wm8974_i2c_id, 659 .id_table = wm8974_i2c_id,
660}; 660};
661 661
diff --git a/sound/soc/codecs/wm8978.c b/sound/soc/codecs/wm8978.c
index 8c1dac946f62..f347af3a67c2 100644
--- a/sound/soc/codecs/wm8978.c
+++ b/sound/soc/codecs/wm8978.c
@@ -1035,8 +1035,8 @@ static const struct regmap_config wm8978_regmap_config = {
1035 .num_reg_defaults = ARRAY_SIZE(wm8978_reg_defaults), 1035 .num_reg_defaults = ARRAY_SIZE(wm8978_reg_defaults),
1036}; 1036};
1037 1037
1038static __devinit int wm8978_i2c_probe(struct i2c_client *i2c, 1038static int wm8978_i2c_probe(struct i2c_client *i2c,
1039 const struct i2c_device_id *id) 1039 const struct i2c_device_id *id)
1040{ 1040{
1041 struct wm8978_priv *wm8978; 1041 struct wm8978_priv *wm8978;
1042 int ret; 1042 int ret;
@@ -1046,7 +1046,7 @@ static __devinit int wm8978_i2c_probe(struct i2c_client *i2c,
1046 if (wm8978 == NULL) 1046 if (wm8978 == NULL)
1047 return -ENOMEM; 1047 return -ENOMEM;
1048 1048
1049 wm8978->regmap = regmap_init_i2c(i2c, &wm8978_regmap_config); 1049 wm8978->regmap = devm_regmap_init_i2c(i2c, &wm8978_regmap_config);
1050 if (IS_ERR(wm8978->regmap)) { 1050 if (IS_ERR(wm8978->regmap)) {
1051 ret = PTR_ERR(wm8978->regmap); 1051 ret = PTR_ERR(wm8978->regmap);
1052 dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret); 1052 dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
@@ -1059,29 +1059,22 @@ static __devinit int wm8978_i2c_probe(struct i2c_client *i2c,
1059 ret = regmap_write(wm8978->regmap, WM8978_RESET, 0); 1059 ret = regmap_write(wm8978->regmap, WM8978_RESET, 0);
1060 if (ret != 0) { 1060 if (ret != 0) {
1061 dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret); 1061 dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
1062 goto err; 1062 return ret;
1063 } 1063 }
1064 1064
1065 ret = snd_soc_register_codec(&i2c->dev, 1065 ret = snd_soc_register_codec(&i2c->dev,
1066 &soc_codec_dev_wm8978, &wm8978_dai, 1); 1066 &soc_codec_dev_wm8978, &wm8978_dai, 1);
1067 if (ret != 0) { 1067 if (ret != 0) {
1068 dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret); 1068 dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
1069 goto err; 1069 return ret;
1070 } 1070 }
1071 1071
1072 return 0; 1072 return 0;
1073
1074err:
1075 regmap_exit(wm8978->regmap);
1076 return ret;
1077} 1073}
1078 1074
1079static __devexit int wm8978_i2c_remove(struct i2c_client *client) 1075static int wm8978_i2c_remove(struct i2c_client *client)
1080{ 1076{
1081 struct wm8978_priv *wm8978 = i2c_get_clientdata(client);
1082
1083 snd_soc_unregister_codec(&client->dev); 1077 snd_soc_unregister_codec(&client->dev);
1084 regmap_exit(wm8978->regmap);
1085 1078
1086 return 0; 1079 return 0;
1087} 1080}
@@ -1098,7 +1091,7 @@ static struct i2c_driver wm8978_i2c_driver = {
1098 .owner = THIS_MODULE, 1091 .owner = THIS_MODULE,
1099 }, 1092 },
1100 .probe = wm8978_i2c_probe, 1093 .probe = wm8978_i2c_probe,
1101 .remove = __devexit_p(wm8978_i2c_remove), 1094 .remove = wm8978_i2c_remove,
1102 .id_table = wm8978_i2c_id, 1095 .id_table = wm8978_i2c_id,
1103}; 1096};
1104 1097
diff --git a/sound/soc/codecs/wm8983.c b/sound/soc/codecs/wm8983.c
index d8879f262d27..9fe1e041da49 100644
--- a/sound/soc/codecs/wm8983.c
+++ b/sound/soc/codecs/wm8983.c
@@ -1087,7 +1087,7 @@ static const struct regmap_config wm8983_regmap = {
1087}; 1087};
1088 1088
1089#if defined(CONFIG_SPI_MASTER) 1089#if defined(CONFIG_SPI_MASTER)
1090static int __devinit wm8983_spi_probe(struct spi_device *spi) 1090static int wm8983_spi_probe(struct spi_device *spi)
1091{ 1091{
1092 struct wm8983_priv *wm8983; 1092 struct wm8983_priv *wm8983;
1093 int ret; 1093 int ret;
@@ -1110,7 +1110,7 @@ static int __devinit wm8983_spi_probe(struct spi_device *spi)
1110 return ret; 1110 return ret;
1111} 1111}
1112 1112
1113static int __devexit wm8983_spi_remove(struct spi_device *spi) 1113static int wm8983_spi_remove(struct spi_device *spi)
1114{ 1114{
1115 snd_soc_unregister_codec(&spi->dev); 1115 snd_soc_unregister_codec(&spi->dev);
1116 return 0; 1116 return 0;
@@ -1122,13 +1122,13 @@ static struct spi_driver wm8983_spi_driver = {
1122 .owner = THIS_MODULE, 1122 .owner = THIS_MODULE,
1123 }, 1123 },
1124 .probe = wm8983_spi_probe, 1124 .probe = wm8983_spi_probe,
1125 .remove = __devexit_p(wm8983_spi_remove) 1125 .remove = wm8983_spi_remove
1126}; 1126};
1127#endif 1127#endif
1128 1128
1129#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1129#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1130static __devinit int wm8983_i2c_probe(struct i2c_client *i2c, 1130static int wm8983_i2c_probe(struct i2c_client *i2c,
1131 const struct i2c_device_id *id) 1131 const struct i2c_device_id *id)
1132{ 1132{
1133 struct wm8983_priv *wm8983; 1133 struct wm8983_priv *wm8983;
1134 int ret; 1134 int ret;
@@ -1152,7 +1152,7 @@ static __devinit int wm8983_i2c_probe(struct i2c_client *i2c,
1152 return ret; 1152 return ret;
1153} 1153}
1154 1154
1155static __devexit int wm8983_i2c_remove(struct i2c_client *client) 1155static int wm8983_i2c_remove(struct i2c_client *client)
1156{ 1156{
1157 snd_soc_unregister_codec(&client->dev); 1157 snd_soc_unregister_codec(&client->dev);
1158 return 0; 1158 return 0;
@@ -1170,7 +1170,7 @@ static struct i2c_driver wm8983_i2c_driver = {
1170 .owner = THIS_MODULE, 1170 .owner = THIS_MODULE,
1171 }, 1171 },
1172 .probe = wm8983_i2c_probe, 1172 .probe = wm8983_i2c_probe,
1173 .remove = __devexit_p(wm8983_i2c_remove), 1173 .remove = wm8983_i2c_remove,
1174 .id_table = wm8983_i2c_id 1174 .id_table = wm8983_i2c_id
1175}; 1175};
1176#endif 1176#endif
diff --git a/sound/soc/codecs/wm8985.c b/sound/soc/codecs/wm8985.c
index 7b3f4097609b..ab3782657ac8 100644
--- a/sound/soc/codecs/wm8985.c
+++ b/sound/soc/codecs/wm8985.c
@@ -1111,7 +1111,7 @@ static const struct regmap_config wm8985_regmap = {
1111}; 1111};
1112 1112
1113#if defined(CONFIG_SPI_MASTER) 1113#if defined(CONFIG_SPI_MASTER)
1114static int __devinit wm8985_spi_probe(struct spi_device *spi) 1114static int wm8985_spi_probe(struct spi_device *spi)
1115{ 1115{
1116 struct wm8985_priv *wm8985; 1116 struct wm8985_priv *wm8985;
1117 int ret; 1117 int ret;
@@ -1135,7 +1135,7 @@ static int __devinit wm8985_spi_probe(struct spi_device *spi)
1135 return ret; 1135 return ret;
1136} 1136}
1137 1137
1138static int __devexit wm8985_spi_remove(struct spi_device *spi) 1138static int wm8985_spi_remove(struct spi_device *spi)
1139{ 1139{
1140 snd_soc_unregister_codec(&spi->dev); 1140 snd_soc_unregister_codec(&spi->dev);
1141 return 0; 1141 return 0;
@@ -1147,13 +1147,13 @@ static struct spi_driver wm8985_spi_driver = {
1147 .owner = THIS_MODULE, 1147 .owner = THIS_MODULE,
1148 }, 1148 },
1149 .probe = wm8985_spi_probe, 1149 .probe = wm8985_spi_probe,
1150 .remove = __devexit_p(wm8985_spi_remove) 1150 .remove = wm8985_spi_remove
1151}; 1151};
1152#endif 1152#endif
1153 1153
1154#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1154#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1155static __devinit int wm8985_i2c_probe(struct i2c_client *i2c, 1155static int wm8985_i2c_probe(struct i2c_client *i2c,
1156 const struct i2c_device_id *id) 1156 const struct i2c_device_id *id)
1157{ 1157{
1158 struct wm8985_priv *wm8985; 1158 struct wm8985_priv *wm8985;
1159 int ret; 1159 int ret;
@@ -1177,7 +1177,7 @@ static __devinit int wm8985_i2c_probe(struct i2c_client *i2c,
1177 return ret; 1177 return ret;
1178} 1178}
1179 1179
1180static __devexit int wm8985_i2c_remove(struct i2c_client *i2c) 1180static int wm8985_i2c_remove(struct i2c_client *i2c)
1181{ 1181{
1182 snd_soc_unregister_codec(&i2c->dev); 1182 snd_soc_unregister_codec(&i2c->dev);
1183 return 0; 1183 return 0;
@@ -1195,7 +1195,7 @@ static struct i2c_driver wm8985_i2c_driver = {
1195 .owner = THIS_MODULE, 1195 .owner = THIS_MODULE,
1196 }, 1196 },
1197 .probe = wm8985_i2c_probe, 1197 .probe = wm8985_i2c_probe,
1198 .remove = __devexit_p(wm8985_i2c_remove), 1198 .remove = wm8985_i2c_remove,
1199 .id_table = wm8985_i2c_id 1199 .id_table = wm8985_i2c_id
1200}; 1200};
1201#endif 1201#endif
diff --git a/sound/soc/codecs/wm8988.c b/sound/soc/codecs/wm8988.c
index 715788de442e..39b9acceb595 100644
--- a/sound/soc/codecs/wm8988.c
+++ b/sound/soc/codecs/wm8988.c
@@ -872,7 +872,7 @@ static struct regmap_config wm8988_regmap = {
872}; 872};
873 873
874#if defined(CONFIG_SPI_MASTER) 874#if defined(CONFIG_SPI_MASTER)
875static int __devinit wm8988_spi_probe(struct spi_device *spi) 875static int wm8988_spi_probe(struct spi_device *spi)
876{ 876{
877 struct wm8988_priv *wm8988; 877 struct wm8988_priv *wm8988;
878 int ret; 878 int ret;
@@ -896,7 +896,7 @@ static int __devinit wm8988_spi_probe(struct spi_device *spi)
896 return ret; 896 return ret;
897} 897}
898 898
899static int __devexit wm8988_spi_remove(struct spi_device *spi) 899static int wm8988_spi_remove(struct spi_device *spi)
900{ 900{
901 snd_soc_unregister_codec(&spi->dev); 901 snd_soc_unregister_codec(&spi->dev);
902 return 0; 902 return 0;
@@ -908,13 +908,13 @@ static struct spi_driver wm8988_spi_driver = {
908 .owner = THIS_MODULE, 908 .owner = THIS_MODULE,
909 }, 909 },
910 .probe = wm8988_spi_probe, 910 .probe = wm8988_spi_probe,
911 .remove = __devexit_p(wm8988_spi_remove), 911 .remove = wm8988_spi_remove,
912}; 912};
913#endif /* CONFIG_SPI_MASTER */ 913#endif /* CONFIG_SPI_MASTER */
914 914
915#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 915#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
916static __devinit int wm8988_i2c_probe(struct i2c_client *i2c, 916static int wm8988_i2c_probe(struct i2c_client *i2c,
917 const struct i2c_device_id *id) 917 const struct i2c_device_id *id)
918{ 918{
919 struct wm8988_priv *wm8988; 919 struct wm8988_priv *wm8988;
920 int ret; 920 int ret;
@@ -938,7 +938,7 @@ static __devinit int wm8988_i2c_probe(struct i2c_client *i2c,
938 return ret; 938 return ret;
939} 939}
940 940
941static __devexit int wm8988_i2c_remove(struct i2c_client *client) 941static int wm8988_i2c_remove(struct i2c_client *client)
942{ 942{
943 snd_soc_unregister_codec(&client->dev); 943 snd_soc_unregister_codec(&client->dev);
944 return 0; 944 return 0;
@@ -956,7 +956,7 @@ static struct i2c_driver wm8988_i2c_driver = {
956 .owner = THIS_MODULE, 956 .owner = THIS_MODULE,
957 }, 957 },
958 .probe = wm8988_i2c_probe, 958 .probe = wm8988_i2c_probe,
959 .remove = __devexit_p(wm8988_i2c_remove), 959 .remove = wm8988_i2c_remove,
960 .id_table = wm8988_i2c_id, 960 .id_table = wm8988_i2c_id,
961}; 961};
962#endif 962#endif
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c
index c28c83e5395d..837978e16e9d 100644
--- a/sound/soc/codecs/wm8990.c
+++ b/sound/soc/codecs/wm8990.c
@@ -1382,8 +1382,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8990 = {
1382}; 1382};
1383 1383
1384#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1384#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1385static __devinit int wm8990_i2c_probe(struct i2c_client *i2c, 1385static int wm8990_i2c_probe(struct i2c_client *i2c,
1386 const struct i2c_device_id *id) 1386 const struct i2c_device_id *id)
1387{ 1387{
1388 struct wm8990_priv *wm8990; 1388 struct wm8990_priv *wm8990;
1389 int ret; 1389 int ret;
@@ -1401,7 +1401,7 @@ static __devinit int wm8990_i2c_probe(struct i2c_client *i2c,
1401 return ret; 1401 return ret;
1402} 1402}
1403 1403
1404static __devexit int wm8990_i2c_remove(struct i2c_client *client) 1404static int wm8990_i2c_remove(struct i2c_client *client)
1405{ 1405{
1406 snd_soc_unregister_codec(&client->dev); 1406 snd_soc_unregister_codec(&client->dev);
1407 1407
@@ -1420,7 +1420,7 @@ static struct i2c_driver wm8990_i2c_driver = {
1420 .owner = THIS_MODULE, 1420 .owner = THIS_MODULE,
1421 }, 1421 },
1422 .probe = wm8990_i2c_probe, 1422 .probe = wm8990_i2c_probe,
1423 .remove = __devexit_p(wm8990_i2c_remove), 1423 .remove = wm8990_i2c_remove,
1424 .id_table = wm8990_i2c_id, 1424 .id_table = wm8990_i2c_id,
1425}; 1425};
1426#endif 1426#endif
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c
index fe439f027e10..3a39df7a3829 100644
--- a/sound/soc/codecs/wm8991.c
+++ b/sound/soc/codecs/wm8991.c
@@ -1357,8 +1357,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8991 = {
1357 .reg_cache_default = wm8991_reg_defs 1357 .reg_cache_default = wm8991_reg_defs
1358}; 1358};
1359 1359
1360static __devinit int wm8991_i2c_probe(struct i2c_client *i2c, 1360static int wm8991_i2c_probe(struct i2c_client *i2c,
1361 const struct i2c_device_id *id) 1361 const struct i2c_device_id *id)
1362{ 1362{
1363 struct wm8991_priv *wm8991; 1363 struct wm8991_priv *wm8991;
1364 int ret; 1364 int ret;
@@ -1376,7 +1376,7 @@ static __devinit int wm8991_i2c_probe(struct i2c_client *i2c,
1376 return ret; 1376 return ret;
1377} 1377}
1378 1378
1379static __devexit int wm8991_i2c_remove(struct i2c_client *client) 1379static int wm8991_i2c_remove(struct i2c_client *client)
1380{ 1380{
1381 snd_soc_unregister_codec(&client->dev); 1381 snd_soc_unregister_codec(&client->dev);
1382 1382
@@ -1395,7 +1395,7 @@ static struct i2c_driver wm8991_i2c_driver = {
1395 .owner = THIS_MODULE, 1395 .owner = THIS_MODULE,
1396 }, 1396 },
1397 .probe = wm8991_i2c_probe, 1397 .probe = wm8991_i2c_probe,
1398 .remove = __devexit_p(wm8991_i2c_remove), 1398 .remove = wm8991_i2c_remove,
1399 .id_table = wm8991_i2c_id, 1399 .id_table = wm8991_i2c_id,
1400}; 1400};
1401 1401
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 347a359a7c86..433d59a0f3ef 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -1645,8 +1645,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8993 = {
1645 .set_bias_level = wm8993_set_bias_level, 1645 .set_bias_level = wm8993_set_bias_level,
1646}; 1646};
1647 1647
1648static __devinit int wm8993_i2c_probe(struct i2c_client *i2c, 1648static int wm8993_i2c_probe(struct i2c_client *i2c,
1649 const struct i2c_device_id *id) 1649 const struct i2c_device_id *id)
1650{ 1650{
1651 struct wm8993_priv *wm8993; 1651 struct wm8993_priv *wm8993;
1652 unsigned int reg; 1652 unsigned int reg;
@@ -1745,7 +1745,7 @@ err_enable:
1745 return ret; 1745 return ret;
1746} 1746}
1747 1747
1748static __devexit int wm8993_i2c_remove(struct i2c_client *i2c) 1748static int wm8993_i2c_remove(struct i2c_client *i2c)
1749{ 1749{
1750 struct wm8993_priv *wm8993 = i2c_get_clientdata(i2c); 1750 struct wm8993_priv *wm8993 = i2c_get_clientdata(i2c);
1751 1751
@@ -1769,7 +1769,7 @@ static struct i2c_driver wm8993_i2c_driver = {
1769 .owner = THIS_MODULE, 1769 .owner = THIS_MODULE,
1770 }, 1770 },
1771 .probe = wm8993_i2c_probe, 1771 .probe = wm8993_i2c_probe,
1772 .remove = __devexit_p(wm8993_i2c_remove), 1772 .remove = wm8993_i2c_remove,
1773 .id_table = wm8993_i2c_id, 1773 .id_table = wm8993_i2c_id,
1774}; 1774};
1775 1775
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 302f69a8ac22..3b269fa226bd 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -91,8 +91,6 @@ static int wm8994_retune_mobile_base[] = {
91 WM8994_AIF2_EQ_GAINS_1, 91 WM8994_AIF2_EQ_GAINS_1,
92}; 92};
93 93
94static void wm8958_default_micdet(u16 status, void *data);
95
96static const struct wm8958_micd_rate micdet_rates[] = { 94static const struct wm8958_micd_rate micdet_rates[] = {
97 { 32768, true, 1, 4 }, 95 { 32768, true, 1, 4 },
98 { 32768, false, 1, 1 }, 96 { 32768, false, 1, 1 },
@@ -116,9 +114,6 @@ static void wm8958_micd_set_rate(struct snd_soc_codec *codec)
116 const struct wm8958_micd_rate *rates; 114 const struct wm8958_micd_rate *rates;
117 int num_rates; 115 int num_rates;
118 116
119 if (wm8994->jack_cb != wm8958_default_micdet)
120 return;
121
122 idle = !wm8994->jack_mic; 117 idle = !wm8994->jack_mic;
123 118
124 sysclk = snd_soc_read(codec, WM8994_CLOCKING_1); 119 sysclk = snd_soc_read(codec, WM8994_CLOCKING_1);
@@ -740,7 +735,7 @@ static void wm1811_jackdet_set_mode(struct snd_soc_codec *codec, u16 mode)
740{ 735{
741 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); 736 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
742 737
743 if (!wm8994->jackdet || !wm8994->jack_cb) 738 if (!wm8994->jackdet || !wm8994->micdet[0].jack)
744 return; 739 return;
745 740
746 if (wm8994->active_refcount) 741 if (wm8994->active_refcount)
@@ -3405,38 +3400,80 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
3405 return IRQ_HANDLED; 3400 return IRQ_HANDLED;
3406} 3401}
3407 3402
3408/* Default microphone detection handler for WM8958 - the user can 3403static void wm1811_micd_stop(struct snd_soc_codec *codec)
3409 * override this if they wish. 3404{
3410 */ 3405 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
3411static void wm8958_default_micdet(u16 status, void *data) 3406
3407 if (!wm8994->jackdet)
3408 return;
3409
3410 mutex_lock(&wm8994->accdet_lock);
3411
3412 snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0);
3413
3414 wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK);
3415
3416 mutex_unlock(&wm8994->accdet_lock);
3417
3418 if (wm8994->wm8994->pdata.jd_ext_cap)
3419 snd_soc_dapm_disable_pin(&codec->dapm,
3420 "MICBIAS2");
3421}
3422
3423static void wm8958_button_det(struct snd_soc_codec *codec, u16 status)
3412{ 3424{
3413 struct snd_soc_codec *codec = data;
3414 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); 3425 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
3415 int report; 3426 int report;
3416 3427
3417 dev_dbg(codec->dev, "MICDET %x\n", status); 3428 report = 0;
3429 if (status & 0x4)
3430 report |= SND_JACK_BTN_0;
3431
3432 if (status & 0x8)
3433 report |= SND_JACK_BTN_1;
3434
3435 if (status & 0x10)
3436 report |= SND_JACK_BTN_2;
3437
3438 if (status & 0x20)
3439 report |= SND_JACK_BTN_3;
3440
3441 if (status & 0x40)
3442 report |= SND_JACK_BTN_4;
3443
3444 if (status & 0x80)
3445 report |= SND_JACK_BTN_5;
3446
3447 snd_soc_jack_report(wm8994->micdet[0].jack, report,
3448 wm8994->btn_mask);
3449}
3450
3451static void wm8958_mic_id(void *data, u16 status)
3452{
3453 struct snd_soc_codec *codec = data;
3454 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
3418 3455
3419 /* Either nothing present or just starting detection */ 3456 /* Either nothing present or just starting detection */
3420 if (!(status & WM8958_MICD_STS)) { 3457 if (!(status & WM8958_MICD_STS)) {
3421 if (!wm8994->jackdet) { 3458 /* If nothing present then clear our statuses */
3422 /* If nothing present then clear our statuses */ 3459 dev_dbg(codec->dev, "Detected open circuit\n");
3423 dev_dbg(codec->dev, "Detected open circuit\n"); 3460 wm8994->jack_mic = false;
3424 wm8994->jack_mic = false; 3461 wm8994->mic_detecting = true;
3425 wm8994->mic_detecting = true;
3426 3462
3427 wm8958_micd_set_rate(codec); 3463 wm1811_micd_stop(codec);
3428 3464
3429 snd_soc_jack_report(wm8994->micdet[0].jack, 0, 3465 wm8958_micd_set_rate(codec);
3430 wm8994->btn_mask | 3466
3431 SND_JACK_HEADSET); 3467 snd_soc_jack_report(wm8994->micdet[0].jack, 0,
3432 } 3468 wm8994->btn_mask |
3469 SND_JACK_HEADSET);
3433 return; 3470 return;
3434 } 3471 }
3435 3472
3436 /* If the measurement is showing a high impedence we've got a 3473 /* If the measurement is showing a high impedence we've got a
3437 * microphone. 3474 * microphone.
3438 */ 3475 */
3439 if (wm8994->mic_detecting && (status & 0x600)) { 3476 if (status & 0x600) {
3440 dev_dbg(codec->dev, "Detected microphone\n"); 3477 dev_dbg(codec->dev, "Detected microphone\n");
3441 3478
3442 wm8994->mic_detecting = false; 3479 wm8994->mic_detecting = false;
@@ -3449,57 +3486,18 @@ static void wm8958_default_micdet(u16 status, void *data)
3449 } 3486 }
3450 3487
3451 3488
3452 if (wm8994->mic_detecting && status & 0xfc) { 3489 if (status & 0xfc) {
3453 dev_dbg(codec->dev, "Detected headphone\n"); 3490 dev_dbg(codec->dev, "Detected headphone\n");
3454 wm8994->mic_detecting = false; 3491 wm8994->mic_detecting = false;
3455 3492
3456 wm8958_micd_set_rate(codec); 3493 wm8958_micd_set_rate(codec);
3457 3494
3458 /* If we have jackdet that will detect removal */ 3495 /* If we have jackdet that will detect removal */
3459 if (wm8994->jackdet) { 3496 wm1811_micd_stop(codec);
3460 mutex_lock(&wm8994->accdet_lock);
3461
3462 snd_soc_update_bits(codec, WM8958_MIC_DETECT_1,
3463 WM8958_MICD_ENA, 0);
3464
3465 wm1811_jackdet_set_mode(codec,
3466 WM1811_JACKDET_MODE_JACK);
3467
3468 mutex_unlock(&wm8994->accdet_lock);
3469
3470 if (wm8994->wm8994->pdata.jd_ext_cap)
3471 snd_soc_dapm_disable_pin(&codec->dapm,
3472 "MICBIAS2");
3473 }
3474 3497
3475 snd_soc_jack_report(wm8994->micdet[0].jack, SND_JACK_HEADPHONE, 3498 snd_soc_jack_report(wm8994->micdet[0].jack, SND_JACK_HEADPHONE,
3476 SND_JACK_HEADSET); 3499 SND_JACK_HEADSET);
3477 } 3500 }
3478
3479 /* Report short circuit as a button */
3480 if (wm8994->jack_mic) {
3481 report = 0;
3482 if (status & 0x4)
3483 report |= SND_JACK_BTN_0;
3484
3485 if (status & 0x8)
3486 report |= SND_JACK_BTN_1;
3487
3488 if (status & 0x10)
3489 report |= SND_JACK_BTN_2;
3490
3491 if (status & 0x20)
3492 report |= SND_JACK_BTN_3;
3493
3494 if (status & 0x40)
3495 report |= SND_JACK_BTN_4;
3496
3497 if (status & 0x80)
3498 report |= SND_JACK_BTN_5;
3499
3500 snd_soc_jack_report(wm8994->micdet[0].jack, report,
3501 wm8994->btn_mask);
3502 }
3503} 3501}
3504 3502
3505/* Deferred mic detection to allow for extra settling time */ 3503/* Deferred mic detection to allow for extra settling time */
@@ -3523,15 +3521,20 @@ static void wm1811_mic_work(struct work_struct *work)
3523 3521
3524 dev_dbg(codec->dev, "Starting mic detection\n"); 3522 dev_dbg(codec->dev, "Starting mic detection\n");
3525 3523
3526 /* 3524 /* Use a user-supplied callback if we have one */
3527 * Start off measument of microphone impedence to find out 3525 if (wm8994->micd_cb) {
3528 * what's actually there. 3526 wm8994->micd_cb(wm8994->micd_cb_data);
3529 */ 3527 } else {
3530 wm8994->mic_detecting = true; 3528 /*
3531 wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC); 3529 * Start off measument of microphone impedence to find out
3530 * what's actually there.
3531 */
3532 wm8994->mic_detecting = true;
3533 wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC);
3532 3534
3533 snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, 3535 snd_soc_update_bits(codec, WM8958_MIC_DETECT_1,
3534 WM8958_MICD_ENA, WM8958_MICD_ENA); 3536 WM8958_MICD_ENA, WM8958_MICD_ENA);
3537 }
3535 3538
3536 mutex_unlock(&wm8994->accdet_lock); 3539 mutex_unlock(&wm8994->accdet_lock);
3537 3540
@@ -3643,7 +3646,8 @@ static void wm1811_jackdet_bootstrap(struct work_struct *work)
3643 * detection algorithm. 3646 * detection algorithm.
3644 */ 3647 */
3645int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, 3648int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
3646 wm8958_micdet_cb cb, void *cb_data) 3649 wm1811_micdet_cb det_cb, void *det_cb_data,
3650 wm1811_mic_id_cb id_cb, void *id_cb_data)
3647{ 3651{
3648 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); 3652 struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
3649 struct wm8994 *control = wm8994->wm8994; 3653 struct wm8994 *control = wm8994->wm8994;
@@ -3658,21 +3662,26 @@ int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
3658 } 3662 }
3659 3663
3660 if (jack) { 3664 if (jack) {
3661 if (!cb) {
3662 dev_dbg(codec->dev, "Using default micdet callback\n");
3663 cb = wm8958_default_micdet;
3664 cb_data = codec;
3665 }
3666
3667 snd_soc_dapm_force_enable_pin(&codec->dapm, "CLK_SYS"); 3665 snd_soc_dapm_force_enable_pin(&codec->dapm, "CLK_SYS");
3668 snd_soc_dapm_sync(&codec->dapm); 3666 snd_soc_dapm_sync(&codec->dapm);
3669 3667
3670 wm8994->micdet[0].jack = jack; 3668 wm8994->micdet[0].jack = jack;
3671 wm8994->jack_cb = cb;
3672 wm8994->jack_cb_data = cb_data;
3673 3669
3674 wm8994->mic_detecting = true; 3670 if (det_cb) {
3675 wm8994->jack_mic = false; 3671 wm8994->micd_cb = det_cb;
3672 wm8994->micd_cb_data = det_cb_data;
3673 } else {
3674 wm8994->mic_detecting = true;
3675 wm8994->jack_mic = false;
3676 }
3677
3678 if (id_cb) {
3679 wm8994->mic_id_cb = id_cb;
3680 wm8994->mic_id_cb_data = id_cb_data;
3681 } else {
3682 wm8994->mic_id_cb = wm8958_mic_id;
3683 wm8994->mic_id_cb_data = codec;
3684 }
3676 3685
3677 wm8958_micd_set_rate(codec); 3686 wm8958_micd_set_rate(codec);
3678 3687
@@ -3772,10 +3781,22 @@ static irqreturn_t wm8958_mic_irq(int irq, void *data)
3772 trace_snd_soc_jack_irq(dev_name(codec->dev)); 3781 trace_snd_soc_jack_irq(dev_name(codec->dev));
3773#endif 3782#endif
3774 3783
3775 if (wm8994->jack_cb) 3784 /* Avoid a transient report when the accessory is being removed */
3776 wm8994->jack_cb(reg, wm8994->jack_cb_data); 3785 if (wm8994->jackdet) {
3786 reg = snd_soc_read(codec, WM1811_JACKDET_CTRL);
3787 if (reg < 0) {
3788 dev_err(codec->dev, "Failed to read jack status: %d\n",
3789 reg);
3790 } else if (!(reg & WM1811_JACKDET_LVL)) {
3791 dev_dbg(codec->dev, "Ignoring removed jack\n");
3792 return IRQ_HANDLED;
3793 }
3794 }
3795
3796 if (wm8994->mic_detecting)
3797 wm8994->mic_id_cb(wm8994->mic_id_cb_data, reg);
3777 else 3798 else
3778 dev_warn(codec->dev, "Accessory detection with no callback\n"); 3799 wm8958_button_det(codec, reg);
3779 3800
3780out: 3801out:
3781 pm_runtime_put(codec->dev); 3802 pm_runtime_put(codec->dev);
@@ -4266,7 +4287,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8994 = {
4266 .set_bias_level = wm8994_set_bias_level, 4287 .set_bias_level = wm8994_set_bias_level,
4267}; 4288};
4268 4289
4269static int __devinit wm8994_probe(struct platform_device *pdev) 4290static int wm8994_probe(struct platform_device *pdev)
4270{ 4291{
4271 struct wm8994_priv *wm8994; 4292 struct wm8994_priv *wm8994;
4272 4293
@@ -4282,7 +4303,7 @@ static int __devinit wm8994_probe(struct platform_device *pdev)
4282 wm8994_dai, ARRAY_SIZE(wm8994_dai)); 4303 wm8994_dai, ARRAY_SIZE(wm8994_dai));
4283} 4304}
4284 4305
4285static int __devexit wm8994_remove(struct platform_device *pdev) 4306static int wm8994_remove(struct platform_device *pdev)
4286{ 4307{
4287 snd_soc_unregister_codec(&pdev->dev); 4308 snd_soc_unregister_codec(&pdev->dev);
4288 return 0; 4309 return 0;
@@ -4306,7 +4327,7 @@ static int wm8994_resume(struct device *dev)
4306{ 4327{
4307 struct wm8994_priv *wm8994 = dev_get_drvdata(dev); 4328 struct wm8994_priv *wm8994 = dev_get_drvdata(dev);
4308 4329
4309 if (wm8994->jackdet && wm8994->jack_cb) 4330 if (wm8994->jackdet && wm8994->jackdet_mode)
4310 regmap_update_bits(wm8994->wm8994->regmap, WM8994_ANTIPOP_2, 4331 regmap_update_bits(wm8994->wm8994->regmap, WM8994_ANTIPOP_2,
4311 WM1811_JACKDET_MODE_MASK, 4332 WM1811_JACKDET_MODE_MASK,
4312 WM1811_JACKDET_MODE_AUDIO); 4333 WM1811_JACKDET_MODE_AUDIO);
@@ -4326,7 +4347,7 @@ static struct platform_driver wm8994_codec_driver = {
4326 .pm = &wm8994_pm_ops, 4347 .pm = &wm8994_pm_ops,
4327 }, 4348 },
4328 .probe = wm8994_probe, 4349 .probe = wm8994_probe,
4329 .remove = __devexit_p(wm8994_remove), 4350 .remove = wm8994_remove,
4330}; 4351};
4331 4352
4332module_platform_driver(wm8994_codec_driver); 4353module_platform_driver(wm8994_codec_driver);
diff --git a/sound/soc/codecs/wm8994.h b/sound/soc/codecs/wm8994.h
index 3120c0f21d4d..45f192702024 100644
--- a/sound/soc/codecs/wm8994.h
+++ b/sound/soc/codecs/wm8994.h
@@ -39,12 +39,14 @@ enum wm8994_vmid_mode {
39 WM8994_VMID_FORCE, 39 WM8994_VMID_FORCE,
40}; 40};
41 41
42typedef void (*wm8958_micdet_cb)(u16 status, void *data); 42typedef void (*wm1811_micdet_cb)(void *data);
43typedef void (*wm1811_mic_id_cb)(void *data, u16 status);
43 44
44int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, 45int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
45 int micbias); 46 int micbias);
46int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, 47int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
47 wm8958_micdet_cb cb, void *cb_data); 48 wm1811_micdet_cb cb, void *det_cb_data,
49 wm1811_mic_id_cb id_cb, void *id_cb_data);
48 50
49int wm8994_vmid_mode(struct snd_soc_codec *codec, enum wm8994_vmid_mode mode); 51int wm8994_vmid_mode(struct snd_soc_codec *codec, enum wm8994_vmid_mode mode);
50 52
@@ -138,9 +140,11 @@ struct wm8994_priv {
138 int jackdet_mode; 140 int jackdet_mode;
139 struct delayed_work jackdet_bootstrap; 141 struct delayed_work jackdet_bootstrap;
140 142
141 wm8958_micdet_cb jack_cb;
142 void *jack_cb_data;
143 int micdet_irq; 143 int micdet_irq;
144 wm1811_micdet_cb micd_cb;
145 void *micd_cb_data;
146 wm1811_mic_id_cb mic_id_cb;
147 void *mic_id_cb_data;
144 148
145 int revision; 149 int revision;
146 150
diff --git a/sound/soc/codecs/wm8995.c b/sound/soc/codecs/wm8995.c
index f1a7cf147af0..90a65c427541 100644
--- a/sound/soc/codecs/wm8995.c
+++ b/sound/soc/codecs/wm8995.c
@@ -2256,7 +2256,7 @@ static struct regmap_config wm8995_regmap = {
2256}; 2256};
2257 2257
2258#if defined(CONFIG_SPI_MASTER) 2258#if defined(CONFIG_SPI_MASTER)
2259static int __devinit wm8995_spi_probe(struct spi_device *spi) 2259static int wm8995_spi_probe(struct spi_device *spi)
2260{ 2260{
2261 struct wm8995_priv *wm8995; 2261 struct wm8995_priv *wm8995;
2262 int ret; 2262 int ret;
@@ -2280,7 +2280,7 @@ static int __devinit wm8995_spi_probe(struct spi_device *spi)
2280 return ret; 2280 return ret;
2281} 2281}
2282 2282
2283static int __devexit wm8995_spi_remove(struct spi_device *spi) 2283static int wm8995_spi_remove(struct spi_device *spi)
2284{ 2284{
2285 snd_soc_unregister_codec(&spi->dev); 2285 snd_soc_unregister_codec(&spi->dev);
2286 return 0; 2286 return 0;
@@ -2292,13 +2292,13 @@ static struct spi_driver wm8995_spi_driver = {
2292 .owner = THIS_MODULE, 2292 .owner = THIS_MODULE,
2293 }, 2293 },
2294 .probe = wm8995_spi_probe, 2294 .probe = wm8995_spi_probe,
2295 .remove = __devexit_p(wm8995_spi_remove) 2295 .remove = wm8995_spi_remove
2296}; 2296};
2297#endif 2297#endif
2298 2298
2299#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 2299#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
2300static __devinit int wm8995_i2c_probe(struct i2c_client *i2c, 2300static int wm8995_i2c_probe(struct i2c_client *i2c,
2301 const struct i2c_device_id *id) 2301 const struct i2c_device_id *id)
2302{ 2302{
2303 struct wm8995_priv *wm8995; 2303 struct wm8995_priv *wm8995;
2304 int ret; 2304 int ret;
@@ -2325,7 +2325,7 @@ static __devinit int wm8995_i2c_probe(struct i2c_client *i2c,
2325 return ret; 2325 return ret;
2326} 2326}
2327 2327
2328static __devexit int wm8995_i2c_remove(struct i2c_client *client) 2328static int wm8995_i2c_remove(struct i2c_client *client)
2329{ 2329{
2330 snd_soc_unregister_codec(&client->dev); 2330 snd_soc_unregister_codec(&client->dev);
2331 return 0; 2331 return 0;
@@ -2344,7 +2344,7 @@ static struct i2c_driver wm8995_i2c_driver = {
2344 .owner = THIS_MODULE, 2344 .owner = THIS_MODULE,
2345 }, 2345 },
2346 .probe = wm8995_i2c_probe, 2346 .probe = wm8995_i2c_probe,
2347 .remove = __devexit_p(wm8995_i2c_remove), 2347 .remove = wm8995_i2c_remove,
2348 .id_table = wm8995_i2c_id 2348 .id_table = wm8995_i2c_id
2349}; 2349};
2350#endif 2350#endif
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c
index 6dcb02c3666f..46fe83d2b224 100644
--- a/sound/soc/codecs/wm8996.c
+++ b/sound/soc/codecs/wm8996.c
@@ -2765,8 +2765,8 @@ static struct snd_soc_dai_driver wm8996_dai[] = {
2765 }, 2765 },
2766}; 2766};
2767 2767
2768static __devinit int wm8996_i2c_probe(struct i2c_client *i2c, 2768static int wm8996_i2c_probe(struct i2c_client *i2c,
2769 const struct i2c_device_id *id) 2769 const struct i2c_device_id *id)
2770{ 2770{
2771 struct wm8996_priv *wm8996; 2771 struct wm8996_priv *wm8996;
2772 int ret, i; 2772 int ret, i;
@@ -3077,7 +3077,7 @@ err:
3077 return ret; 3077 return ret;
3078} 3078}
3079 3079
3080static __devexit int wm8996_i2c_remove(struct i2c_client *client) 3080static int wm8996_i2c_remove(struct i2c_client *client)
3081{ 3081{
3082 struct wm8996_priv *wm8996 = i2c_get_clientdata(client); 3082 struct wm8996_priv *wm8996 = i2c_get_clientdata(client);
3083 int i; 3083 int i;
@@ -3107,7 +3107,7 @@ static struct i2c_driver wm8996_i2c_driver = {
3107 .owner = THIS_MODULE, 3107 .owner = THIS_MODULE,
3108 }, 3108 },
3109 .probe = wm8996_i2c_probe, 3109 .probe = wm8996_i2c_probe,
3110 .remove = __devexit_p(wm8996_i2c_remove), 3110 .remove = wm8996_i2c_remove,
3111 .id_table = wm8996_i2c_id, 3111 .id_table = wm8996_i2c_id,
3112}; 3112};
3113 3113
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c
index 860144e85e06..630b3d776ec2 100644
--- a/sound/soc/codecs/wm9081.c
+++ b/sound/soc/codecs/wm9081.c
@@ -1327,8 +1327,8 @@ static const struct regmap_config wm9081_regmap = {
1327}; 1327};
1328 1328
1329#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) 1329#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
1330static __devinit int wm9081_i2c_probe(struct i2c_client *i2c, 1330static int wm9081_i2c_probe(struct i2c_client *i2c,
1331 const struct i2c_device_id *id) 1331 const struct i2c_device_id *id)
1332{ 1332{
1333 struct wm9081_priv *wm9081; 1333 struct wm9081_priv *wm9081;
1334 unsigned int reg; 1334 unsigned int reg;
@@ -1386,7 +1386,7 @@ static __devinit int wm9081_i2c_probe(struct i2c_client *i2c,
1386 return 0; 1386 return 0;
1387} 1387}
1388 1388
1389static __devexit int wm9081_i2c_remove(struct i2c_client *client) 1389static int wm9081_i2c_remove(struct i2c_client *client)
1390{ 1390{
1391 snd_soc_unregister_codec(&client->dev); 1391 snd_soc_unregister_codec(&client->dev);
1392 return 0; 1392 return 0;
@@ -1404,7 +1404,7 @@ static struct i2c_driver wm9081_i2c_driver = {
1404 .owner = THIS_MODULE, 1404 .owner = THIS_MODULE,
1405 }, 1405 },
1406 .probe = wm9081_i2c_probe, 1406 .probe = wm9081_i2c_probe,
1407 .remove = __devexit_p(wm9081_i2c_remove), 1407 .remove = wm9081_i2c_remove,
1408 .id_table = wm9081_i2c_id, 1408 .id_table = wm9081_i2c_id,
1409}; 1409};
1410#endif 1410#endif
diff --git a/sound/soc/codecs/wm9090.c b/sound/soc/codecs/wm9090.c
index bb55a70a104a..a07fe1618eec 100644
--- a/sound/soc/codecs/wm9090.c
+++ b/sound/soc/codecs/wm9090.c
@@ -664,7 +664,7 @@ static int wm9090_i2c_probe(struct i2c_client *i2c,
664 return 0; 664 return 0;
665} 665}
666 666
667static int __devexit wm9090_i2c_remove(struct i2c_client *i2c) 667static int wm9090_i2c_remove(struct i2c_client *i2c)
668{ 668{
669 snd_soc_unregister_codec(&i2c->dev); 669 snd_soc_unregister_codec(&i2c->dev);
670 return 0; 670 return 0;
@@ -683,7 +683,7 @@ static struct i2c_driver wm9090_i2c_driver = {
683 .owner = THIS_MODULE, 683 .owner = THIS_MODULE,
684 }, 684 },
685 .probe = wm9090_i2c_probe, 685 .probe = wm9090_i2c_probe,
686 .remove = __devexit_p(wm9090_i2c_remove), 686 .remove = wm9090_i2c_remove,
687 .id_table = wm9090_id, 687 .id_table = wm9090_id,
688}; 688};
689 689
diff --git a/sound/soc/codecs/wm9705.c b/sound/soc/codecs/wm9705.c
index e8e782a0c78d..05b1f346695b 100644
--- a/sound/soc/codecs/wm9705.c
+++ b/sound/soc/codecs/wm9705.c
@@ -382,13 +382,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm9705 = {
382 .num_dapm_routes = ARRAY_SIZE(wm9705_audio_map), 382 .num_dapm_routes = ARRAY_SIZE(wm9705_audio_map),
383}; 383};
384 384
385static __devinit int wm9705_probe(struct platform_device *pdev) 385static int wm9705_probe(struct platform_device *pdev)
386{ 386{
387 return snd_soc_register_codec(&pdev->dev, 387 return snd_soc_register_codec(&pdev->dev,
388 &soc_codec_dev_wm9705, wm9705_dai, ARRAY_SIZE(wm9705_dai)); 388 &soc_codec_dev_wm9705, wm9705_dai, ARRAY_SIZE(wm9705_dai));
389} 389}
390 390
391static int __devexit wm9705_remove(struct platform_device *pdev) 391static int wm9705_remove(struct platform_device *pdev)
392{ 392{
393 snd_soc_unregister_codec(&pdev->dev); 393 snd_soc_unregister_codec(&pdev->dev);
394 return 0; 394 return 0;
@@ -401,7 +401,7 @@ static struct platform_driver wm9705_codec_driver = {
401 }, 401 },
402 402
403 .probe = wm9705_probe, 403 .probe = wm9705_probe,
404 .remove = __devexit_p(wm9705_remove), 404 .remove = wm9705_remove,
405}; 405};
406 406
407module_platform_driver(wm9705_codec_driver); 407module_platform_driver(wm9705_codec_driver);
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index 4dd73ea08d0b..8e9a6a3eeb1a 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -685,13 +685,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm9712 = {
685 .num_dapm_routes = ARRAY_SIZE(wm9712_audio_map), 685 .num_dapm_routes = ARRAY_SIZE(wm9712_audio_map),
686}; 686};
687 687
688static __devinit int wm9712_probe(struct platform_device *pdev) 688static int wm9712_probe(struct platform_device *pdev)
689{ 689{
690 return snd_soc_register_codec(&pdev->dev, 690 return snd_soc_register_codec(&pdev->dev,
691 &soc_codec_dev_wm9712, wm9712_dai, ARRAY_SIZE(wm9712_dai)); 691 &soc_codec_dev_wm9712, wm9712_dai, ARRAY_SIZE(wm9712_dai));
692} 692}
693 693
694static int __devexit wm9712_remove(struct platform_device *pdev) 694static int wm9712_remove(struct platform_device *pdev)
695{ 695{
696 snd_soc_unregister_codec(&pdev->dev); 696 snd_soc_unregister_codec(&pdev->dev);
697 return 0; 697 return 0;
@@ -704,7 +704,7 @@ static struct platform_driver wm9712_codec_driver = {
704 }, 704 },
705 705
706 .probe = wm9712_probe, 706 .probe = wm9712_probe,
707 .remove = __devexit_p(wm9712_remove), 707 .remove = wm9712_remove,
708}; 708};
709 709
710module_platform_driver(wm9712_codec_driver); 710module_platform_driver(wm9712_codec_driver);
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 3eb19fb71d17..f7afa68d8c7f 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -1254,13 +1254,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm9713 = {
1254 .num_dapm_routes = ARRAY_SIZE(wm9713_audio_map), 1254 .num_dapm_routes = ARRAY_SIZE(wm9713_audio_map),
1255}; 1255};
1256 1256
1257static __devinit int wm9713_probe(struct platform_device *pdev) 1257static int wm9713_probe(struct platform_device *pdev)
1258{ 1258{
1259 return snd_soc_register_codec(&pdev->dev, 1259 return snd_soc_register_codec(&pdev->dev,
1260 &soc_codec_dev_wm9713, wm9713_dai, ARRAY_SIZE(wm9713_dai)); 1260 &soc_codec_dev_wm9713, wm9713_dai, ARRAY_SIZE(wm9713_dai));
1261} 1261}
1262 1262
1263static int __devexit wm9713_remove(struct platform_device *pdev) 1263static int wm9713_remove(struct platform_device *pdev)
1264{ 1264{
1265 snd_soc_unregister_codec(&pdev->dev); 1265 snd_soc_unregister_codec(&pdev->dev);
1266 return 0; 1266 return 0;
@@ -1273,7 +1273,7 @@ static struct platform_driver wm9713_codec_driver = {
1273 }, 1273 },
1274 1274
1275 .probe = wm9713_probe, 1275 .probe = wm9713_probe,
1276 .remove = __devexit_p(wm9713_remove), 1276 .remove = wm9713_remove,
1277}; 1277};
1278 1278
1279module_platform_driver(wm9713_codec_driver); 1279module_platform_driver(wm9713_codec_driver);
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index 7fdb68ef384e..ffc89fab96fb 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -544,6 +544,28 @@ int wm_adsp2_event(struct snd_soc_dapm_widget *w,
544 544
545 switch (event) { 545 switch (event) {
546 case SND_SOC_DAPM_POST_PMU: 546 case SND_SOC_DAPM_POST_PMU:
547 /*
548 * For simplicity set the DSP clock rate to be the
549 * SYSCLK rate rather than making it configurable.
550 */
551 ret = regmap_read(dsp->regmap, ARIZONA_SYSTEM_CLOCK_1, &val);
552 if (ret != 0) {
553 adsp_err(dsp, "Failed to read SYSCLK state: %d\n",
554 ret);
555 return ret;
556 }
557 val = (val & ARIZONA_SYSCLK_FREQ_MASK)
558 >> ARIZONA_SYSCLK_FREQ_SHIFT;
559
560 ret = regmap_update_bits(dsp->regmap,
561 dsp->base + ADSP2_CLOCKING,
562 ADSP2_CLK_SEL_MASK, val);
563 if (ret != 0) {
564 adsp_err(dsp, "Failed to set clock rate: %d\n",
565 ret);
566 return ret;
567 }
568
547 if (dsp->dvfs) { 569 if (dsp->dvfs) {
548 ret = regmap_read(dsp->regmap, 570 ret = regmap_read(dsp->regmap,
549 dsp->base + ADSP2_CLOCKING, &val); 571 dsp->base + ADSP2_CLOCKING, &val);
@@ -631,6 +653,17 @@ int wm_adsp2_init(struct wm_adsp *adsp, bool dvfs)
631{ 653{
632 int ret; 654 int ret;
633 655
656 /*
657 * Disable the DSP memory by default when in reset for a small
658 * power saving.
659 */
660 ret = regmap_update_bits(adsp->regmap, adsp->base + ADSP2_CONTROL,
661 ADSP2_MEM_ENA, 0);
662 if (ret != 0) {
663 adsp_err(adsp, "Failed to clear memory retention: %d\n", ret);
664 return ret;
665 }
666
634 if (dvfs) { 667 if (dvfs) {
635 adsp->dvfs = devm_regulator_get(adsp->dev, "DCVDD"); 668 adsp->dvfs = devm_regulator_get(adsp->dev, "DCVDD");
636 if (IS_ERR(adsp->dvfs)) { 669 if (IS_ERR(adsp->dvfs)) {
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 571559501b0b..55e2bf652bef 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -593,6 +593,10 @@ static int davinci_mcasp_set_clkdiv(struct snd_soc_dai *dai, int div_id, int div
593 ACLKRDIV(div - 1), ACLKRDIV_MASK); 593 ACLKRDIV(div - 1), ACLKRDIV_MASK);
594 break; 594 break;
595 595
596 case 2: /* BCLK/LRCLK ratio */
597 dev->bclk_lrclk_ratio = div;
598 break;
599
596 default: 600 default:
597 return -EINVAL; 601 return -EINVAL;
598 } 602 }
@@ -619,57 +623,25 @@ static int davinci_mcasp_set_sysclk(struct snd_soc_dai *dai, int clk_id,
619} 623}
620 624
621static int davinci_config_channel_size(struct davinci_audio_dev *dev, 625static int davinci_config_channel_size(struct davinci_audio_dev *dev,
622 int channel_size) 626 int word_length)
623{ 627{
624 u32 fmt = 0; 628 u32 fmt;
625 u32 mask, rotate; 629 u32 rotate = (32 - word_length) / 4;
626 630 u32 mask = (1ULL << word_length) - 1;
627 switch (channel_size) { 631
628 case DAVINCI_AUDIO_WORD_8: 632 /*
629 fmt = 0x03; 633 * if s BCLK-to-LRCLK ratio has been configured via the set_clkdiv()
630 rotate = 6; 634 * callback, take it into account here. That allows us to for example
631 mask = 0x000000ff; 635 * send 32 bits per channel to the codec, while only 16 of them carry
632 break; 636 * audio payload.
633 637 * The clock ratio is given for a full period of data (both left and
634 case DAVINCI_AUDIO_WORD_12: 638 * right channels), so it has to be divided by 2.
635 fmt = 0x05; 639 */
636 rotate = 5; 640 if (dev->bclk_lrclk_ratio)
637 mask = 0x00000fff; 641 word_length = dev->bclk_lrclk_ratio / 2;
638 break; 642
639 643 /* mapping of the XSSZ bit-field as described in the datasheet */
640 case DAVINCI_AUDIO_WORD_16: 644 fmt = (word_length >> 1) - 1;
641 fmt = 0x07;
642 rotate = 4;
643 mask = 0x0000ffff;
644 break;
645
646 case DAVINCI_AUDIO_WORD_20:
647 fmt = 0x09;
648 rotate = 3;
649 mask = 0x000fffff;
650 break;
651
652 case DAVINCI_AUDIO_WORD_24:
653 fmt = 0x0B;
654 rotate = 2;
655 mask = 0x00ffffff;
656 break;
657
658 case DAVINCI_AUDIO_WORD_28:
659 fmt = 0x0D;
660 rotate = 1;
661 mask = 0x0fffffff;
662 break;
663
664 case DAVINCI_AUDIO_WORD_32:
665 fmt = 0x0F;
666 rotate = 0;
667 mask = 0xffffffff;
668 break;
669
670 default:
671 return -EINVAL;
672 }
673 645
674 mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, 646 mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG,
675 RXSSZ(fmt), RXSSZ(0x0F)); 647 RXSSZ(fmt), RXSSZ(0x0F));
@@ -856,19 +828,19 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream,
856 case SNDRV_PCM_FORMAT_U8: 828 case SNDRV_PCM_FORMAT_U8:
857 case SNDRV_PCM_FORMAT_S8: 829 case SNDRV_PCM_FORMAT_S8:
858 dma_params->data_type = 1; 830 dma_params->data_type = 1;
859 word_length = DAVINCI_AUDIO_WORD_8; 831 word_length = 8;
860 break; 832 break;
861 833
862 case SNDRV_PCM_FORMAT_U16_LE: 834 case SNDRV_PCM_FORMAT_U16_LE:
863 case SNDRV_PCM_FORMAT_S16_LE: 835 case SNDRV_PCM_FORMAT_S16_LE:
864 dma_params->data_type = 2; 836 dma_params->data_type = 2;
865 word_length = DAVINCI_AUDIO_WORD_16; 837 word_length = 16;
866 break; 838 break;
867 839
868 case SNDRV_PCM_FORMAT_U24_3LE: 840 case SNDRV_PCM_FORMAT_U24_3LE:
869 case SNDRV_PCM_FORMAT_S24_3LE: 841 case SNDRV_PCM_FORMAT_S24_3LE:
870 dma_params->data_type = 3; 842 dma_params->data_type = 3;
871 word_length = DAVINCI_AUDIO_WORD_24; 843 word_length = 24;
872 break; 844 break;
873 845
874 case SNDRV_PCM_FORMAT_U24_LE: 846 case SNDRV_PCM_FORMAT_U24_LE:
@@ -876,7 +848,7 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream,
876 case SNDRV_PCM_FORMAT_U32_LE: 848 case SNDRV_PCM_FORMAT_U32_LE:
877 case SNDRV_PCM_FORMAT_S32_LE: 849 case SNDRV_PCM_FORMAT_S32_LE:
878 dma_params->data_type = 4; 850 dma_params->data_type = 4;
879 word_length = DAVINCI_AUDIO_WORD_32; 851 word_length = 32;
880 break; 852 break;
881 853
882 default: 854 default:
@@ -1158,7 +1130,6 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
1158 dev->tdm_slots = pdata->tdm_slots; 1130 dev->tdm_slots = pdata->tdm_slots;
1159 dev->num_serializer = pdata->num_serializer; 1131 dev->num_serializer = pdata->num_serializer;
1160 dev->serial_dir = pdata->serial_dir; 1132 dev->serial_dir = pdata->serial_dir;
1161 dev->codec_fmt = pdata->codec_fmt;
1162 dev->version = pdata->version; 1133 dev->version = pdata->version;
1163 dev->txnumevt = pdata->txnumevt; 1134 dev->txnumevt = pdata->txnumevt;
1164 dev->rxnumevt = pdata->rxnumevt; 1135 dev->rxnumevt = pdata->rxnumevt;
diff --git a/sound/soc/davinci/davinci-mcasp.h b/sound/soc/davinci/davinci-mcasp.h
index 156f15f55744..0edd3b5a37fd 100644
--- a/sound/soc/davinci/davinci-mcasp.h
+++ b/sound/soc/davinci/davinci-mcasp.h
@@ -27,22 +27,10 @@
27#define DAVINCI_MCASP_I2S_DAI 0 27#define DAVINCI_MCASP_I2S_DAI 0
28#define DAVINCI_MCASP_DIT_DAI 1 28#define DAVINCI_MCASP_DIT_DAI 1
29 29
30enum {
31 DAVINCI_AUDIO_WORD_8 = 0,
32 DAVINCI_AUDIO_WORD_12,
33 DAVINCI_AUDIO_WORD_16,
34 DAVINCI_AUDIO_WORD_20,
35 DAVINCI_AUDIO_WORD_24,
36 DAVINCI_AUDIO_WORD_32,
37 DAVINCI_AUDIO_WORD_28, /* This is only valid for McASP */
38};
39
40struct davinci_audio_dev { 30struct davinci_audio_dev {
41 struct davinci_pcm_dma_params dma_params[2]; 31 struct davinci_pcm_dma_params dma_params[2];
42 void __iomem *base; 32 void __iomem *base;
43 int sample_rate;
44 struct device *dev; 33 struct device *dev;
45 unsigned int codec_fmt;
46 34
47 /* McASP specific data */ 35 /* McASP specific data */
48 int tdm_slots; 36 int tdm_slots;
@@ -50,6 +38,7 @@ struct davinci_audio_dev {
50 u8 num_serializer; 38 u8 num_serializer;
51 u8 *serial_dir; 39 u8 *serial_dir;
52 u8 version; 40 u8 version;
41 u8 bclk_lrclk_ratio;
53 42
54 /* McASP FIFO related */ 43 /* McASP FIFO related */
55 u8 txnumevt; 44 u8 txnumevt;
diff --git a/sound/soc/fsl/eukrea-tlv320.c b/sound/soc/fsl/eukrea-tlv320.c
index 267d5b4b63ce..75ffdf0e2aad 100644
--- a/sound/soc/fsl/eukrea-tlv320.c
+++ b/sound/soc/fsl/eukrea-tlv320.c
@@ -93,7 +93,7 @@ static struct snd_soc_card eukrea_tlv320 = {
93 .num_links = 1, 93 .num_links = 1,
94}; 94};
95 95
96static int __devinit eukrea_tlv320_probe(struct platform_device *pdev) 96static int eukrea_tlv320_probe(struct platform_device *pdev)
97{ 97{
98 int ret; 98 int ret;
99 int int_port = 0, ext_port; 99 int int_port = 0, ext_port;
@@ -142,7 +142,7 @@ static int __devinit eukrea_tlv320_probe(struct platform_device *pdev)
142 return ret; 142 return ret;
143} 143}
144 144
145static int __devexit eukrea_tlv320_remove(struct platform_device *pdev) 145static int eukrea_tlv320_remove(struct platform_device *pdev)
146{ 146{
147 snd_soc_unregister_card(&eukrea_tlv320); 147 snd_soc_unregister_card(&eukrea_tlv320);
148 148
@@ -155,7 +155,7 @@ static struct platform_driver eukrea_tlv320_driver = {
155 .owner = THIS_MODULE, 155 .owner = THIS_MODULE,
156 }, 156 },
157 .probe = eukrea_tlv320_probe, 157 .probe = eukrea_tlv320_probe,
158 .remove = __devexit_p(eukrea_tlv320_remove),}; 158 .remove = eukrea_tlv320_remove,};
159 159
160module_platform_driver(eukrea_tlv320_driver); 160module_platform_driver(eukrea_tlv320_driver);
161 161
diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c
index 6feb26500580..9cc5c1f82f09 100644
--- a/sound/soc/fsl/fsl_dma.c
+++ b/sound/soc/fsl/fsl_dma.c
@@ -894,7 +894,7 @@ static struct snd_pcm_ops fsl_dma_ops = {
894 .pointer = fsl_dma_pointer, 894 .pointer = fsl_dma_pointer,
895}; 895};
896 896
897static int __devinit fsl_soc_dma_probe(struct platform_device *pdev) 897static int fsl_soc_dma_probe(struct platform_device *pdev)
898 { 898 {
899 struct dma_object *dma; 899 struct dma_object *dma;
900 struct device_node *np = pdev->dev.of_node; 900 struct device_node *np = pdev->dev.of_node;
@@ -958,7 +958,7 @@ static int __devinit fsl_soc_dma_probe(struct platform_device *pdev)
958 return 0; 958 return 0;
959} 959}
960 960
961static int __devexit fsl_soc_dma_remove(struct platform_device *pdev) 961static int fsl_soc_dma_remove(struct platform_device *pdev)
962{ 962{
963 struct dma_object *dma = dev_get_drvdata(&pdev->dev); 963 struct dma_object *dma = dev_get_drvdata(&pdev->dev);
964 964
@@ -983,7 +983,7 @@ static struct platform_driver fsl_soc_dma_driver = {
983 .of_match_table = fsl_soc_dma_ids, 983 .of_match_table = fsl_soc_dma_ids,
984 }, 984 },
985 .probe = fsl_soc_dma_probe, 985 .probe = fsl_soc_dma_probe,
986 .remove = __devexit_p(fsl_soc_dma_remove), 986 .remove = fsl_soc_dma_remove,
987}; 987};
988 988
989module_platform_driver(fsl_soc_dma_driver); 989module_platform_driver(fsl_soc_dma_driver);
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 4ed2afd47782..7decbd9b2340 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -639,7 +639,7 @@ static void make_lowercase(char *s)
639 } 639 }
640} 640}
641 641
642static int __devinit fsl_ssi_probe(struct platform_device *pdev) 642static int fsl_ssi_probe(struct platform_device *pdev)
643{ 643{
644 struct fsl_ssi_private *ssi_private; 644 struct fsl_ssi_private *ssi_private;
645 int ret = 0; 645 int ret = 0;
diff --git a/sound/soc/fsl/imx-audmux.c b/sound/soc/fsl/imx-audmux.c
index 524ce6210cee..251f4d981e0c 100644
--- a/sound/soc/fsl/imx-audmux.c
+++ b/sound/soc/fsl/imx-audmux.c
@@ -162,7 +162,7 @@ static void __init audmux_debugfs_init(void)
162 } 162 }
163} 163}
164 164
165static void __devexit audmux_debugfs_remove(void) 165static void audmux_debugfs_remove(void)
166{ 166{
167 debugfs_remove_recursive(audmux_debugfs_root); 167 debugfs_remove_recursive(audmux_debugfs_root);
168} 168}
@@ -244,7 +244,7 @@ int imx_audmux_v2_configure_port(unsigned int port, unsigned int ptcr,
244} 244}
245EXPORT_SYMBOL_GPL(imx_audmux_v2_configure_port); 245EXPORT_SYMBOL_GPL(imx_audmux_v2_configure_port);
246 246
247static int __devinit imx_audmux_probe(struct platform_device *pdev) 247static int imx_audmux_probe(struct platform_device *pdev)
248{ 248{
249 struct resource *res; 249 struct resource *res;
250 struct pinctrl *pinctrl; 250 struct pinctrl *pinctrl;
@@ -278,7 +278,7 @@ static int __devinit imx_audmux_probe(struct platform_device *pdev)
278 return 0; 278 return 0;
279} 279}
280 280
281static int __devexit imx_audmux_remove(struct platform_device *pdev) 281static int imx_audmux_remove(struct platform_device *pdev)
282{ 282{
283 if (audmux_type == IMX31_AUDMUX) 283 if (audmux_type == IMX31_AUDMUX)
284 audmux_debugfs_remove(); 284 audmux_debugfs_remove();
@@ -289,7 +289,7 @@ static int __devexit imx_audmux_remove(struct platform_device *pdev)
289 289
290static struct platform_driver imx_audmux_driver = { 290static struct platform_driver imx_audmux_driver = {
291 .probe = imx_audmux_probe, 291 .probe = imx_audmux_probe,
292 .remove = __devexit_p(imx_audmux_remove), 292 .remove = imx_audmux_remove,
293 .id_table = imx_audmux_ids, 293 .id_table = imx_audmux_ids,
294 .driver = { 294 .driver = {
295 .name = DRIVER_NAME, 295 .name = DRIVER_NAME,
diff --git a/sound/soc/fsl/imx-mc13783.c b/sound/soc/fsl/imx-mc13783.c
index 549b31fdc9dd..4ae30f21fdb5 100644
--- a/sound/soc/fsl/imx-mc13783.c
+++ b/sound/soc/fsl/imx-mc13783.c
@@ -98,7 +98,7 @@ static struct snd_soc_card imx_mc13783 = {
98 .num_dapm_routes = ARRAY_SIZE(imx_mc13783_routes), 98 .num_dapm_routes = ARRAY_SIZE(imx_mc13783_routes),
99}; 99};
100 100
101static int __devinit imx_mc13783_probe(struct platform_device *pdev) 101static int imx_mc13783_probe(struct platform_device *pdev)
102{ 102{
103 int ret; 103 int ret;
104 104
@@ -148,7 +148,7 @@ static int __devinit imx_mc13783_probe(struct platform_device *pdev)
148 return ret; 148 return ret;
149} 149}
150 150
151static int __devexit imx_mc13783_remove(struct platform_device *pdev) 151static int imx_mc13783_remove(struct platform_device *pdev)
152{ 152{
153 snd_soc_unregister_card(&imx_mc13783); 153 snd_soc_unregister_card(&imx_mc13783);
154 154
@@ -161,7 +161,7 @@ static struct platform_driver imx_mc13783_audio_driver = {
161 .owner = THIS_MODULE, 161 .owner = THIS_MODULE,
162 }, 162 },
163 .probe = imx_mc13783_probe, 163 .probe = imx_mc13783_probe,
164 .remove = __devexit_p(imx_mc13783_remove) 164 .remove = imx_mc13783_remove
165}; 165};
166 166
167module_platform_driver(imx_mc13783_audio_driver); 167module_platform_driver(imx_mc13783_audio_driver);
diff --git a/sound/soc/fsl/imx-pcm-dma.c b/sound/soc/fsl/imx-pcm-dma.c
index d85929b79c35..bf363d8d044a 100644
--- a/sound/soc/fsl/imx-pcm-dma.c
+++ b/sound/soc/fsl/imx-pcm-dma.c
@@ -154,12 +154,12 @@ static struct snd_soc_platform_driver imx_soc_platform_mx2 = {
154 .pcm_free = imx_pcm_free, 154 .pcm_free = imx_pcm_free,
155}; 155};
156 156
157static int __devinit imx_soc_platform_probe(struct platform_device *pdev) 157static int imx_soc_platform_probe(struct platform_device *pdev)
158{ 158{
159 return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2); 159 return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
160} 160}
161 161
162static int __devexit imx_soc_platform_remove(struct platform_device *pdev) 162static int imx_soc_platform_remove(struct platform_device *pdev)
163{ 163{
164 snd_soc_unregister_platform(&pdev->dev); 164 snd_soc_unregister_platform(&pdev->dev);
165 return 0; 165 return 0;
@@ -171,7 +171,7 @@ static struct platform_driver imx_pcm_driver = {
171 .owner = THIS_MODULE, 171 .owner = THIS_MODULE,
172 }, 172 },
173 .probe = imx_soc_platform_probe, 173 .probe = imx_soc_platform_probe,
174 .remove = __devexit_p(imx_soc_platform_remove), 174 .remove = imx_soc_platform_remove,
175}; 175};
176 176
177module_platform_driver(imx_pcm_driver); 177module_platform_driver(imx_pcm_driver);
diff --git a/sound/soc/fsl/imx-pcm-fiq.c b/sound/soc/fsl/imx-pcm-fiq.c
index 22c6130957ba..713bd79428a9 100644
--- a/sound/soc/fsl/imx-pcm-fiq.c
+++ b/sound/soc/fsl/imx-pcm-fiq.c
@@ -282,7 +282,7 @@ static struct snd_soc_platform_driver imx_soc_platform_fiq = {
282 .pcm_free = imx_pcm_fiq_free, 282 .pcm_free = imx_pcm_fiq_free,
283}; 283};
284 284
285static int __devinit imx_soc_platform_probe(struct platform_device *pdev) 285static int imx_soc_platform_probe(struct platform_device *pdev)
286{ 286{
287 struct imx_ssi *ssi = platform_get_drvdata(pdev); 287 struct imx_ssi *ssi = platform_get_drvdata(pdev);
288 int ret; 288 int ret;
@@ -316,7 +316,7 @@ failed_register:
316 return ret; 316 return ret;
317} 317}
318 318
319static int __devexit imx_soc_platform_remove(struct platform_device *pdev) 319static int imx_soc_platform_remove(struct platform_device *pdev)
320{ 320{
321 snd_soc_unregister_platform(&pdev->dev); 321 snd_soc_unregister_platform(&pdev->dev);
322 return 0; 322 return 0;
@@ -329,7 +329,7 @@ static struct platform_driver imx_pcm_driver = {
329 }, 329 },
330 330
331 .probe = imx_soc_platform_probe, 331 .probe = imx_soc_platform_probe,
332 .remove = __devexit_p(imx_soc_platform_remove), 332 .remove = imx_soc_platform_remove,
333}; 333};
334 334
335module_platform_driver(imx_pcm_driver); 335module_platform_driver(imx_pcm_driver);
diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
index 3d9b1c427ce9..424347e9b2d7 100644
--- a/sound/soc/fsl/imx-sgtl5000.c
+++ b/sound/soc/fsl/imx-sgtl5000.c
@@ -56,7 +56,7 @@ static const struct snd_soc_dapm_widget imx_sgtl5000_dapm_widgets[] = {
56 SND_SOC_DAPM_SPK("Ext Spk", NULL), 56 SND_SOC_DAPM_SPK("Ext Spk", NULL),
57}; 57};
58 58
59static int __devinit imx_sgtl5000_probe(struct platform_device *pdev) 59static int imx_sgtl5000_probe(struct platform_device *pdev)
60{ 60{
61 struct device_node *np = pdev->dev.of_node; 61 struct device_node *np = pdev->dev.of_node;
62 struct device_node *ssi_np, *codec_np; 62 struct device_node *ssi_np, *codec_np;
@@ -185,7 +185,7 @@ fail:
185 return ret; 185 return ret;
186} 186}
187 187
188static int __devexit imx_sgtl5000_remove(struct platform_device *pdev) 188static int imx_sgtl5000_remove(struct platform_device *pdev)
189{ 189{
190 struct imx_sgtl5000_data *data = platform_get_drvdata(pdev); 190 struct imx_sgtl5000_data *data = platform_get_drvdata(pdev);
191 191
@@ -211,7 +211,7 @@ static struct platform_driver imx_sgtl5000_driver = {
211 .of_match_table = imx_sgtl5000_dt_ids, 211 .of_match_table = imx_sgtl5000_dt_ids,
212 }, 212 },
213 .probe = imx_sgtl5000_probe, 213 .probe = imx_sgtl5000_probe,
214 .remove = __devexit_p(imx_sgtl5000_remove), 214 .remove = imx_sgtl5000_remove,
215}; 215};
216module_platform_driver(imx_sgtl5000_driver); 216module_platform_driver(imx_sgtl5000_driver);
217 217
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index 006f7d465ed2..2c8d89eecdcf 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -639,7 +639,7 @@ failed_clk:
639 return ret; 639 return ret;
640} 640}
641 641
642static int __devexit imx_ssi_remove(struct platform_device *pdev) 642static int imx_ssi_remove(struct platform_device *pdev)
643{ 643{
644 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 644 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
645 struct imx_ssi *ssi = platform_get_drvdata(pdev); 645 struct imx_ssi *ssi = platform_get_drvdata(pdev);
@@ -660,7 +660,7 @@ static int __devexit imx_ssi_remove(struct platform_device *pdev)
660 660
661static struct platform_driver imx_ssi_driver = { 661static struct platform_driver imx_ssi_driver = {
662 .probe = imx_ssi_probe, 662 .probe = imx_ssi_probe,
663 .remove = __devexit_p(imx_ssi_remove), 663 .remove = imx_ssi_remove,
664 664
665 .driver = { 665 .driver = {
666 .name = "imx-ssi", 666 .name = "imx-ssi",
diff --git a/sound/soc/fsl/mpc5200_psc_ac97.c b/sound/soc/fsl/mpc5200_psc_ac97.c
index a313c0ae36db..a4aec0488dd3 100644
--- a/sound/soc/fsl/mpc5200_psc_ac97.c
+++ b/sound/soc/fsl/mpc5200_psc_ac97.c
@@ -277,7 +277,7 @@ static struct snd_soc_dai_driver psc_ac97_dai[] = {
277 * - Probe/remove operations 277 * - Probe/remove operations
278 * - OF device match table 278 * - OF device match table
279 */ 279 */
280static int __devinit psc_ac97_of_probe(struct platform_device *op) 280static int psc_ac97_of_probe(struct platform_device *op)
281{ 281{
282 int rc; 282 int rc;
283 struct snd_ac97 ac97; 283 struct snd_ac97 ac97;
@@ -310,7 +310,7 @@ static int __devinit psc_ac97_of_probe(struct platform_device *op)
310 return 0; 310 return 0;
311} 311}
312 312
313static int __devexit psc_ac97_of_remove(struct platform_device *op) 313static int psc_ac97_of_remove(struct platform_device *op)
314{ 314{
315 mpc5200_audio_dma_destroy(op); 315 mpc5200_audio_dma_destroy(op);
316 snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_ac97_dai)); 316 snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_ac97_dai));
@@ -318,7 +318,7 @@ static int __devexit psc_ac97_of_remove(struct platform_device *op)
318} 318}
319 319
320/* Match table for of_platform binding */ 320/* Match table for of_platform binding */
321static struct of_device_id psc_ac97_match[] __devinitdata = { 321static struct of_device_id psc_ac97_match[] = {
322 { .compatible = "fsl,mpc5200-psc-ac97", }, 322 { .compatible = "fsl,mpc5200-psc-ac97", },
323 { .compatible = "fsl,mpc5200b-psc-ac97", }, 323 { .compatible = "fsl,mpc5200b-psc-ac97", },
324 {} 324 {}
@@ -327,7 +327,7 @@ MODULE_DEVICE_TABLE(of, psc_ac97_match);
327 327
328static struct platform_driver psc_ac97_driver = { 328static struct platform_driver psc_ac97_driver = {
329 .probe = psc_ac97_of_probe, 329 .probe = psc_ac97_of_probe,
330 .remove = __devexit_p(psc_ac97_of_remove), 330 .remove = psc_ac97_of_remove,
331 .driver = { 331 .driver = {
332 .name = "mpc5200-psc-ac97", 332 .name = "mpc5200-psc-ac97",
333 .owner = THIS_MODULE, 333 .owner = THIS_MODULE,
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
index ba1f0a66358f..b95b966f25a0 100644
--- a/sound/soc/fsl/mpc5200_psc_i2s.c
+++ b/sound/soc/fsl/mpc5200_psc_i2s.c
@@ -153,7 +153,7 @@ static struct snd_soc_dai_driver psc_i2s_dai[] = {{
153 * - Probe/remove operations 153 * - Probe/remove operations
154 * - OF device match table 154 * - OF device match table
155 */ 155 */
156static int __devinit psc_i2s_of_probe(struct platform_device *op) 156static int psc_i2s_of_probe(struct platform_device *op)
157{ 157{
158 int rc; 158 int rc;
159 struct psc_dma *psc_dma; 159 struct psc_dma *psc_dma;
@@ -205,7 +205,7 @@ static int __devinit psc_i2s_of_probe(struct platform_device *op)
205 205
206} 206}
207 207
208static int __devexit psc_i2s_of_remove(struct platform_device *op) 208static int psc_i2s_of_remove(struct platform_device *op)
209{ 209{
210 mpc5200_audio_dma_destroy(op); 210 mpc5200_audio_dma_destroy(op);
211 snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_i2s_dai)); 211 snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_i2s_dai));
@@ -213,7 +213,7 @@ static int __devexit psc_i2s_of_remove(struct platform_device *op)
213} 213}
214 214
215/* Match table for of_platform binding */ 215/* Match table for of_platform binding */
216static struct of_device_id psc_i2s_match[] __devinitdata = { 216static struct of_device_id psc_i2s_match[] = {
217 { .compatible = "fsl,mpc5200-psc-i2s", }, 217 { .compatible = "fsl,mpc5200-psc-i2s", },
218 { .compatible = "fsl,mpc5200b-psc-i2s", }, 218 { .compatible = "fsl,mpc5200b-psc-i2s", },
219 {} 219 {}
@@ -222,7 +222,7 @@ MODULE_DEVICE_TABLE(of, psc_i2s_match);
222 222
223static struct platform_driver psc_i2s_driver = { 223static struct platform_driver psc_i2s_driver = {
224 .probe = psc_i2s_of_probe, 224 .probe = psc_i2s_of_probe,
225 .remove = __devexit_p(psc_i2s_of_remove), 225 .remove = psc_i2s_of_remove,
226 .driver = { 226 .driver = {
227 .name = "mpc5200-psc-i2s", 227 .name = "mpc5200-psc-i2s",
228 .owner = THIS_MODULE, 228 .owner = THIS_MODULE,
diff --git a/sound/soc/fsl/mpc8610_hpcd.c b/sound/soc/fsl/mpc8610_hpcd.c
index 9ff9318c52b9..228c52e71440 100644
--- a/sound/soc/fsl/mpc8610_hpcd.c
+++ b/sound/soc/fsl/mpc8610_hpcd.c
@@ -368,7 +368,7 @@ error_alloc:
368 * 368 *
369 * This function is called when the platform device is removed. 369 * This function is called when the platform device is removed.
370 */ 370 */
371static int __devexit mpc8610_hpcd_remove(struct platform_device *pdev) 371static int mpc8610_hpcd_remove(struct platform_device *pdev)
372{ 372{
373 struct snd_soc_card *card = platform_get_drvdata(pdev); 373 struct snd_soc_card *card = platform_get_drvdata(pdev);
374 struct mpc8610_hpcd_data *machine_data = 374 struct mpc8610_hpcd_data *machine_data =
@@ -382,7 +382,7 @@ static int __devexit mpc8610_hpcd_remove(struct platform_device *pdev)
382 382
383static struct platform_driver mpc8610_hpcd_driver = { 383static struct platform_driver mpc8610_hpcd_driver = {
384 .probe = mpc8610_hpcd_probe, 384 .probe = mpc8610_hpcd_probe,
385 .remove = __devexit_p(mpc8610_hpcd_remove), 385 .remove = mpc8610_hpcd_remove,
386 .driver = { 386 .driver = {
387 /* The name must match 'compatible' property in the device tree, 387 /* The name must match 'compatible' property in the device tree,
388 * in lowercase letters. 388 * in lowercase letters.
diff --git a/sound/soc/fsl/mx27vis-aic32x4.c b/sound/soc/fsl/mx27vis-aic32x4.c
index 2b76877b1789..3d1074179057 100644
--- a/sound/soc/fsl/mx27vis-aic32x4.c
+++ b/sound/soc/fsl/mx27vis-aic32x4.c
@@ -180,7 +180,7 @@ static struct snd_soc_card mx27vis_aic32x4 = {
180 .num_dapm_routes = ARRAY_SIZE(aic32x4_dapm_routes), 180 .num_dapm_routes = ARRAY_SIZE(aic32x4_dapm_routes),
181}; 181};
182 182
183static int __devinit mx27vis_aic32x4_probe(struct platform_device *pdev) 183static int mx27vis_aic32x4_probe(struct platform_device *pdev)
184{ 184{
185 struct snd_mx27vis_platform_data *pdata = pdev->dev.platform_data; 185 struct snd_mx27vis_platform_data *pdata = pdev->dev.platform_data;
186 int ret; 186 int ret;
@@ -219,7 +219,7 @@ static int __devinit mx27vis_aic32x4_probe(struct platform_device *pdev)
219 return ret; 219 return ret;
220} 220}
221 221
222static int __devexit mx27vis_aic32x4_remove(struct platform_device *pdev) 222static int mx27vis_aic32x4_remove(struct platform_device *pdev)
223{ 223{
224 snd_soc_unregister_card(&mx27vis_aic32x4); 224 snd_soc_unregister_card(&mx27vis_aic32x4);
225 225
@@ -232,7 +232,7 @@ static struct platform_driver mx27vis_aic32x4_audio_driver = {
232 .owner = THIS_MODULE, 232 .owner = THIS_MODULE,
233 }, 233 },
234 .probe = mx27vis_aic32x4_probe, 234 .probe = mx27vis_aic32x4_probe,
235 .remove = __devexit_p(mx27vis_aic32x4_remove), 235 .remove = mx27vis_aic32x4_remove,
236}; 236};
237 237
238module_platform_driver(mx27vis_aic32x4_audio_driver); 238module_platform_driver(mx27vis_aic32x4_audio_driver);
diff --git a/sound/soc/fsl/p1022_ds.c b/sound/soc/fsl/p1022_ds.c
index 144d49603637..ba59c23a137b 100644
--- a/sound/soc/fsl/p1022_ds.c
+++ b/sound/soc/fsl/p1022_ds.c
@@ -376,7 +376,7 @@ error_put:
376 * 376 *
377 * This function is called when the platform device is removed. 377 * This function is called when the platform device is removed.
378 */ 378 */
379static int __devexit p1022_ds_remove(struct platform_device *pdev) 379static int p1022_ds_remove(struct platform_device *pdev)
380{ 380{
381 struct snd_soc_card *card = platform_get_drvdata(pdev); 381 struct snd_soc_card *card = platform_get_drvdata(pdev);
382 struct machine_data *mdata = 382 struct machine_data *mdata =
@@ -390,7 +390,7 @@ static int __devexit p1022_ds_remove(struct platform_device *pdev)
390 390
391static struct platform_driver p1022_ds_driver = { 391static struct platform_driver p1022_ds_driver = {
392 .probe = p1022_ds_probe, 392 .probe = p1022_ds_probe,
393 .remove = __devexit_p(p1022_ds_remove), 393 .remove = p1022_ds_remove,
394 .driver = { 394 .driver = {
395 /* 395 /*
396 * The name must match 'compatible' property in the device tree, 396 * The name must match 'compatible' property in the device tree,
diff --git a/sound/soc/fsl/p1022_rdk.c b/sound/soc/fsl/p1022_rdk.c
index 897e32ffdc42..f21551911533 100644
--- a/sound/soc/fsl/p1022_rdk.c
+++ b/sound/soc/fsl/p1022_rdk.c
@@ -326,7 +326,7 @@ error_put:
326 * 326 *
327 * This function is called when the platform device is removed. 327 * This function is called when the platform device is removed.
328 */ 328 */
329static int __devexit p1022_rdk_remove(struct platform_device *pdev) 329static int p1022_rdk_remove(struct platform_device *pdev)
330{ 330{
331 struct snd_soc_card *card = platform_get_drvdata(pdev); 331 struct snd_soc_card *card = platform_get_drvdata(pdev);
332 struct machine_data *mdata = 332 struct machine_data *mdata =
@@ -340,7 +340,7 @@ static int __devexit p1022_rdk_remove(struct platform_device *pdev)
340 340
341static struct platform_driver p1022_rdk_driver = { 341static struct platform_driver p1022_rdk_driver = {
342 .probe = p1022_rdk_probe, 342 .probe = p1022_rdk_probe,
343 .remove = __devexit_p(p1022_rdk_remove), 343 .remove = p1022_rdk_remove,
344 .driver = { 344 .driver = {
345 /* 345 /*
346 * The name must match 'compatible' property in the device tree, 346 * The name must match 'compatible' property in the device tree,
diff --git a/sound/soc/fsl/pcm030-audio-fabric.c b/sound/soc/fsl/pcm030-audio-fabric.c
index 4d261927662f..8e52c1485df3 100644
--- a/sound/soc/fsl/pcm030-audio-fabric.c
+++ b/sound/soc/fsl/pcm030-audio-fabric.c
@@ -101,7 +101,7 @@ static int __init pcm030_fabric_probe(struct platform_device *op)
101 return ret; 101 return ret;
102} 102}
103 103
104static int __devexit pcm030_fabric_remove(struct platform_device *op) 104static int pcm030_fabric_remove(struct platform_device *op)
105{ 105{
106 struct pcm030_audio_data *pdata = platform_get_drvdata(op); 106 struct pcm030_audio_data *pdata = platform_get_drvdata(op);
107 int ret; 107 int ret;
@@ -120,7 +120,7 @@ MODULE_DEVICE_TABLE(of, pcm030_audio_match);
120 120
121static struct platform_driver pcm030_fabric_driver = { 121static struct platform_driver pcm030_fabric_driver = {
122 .probe = pcm030_fabric_probe, 122 .probe = pcm030_fabric_probe,
123 .remove = __devexit_p(pcm030_fabric_remove), 123 .remove = pcm030_fabric_remove,
124 .driver = { 124 .driver = {
125 .name = DRV_NAME, 125 .name = DRV_NAME,
126 .owner = THIS_MODULE, 126 .owner = THIS_MODULE,
diff --git a/sound/soc/jz4740/jz4740-i2s.c b/sound/soc/jz4740/jz4740-i2s.c
index 41349670adab..6cef491f4823 100644
--- a/sound/soc/jz4740/jz4740-i2s.c
+++ b/sound/soc/jz4740/jz4740-i2s.c
@@ -425,7 +425,7 @@ static struct snd_soc_dai_driver jz4740_i2s_dai = {
425 .resume = jz4740_i2s_resume, 425 .resume = jz4740_i2s_resume,
426}; 426};
427 427
428static int __devinit jz4740_i2s_dev_probe(struct platform_device *pdev) 428static int jz4740_i2s_dev_probe(struct platform_device *pdev)
429{ 429{
430 struct jz4740_i2s *i2s; 430 struct jz4740_i2s *i2s;
431 int ret; 431 int ret;
@@ -492,7 +492,7 @@ err_free:
492 return ret; 492 return ret;
493} 493}
494 494
495static int __devexit jz4740_i2s_dev_remove(struct platform_device *pdev) 495static int jz4740_i2s_dev_remove(struct platform_device *pdev)
496{ 496{
497 struct jz4740_i2s *i2s = platform_get_drvdata(pdev); 497 struct jz4740_i2s *i2s = platform_get_drvdata(pdev);
498 498
@@ -512,7 +512,7 @@ static int __devexit jz4740_i2s_dev_remove(struct platform_device *pdev)
512 512
513static struct platform_driver jz4740_i2s_driver = { 513static struct platform_driver jz4740_i2s_driver = {
514 .probe = jz4740_i2s_dev_probe, 514 .probe = jz4740_i2s_dev_probe,
515 .remove = __devexit_p(jz4740_i2s_dev_remove), 515 .remove = jz4740_i2s_dev_remove,
516 .driver = { 516 .driver = {
517 .name = "jz4740-i2s", 517 .name = "jz4740-i2s",
518 .owner = THIS_MODULE, 518 .owner = THIS_MODULE,
diff --git a/sound/soc/jz4740/jz4740-pcm.c b/sound/soc/jz4740/jz4740-pcm.c
index 9b8cf256847d..710059292318 100644
--- a/sound/soc/jz4740/jz4740-pcm.c
+++ b/sound/soc/jz4740/jz4740-pcm.c
@@ -335,12 +335,12 @@ static struct snd_soc_platform_driver jz4740_soc_platform = {
335 .pcm_free = jz4740_pcm_free, 335 .pcm_free = jz4740_pcm_free,
336}; 336};
337 337
338static int __devinit jz4740_pcm_probe(struct platform_device *pdev) 338static int jz4740_pcm_probe(struct platform_device *pdev)
339{ 339{
340 return snd_soc_register_platform(&pdev->dev, &jz4740_soc_platform); 340 return snd_soc_register_platform(&pdev->dev, &jz4740_soc_platform);
341} 341}
342 342
343static int __devexit jz4740_pcm_remove(struct platform_device *pdev) 343static int jz4740_pcm_remove(struct platform_device *pdev)
344{ 344{
345 snd_soc_unregister_platform(&pdev->dev); 345 snd_soc_unregister_platform(&pdev->dev);
346 return 0; 346 return 0;
@@ -348,7 +348,7 @@ static int __devexit jz4740_pcm_remove(struct platform_device *pdev)
348 348
349static struct platform_driver jz4740_pcm_driver = { 349static struct platform_driver jz4740_pcm_driver = {
350 .probe = jz4740_pcm_probe, 350 .probe = jz4740_pcm_probe,
351 .remove = __devexit_p(jz4740_pcm_remove), 351 .remove = jz4740_pcm_remove,
352 .driver = { 352 .driver = {
353 .name = "jz4740-pcm-audio", 353 .name = "jz4740-pcm-audio",
354 .owner = THIS_MODULE, 354 .owner = THIS_MODULE,
diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c
index e8aaff18d7cc..55fd6b5df55f 100644
--- a/sound/soc/jz4740/qi_lb60.c
+++ b/sound/soc/jz4740/qi_lb60.c
@@ -96,7 +96,7 @@ static const struct gpio qi_lb60_gpios[] = {
96 { QI_LB60_AMP_GPIO, GPIOF_OUT_INIT_LOW, "AMP" }, 96 { QI_LB60_AMP_GPIO, GPIOF_OUT_INIT_LOW, "AMP" },
97}; 97};
98 98
99static int __devinit qi_lb60_probe(struct platform_device *pdev) 99static int qi_lb60_probe(struct platform_device *pdev)
100{ 100{
101 struct snd_soc_card *card = &qi_lb60; 101 struct snd_soc_card *card = &qi_lb60;
102 int ret; 102 int ret;
@@ -116,7 +116,7 @@ static int __devinit qi_lb60_probe(struct platform_device *pdev)
116 return ret; 116 return ret;
117} 117}
118 118
119static int __devexit qi_lb60_remove(struct platform_device *pdev) 119static int qi_lb60_remove(struct platform_device *pdev)
120{ 120{
121 struct snd_soc_card *card = platform_get_drvdata(pdev); 121 struct snd_soc_card *card = platform_get_drvdata(pdev);
122 122
@@ -131,7 +131,7 @@ static struct platform_driver qi_lb60_driver = {
131 .owner = THIS_MODULE, 131 .owner = THIS_MODULE,
132 }, 132 },
133 .probe = qi_lb60_probe, 133 .probe = qi_lb60_probe,
134 .remove = __devexit_p(qi_lb60_remove), 134 .remove = qi_lb60_remove,
135}; 135};
136 136
137module_platform_driver(qi_lb60_driver); 137module_platform_driver(qi_lb60_driver);
diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c
index 58d5a96b366f..d3d4bdca1cc6 100644
--- a/sound/soc/kirkwood/kirkwood-dma.c
+++ b/sound/soc/kirkwood/kirkwood-dma.c
@@ -372,12 +372,12 @@ static struct snd_soc_platform_driver kirkwood_soc_platform = {
372 .pcm_free = kirkwood_dma_free_dma_buffers, 372 .pcm_free = kirkwood_dma_free_dma_buffers,
373}; 373};
374 374
375static int __devinit kirkwood_soc_platform_probe(struct platform_device *pdev) 375static int kirkwood_soc_platform_probe(struct platform_device *pdev)
376{ 376{
377 return snd_soc_register_platform(&pdev->dev, &kirkwood_soc_platform); 377 return snd_soc_register_platform(&pdev->dev, &kirkwood_soc_platform);
378} 378}
379 379
380static int __devexit kirkwood_soc_platform_remove(struct platform_device *pdev) 380static int kirkwood_soc_platform_remove(struct platform_device *pdev)
381{ 381{
382 snd_soc_unregister_platform(&pdev->dev); 382 snd_soc_unregister_platform(&pdev->dev);
383 return 0; 383 return 0;
@@ -390,7 +390,7 @@ static struct platform_driver kirkwood_pcm_driver = {
390 }, 390 },
391 391
392 .probe = kirkwood_soc_platform_probe, 392 .probe = kirkwood_soc_platform_probe,
393 .remove = __devexit_p(kirkwood_soc_platform_remove), 393 .remove = kirkwood_soc_platform_remove,
394}; 394};
395 395
396module_platform_driver(kirkwood_pcm_driver); 396module_platform_driver(kirkwood_pcm_driver);
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index d3629d5927e9..282d8b1163ba 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -451,7 +451,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk = {
451 .ops = &kirkwood_i2s_dai_ops, 451 .ops = &kirkwood_i2s_dai_ops,
452}; 452};
453 453
454static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) 454static int kirkwood_i2s_dev_probe(struct platform_device *pdev)
455{ 455{
456 struct kirkwood_asoc_platform_data *data = pdev->dev.platform_data; 456 struct kirkwood_asoc_platform_data *data = pdev->dev.platform_data;
457 struct snd_soc_dai_driver *soc_dai = &kirkwood_i2s_dai; 457 struct snd_soc_dai_driver *soc_dai = &kirkwood_i2s_dai;
@@ -540,7 +540,7 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev)
540 return err; 540 return err;
541} 541}
542 542
543static __devexit int kirkwood_i2s_dev_remove(struct platform_device *pdev) 543static int kirkwood_i2s_dev_remove(struct platform_device *pdev)
544{ 544{
545 struct kirkwood_dma_data *priv = dev_get_drvdata(&pdev->dev); 545 struct kirkwood_dma_data *priv = dev_get_drvdata(&pdev->dev);
546 546
@@ -557,7 +557,7 @@ static __devexit int kirkwood_i2s_dev_remove(struct platform_device *pdev)
557 557
558static struct platform_driver kirkwood_i2s_driver = { 558static struct platform_driver kirkwood_i2s_driver = {
559 .probe = kirkwood_i2s_dev_probe, 559 .probe = kirkwood_i2s_dev_probe,
560 .remove = __devexit_p(kirkwood_i2s_dev_remove), 560 .remove = kirkwood_i2s_dev_remove,
561 .driver = { 561 .driver = {
562 .name = DRV_NAME, 562 .name = DRV_NAME,
563 .owner = THIS_MODULE, 563 .owner = THIS_MODULE,
diff --git a/sound/soc/kirkwood/kirkwood-openrd.c b/sound/soc/kirkwood/kirkwood-openrd.c
index c28540aeea25..b979c7154715 100644
--- a/sound/soc/kirkwood/kirkwood-openrd.c
+++ b/sound/soc/kirkwood/kirkwood-openrd.c
@@ -71,7 +71,7 @@ static struct snd_soc_card openrd_client = {
71 .num_links = ARRAY_SIZE(openrd_client_dai), 71 .num_links = ARRAY_SIZE(openrd_client_dai),
72}; 72};
73 73
74static int __devinit openrd_probe(struct platform_device *pdev) 74static int openrd_probe(struct platform_device *pdev)
75{ 75{
76 struct snd_soc_card *card = &openrd_client; 76 struct snd_soc_card *card = &openrd_client;
77 int ret; 77 int ret;
@@ -85,7 +85,7 @@ static int __devinit openrd_probe(struct platform_device *pdev)
85 return ret; 85 return ret;
86} 86}
87 87
88static int __devexit openrd_remove(struct platform_device *pdev) 88static int openrd_remove(struct platform_device *pdev)
89{ 89{
90 struct snd_soc_card *card = platform_get_drvdata(pdev); 90 struct snd_soc_card *card = platform_get_drvdata(pdev);
91 91
@@ -99,7 +99,7 @@ static struct platform_driver openrd_driver = {
99 .owner = THIS_MODULE, 99 .owner = THIS_MODULE,
100 }, 100 },
101 .probe = openrd_probe, 101 .probe = openrd_probe,
102 .remove = __devexit_p(openrd_remove), 102 .remove = openrd_remove,
103}; 103};
104 104
105module_platform_driver(openrd_driver); 105module_platform_driver(openrd_driver);
diff --git a/sound/soc/kirkwood/kirkwood-t5325.c b/sound/soc/kirkwood/kirkwood-t5325.c
index c67bbc574987..1d0ed6f8add7 100644
--- a/sound/soc/kirkwood/kirkwood-t5325.c
+++ b/sound/soc/kirkwood/kirkwood-t5325.c
@@ -92,7 +92,7 @@ static struct snd_soc_card t5325 = {
92 .num_dapm_routes = ARRAY_SIZE(t5325_route), 92 .num_dapm_routes = ARRAY_SIZE(t5325_route),
93}; 93};
94 94
95static int __devinit t5325_probe(struct platform_device *pdev) 95static int t5325_probe(struct platform_device *pdev)
96{ 96{
97 struct snd_soc_card *card = &t5325; 97 struct snd_soc_card *card = &t5325;
98 int ret; 98 int ret;
@@ -106,7 +106,7 @@ static int __devinit t5325_probe(struct platform_device *pdev)
106 return ret; 106 return ret;
107} 107}
108 108
109static int __devexit t5325_remove(struct platform_device *pdev) 109static int t5325_remove(struct platform_device *pdev)
110{ 110{
111 struct snd_soc_card *card = platform_get_drvdata(pdev); 111 struct snd_soc_card *card = platform_get_drvdata(pdev);
112 112
@@ -120,7 +120,7 @@ static struct platform_driver t5325_driver = {
120 .owner = THIS_MODULE, 120 .owner = THIS_MODULE,
121 }, 121 },
122 .probe = t5325_probe, 122 .probe = t5325_probe,
123 .remove = __devexit_p(t5325_remove), 123 .remove = t5325_remove,
124}; 124};
125 125
126module_platform_driver(t5325_driver); 126module_platform_driver(t5325_driver);
diff --git a/sound/soc/mid-x86/mfld_machine.c b/sound/soc/mid-x86/mfld_machine.c
index 2cc7782714b5..4139116c33b5 100644
--- a/sound/soc/mid-x86/mfld_machine.c
+++ b/sound/soc/mid-x86/mfld_machine.c
@@ -358,7 +358,7 @@ static irqreturn_t snd_mfld_jack_detection(int irq, void *data)
358 return IRQ_HANDLED; 358 return IRQ_HANDLED;
359} 359}
360 360
361static int __devinit snd_mfld_mc_probe(struct platform_device *pdev) 361static int snd_mfld_mc_probe(struct platform_device *pdev)
362{ 362{
363 int ret_val = 0, irq; 363 int ret_val = 0, irq;
364 struct mfld_mc_private *mc_drv_ctx; 364 struct mfld_mc_private *mc_drv_ctx;
@@ -417,7 +417,7 @@ unalloc:
417 return ret_val; 417 return ret_val;
418} 418}
419 419
420static int __devexit snd_mfld_mc_remove(struct platform_device *pdev) 420static int snd_mfld_mc_remove(struct platform_device *pdev)
421{ 421{
422 struct mfld_mc_private *mc_drv_ctx = platform_get_drvdata(pdev); 422 struct mfld_mc_private *mc_drv_ctx = platform_get_drvdata(pdev);
423 423
@@ -435,7 +435,7 @@ static struct platform_driver snd_mfld_mc_driver = {
435 .name = "msic_audio", 435 .name = "msic_audio",
436 }, 436 },
437 .probe = snd_mfld_mc_probe, 437 .probe = snd_mfld_mc_probe,
438 .remove = __devexit_p(snd_mfld_mc_remove), 438 .remove = snd_mfld_mc_remove,
439}; 439};
440 440
441module_platform_driver(snd_mfld_mc_driver); 441module_platform_driver(snd_mfld_mc_driver);
diff --git a/sound/soc/mxs/mxs-pcm.c b/sound/soc/mxs/mxs-pcm.c
index f82d766cbf9e..564b5b60319d 100644
--- a/sound/soc/mxs/mxs-pcm.c
+++ b/sound/soc/mxs/mxs-pcm.c
@@ -220,13 +220,13 @@ static struct snd_soc_platform_driver mxs_soc_platform = {
220 .pcm_free = mxs_pcm_free, 220 .pcm_free = mxs_pcm_free,
221}; 221};
222 222
223int __devinit mxs_pcm_platform_register(struct device *dev) 223int mxs_pcm_platform_register(struct device *dev)
224{ 224{
225 return snd_soc_register_platform(dev, &mxs_soc_platform); 225 return snd_soc_register_platform(dev, &mxs_soc_platform);
226} 226}
227EXPORT_SYMBOL_GPL(mxs_pcm_platform_register); 227EXPORT_SYMBOL_GPL(mxs_pcm_platform_register);
228 228
229void __devexit mxs_pcm_platform_unregister(struct device *dev) 229void mxs_pcm_platform_unregister(struct device *dev)
230{ 230{
231 snd_soc_unregister_platform(dev); 231 snd_soc_unregister_platform(dev);
232} 232}
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
index b304e375568a..365d9d27a321 100644
--- a/sound/soc/mxs/mxs-saif.c
+++ b/sound/soc/mxs/mxs-saif.c
@@ -657,7 +657,7 @@ static irqreturn_t mxs_saif_irq(int irq, void *dev_id)
657 return IRQ_HANDLED; 657 return IRQ_HANDLED;
658} 658}
659 659
660static int __devinit mxs_saif_probe(struct platform_device *pdev) 660static int mxs_saif_probe(struct platform_device *pdev)
661{ 661{
662 struct device_node *np = pdev->dev.of_node; 662 struct device_node *np = pdev->dev.of_node;
663 struct resource *iores, *dmares; 663 struct resource *iores, *dmares;
@@ -792,7 +792,7 @@ failed_pdev_alloc:
792 return ret; 792 return ret;
793} 793}
794 794
795static int __devexit mxs_saif_remove(struct platform_device *pdev) 795static int mxs_saif_remove(struct platform_device *pdev)
796{ 796{
797 mxs_pcm_platform_unregister(&pdev->dev); 797 mxs_pcm_platform_unregister(&pdev->dev);
798 snd_soc_unregister_dai(&pdev->dev); 798 snd_soc_unregister_dai(&pdev->dev);
@@ -808,7 +808,7 @@ MODULE_DEVICE_TABLE(of, mxs_saif_dt_ids);
808 808
809static struct platform_driver mxs_saif_driver = { 809static struct platform_driver mxs_saif_driver = {
810 .probe = mxs_saif_probe, 810 .probe = mxs_saif_probe,
811 .remove = __devexit_p(mxs_saif_remove), 811 .remove = mxs_saif_remove,
812 812
813 .driver = { 813 .driver = {
814 .name = "mxs-saif", 814 .name = "mxs-saif",
diff --git a/sound/soc/mxs/mxs-sgtl5000.c b/sound/soc/mxs/mxs-sgtl5000.c
index 215113b05f7d..b1d9b5ebeeeb 100644
--- a/sound/soc/mxs/mxs-sgtl5000.c
+++ b/sound/soc/mxs/mxs-sgtl5000.c
@@ -112,7 +112,7 @@ static struct snd_soc_card mxs_sgtl5000 = {
112 .num_links = ARRAY_SIZE(mxs_sgtl5000_dai), 112 .num_links = ARRAY_SIZE(mxs_sgtl5000_dai),
113}; 113};
114 114
115static int __devinit mxs_sgtl5000_probe_dt(struct platform_device *pdev) 115static int mxs_sgtl5000_probe_dt(struct platform_device *pdev)
116{ 116{
117 struct device_node *np = pdev->dev.of_node; 117 struct device_node *np = pdev->dev.of_node;
118 struct device_node *saif_np[2], *codec_np; 118 struct device_node *saif_np[2], *codec_np;
@@ -145,7 +145,7 @@ static int __devinit mxs_sgtl5000_probe_dt(struct platform_device *pdev)
145 return ret; 145 return ret;
146} 146}
147 147
148static int __devinit mxs_sgtl5000_probe(struct platform_device *pdev) 148static int mxs_sgtl5000_probe(struct platform_device *pdev)
149{ 149{
150 struct snd_soc_card *card = &mxs_sgtl5000; 150 struct snd_soc_card *card = &mxs_sgtl5000;
151 int ret; 151 int ret;
@@ -176,7 +176,7 @@ static int __devinit mxs_sgtl5000_probe(struct platform_device *pdev)
176 return 0; 176 return 0;
177} 177}
178 178
179static int __devexit mxs_sgtl5000_remove(struct platform_device *pdev) 179static int mxs_sgtl5000_remove(struct platform_device *pdev)
180{ 180{
181 struct snd_soc_card *card = platform_get_drvdata(pdev); 181 struct snd_soc_card *card = platform_get_drvdata(pdev);
182 182
@@ -200,7 +200,7 @@ static struct platform_driver mxs_sgtl5000_audio_driver = {
200 .of_match_table = mxs_sgtl5000_dt_ids, 200 .of_match_table = mxs_sgtl5000_dt_ids,
201 }, 201 },
202 .probe = mxs_sgtl5000_probe, 202 .probe = mxs_sgtl5000_probe,
203 .remove = __devexit_p(mxs_sgtl5000_remove), 203 .remove = mxs_sgtl5000_remove,
204}; 204};
205 205
206module_platform_driver(mxs_sgtl5000_audio_driver); 206module_platform_driver(mxs_sgtl5000_audio_driver);
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
index 946020a647db..0418467a4848 100644
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -314,7 +314,7 @@ static struct snd_soc_dai_driver nuc900_ac97_dai = {
314 .ops = &nuc900_ac97_dai_ops, 314 .ops = &nuc900_ac97_dai_ops,
315}; 315};
316 316
317static int __devinit nuc900_ac97_drvprobe(struct platform_device *pdev) 317static int nuc900_ac97_drvprobe(struct platform_device *pdev)
318{ 318{
319 struct nuc900_audio *nuc900_audio; 319 struct nuc900_audio *nuc900_audio;
320 int ret; 320 int ret;
@@ -382,7 +382,7 @@ out0:
382 return ret; 382 return ret;
383} 383}
384 384
385static int __devexit nuc900_ac97_drvremove(struct platform_device *pdev) 385static int nuc900_ac97_drvremove(struct platform_device *pdev)
386{ 386{
387 snd_soc_unregister_dai(&pdev->dev); 387 snd_soc_unregister_dai(&pdev->dev);
388 388
@@ -403,7 +403,7 @@ static struct platform_driver nuc900_ac97_driver = {
403 .owner = THIS_MODULE, 403 .owner = THIS_MODULE,
404 }, 404 },
405 .probe = nuc900_ac97_drvprobe, 405 .probe = nuc900_ac97_drvprobe,
406 .remove = __devexit_p(nuc900_ac97_drvremove), 406 .remove = nuc900_ac97_drvremove,
407}; 407};
408 408
409module_platform_driver(nuc900_ac97_driver); 409module_platform_driver(nuc900_ac97_driver);
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index 37585b47f4e3..c894ff0f2580 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -337,12 +337,12 @@ static struct snd_soc_platform_driver nuc900_soc_platform = {
337 .pcm_free = nuc900_dma_free_dma_buffers, 337 .pcm_free = nuc900_dma_free_dma_buffers,
338}; 338};
339 339
340static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev) 340static int nuc900_soc_platform_probe(struct platform_device *pdev)
341{ 341{
342 return snd_soc_register_platform(&pdev->dev, &nuc900_soc_platform); 342 return snd_soc_register_platform(&pdev->dev, &nuc900_soc_platform);
343} 343}
344 344
345static int __devexit nuc900_soc_platform_remove(struct platform_device *pdev) 345static int nuc900_soc_platform_remove(struct platform_device *pdev)
346{ 346{
347 snd_soc_unregister_platform(&pdev->dev); 347 snd_soc_unregister_platform(&pdev->dev);
348 return 0; 348 return 0;
@@ -355,7 +355,7 @@ static struct platform_driver nuc900_pcm_driver = {
355 }, 355 },
356 356
357 .probe = nuc900_soc_platform_probe, 357 .probe = nuc900_soc_platform_probe,
358 .remove = __devexit_p(nuc900_soc_platform_remove), 358 .remove = nuc900_soc_platform_remove,
359}; 359};
360 360
361module_platform_driver(nuc900_pcm_driver); 361module_platform_driver(nuc900_pcm_driver);
diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c
index d8e96b2cd03e..2600447fa74f 100644
--- a/sound/soc/omap/ams-delta.c
+++ b/sound/soc/omap/ams-delta.c
@@ -575,7 +575,7 @@ static struct snd_soc_card ams_delta_audio_card = {
575}; 575};
576 576
577/* Module init/exit */ 577/* Module init/exit */
578static __devinit int ams_delta_probe(struct platform_device *pdev) 578static int ams_delta_probe(struct platform_device *pdev)
579{ 579{
580 struct snd_soc_card *card = &ams_delta_audio_card; 580 struct snd_soc_card *card = &ams_delta_audio_card;
581 int ret; 581 int ret;
@@ -591,7 +591,7 @@ static __devinit int ams_delta_probe(struct platform_device *pdev)
591 return 0; 591 return 0;
592} 592}
593 593
594static int __devexit ams_delta_remove(struct platform_device *pdev) 594static int ams_delta_remove(struct platform_device *pdev)
595{ 595{
596 struct snd_soc_card *card = platform_get_drvdata(pdev); 596 struct snd_soc_card *card = platform_get_drvdata(pdev);
597 597
@@ -616,7 +616,7 @@ static struct platform_driver ams_delta_driver = {
616 .owner = THIS_MODULE, 616 .owner = THIS_MODULE,
617 }, 617 },
618 .probe = ams_delta_probe, 618 .probe = ams_delta_probe,
619 .remove = __devexit_p(ams_delta_remove), 619 .remove = ams_delta_remove,
620}; 620};
621 621
622module_platform_driver(ams_delta_driver); 622module_platform_driver(ams_delta_driver);
diff --git a/sound/soc/omap/mcbsp.c b/sound/soc/omap/mcbsp.c
index a9a243860428..285c8368cb47 100644
--- a/sound/soc/omap/mcbsp.c
+++ b/sound/soc/omap/mcbsp.c
@@ -930,8 +930,7 @@ static const struct attribute_group sidetone_attr_group = {
930 .attrs = (struct attribute **)sidetone_attrs, 930 .attrs = (struct attribute **)sidetone_attrs,
931}; 931};
932 932
933static int __devinit omap_st_add(struct omap_mcbsp *mcbsp, 933static int omap_st_add(struct omap_mcbsp *mcbsp, struct resource *res)
934 struct resource *res)
935{ 934{
936 struct omap_mcbsp_st_data *st_data; 935 struct omap_mcbsp_st_data *st_data;
937 int err; 936 int err;
@@ -957,7 +956,7 @@ static int __devinit omap_st_add(struct omap_mcbsp *mcbsp,
957 * McBSP1 and McBSP3 are directly mapped on 1610 and 1510. 956 * McBSP1 and McBSP3 are directly mapped on 1610 and 1510.
958 * 730 has only 2 McBSP, and both of them are MPU peripherals. 957 * 730 has only 2 McBSP, and both of them are MPU peripherals.
959 */ 958 */
960int __devinit omap_mcbsp_init(struct platform_device *pdev) 959int omap_mcbsp_init(struct platform_device *pdev)
961{ 960{
962 struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev); 961 struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev);
963 struct resource *res; 962 struct resource *res;
@@ -1085,7 +1084,7 @@ err_thres:
1085 return ret; 1084 return ret;
1086} 1085}
1087 1086
1088void __devexit omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp) 1087void omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp)
1089{ 1088{
1090 if (mcbsp->pdata->buffer_size) 1089 if (mcbsp->pdata->buffer_size)
1091 sysfs_remove_group(&mcbsp->dev->kobj, &additional_attr_group); 1090 sysfs_remove_group(&mcbsp->dev->kobj, &additional_attr_group);
diff --git a/sound/soc/omap/mcbsp.h b/sound/soc/omap/mcbsp.h
index a89791c239a5..f93e0b0af303 100644
--- a/sound/soc/omap/mcbsp.h
+++ b/sound/soc/omap/mcbsp.h
@@ -347,7 +347,7 @@ int omap_st_enable(struct omap_mcbsp *mcbsp);
347int omap_st_disable(struct omap_mcbsp *mcbsp); 347int omap_st_disable(struct omap_mcbsp *mcbsp);
348int omap_st_is_enabled(struct omap_mcbsp *mcbsp); 348int omap_st_is_enabled(struct omap_mcbsp *mcbsp);
349 349
350int __devinit omap_mcbsp_init(struct platform_device *pdev); 350int omap_mcbsp_init(struct platform_device *pdev);
351void __devexit omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp); 351void omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp);
352 352
353#endif /* __ASOC_MCBSP_H */ 353#endif /* __ASOC_MCBSP_H */
diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index 1d6ea8609d28..e7d93fa412a9 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -273,7 +273,7 @@ static struct snd_soc_card omap_abe_card = {
273 .num_dapm_routes = ARRAY_SIZE(audio_map), 273 .num_dapm_routes = ARRAY_SIZE(audio_map),
274}; 274};
275 275
276static __devinit int omap_abe_probe(struct platform_device *pdev) 276static int omap_abe_probe(struct platform_device *pdev)
277{ 277{
278 struct omap_abe_twl6040_data *pdata = dev_get_platdata(&pdev->dev); 278 struct omap_abe_twl6040_data *pdata = dev_get_platdata(&pdev->dev);
279 struct device_node *node = pdev->dev.of_node; 279 struct device_node *node = pdev->dev.of_node;
@@ -390,7 +390,7 @@ err_unregister:
390 return ret; 390 return ret;
391} 391}
392 392
393static int __devexit omap_abe_remove(struct platform_device *pdev) 393static int omap_abe_remove(struct platform_device *pdev)
394{ 394{
395 struct snd_soc_card *card = platform_get_drvdata(pdev); 395 struct snd_soc_card *card = platform_get_drvdata(pdev);
396 struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card); 396 struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card);
@@ -417,7 +417,7 @@ static struct platform_driver omap_abe_driver = {
417 .of_match_table = omap_abe_of_match, 417 .of_match_table = omap_abe_of_match,
418 }, 418 },
419 .probe = omap_abe_probe, 419 .probe = omap_abe_probe,
420 .remove = __devexit_p(omap_abe_remove), 420 .remove = omap_abe_remove,
421}; 421};
422 422
423module_platform_driver(omap_abe_driver); 423module_platform_driver(omap_abe_driver);
diff --git a/sound/soc/omap/omap-dmic.c b/sound/soc/omap/omap-dmic.c
index 5a6aeaf552a8..ba49ccd9eed9 100644
--- a/sound/soc/omap/omap-dmic.c
+++ b/sound/soc/omap/omap-dmic.c
@@ -448,7 +448,7 @@ static struct snd_soc_dai_driver omap_dmic_dai = {
448 .ops = &omap_dmic_dai_ops, 448 .ops = &omap_dmic_dai_ops,
449}; 449};
450 450
451static __devinit int asoc_dmic_probe(struct platform_device *pdev) 451static int asoc_dmic_probe(struct platform_device *pdev)
452{ 452{
453 struct omap_dmic *dmic; 453 struct omap_dmic *dmic;
454 struct resource *res; 454 struct resource *res;
@@ -518,7 +518,7 @@ err_put_clk:
518 return ret; 518 return ret;
519} 519}
520 520
521static int __devexit asoc_dmic_remove(struct platform_device *pdev) 521static int asoc_dmic_remove(struct platform_device *pdev)
522{ 522{
523 struct omap_dmic *dmic = platform_get_drvdata(pdev); 523 struct omap_dmic *dmic = platform_get_drvdata(pdev);
524 524
@@ -541,7 +541,7 @@ static struct platform_driver asoc_dmic_driver = {
541 .of_match_table = omap_dmic_of_match, 541 .of_match_table = omap_dmic_of_match,
542 }, 542 },
543 .probe = asoc_dmic_probe, 543 .probe = asoc_dmic_probe,
544 .remove = __devexit_p(asoc_dmic_remove), 544 .remove = asoc_dmic_remove,
545}; 545};
546 546
547module_platform_driver(asoc_dmic_driver); 547module_platform_driver(asoc_dmic_driver);
diff --git a/sound/soc/omap/omap-hdmi-card.c b/sound/soc/omap/omap-hdmi-card.c
index eaa2ea0e3f81..d4eaa92e518e 100644
--- a/sound/soc/omap/omap-hdmi-card.c
+++ b/sound/soc/omap/omap-hdmi-card.c
@@ -45,7 +45,7 @@ static struct snd_soc_card snd_soc_omap_hdmi = {
45 .num_links = 1, 45 .num_links = 1,
46}; 46};
47 47
48static __devinit int omap_hdmi_probe(struct platform_device *pdev) 48static int omap_hdmi_probe(struct platform_device *pdev)
49{ 49{
50 struct snd_soc_card *card = &snd_soc_omap_hdmi; 50 struct snd_soc_card *card = &snd_soc_omap_hdmi;
51 int ret; 51 int ret;
@@ -61,7 +61,7 @@ static __devinit int omap_hdmi_probe(struct platform_device *pdev)
61 return 0; 61 return 0;
62} 62}
63 63
64static int __devexit omap_hdmi_remove(struct platform_device *pdev) 64static int omap_hdmi_remove(struct platform_device *pdev)
65{ 65{
66 struct snd_soc_card *card = platform_get_drvdata(pdev); 66 struct snd_soc_card *card = platform_get_drvdata(pdev);
67 67
@@ -76,7 +76,7 @@ static struct platform_driver omap_hdmi_driver = {
76 .owner = THIS_MODULE, 76 .owner = THIS_MODULE,
77 }, 77 },
78 .probe = omap_hdmi_probe, 78 .probe = omap_hdmi_probe,
79 .remove = __devexit_p(omap_hdmi_remove), 79 .remove = omap_hdmi_remove,
80}; 80};
81 81
82module_platform_driver(omap_hdmi_driver); 82module_platform_driver(omap_hdmi_driver);
diff --git a/sound/soc/omap/omap-hdmi.c b/sound/soc/omap/omap-hdmi.c
index f59c69fb400e..7ea24819d570 100644
--- a/sound/soc/omap/omap-hdmi.c
+++ b/sound/soc/omap/omap-hdmi.c
@@ -262,7 +262,7 @@ static struct snd_soc_dai_driver omap_hdmi_dai = {
262 .ops = &omap_hdmi_dai_ops, 262 .ops = &omap_hdmi_dai_ops,
263}; 263};
264 264
265static __devinit int omap_hdmi_probe(struct platform_device *pdev) 265static int omap_hdmi_probe(struct platform_device *pdev)
266{ 266{
267 int ret; 267 int ret;
268 struct resource *hdmi_rsrc; 268 struct resource *hdmi_rsrc;
@@ -324,7 +324,7 @@ static __devinit int omap_hdmi_probe(struct platform_device *pdev)
324 return ret; 324 return ret;
325} 325}
326 326
327static int __devexit omap_hdmi_remove(struct platform_device *pdev) 327static int omap_hdmi_remove(struct platform_device *pdev)
328{ 328{
329 struct hdmi_priv *hdmi_data = dev_get_drvdata(&pdev->dev); 329 struct hdmi_priv *hdmi_data = dev_get_drvdata(&pdev->dev);
330 330
@@ -345,7 +345,7 @@ static struct platform_driver hdmi_dai_driver = {
345 .owner = THIS_MODULE, 345 .owner = THIS_MODULE,
346 }, 346 },
347 .probe = omap_hdmi_probe, 347 .probe = omap_hdmi_probe,
348 .remove = __devexit_p(omap_hdmi_remove), 348 .remove = omap_hdmi_remove,
349}; 349};
350 350
351module_platform_driver(hdmi_dai_driver); 351module_platform_driver(hdmi_dai_driver);
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 09167609c93e..8d2defd6fdbe 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -757,7 +757,7 @@ static const struct of_device_id omap_mcbsp_of_match[] = {
757}; 757};
758MODULE_DEVICE_TABLE(of, omap_mcbsp_of_match); 758MODULE_DEVICE_TABLE(of, omap_mcbsp_of_match);
759 759
760static __devinit int asoc_mcbsp_probe(struct platform_device *pdev) 760static int asoc_mcbsp_probe(struct platform_device *pdev)
761{ 761{
762 struct omap_mcbsp_platform_data *pdata = dev_get_platdata(&pdev->dev); 762 struct omap_mcbsp_platform_data *pdata = dev_get_platdata(&pdev->dev);
763 struct omap_mcbsp *mcbsp; 763 struct omap_mcbsp *mcbsp;
@@ -798,7 +798,7 @@ static __devinit int asoc_mcbsp_probe(struct platform_device *pdev)
798 return ret; 798 return ret;
799} 799}
800 800
801static int __devexit asoc_mcbsp_remove(struct platform_device *pdev) 801static int asoc_mcbsp_remove(struct platform_device *pdev)
802{ 802{
803 struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev); 803 struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev);
804 804
@@ -824,7 +824,7 @@ static struct platform_driver asoc_mcbsp_driver = {
824 }, 824 },
825 825
826 .probe = asoc_mcbsp_probe, 826 .probe = asoc_mcbsp_probe,
827 .remove = __devexit_p(asoc_mcbsp_remove), 827 .remove = asoc_mcbsp_remove,
828}; 828};
829 829
830module_platform_driver(asoc_mcbsp_driver); 830module_platform_driver(asoc_mcbsp_driver);
diff --git a/sound/soc/omap/omap-mcpdm.c b/sound/soc/omap/omap-mcpdm.c
index 56965bb3275c..2fe8be209452 100644
--- a/sound/soc/omap/omap-mcpdm.c
+++ b/sound/soc/omap/omap-mcpdm.c
@@ -429,7 +429,7 @@ void omap_mcpdm_configure_dn_offsets(struct snd_soc_pcm_runtime *rtd,
429} 429}
430EXPORT_SYMBOL_GPL(omap_mcpdm_configure_dn_offsets); 430EXPORT_SYMBOL_GPL(omap_mcpdm_configure_dn_offsets);
431 431
432static __devinit int asoc_mcpdm_probe(struct platform_device *pdev) 432static int asoc_mcpdm_probe(struct platform_device *pdev)
433{ 433{
434 struct omap_mcpdm *mcpdm; 434 struct omap_mcpdm *mcpdm;
435 struct resource *res; 435 struct resource *res;
@@ -487,7 +487,7 @@ static __devinit int asoc_mcpdm_probe(struct platform_device *pdev)
487 return snd_soc_register_dai(&pdev->dev, &omap_mcpdm_dai); 487 return snd_soc_register_dai(&pdev->dev, &omap_mcpdm_dai);
488} 488}
489 489
490static int __devexit asoc_mcpdm_remove(struct platform_device *pdev) 490static int asoc_mcpdm_remove(struct platform_device *pdev)
491{ 491{
492 snd_soc_unregister_dai(&pdev->dev); 492 snd_soc_unregister_dai(&pdev->dev);
493 return 0; 493 return 0;
@@ -507,7 +507,7 @@ static struct platform_driver asoc_mcpdm_driver = {
507 }, 507 },
508 508
509 .probe = asoc_mcpdm_probe, 509 .probe = asoc_mcpdm_probe,
510 .remove = __devexit_p(asoc_mcpdm_remove), 510 .remove = asoc_mcpdm_remove,
511}; 511};
512 512
513module_platform_driver(asoc_mcpdm_driver); 513module_platform_driver(asoc_mcpdm_driver);
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index 340874ebf9ae..5f7e5b9c87a8 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -297,13 +297,13 @@ static struct snd_soc_platform_driver omap_soc_platform = {
297 .pcm_free = omap_pcm_free_dma_buffers, 297 .pcm_free = omap_pcm_free_dma_buffers,
298}; 298};
299 299
300static __devinit int omap_pcm_probe(struct platform_device *pdev) 300static int omap_pcm_probe(struct platform_device *pdev)
301{ 301{
302 return snd_soc_register_platform(&pdev->dev, 302 return snd_soc_register_platform(&pdev->dev,
303 &omap_soc_platform); 303 &omap_soc_platform);
304} 304}
305 305
306static int __devexit omap_pcm_remove(struct platform_device *pdev) 306static int omap_pcm_remove(struct platform_device *pdev)
307{ 307{
308 snd_soc_unregister_platform(&pdev->dev); 308 snd_soc_unregister_platform(&pdev->dev);
309 return 0; 309 return 0;
@@ -316,7 +316,7 @@ static struct platform_driver omap_pcm_driver = {
316 }, 316 },
317 317
318 .probe = omap_pcm_probe, 318 .probe = omap_pcm_probe,
319 .remove = __devexit_p(omap_pcm_remove), 319 .remove = omap_pcm_remove,
320}; 320};
321 321
322module_platform_driver(omap_pcm_driver); 322module_platform_driver(omap_pcm_driver);
diff --git a/sound/soc/omap/omap-twl4030.c b/sound/soc/omap/omap-twl4030.c
index 3b97b87971f5..4541d28b5314 100644
--- a/sound/soc/omap/omap-twl4030.c
+++ b/sound/soc/omap/omap-twl4030.c
@@ -107,7 +107,7 @@ static struct snd_soc_card omap_twl4030_card = {
107 .num_links = ARRAY_SIZE(omap_twl4030_dai_links), 107 .num_links = ARRAY_SIZE(omap_twl4030_dai_links),
108}; 108};
109 109
110static __devinit int omap_twl4030_probe(struct platform_device *pdev) 110static int omap_twl4030_probe(struct platform_device *pdev)
111{ 111{
112 struct omap_tw4030_pdata *pdata = dev_get_platdata(&pdev->dev); 112 struct omap_tw4030_pdata *pdata = dev_get_platdata(&pdev->dev);
113 struct device_node *node = pdev->dev.of_node; 113 struct device_node *node = pdev->dev.of_node;
@@ -154,7 +154,7 @@ static __devinit int omap_twl4030_probe(struct platform_device *pdev)
154 return 0; 154 return 0;
155} 155}
156 156
157static int __devexit omap_twl4030_remove(struct platform_device *pdev) 157static int omap_twl4030_remove(struct platform_device *pdev)
158{ 158{
159 struct snd_soc_card *card = platform_get_drvdata(pdev); 159 struct snd_soc_card *card = platform_get_drvdata(pdev);
160 160
@@ -177,7 +177,7 @@ static struct platform_driver omap_twl4030_driver = {
177 .of_match_table = omap_twl4030_of_match, 177 .of_match_table = omap_twl4030_of_match,
178 }, 178 },
179 .probe = omap_twl4030_probe, 179 .probe = omap_twl4030_probe,
180 .remove = __devexit_p(omap_twl4030_remove), 180 .remove = omap_twl4030_remove,
181}; 181};
182 182
183module_platform_driver(omap_twl4030_driver); 183module_platform_driver(omap_twl4030_driver);
diff --git a/sound/soc/omap/zoom2.c b/sound/soc/omap/zoom2.c
index 1ff6bb9ade5c..771bff27ac3e 100644
--- a/sound/soc/omap/zoom2.c
+++ b/sound/soc/omap/zoom2.c
@@ -37,8 +37,6 @@
37#include "omap-mcbsp.h" 37#include "omap-mcbsp.h"
38#include "omap-pcm.h" 38#include "omap-pcm.h"
39 39
40#define ZOOM2_HEADSET_MUX_GPIO (OMAP_MAX_GPIO_LINES + 15)
41
42static int zoom2_hw_params(struct snd_pcm_substream *substream, 40static int zoom2_hw_params(struct snd_pcm_substream *substream,
43 struct snd_pcm_hw_params *params) 41 struct snd_pcm_hw_params *params)
44{ 42{
@@ -187,9 +185,6 @@ static int __init zoom2_soc_init(void)
187 if (ret) 185 if (ret)
188 goto err1; 186 goto err1;
189 187
190 BUG_ON(gpio_request(ZOOM2_HEADSET_MUX_GPIO, "hs_mux") < 0);
191 gpio_direction_output(ZOOM2_HEADSET_MUX_GPIO, 0);
192
193 return 0; 188 return 0;
194 189
195err1: 190err1:
@@ -202,8 +197,6 @@ module_init(zoom2_soc_init);
202 197
203static void __exit zoom2_soc_exit(void) 198static void __exit zoom2_soc_exit(void)
204{ 199{
205 gpio_free(ZOOM2_HEADSET_MUX_GPIO);
206
207 platform_device_unregister(zoom2_snd_device); 200 platform_device_unregister(zoom2_snd_device);
208} 201}
209module_exit(zoom2_soc_exit); 202module_exit(zoom2_soc_exit);
diff --git a/sound/soc/pxa/brownstone.c b/sound/soc/pxa/brownstone.c
index 5e666e03d333..4ad76099dd43 100644
--- a/sound/soc/pxa/brownstone.c
+++ b/sound/soc/pxa/brownstone.c
@@ -140,7 +140,7 @@ static struct snd_soc_card brownstone = {
140 .num_dapm_routes = ARRAY_SIZE(brownstone_audio_map), 140 .num_dapm_routes = ARRAY_SIZE(brownstone_audio_map),
141}; 141};
142 142
143static int __devinit brownstone_probe(struct platform_device *pdev) 143static int brownstone_probe(struct platform_device *pdev)
144{ 144{
145 int ret; 145 int ret;
146 146
@@ -152,7 +152,7 @@ static int __devinit brownstone_probe(struct platform_device *pdev)
152 return ret; 152 return ret;
153} 153}
154 154
155static int __devexit brownstone_remove(struct platform_device *pdev) 155static int brownstone_remove(struct platform_device *pdev)
156{ 156{
157 snd_soc_unregister_card(&brownstone); 157 snd_soc_unregister_card(&brownstone);
158 return 0; 158 return 0;
@@ -164,7 +164,7 @@ static struct platform_driver mmp_driver = {
164 .owner = THIS_MODULE, 164 .owner = THIS_MODULE,
165 }, 165 },
166 .probe = brownstone_probe, 166 .probe = brownstone_probe,
167 .remove = __devexit_p(brownstone_remove), 167 .remove = brownstone_remove,
168}; 168};
169 169
170module_platform_driver(mmp_driver); 170module_platform_driver(mmp_driver);
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index 863367ad89ce..f4cce1e80112 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -303,7 +303,7 @@ static struct snd_soc_card corgi = {
303 .num_dapm_routes = ARRAY_SIZE(corgi_audio_map), 303 .num_dapm_routes = ARRAY_SIZE(corgi_audio_map),
304}; 304};
305 305
306static int __devinit corgi_probe(struct platform_device *pdev) 306static int corgi_probe(struct platform_device *pdev)
307{ 307{
308 struct snd_soc_card *card = &corgi; 308 struct snd_soc_card *card = &corgi;
309 int ret; 309 int ret;
@@ -317,7 +317,7 @@ static int __devinit corgi_probe(struct platform_device *pdev)
317 return ret; 317 return ret;
318} 318}
319 319
320static int __devexit corgi_remove(struct platform_device *pdev) 320static int corgi_remove(struct platform_device *pdev)
321{ 321{
322 struct snd_soc_card *card = platform_get_drvdata(pdev); 322 struct snd_soc_card *card = platform_get_drvdata(pdev);
323 323
@@ -331,7 +331,7 @@ static struct platform_driver corgi_driver = {
331 .owner = THIS_MODULE, 331 .owner = THIS_MODULE,
332 }, 332 },
333 .probe = corgi_probe, 333 .probe = corgi_probe,
334 .remove = __devexit_p(corgi_remove), 334 .remove = corgi_remove,
335}; 335};
336 336
337module_platform_driver(corgi_driver); 337module_platform_driver(corgi_driver);
diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c
index 7b1bc2390039..70d799b13f0d 100644
--- a/sound/soc/pxa/e740_wm9705.c
+++ b/sound/soc/pxa/e740_wm9705.c
@@ -144,7 +144,7 @@ static struct gpio e740_audio_gpios[] = {
144 { GPIO_E740_WM9705_nAVDD2, GPIOF_OUT_INIT_HIGH, "Audio power" }, 144 { GPIO_E740_WM9705_nAVDD2, GPIOF_OUT_INIT_HIGH, "Audio power" },
145}; 145};
146 146
147static int __devinit e740_probe(struct platform_device *pdev) 147static int e740_probe(struct platform_device *pdev)
148{ 148{
149 struct snd_soc_card *card = &e740; 149 struct snd_soc_card *card = &e740;
150 int ret; 150 int ret;
@@ -165,7 +165,7 @@ static int __devinit e740_probe(struct platform_device *pdev)
165 return ret; 165 return ret;
166} 166}
167 167
168static int __devexit e740_remove(struct platform_device *pdev) 168static int e740_remove(struct platform_device *pdev)
169{ 169{
170 struct snd_soc_card *card = platform_get_drvdata(pdev); 170 struct snd_soc_card *card = platform_get_drvdata(pdev);
171 171
@@ -180,7 +180,7 @@ static struct platform_driver e740_driver = {
180 .owner = THIS_MODULE, 180 .owner = THIS_MODULE,
181 }, 181 },
182 .probe = e740_probe, 182 .probe = e740_probe,
183 .remove = __devexit_p(e740_remove), 183 .remove = e740_remove,
184}; 184};
185 185
186module_platform_driver(e740_driver); 186module_platform_driver(e740_driver);
diff --git a/sound/soc/pxa/e750_wm9705.c b/sound/soc/pxa/e750_wm9705.c
index 47b89d71e287..f94d2ab51351 100644
--- a/sound/soc/pxa/e750_wm9705.c
+++ b/sound/soc/pxa/e750_wm9705.c
@@ -126,7 +126,7 @@ static struct gpio e750_audio_gpios[] = {
126 { GPIO_E750_SPK_AMP_OFF, GPIOF_OUT_INIT_HIGH, "Speaker amp" }, 126 { GPIO_E750_SPK_AMP_OFF, GPIOF_OUT_INIT_HIGH, "Speaker amp" },
127}; 127};
128 128
129static int __devinit e750_probe(struct platform_device *pdev) 129static int e750_probe(struct platform_device *pdev)
130{ 130{
131 struct snd_soc_card *card = &e750; 131 struct snd_soc_card *card = &e750;
132 int ret; 132 int ret;
@@ -147,7 +147,7 @@ static int __devinit e750_probe(struct platform_device *pdev)
147 return ret; 147 return ret;
148} 148}
149 149
150static int __devexit e750_remove(struct platform_device *pdev) 150static int e750_remove(struct platform_device *pdev)
151{ 151{
152 struct snd_soc_card *card = platform_get_drvdata(pdev); 152 struct snd_soc_card *card = platform_get_drvdata(pdev);
153 153
@@ -162,7 +162,7 @@ static struct platform_driver e750_driver = {
162 .owner = THIS_MODULE, 162 .owner = THIS_MODULE,
163 }, 163 },
164 .probe = e750_probe, 164 .probe = e750_probe,
165 .remove = __devexit_p(e750_remove), 165 .remove = e750_remove,
166}; 166};
167 167
168module_platform_driver(e750_driver); 168module_platform_driver(e750_driver);
diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c
index ea9707ec6f28..8768a640dd71 100644
--- a/sound/soc/pxa/e800_wm9712.c
+++ b/sound/soc/pxa/e800_wm9712.c
@@ -116,7 +116,7 @@ static struct gpio e800_audio_gpios[] = {
116 { GPIO_E800_HP_AMP_OFF, GPIOF_OUT_INIT_HIGH, "Speaker amp" }, 116 { GPIO_E800_HP_AMP_OFF, GPIOF_OUT_INIT_HIGH, "Speaker amp" },
117}; 117};
118 118
119static int __devinit e800_probe(struct platform_device *pdev) 119static int e800_probe(struct platform_device *pdev)
120{ 120{
121 struct snd_soc_card *card = &e800; 121 struct snd_soc_card *card = &e800;
122 int ret; 122 int ret;
@@ -137,7 +137,7 @@ static int __devinit e800_probe(struct platform_device *pdev)
137 return ret; 137 return ret;
138} 138}
139 139
140static int __devexit e800_remove(struct platform_device *pdev) 140static int e800_remove(struct platform_device *pdev)
141{ 141{
142 struct snd_soc_card *card = platform_get_drvdata(pdev); 142 struct snd_soc_card *card = platform_get_drvdata(pdev);
143 143
@@ -152,7 +152,7 @@ static struct platform_driver e800_driver = {
152 .owner = THIS_MODULE, 152 .owner = THIS_MODULE,
153 }, 153 },
154 .probe = e800_probe, 154 .probe = e800_probe,
155 .remove = __devexit_p(e800_remove), 155 .remove = e800_remove,
156}; 156};
157 157
158module_platform_driver(e800_driver); 158module_platform_driver(e800_driver);
diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c
index 2a342c92d829..dcc9b04bd92c 100644
--- a/sound/soc/pxa/hx4700.c
+++ b/sound/soc/pxa/hx4700.c
@@ -183,7 +183,7 @@ static struct gpio hx4700_audio_gpios[] = {
183 { GPIO92_HX4700_HP_DRIVER, GPIOF_OUT_INIT_LOW, "EP_POWER" }, 183 { GPIO92_HX4700_HP_DRIVER, GPIOF_OUT_INIT_LOW, "EP_POWER" },
184}; 184};
185 185
186static int __devinit hx4700_audio_probe(struct platform_device *pdev) 186static int hx4700_audio_probe(struct platform_device *pdev)
187{ 187{
188 int ret; 188 int ret;
189 189
@@ -204,7 +204,7 @@ static int __devinit hx4700_audio_probe(struct platform_device *pdev)
204 return ret; 204 return ret;
205} 205}
206 206
207static int __devexit hx4700_audio_remove(struct platform_device *pdev) 207static int hx4700_audio_remove(struct platform_device *pdev)
208{ 208{
209 snd_soc_jack_free_gpios(&hs_jack, 1, &hs_jack_gpio); 209 snd_soc_jack_free_gpios(&hs_jack, 1, &hs_jack_gpio);
210 snd_soc_unregister_card(&snd_soc_card_hx4700); 210 snd_soc_unregister_card(&snd_soc_card_hx4700);
@@ -223,7 +223,7 @@ static struct platform_driver hx4700_audio_driver = {
223 .pm = &snd_soc_pm_ops, 223 .pm = &snd_soc_pm_ops,
224 }, 224 },
225 .probe = hx4700_audio_probe, 225 .probe = hx4700_audio_probe,
226 .remove = __devexit_p(hx4700_audio_remove), 226 .remove = hx4700_audio_remove,
227}; 227};
228 228
229module_platform_driver(hx4700_audio_driver); 229module_platform_driver(hx4700_audio_driver);
diff --git a/sound/soc/pxa/imote2.c b/sound/soc/pxa/imote2.c
index b93dafd32b80..eef1f7b7b38e 100644
--- a/sound/soc/pxa/imote2.c
+++ b/sound/soc/pxa/imote2.c
@@ -65,7 +65,7 @@ static struct snd_soc_card imote2 = {
65 .num_links = 1, 65 .num_links = 1,
66}; 66};
67 67
68static int __devinit imote2_probe(struct platform_device *pdev) 68static int imote2_probe(struct platform_device *pdev)
69{ 69{
70 struct snd_soc_card *card = &imote2; 70 struct snd_soc_card *card = &imote2;
71 int ret; 71 int ret;
@@ -79,7 +79,7 @@ static int __devinit imote2_probe(struct platform_device *pdev)
79 return ret; 79 return ret;
80} 80}
81 81
82static int __devexit imote2_remove(struct platform_device *pdev) 82static int imote2_remove(struct platform_device *pdev)
83{ 83{
84 struct snd_soc_card *card = platform_get_drvdata(pdev); 84 struct snd_soc_card *card = platform_get_drvdata(pdev);
85 85
@@ -93,7 +93,7 @@ static struct platform_driver imote2_driver = {
93 .owner = THIS_MODULE, 93 .owner = THIS_MODULE,
94 }, 94 },
95 .probe = imote2_probe, 95 .probe = imote2_probe,
96 .remove = __devexit_p(imote2_remove), 96 .remove = imote2_remove,
97}; 97};
98 98
99module_platform_driver(imote2_driver); 99module_platform_driver(imote2_driver);
diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c
index 8687c1c65d29..97b711e12821 100644
--- a/sound/soc/pxa/mioa701_wm9713.c
+++ b/sound/soc/pxa/mioa701_wm9713.c
@@ -186,7 +186,7 @@ static struct snd_soc_card mioa701 = {
186 .num_links = ARRAY_SIZE(mioa701_dai), 186 .num_links = ARRAY_SIZE(mioa701_dai),
187}; 187};
188 188
189static int __devinit mioa701_wm9713_probe(struct platform_device *pdev) 189static int mioa701_wm9713_probe(struct platform_device *pdev)
190{ 190{
191 int rc; 191 int rc;
192 192
@@ -202,7 +202,7 @@ static int __devinit mioa701_wm9713_probe(struct platform_device *pdev)
202 return rc; 202 return rc;
203} 203}
204 204
205static int __devexit mioa701_wm9713_remove(struct platform_device *pdev) 205static int mioa701_wm9713_remove(struct platform_device *pdev)
206{ 206{
207 struct snd_soc_card *card = platform_get_drvdata(pdev); 207 struct snd_soc_card *card = platform_get_drvdata(pdev);
208 208
@@ -212,7 +212,7 @@ static int __devexit mioa701_wm9713_remove(struct platform_device *pdev)
212 212
213static struct platform_driver mioa701_wm9713_driver = { 213static struct platform_driver mioa701_wm9713_driver = {
214 .probe = mioa701_wm9713_probe, 214 .probe = mioa701_wm9713_probe,
215 .remove = __devexit_p(mioa701_wm9713_remove), 215 .remove = mioa701_wm9713_remove,
216 .driver = { 216 .driver = {
217 .name = "mioa701-wm9713", 217 .name = "mioa701-wm9713",
218 .owner = THIS_MODULE, 218 .owner = THIS_MODULE,
diff --git a/sound/soc/pxa/mmp-pcm.c b/sound/soc/pxa/mmp-pcm.c
index e834faf859fd..190eb0bccf5f 100644
--- a/sound/soc/pxa/mmp-pcm.c
+++ b/sound/soc/pxa/mmp-pcm.c
@@ -257,7 +257,7 @@ struct snd_soc_platform_driver mmp_soc_platform = {
257 .pcm_free = mmp_pcm_free_dma_buffers, 257 .pcm_free = mmp_pcm_free_dma_buffers,
258}; 258};
259 259
260static __devinit int mmp_pcm_probe(struct platform_device *pdev) 260static int mmp_pcm_probe(struct platform_device *pdev)
261{ 261{
262 struct mmp_audio_platdata *pdata = pdev->dev.platform_data; 262 struct mmp_audio_platdata *pdata = pdev->dev.platform_data;
263 263
@@ -274,7 +274,7 @@ static __devinit int mmp_pcm_probe(struct platform_device *pdev)
274 return snd_soc_register_platform(&pdev->dev, &mmp_soc_platform); 274 return snd_soc_register_platform(&pdev->dev, &mmp_soc_platform);
275} 275}
276 276
277static int __devexit mmp_pcm_remove(struct platform_device *pdev) 277static int mmp_pcm_remove(struct platform_device *pdev)
278{ 278{
279 snd_soc_unregister_platform(&pdev->dev); 279 snd_soc_unregister_platform(&pdev->dev);
280 return 0; 280 return 0;
@@ -287,7 +287,7 @@ static struct platform_driver mmp_pcm_driver = {
287 }, 287 },
288 288
289 .probe = mmp_pcm_probe, 289 .probe = mmp_pcm_probe,
290 .remove = __devexit_p(mmp_pcm_remove), 290 .remove = mmp_pcm_remove,
291}; 291};
292 292
293module_platform_driver(mmp_pcm_driver); 293module_platform_driver(mmp_pcm_driver);
diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c
index 4d6cb8a30fc8..41c3a09b53ea 100644
--- a/sound/soc/pxa/mmp-sspa.c
+++ b/sound/soc/pxa/mmp-sspa.c
@@ -405,7 +405,7 @@ struct snd_soc_dai_driver mmp_sspa_dai = {
405 .ops = &mmp_sspa_dai_ops, 405 .ops = &mmp_sspa_dai_ops,
406}; 406};
407 407
408static __devinit int asoc_mmp_sspa_probe(struct platform_device *pdev) 408static int asoc_mmp_sspa_probe(struct platform_device *pdev)
409{ 409{
410 struct sspa_priv *priv; 410 struct sspa_priv *priv;
411 struct resource *res; 411 struct resource *res;
@@ -453,7 +453,7 @@ static __devinit int asoc_mmp_sspa_probe(struct platform_device *pdev)
453 return snd_soc_register_dai(&pdev->dev, &mmp_sspa_dai); 453 return snd_soc_register_dai(&pdev->dev, &mmp_sspa_dai);
454} 454}
455 455
456static int __devexit asoc_mmp_sspa_remove(struct platform_device *pdev) 456static int asoc_mmp_sspa_remove(struct platform_device *pdev)
457{ 457{
458 struct sspa_priv *priv = platform_get_drvdata(pdev); 458 struct sspa_priv *priv = platform_get_drvdata(pdev);
459 459
@@ -470,7 +470,7 @@ static struct platform_driver asoc_mmp_sspa_driver = {
470 .owner = THIS_MODULE, 470 .owner = THIS_MODULE,
471 }, 471 },
472 .probe = asoc_mmp_sspa_probe, 472 .probe = asoc_mmp_sspa_probe,
473 .remove = __devexit_p(asoc_mmp_sspa_remove), 473 .remove = asoc_mmp_sspa_remove,
474}; 474};
475 475
476module_platform_driver(asoc_mmp_sspa_driver); 476module_platform_driver(asoc_mmp_sspa_driver);
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c
index aa3da91907c6..2074e2daf9c6 100644
--- a/sound/soc/pxa/palm27x.c
+++ b/sound/soc/pxa/palm27x.c
@@ -187,7 +187,7 @@ put_device:
187 return ret; 187 return ret;
188} 188}
189 189
190static int __devexit palm27x_asoc_remove(struct platform_device *pdev) 190static int palm27x_asoc_remove(struct platform_device *pdev)
191{ 191{
192 platform_device_unregister(palm27x_snd_device); 192 platform_device_unregister(palm27x_snd_device);
193 return 0; 193 return 0;
@@ -195,7 +195,7 @@ static int __devexit palm27x_asoc_remove(struct platform_device *pdev)
195 195
196static struct platform_driver palm27x_wm9712_driver = { 196static struct platform_driver palm27x_wm9712_driver = {
197 .probe = palm27x_asoc_probe, 197 .probe = palm27x_asoc_probe,
198 .remove = __devexit_p(palm27x_asoc_remove), 198 .remove = palm27x_asoc_remove,
199 .driver = { 199 .driver = {
200 .name = "palm27x-asoc", 200 .name = "palm27x-asoc",
201 .owner = THIS_MODULE, 201 .owner = THIS_MODULE,
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c
index d2cc81735036..fafe46355c31 100644
--- a/sound/soc/pxa/poodle.c
+++ b/sound/soc/pxa/poodle.c
@@ -269,7 +269,7 @@ static struct snd_soc_card poodle = {
269 .num_dapm_routes = ARRAY_SIZE(poodle_audio_map), 269 .num_dapm_routes = ARRAY_SIZE(poodle_audio_map),
270}; 270};
271 271
272static int __devinit poodle_probe(struct platform_device *pdev) 272static int poodle_probe(struct platform_device *pdev)
273{ 273{
274 struct snd_soc_card *card = &poodle; 274 struct snd_soc_card *card = &poodle;
275 int ret; 275 int ret;
@@ -291,7 +291,7 @@ static int __devinit poodle_probe(struct platform_device *pdev)
291 return ret; 291 return ret;
292} 292}
293 293
294static int __devexit poodle_remove(struct platform_device *pdev) 294static int poodle_remove(struct platform_device *pdev)
295{ 295{
296 struct snd_soc_card *card = platform_get_drvdata(pdev); 296 struct snd_soc_card *card = platform_get_drvdata(pdev);
297 297
@@ -305,7 +305,7 @@ static struct platform_driver poodle_driver = {
305 .owner = THIS_MODULE, 305 .owner = THIS_MODULE,
306 }, 306 },
307 .probe = poodle_probe, 307 .probe = poodle_probe,
308 .remove = __devexit_p(poodle_remove), 308 .remove = poodle_remove,
309}; 309};
310 310
311module_platform_driver(poodle_driver); 311module_platform_driver(poodle_driver);
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index 4da5fc55c7ee..d3eb0c2eec77 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -794,12 +794,12 @@ static struct snd_soc_dai_driver pxa_ssp_dai = {
794 .ops = &pxa_ssp_dai_ops, 794 .ops = &pxa_ssp_dai_ops,
795}; 795};
796 796
797static __devinit int asoc_ssp_probe(struct platform_device *pdev) 797static int asoc_ssp_probe(struct platform_device *pdev)
798{ 798{
799 return snd_soc_register_dai(&pdev->dev, &pxa_ssp_dai); 799 return snd_soc_register_dai(&pdev->dev, &pxa_ssp_dai);
800} 800}
801 801
802static int __devexit asoc_ssp_remove(struct platform_device *pdev) 802static int asoc_ssp_remove(struct platform_device *pdev)
803{ 803{
804 snd_soc_unregister_dai(&pdev->dev); 804 snd_soc_unregister_dai(&pdev->dev);
805 return 0; 805 return 0;
@@ -812,7 +812,7 @@ static struct platform_driver asoc_ssp_driver = {
812 }, 812 },
813 813
814 .probe = asoc_ssp_probe, 814 .probe = asoc_ssp_probe,
815 .remove = __devexit_p(asoc_ssp_remove), 815 .remove = asoc_ssp_remove,
816}; 816};
817 817
818module_platform_driver(asoc_ssp_driver); 818module_platform_driver(asoc_ssp_driver);
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 06ea2744cc88..4b0a009bd683 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -104,7 +104,7 @@ static int pxa2xx_ac97_resume(struct snd_soc_dai *dai)
104#define pxa2xx_ac97_resume NULL 104#define pxa2xx_ac97_resume NULL
105#endif 105#endif
106 106
107static int __devinit pxa2xx_ac97_probe(struct snd_soc_dai *dai) 107static int pxa2xx_ac97_probe(struct snd_soc_dai *dai)
108{ 108{
109 return pxa2xx_ac97_hw_probe(to_platform_device(dai->dev)); 109 return pxa2xx_ac97_hw_probe(to_platform_device(dai->dev));
110} 110}
@@ -234,7 +234,7 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = {
234 234
235EXPORT_SYMBOL_GPL(soc_ac97_ops); 235EXPORT_SYMBOL_GPL(soc_ac97_ops);
236 236
237static __devinit int pxa2xx_ac97_dev_probe(struct platform_device *pdev) 237static int pxa2xx_ac97_dev_probe(struct platform_device *pdev)
238{ 238{
239 if (pdev->id != -1) { 239 if (pdev->id != -1) {
240 dev_err(&pdev->dev, "PXA2xx has only one AC97 port.\n"); 240 dev_err(&pdev->dev, "PXA2xx has only one AC97 port.\n");
@@ -249,7 +249,7 @@ static __devinit int pxa2xx_ac97_dev_probe(struct platform_device *pdev)
249 ARRAY_SIZE(pxa_ac97_dai_driver)); 249 ARRAY_SIZE(pxa_ac97_dai_driver));
250} 250}
251 251
252static int __devexit pxa2xx_ac97_dev_remove(struct platform_device *pdev) 252static int pxa2xx_ac97_dev_remove(struct platform_device *pdev)
253{ 253{
254 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(pxa_ac97_dai_driver)); 254 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(pxa_ac97_dai_driver));
255 return 0; 255 return 0;
@@ -257,7 +257,7 @@ static int __devexit pxa2xx_ac97_dev_remove(struct platform_device *pdev)
257 257
258static struct platform_driver pxa2xx_ac97_driver = { 258static struct platform_driver pxa2xx_ac97_driver = {
259 .probe = pxa2xx_ac97_dev_probe, 259 .probe = pxa2xx_ac97_dev_probe,
260 .remove = __devexit_p(pxa2xx_ac97_dev_remove), 260 .remove = pxa2xx_ac97_dev_remove,
261 .driver = { 261 .driver = {
262 .name = "pxa2xx-ac97", 262 .name = "pxa2xx-ac97",
263 .owner = THIS_MODULE, 263 .owner = THIS_MODULE,
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 3075a426124c..6b1a06f67564 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -365,7 +365,7 @@ static int pxa2xx_i2s_drv_probe(struct platform_device *pdev)
365 return snd_soc_register_dai(&pdev->dev, &pxa_i2s_dai); 365 return snd_soc_register_dai(&pdev->dev, &pxa_i2s_dai);
366} 366}
367 367
368static int __devexit pxa2xx_i2s_drv_remove(struct platform_device *pdev) 368static int pxa2xx_i2s_drv_remove(struct platform_device *pdev)
369{ 369{
370 snd_soc_unregister_dai(&pdev->dev); 370 snd_soc_unregister_dai(&pdev->dev);
371 return 0; 371 return 0;
@@ -373,7 +373,7 @@ static int __devexit pxa2xx_i2s_drv_remove(struct platform_device *pdev)
373 373
374static struct platform_driver pxa2xx_i2s_driver = { 374static struct platform_driver pxa2xx_i2s_driver = {
375 .probe = pxa2xx_i2s_drv_probe, 375 .probe = pxa2xx_i2s_drv_probe,
376 .remove = __devexit_p(pxa2xx_i2s_drv_remove), 376 .remove = pxa2xx_i2s_drv_remove,
377 377
378 .driver = { 378 .driver = {
379 .name = "pxa2xx-i2s", 379 .name = "pxa2xx-i2s",
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c
index fdd6bedef9bd..ecff116cb7b0 100644
--- a/sound/soc/pxa/pxa2xx-pcm.c
+++ b/sound/soc/pxa/pxa2xx-pcm.c
@@ -120,12 +120,12 @@ static struct snd_soc_platform_driver pxa2xx_soc_platform = {
120 .pcm_free = pxa2xx_pcm_free_dma_buffers, 120 .pcm_free = pxa2xx_pcm_free_dma_buffers,
121}; 121};
122 122
123static int __devinit pxa2xx_soc_platform_probe(struct platform_device *pdev) 123static int pxa2xx_soc_platform_probe(struct platform_device *pdev)
124{ 124{
125 return snd_soc_register_platform(&pdev->dev, &pxa2xx_soc_platform); 125 return snd_soc_register_platform(&pdev->dev, &pxa2xx_soc_platform);
126} 126}
127 127
128static int __devexit pxa2xx_soc_platform_remove(struct platform_device *pdev) 128static int pxa2xx_soc_platform_remove(struct platform_device *pdev)
129{ 129{
130 snd_soc_unregister_platform(&pdev->dev); 130 snd_soc_unregister_platform(&pdev->dev);
131 return 0; 131 return 0;
@@ -138,7 +138,7 @@ static struct platform_driver pxa_pcm_driver = {
138 }, 138 },
139 139
140 .probe = pxa2xx_soc_platform_probe, 140 .probe = pxa2xx_soc_platform_probe,
141 .remove = __devexit_p(pxa2xx_soc_platform_remove), 141 .remove = pxa2xx_soc_platform_remove,
142}; 142};
143 143
144module_platform_driver(pxa_pcm_driver); 144module_platform_driver(pxa_pcm_driver);
diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c
index 2aec63f3706a..a3fe19123f07 100644
--- a/sound/soc/pxa/tosa.c
+++ b/sound/soc/pxa/tosa.c
@@ -241,7 +241,7 @@ static struct snd_soc_card tosa = {
241 .num_links = ARRAY_SIZE(tosa_dai), 241 .num_links = ARRAY_SIZE(tosa_dai),
242}; 242};
243 243
244static int __devinit tosa_probe(struct platform_device *pdev) 244static int tosa_probe(struct platform_device *pdev)
245{ 245{
246 struct snd_soc_card *card = &tosa; 246 struct snd_soc_card *card = &tosa;
247 int ret; 247 int ret;
@@ -262,7 +262,7 @@ static int __devinit tosa_probe(struct platform_device *pdev)
262 return ret; 262 return ret;
263} 263}
264 264
265static int __devexit tosa_remove(struct platform_device *pdev) 265static int tosa_remove(struct platform_device *pdev)
266{ 266{
267 struct snd_soc_card *card = platform_get_drvdata(pdev); 267 struct snd_soc_card *card = platform_get_drvdata(pdev);
268 268
@@ -277,7 +277,7 @@ static struct platform_driver tosa_driver = {
277 .owner = THIS_MODULE, 277 .owner = THIS_MODULE,
278 }, 278 },
279 .probe = tosa_probe, 279 .probe = tosa_probe,
280 .remove = __devexit_p(tosa_remove), 280 .remove = tosa_remove,
281}; 281};
282 282
283module_platform_driver(tosa_driver); 283module_platform_driver(tosa_driver);
diff --git a/sound/soc/pxa/ttc-dkb.c b/sound/soc/pxa/ttc-dkb.c
index 935491a8a770..f4ea4f6663a2 100644
--- a/sound/soc/pxa/ttc-dkb.c
+++ b/sound/soc/pxa/ttc-dkb.c
@@ -131,7 +131,7 @@ static struct snd_soc_card ttc_dkb_card = {
131 .num_dapm_routes = ARRAY_SIZE(ttc_audio_map), 131 .num_dapm_routes = ARRAY_SIZE(ttc_audio_map),
132}; 132};
133 133
134static int __devinit ttc_dkb_probe(struct platform_device *pdev) 134static int ttc_dkb_probe(struct platform_device *pdev)
135{ 135{
136 struct snd_soc_card *card = &ttc_dkb_card; 136 struct snd_soc_card *card = &ttc_dkb_card;
137 int ret; 137 int ret;
@@ -146,7 +146,7 @@ static int __devinit ttc_dkb_probe(struct platform_device *pdev)
146 return ret; 146 return ret;
147} 147}
148 148
149static int __devexit ttc_dkb_remove(struct platform_device *pdev) 149static int ttc_dkb_remove(struct platform_device *pdev)
150{ 150{
151 struct snd_soc_card *card = platform_get_drvdata(pdev); 151 struct snd_soc_card *card = platform_get_drvdata(pdev);
152 152
@@ -161,7 +161,7 @@ static struct platform_driver ttc_dkb_driver = {
161 .owner = THIS_MODULE, 161 .owner = THIS_MODULE,
162 }, 162 },
163 .probe = ttc_dkb_probe, 163 .probe = ttc_dkb_probe,
164 .remove = __devexit_p(ttc_dkb_remove), 164 .remove = ttc_dkb_remove,
165}; 165};
166 166
167module_platform_driver(ttc_dkb_driver); 167module_platform_driver(ttc_dkb_driver);
diff --git a/sound/soc/s6000/s6000-i2s.c b/sound/soc/s6000/s6000-i2s.c
index aaabdbaec19c..fee4d477a49c 100644
--- a/sound/soc/s6000/s6000-i2s.c
+++ b/sound/soc/s6000/s6000-i2s.c
@@ -436,7 +436,7 @@ static struct snd_soc_dai_driver s6000_i2s_dai = {
436 .ops = &s6000_i2s_dai_ops, 436 .ops = &s6000_i2s_dai_ops,
437}; 437};
438 438
439static int __devinit s6000_i2s_probe(struct platform_device *pdev) 439static int s6000_i2s_probe(struct platform_device *pdev)
440{ 440{
441 struct s6000_i2s_dev *dev; 441 struct s6000_i2s_dev *dev;
442 struct resource *scbmem, *sifmem, *region, *dma1, *dma2; 442 struct resource *scbmem, *sifmem, *region, *dma1, *dma2;
@@ -566,7 +566,7 @@ err_release_none:
566 return ret; 566 return ret;
567} 567}
568 568
569static void __devexit s6000_i2s_remove(struct platform_device *pdev) 569static void s6000_i2s_remove(struct platform_device *pdev)
570{ 570{
571 struct s6000_i2s_dev *dev = dev_get_drvdata(&pdev->dev); 571 struct s6000_i2s_dev *dev = dev_get_drvdata(&pdev->dev);
572 struct resource *region; 572 struct resource *region;
@@ -597,7 +597,7 @@ static void __devexit s6000_i2s_remove(struct platform_device *pdev)
597 597
598static struct platform_driver s6000_i2s_driver = { 598static struct platform_driver s6000_i2s_driver = {
599 .probe = s6000_i2s_probe, 599 .probe = s6000_i2s_probe,
600 .remove = __devexit_p(s6000_i2s_remove), 600 .remove = s6000_i2s_remove,
601 .driver = { 601 .driver = {
602 .name = "s6000-i2s", 602 .name = "s6000-i2s",
603 .owner = THIS_MODULE, 603 .owner = THIS_MODULE,
diff --git a/sound/soc/s6000/s6000-pcm.c b/sound/soc/s6000/s6000-pcm.c
index 716da861c629..1358c7de2521 100644
--- a/sound/soc/s6000/s6000-pcm.c
+++ b/sound/soc/s6000/s6000-pcm.c
@@ -500,12 +500,12 @@ static struct snd_soc_platform_driver s6000_soc_platform = {
500 .pcm_free = s6000_pcm_free, 500 .pcm_free = s6000_pcm_free,
501}; 501};
502 502
503static int __devinit s6000_soc_platform_probe(struct platform_device *pdev) 503static int s6000_soc_platform_probe(struct platform_device *pdev)
504{ 504{
505 return snd_soc_register_platform(&pdev->dev, &s6000_soc_platform); 505 return snd_soc_register_platform(&pdev->dev, &s6000_soc_platform);
506} 506}
507 507
508static int __devexit s6000_soc_platform_remove(struct platform_device *pdev) 508static int s6000_soc_platform_remove(struct platform_device *pdev)
509{ 509{
510 snd_soc_unregister_platform(&pdev->dev); 510 snd_soc_unregister_platform(&pdev->dev);
511 return 0; 511 return 0;
@@ -518,7 +518,7 @@ static struct platform_driver s6000_pcm_driver = {
518 }, 518 },
519 519
520 .probe = s6000_soc_platform_probe, 520 .probe = s6000_soc_platform_probe,
521 .remove = __devexit_p(s6000_soc_platform_remove), 521 .remove = s6000_soc_platform_remove,
522}; 522};
523 523
524module_platform_driver(s6000_pcm_driver); 524module_platform_driver(s6000_pcm_driver);
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index 386bab1f99ab..0df3c5644cfa 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -370,7 +370,7 @@ static struct snd_soc_dai_driver s3c_ac97_dai[] = {
370 }, 370 },
371}; 371};
372 372
373static __devinit int s3c_ac97_probe(struct platform_device *pdev) 373static int s3c_ac97_probe(struct platform_device *pdev)
374{ 374{
375 struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res; 375 struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res;
376 struct s3c_audio_pdata *ac97_pdata; 376 struct s3c_audio_pdata *ac97_pdata;
@@ -462,8 +462,15 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
462 if (ret) 462 if (ret)
463 goto err5; 463 goto err5;
464 464
465 return 0; 465 ret = asoc_dma_platform_register(&pdev->dev);
466 if (ret) {
467 dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
468 goto err6;
469 }
466 470
471 return 0;
472err6:
473 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai));
467err5: 474err5:
468 free_irq(irq_res->start, NULL); 475 free_irq(irq_res->start, NULL);
469err4: 476err4:
@@ -478,10 +485,11 @@ err1:
478 return ret; 485 return ret;
479} 486}
480 487
481static __devexit int s3c_ac97_remove(struct platform_device *pdev) 488static int s3c_ac97_remove(struct platform_device *pdev)
482{ 489{
483 struct resource *mem_res, *irq_res; 490 struct resource *mem_res, *irq_res;
484 491
492 asoc_dma_platform_unregister(&pdev->dev);
485 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); 493 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai));
486 494
487 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 495 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
@@ -502,7 +510,7 @@ static __devexit int s3c_ac97_remove(struct platform_device *pdev)
502 510
503static struct platform_driver s3c_ac97_driver = { 511static struct platform_driver s3c_ac97_driver = {
504 .probe = s3c_ac97_probe, 512 .probe = s3c_ac97_probe,
505 .remove = __devexit_p(s3c_ac97_remove), 513 .remove = s3c_ac97_remove,
506 .driver = { 514 .driver = {
507 .name = "samsung-ac97", 515 .name = "samsung-ac97",
508 .owner = THIS_MODULE, 516 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/bells.c b/sound/soc/samsung/bells.c
index 59ffd6c7ee30..ceed466af9ff 100644
--- a/sound/soc/samsung/bells.c
+++ b/sound/soc/samsung/bells.c
@@ -233,7 +233,7 @@ static struct snd_soc_dai_link bells_dai_wm2200[] = {
233 .stream_name = "CPU-DSP", 233 .stream_name = "CPU-DSP",
234 .cpu_dai_name = "samsung-i2s.0", 234 .cpu_dai_name = "samsung-i2s.0",
235 .codec_dai_name = "wm0010-sdi1", 235 .codec_dai_name = "wm0010-sdi1",
236 .platform_name = "samsung-audio", 236 .platform_name = "samsung-i2s.0",
237 .codec_name = "spi0.0", 237 .codec_name = "spi0.0",
238 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 238 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
239 | SND_SOC_DAIFMT_CBM_CFM, 239 | SND_SOC_DAIFMT_CBM_CFM,
@@ -257,7 +257,7 @@ static struct snd_soc_dai_link bells_dai_wm5102[] = {
257 .stream_name = "CPU-DSP", 257 .stream_name = "CPU-DSP",
258 .cpu_dai_name = "samsung-i2s.0", 258 .cpu_dai_name = "samsung-i2s.0",
259 .codec_dai_name = "wm0010-sdi1", 259 .codec_dai_name = "wm0010-sdi1",
260 .platform_name = "samsung-audio", 260 .platform_name = "samsung-i2s.0",
261 .codec_name = "spi0.0", 261 .codec_name = "spi0.0",
262 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 262 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
263 | SND_SOC_DAIFMT_CBM_CFM, 263 | SND_SOC_DAIFMT_CBM_CFM,
@@ -303,7 +303,7 @@ static struct snd_soc_dai_link bells_dai_wm5110[] = {
303 .stream_name = "CPU-DSP", 303 .stream_name = "CPU-DSP",
304 .cpu_dai_name = "samsung-i2s.0", 304 .cpu_dai_name = "samsung-i2s.0",
305 .codec_dai_name = "wm0010-sdi1", 305 .codec_dai_name = "wm0010-sdi1",
306 .platform_name = "samsung-audio", 306 .platform_name = "samsung-i2s.0",
307 .codec_name = "spi0.0", 307 .codec_name = "spi0.0",
308 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 308 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
309 | SND_SOC_DAIFMT_CBM_CFM, 309 | SND_SOC_DAIFMT_CBM_CFM,
@@ -412,7 +412,7 @@ static struct snd_soc_card bells_cards[] = {
412}; 412};
413 413
414 414
415static __devinit int bells_probe(struct platform_device *pdev) 415static int bells_probe(struct platform_device *pdev)
416{ 416{
417 int ret; 417 int ret;
418 418
@@ -429,7 +429,7 @@ static __devinit int bells_probe(struct platform_device *pdev)
429 return 0; 429 return 0;
430} 430}
431 431
432static int __devexit bells_remove(struct platform_device *pdev) 432static int bells_remove(struct platform_device *pdev)
433{ 433{
434 snd_soc_unregister_card(&bells_cards[pdev->id]); 434 snd_soc_unregister_card(&bells_cards[pdev->id]);
435 435
@@ -443,7 +443,7 @@ static struct platform_driver bells_driver = {
443 .pm = &snd_soc_pm_ops, 443 .pm = &snd_soc_pm_ops,
444 }, 444 },
445 .probe = bells_probe, 445 .probe = bells_probe,
446 .remove = __devexit_p(bells_remove), 446 .remove = bells_remove,
447}; 447};
448 448
449module_platform_driver(bells_driver); 449module_platform_driver(bells_driver);
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c
index b70964ea448c..db87628d7630 100644
--- a/sound/soc/samsung/dma.c
+++ b/sound/soc/samsung/dma.c
@@ -432,30 +432,18 @@ static struct snd_soc_platform_driver samsung_asoc_platform = {
432 .pcm_free = dma_free_dma_buffers, 432 .pcm_free = dma_free_dma_buffers,
433}; 433};
434 434
435static int __devinit samsung_asoc_platform_probe(struct platform_device *pdev) 435int asoc_dma_platform_register(struct device *dev)
436{ 436{
437 return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform); 437 return snd_soc_register_platform(dev, &samsung_asoc_platform);
438} 438}
439EXPORT_SYMBOL_GPL(asoc_dma_platform_register);
439 440
440static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev) 441void asoc_dma_platform_unregister(struct device *dev)
441{ 442{
442 snd_soc_unregister_platform(&pdev->dev); 443 snd_soc_unregister_platform(dev);
443 return 0;
444} 444}
445 445EXPORT_SYMBOL_GPL(asoc_dma_platform_unregister);
446static struct platform_driver asoc_dma_driver = {
447 .driver = {
448 .name = "samsung-audio",
449 .owner = THIS_MODULE,
450 },
451
452 .probe = samsung_asoc_platform_probe,
453 .remove = __devexit_p(samsung_asoc_platform_remove),
454};
455
456module_platform_driver(asoc_dma_driver);
457 446
458MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>"); 447MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
459MODULE_DESCRIPTION("Samsung ASoC DMA Driver"); 448MODULE_DESCRIPTION("Samsung ASoC DMA Driver");
460MODULE_LICENSE("GPL"); 449MODULE_LICENSE("GPL");
461MODULE_ALIAS("platform:samsung-audio");
diff --git a/sound/soc/samsung/dma.h b/sound/soc/samsung/dma.h
index 7d1ead77ef21..73d8c7c8a1e8 100644
--- a/sound/soc/samsung/dma.h
+++ b/sound/soc/samsung/dma.h
@@ -21,4 +21,7 @@ struct s3c_dma_params {
21 struct samsung_dma_ops *ops; 21 struct samsung_dma_ops *ops;
22}; 22};
23 23
24int asoc_dma_platform_register(struct device *dev);
25void asoc_dma_platform_unregister(struct device *dev);
26
24#endif 27#endif
diff --git a/sound/soc/samsung/goni_wm8994.c b/sound/soc/samsung/goni_wm8994.c
index c23c2ae91f58..d37ede58e0a8 100644
--- a/sound/soc/samsung/goni_wm8994.c
+++ b/sound/soc/samsung/goni_wm8994.c
@@ -228,7 +228,7 @@ static struct snd_soc_dai_link goni_dai[] = {
228 .stream_name = "WM8994 HiFi", 228 .stream_name = "WM8994 HiFi",
229 .cpu_dai_name = "samsung-i2s.0", 229 .cpu_dai_name = "samsung-i2s.0",
230 .codec_dai_name = "wm8994-aif1", 230 .codec_dai_name = "wm8994-aif1",
231 .platform_name = "samsung-audio", 231 .platform_name = "samsung-i2s.0",
232 .codec_name = "wm8994-codec.0-001a", 232 .codec_name = "wm8994-codec.0-001a",
233 .init = goni_wm8994_init, 233 .init = goni_wm8994_init,
234 .ops = &goni_hifi_ops, 234 .ops = &goni_hifi_ops,
diff --git a/sound/soc/samsung/h1940_uda1380.c b/sound/soc/samsung/h1940_uda1380.c
index 6e3257717c54..3870e9678b5d 100644
--- a/sound/soc/samsung/h1940_uda1380.c
+++ b/sound/soc/samsung/h1940_uda1380.c
@@ -207,7 +207,7 @@ static struct snd_soc_dai_link h1940_uda1380_dai[] = {
207 .cpu_dai_name = "s3c24xx-iis", 207 .cpu_dai_name = "s3c24xx-iis",
208 .codec_dai_name = "uda1380-hifi", 208 .codec_dai_name = "uda1380-hifi",
209 .init = h1940_uda1380_init, 209 .init = h1940_uda1380_init,
210 .platform_name = "samsung-audio", 210 .platform_name = "s3c24xx-iis",
211 .codec_name = "uda1380-codec.0-001a", 211 .codec_name = "uda1380-codec.0-001a",
212 .ops = &h1940_ops, 212 .ops = &h1940_ops,
213 }, 213 },
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index aaf57b7caebb..d2d124f1dd1b 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -952,8 +952,7 @@ static const struct snd_soc_dai_ops samsung_i2s_dai_ops = {
952 SNDRV_PCM_FMTBIT_S16_LE | \ 952 SNDRV_PCM_FMTBIT_S16_LE | \
953 SNDRV_PCM_FMTBIT_S24_LE) 953 SNDRV_PCM_FMTBIT_S24_LE)
954 954
955static __devinit 955static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
956struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
957{ 956{
958 struct i2s_dai *i2s; 957 struct i2s_dai *i2s;
959 958
@@ -994,7 +993,7 @@ struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
994 return i2s; 993 return i2s;
995} 994}
996 995
997static __devinit int samsung_i2s_probe(struct platform_device *pdev) 996static int samsung_i2s_probe(struct platform_device *pdev)
998{ 997{
999 u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan; 998 u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan;
1000 struct i2s_dai *pri_dai, *sec_dai = NULL; 999 struct i2s_dai *pri_dai, *sec_dai = NULL;
@@ -1009,6 +1008,7 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev)
1009 sec_dai = dev_get_drvdata(&pdev->dev); 1008 sec_dai = dev_get_drvdata(&pdev->dev);
1010 snd_soc_register_dai(&sec_dai->pdev->dev, 1009 snd_soc_register_dai(&sec_dai->pdev->dev,
1011 &sec_dai->i2s_dai_drv); 1010 &sec_dai->i2s_dai_drv);
1011 asoc_dma_platform_register(&pdev->dev);
1012 return 0; 1012 return 0;
1013 } 1013 }
1014 1014
@@ -1107,6 +1107,8 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev)
1107 1107
1108 pm_runtime_enable(&pdev->dev); 1108 pm_runtime_enable(&pdev->dev);
1109 1109
1110 asoc_dma_platform_register(&pdev->dev);
1111
1110 return 0; 1112 return 0;
1111err: 1113err:
1112 release_mem_region(regs_base, resource_size(res)); 1114 release_mem_region(regs_base, resource_size(res));
@@ -1114,7 +1116,7 @@ err:
1114 return ret; 1116 return ret;
1115} 1117}
1116 1118
1117static __devexit int samsung_i2s_remove(struct platform_device *pdev) 1119static int samsung_i2s_remove(struct platform_device *pdev)
1118{ 1120{
1119 struct i2s_dai *i2s, *other; 1121 struct i2s_dai *i2s, *other;
1120 struct resource *res; 1122 struct resource *res;
@@ -1135,6 +1137,7 @@ static __devexit int samsung_i2s_remove(struct platform_device *pdev)
1135 i2s->pri_dai = NULL; 1137 i2s->pri_dai = NULL;
1136 i2s->sec_dai = NULL; 1138 i2s->sec_dai = NULL;
1137 1139
1140 asoc_dma_platform_unregister(&pdev->dev);
1138 snd_soc_unregister_dai(&pdev->dev); 1141 snd_soc_unregister_dai(&pdev->dev);
1139 1142
1140 return 0; 1143 return 0;
@@ -1142,7 +1145,7 @@ static __devexit int samsung_i2s_remove(struct platform_device *pdev)
1142 1145
1143static struct platform_driver samsung_i2s_driver = { 1146static struct platform_driver samsung_i2s_driver = {
1144 .probe = samsung_i2s_probe, 1147 .probe = samsung_i2s_probe,
1145 .remove = __devexit_p(samsung_i2s_remove), 1148 .remove = samsung_i2s_remove,
1146 .driver = { 1149 .driver = {
1147 .name = "samsung-i2s", 1150 .name = "samsung-i2s",
1148 .owner = THIS_MODULE, 1151 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c
index c227c3163cae..a07950b0c8ce 100644
--- a/sound/soc/samsung/idma.c
+++ b/sound/soc/samsung/idma.c
@@ -416,12 +416,12 @@ static struct snd_soc_platform_driver asoc_idma_platform = {
416 .pcm_free = idma_free, 416 .pcm_free = idma_free,
417}; 417};
418 418
419static int __devinit asoc_idma_platform_probe(struct platform_device *pdev) 419static int asoc_idma_platform_probe(struct platform_device *pdev)
420{ 420{
421 return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform); 421 return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform);
422} 422}
423 423
424static int __devexit asoc_idma_platform_remove(struct platform_device *pdev) 424static int asoc_idma_platform_remove(struct platform_device *pdev)
425{ 425{
426 snd_soc_unregister_platform(&pdev->dev); 426 snd_soc_unregister_platform(&pdev->dev);
427 return 0; 427 return 0;
@@ -434,7 +434,7 @@ static struct platform_driver asoc_idma_driver = {
434 }, 434 },
435 435
436 .probe = asoc_idma_platform_probe, 436 .probe = asoc_idma_platform_probe,
437 .remove = __devexit_p(asoc_idma_platform_remove), 437 .remove = asoc_idma_platform_remove,
438}; 438};
439 439
440module_platform_driver(asoc_idma_driver); 440module_platform_driver(asoc_idma_driver);
diff --git a/sound/soc/samsung/jive_wm8750.c b/sound/soc/samsung/jive_wm8750.c
index 1578663a1faa..b5f6abd9d221 100644
--- a/sound/soc/samsung/jive_wm8750.c
+++ b/sound/soc/samsung/jive_wm8750.c
@@ -118,7 +118,7 @@ static struct snd_soc_dai_link jive_dai = {
118 .stream_name = "WM8750", 118 .stream_name = "WM8750",
119 .cpu_dai_name = "s3c2412-i2s", 119 .cpu_dai_name = "s3c2412-i2s",
120 .codec_dai_name = "wm8750-hifi", 120 .codec_dai_name = "wm8750-hifi",
121 .platform_name = "samsung-audio", 121 .platform_name = "s3c2412-i2s",
122 .codec_name = "wm8750.0-001a", 122 .codec_name = "wm8750.0-001a",
123 .init = jive_wm8750_init, 123 .init = jive_wm8750_init,
124 .ops = &jive_ops, 124 .ops = &jive_ops,
diff --git a/sound/soc/samsung/littlemill.c b/sound/soc/samsung/littlemill.c
index ee52c8a00779..bfb91f34a22a 100644
--- a/sound/soc/samsung/littlemill.c
+++ b/sound/soc/samsung/littlemill.c
@@ -145,7 +145,7 @@ static struct snd_soc_dai_link littlemill_dai[] = {
145 .stream_name = "CPU", 145 .stream_name = "CPU",
146 .cpu_dai_name = "samsung-i2s.0", 146 .cpu_dai_name = "samsung-i2s.0",
147 .codec_dai_name = "wm8994-aif1", 147 .codec_dai_name = "wm8994-aif1",
148 .platform_name = "samsung-audio", 148 .platform_name = "samsung-i2s.0",
149 .codec_name = "wm8994-codec", 149 .codec_name = "wm8994-codec",
150 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 150 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
151 | SND_SOC_DAIFMT_CBM_CFM, 151 | SND_SOC_DAIFMT_CBM_CFM,
@@ -270,7 +270,7 @@ static int littlemill_late_probe(struct snd_soc_card *card)
270 return ret; 270 return ret;
271 271
272 /* This will check device compatibility itself */ 272 /* This will check device compatibility itself */
273 wm8958_mic_detect(codec, &littlemill_headset, NULL, NULL); 273 wm8958_mic_detect(codec, &littlemill_headset, NULL, NULL, NULL, NULL);
274 274
275 /* As will this */ 275 /* As will this */
276 wm8994_mic_detect(codec, &littlemill_headset, 1); 276 wm8994_mic_detect(codec, &littlemill_headset, 1);
@@ -297,7 +297,7 @@ static struct snd_soc_card littlemill = {
297 .late_probe = littlemill_late_probe, 297 .late_probe = littlemill_late_probe,
298}; 298};
299 299
300static __devinit int littlemill_probe(struct platform_device *pdev) 300static int littlemill_probe(struct platform_device *pdev)
301{ 301{
302 struct snd_soc_card *card = &littlemill; 302 struct snd_soc_card *card = &littlemill;
303 int ret; 303 int ret;
@@ -314,7 +314,7 @@ static __devinit int littlemill_probe(struct platform_device *pdev)
314 return 0; 314 return 0;
315} 315}
316 316
317static int __devexit littlemill_remove(struct platform_device *pdev) 317static int littlemill_remove(struct platform_device *pdev)
318{ 318{
319 struct snd_soc_card *card = platform_get_drvdata(pdev); 319 struct snd_soc_card *card = platform_get_drvdata(pdev);
320 320
@@ -330,7 +330,7 @@ static struct platform_driver littlemill_driver = {
330 .pm = &snd_soc_pm_ops, 330 .pm = &snd_soc_pm_ops,
331 }, 331 },
332 .probe = littlemill_probe, 332 .probe = littlemill_probe,
333 .remove = __devexit_p(littlemill_remove), 333 .remove = littlemill_remove,
334}; 334};
335 335
336module_platform_driver(littlemill_driver); 336module_platform_driver(littlemill_driver);
diff --git a/sound/soc/samsung/ln2440sbc_alc650.c b/sound/soc/samsung/ln2440sbc_alc650.c
index 69c4a5934a4d..9342fc270c2b 100644
--- a/sound/soc/samsung/ln2440sbc_alc650.c
+++ b/sound/soc/samsung/ln2440sbc_alc650.c
@@ -28,7 +28,7 @@ static struct snd_soc_dai_link ln2440sbc_dai[] = {
28 .cpu_dai_name = "samsung-ac97", 28 .cpu_dai_name = "samsung-ac97",
29 .codec_dai_name = "ac97-hifi", 29 .codec_dai_name = "ac97-hifi",
30 .codec_name = "ac97-codec", 30 .codec_name = "ac97-codec",
31 .platform_name = "samsung-audio", 31 .platform_name = "samsung-ac97",
32}, 32},
33}; 33};
34 34
diff --git a/sound/soc/samsung/lowland.c b/sound/soc/samsung/lowland.c
index 6abf341c4a2a..570cf5229508 100644
--- a/sound/soc/samsung/lowland.c
+++ b/sound/soc/samsung/lowland.c
@@ -99,7 +99,7 @@ static struct snd_soc_dai_link lowland_dai[] = {
99 .stream_name = "CPU", 99 .stream_name = "CPU",
100 .cpu_dai_name = "samsung-i2s.0", 100 .cpu_dai_name = "samsung-i2s.0",
101 .codec_dai_name = "wm5100-aif1", 101 .codec_dai_name = "wm5100-aif1",
102 .platform_name = "samsung-audio", 102 .platform_name = "samsung-i2s.0",
103 .codec_name = "wm5100.1-001a", 103 .codec_name = "wm5100.1-001a",
104 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | 104 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
105 SND_SOC_DAIFMT_CBM_CFM, 105 SND_SOC_DAIFMT_CBM_CFM,
@@ -180,7 +180,7 @@ static struct snd_soc_card lowland = {
180 .num_dapm_routes = ARRAY_SIZE(audio_paths), 180 .num_dapm_routes = ARRAY_SIZE(audio_paths),
181}; 181};
182 182
183static __devinit int lowland_probe(struct platform_device *pdev) 183static int lowland_probe(struct platform_device *pdev)
184{ 184{
185 struct snd_soc_card *card = &lowland; 185 struct snd_soc_card *card = &lowland;
186 int ret; 186 int ret;
@@ -197,7 +197,7 @@ static __devinit int lowland_probe(struct platform_device *pdev)
197 return 0; 197 return 0;
198} 198}
199 199
200static int __devexit lowland_remove(struct platform_device *pdev) 200static int lowland_remove(struct platform_device *pdev)
201{ 201{
202 struct snd_soc_card *card = platform_get_drvdata(pdev); 202 struct snd_soc_card *card = platform_get_drvdata(pdev);
203 203
@@ -213,7 +213,7 @@ static struct platform_driver lowland_driver = {
213 .pm = &snd_soc_pm_ops, 213 .pm = &snd_soc_pm_ops,
214 }, 214 },
215 .probe = lowland_probe, 215 .probe = lowland_probe,
216 .remove = __devexit_p(lowland_remove), 216 .remove = lowland_remove,
217}; 217};
218 218
219module_platform_driver(lowland_driver); 219module_platform_driver(lowland_driver);
diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
index 321d51134e47..c7e965f80d2e 100644
--- a/sound/soc/samsung/neo1973_wm8753.c
+++ b/sound/soc/samsung/neo1973_wm8753.c
@@ -364,7 +364,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
364{ /* Hifi Playback - for similatious use with voice below */ 364{ /* Hifi Playback - for similatious use with voice below */
365 .name = "WM8753", 365 .name = "WM8753",
366 .stream_name = "WM8753 HiFi", 366 .stream_name = "WM8753 HiFi",
367 .platform_name = "samsung-audio", 367 .platform_name = "s3c24xx-iis",
368 .cpu_dai_name = "s3c24xx-iis", 368 .cpu_dai_name = "s3c24xx-iis",
369 .codec_dai_name = "wm8753-hifi", 369 .codec_dai_name = "wm8753-hifi",
370 .codec_name = "wm8753.0-001a", 370 .codec_name = "wm8753.0-001a",
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index 45f4a752d2a0..13bab79ad93d 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -490,7 +490,7 @@ static struct snd_soc_dai_driver s3c_pcm_dai[] = {
490 }, 490 },
491}; 491};
492 492
493static __devinit int s3c_pcm_dev_probe(struct platform_device *pdev) 493static int s3c_pcm_dev_probe(struct platform_device *pdev)
494{ 494{
495 struct s3c_pcm_info *pcm; 495 struct s3c_pcm_info *pcm;
496 struct resource *mem_res, *dmatx_res, *dmarx_res; 496 struct resource *mem_res, *dmatx_res, *dmarx_res;
@@ -589,8 +589,16 @@ static __devinit int s3c_pcm_dev_probe(struct platform_device *pdev)
589 goto err5; 589 goto err5;
590 } 590 }
591 591
592 ret = asoc_dma_platform_register(&pdev->dev);
593 if (ret) {
594 dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
595 goto err6;
596 }
597
592 return 0; 598 return 0;
593 599
600err6:
601 snd_soc_unregister_dai(&pdev->dev);
594err5: 602err5:
595 clk_disable_unprepare(pcm->pclk); 603 clk_disable_unprepare(pcm->pclk);
596 clk_put(pcm->pclk); 604 clk_put(pcm->pclk);
@@ -605,11 +613,12 @@ err1:
605 return ret; 613 return ret;
606} 614}
607 615
608static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev) 616static int s3c_pcm_dev_remove(struct platform_device *pdev)
609{ 617{
610 struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id]; 618 struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id];
611 struct resource *mem_res; 619 struct resource *mem_res;
612 620
621 asoc_dma_platform_unregister(&pdev->dev);
613 snd_soc_unregister_dai(&pdev->dev); 622 snd_soc_unregister_dai(&pdev->dev);
614 623
615 pm_runtime_disable(&pdev->dev); 624 pm_runtime_disable(&pdev->dev);
@@ -629,7 +638,7 @@ static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev)
629 638
630static struct platform_driver s3c_pcm_driver = { 639static struct platform_driver s3c_pcm_driver = {
631 .probe = s3c_pcm_dev_probe, 640 .probe = s3c_pcm_dev_probe,
632 .remove = __devexit_p(s3c_pcm_dev_remove), 641 .remove = s3c_pcm_dev_remove,
633 .driver = { 642 .driver = {
634 .name = "samsung-pcm", 643 .name = "samsung-pcm",
635 .owner = THIS_MODULE, 644 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/rx1950_uda1380.c b/sound/soc/samsung/rx1950_uda1380.c
index 21e12361a9cd..a5826ea9cad6 100644
--- a/sound/soc/samsung/rx1950_uda1380.c
+++ b/sound/soc/samsung/rx1950_uda1380.c
@@ -85,7 +85,7 @@ static struct snd_soc_dai_link rx1950_uda1380_dai[] = {
85 .cpu_dai_name = "s3c24xx-iis", 85 .cpu_dai_name = "s3c24xx-iis",
86 .codec_dai_name = "uda1380-hifi", 86 .codec_dai_name = "uda1380-hifi",
87 .init = rx1950_uda1380_init, 87 .init = rx1950_uda1380_init,
88 .platform_name = "samsung-audio", 88 .platform_name = "s3c24xx-iis",
89 .codec_name = "uda1380-codec.0-001a", 89 .codec_name = "uda1380-codec.0-001a",
90 .ops = &rx1950_ops, 90 .ops = &rx1950_ops,
91 }, 91 },
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c
index ac7701b3c5dc..221337716393 100644
--- a/sound/soc/samsung/s3c2412-i2s.c
+++ b/sound/soc/samsung/s3c2412-i2s.c
@@ -160,20 +160,38 @@ static struct snd_soc_dai_driver s3c2412_i2s_dai = {
160 .ops = &s3c2412_i2s_dai_ops, 160 .ops = &s3c2412_i2s_dai_ops,
161}; 161};
162 162
163static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev) 163static int s3c2412_iis_dev_probe(struct platform_device *pdev)
164{ 164{
165 return s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai); 165 int ret = 0;
166
167 ret = s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai);
168 if (ret) {
169 pr_err("failed to register the dai\n");
170 return ret;
171 }
172
173 ret = asoc_dma_platform_register(&pdev->dev);
174 if (ret) {
175 pr_err("failed to register the DMA: %d\n", ret);
176 goto err;
177 }
178
179 return 0;
180err:
181 snd_soc_unregister_dai(&pdev->dev);
182 return ret;
166} 183}
167 184
168static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev) 185static int s3c2412_iis_dev_remove(struct platform_device *pdev)
169{ 186{
187 asoc_dma_platform_unregister(&pdev->dev);
170 snd_soc_unregister_dai(&pdev->dev); 188 snd_soc_unregister_dai(&pdev->dev);
171 return 0; 189 return 0;
172} 190}
173 191
174static struct platform_driver s3c2412_iis_driver = { 192static struct platform_driver s3c2412_iis_driver = {
175 .probe = s3c2412_iis_dev_probe, 193 .probe = s3c2412_iis_dev_probe,
176 .remove = __devexit_p(s3c2412_iis_dev_remove), 194 .remove = s3c2412_iis_dev_remove,
177 .driver = { 195 .driver = {
178 .name = "s3c2412-iis", 196 .name = "s3c2412-iis",
179 .owner = THIS_MODULE, 197 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c
index 0aae3a3883dc..ee10e8704e97 100644
--- a/sound/soc/samsung/s3c24xx-i2s.c
+++ b/sound/soc/samsung/s3c24xx-i2s.c
@@ -465,20 +465,38 @@ static struct snd_soc_dai_driver s3c24xx_i2s_dai = {
465 .ops = &s3c24xx_i2s_dai_ops, 465 .ops = &s3c24xx_i2s_dai_ops,
466}; 466};
467 467
468static __devinit int s3c24xx_iis_dev_probe(struct platform_device *pdev) 468static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
469{ 469{
470 return snd_soc_register_dai(&pdev->dev, &s3c24xx_i2s_dai); 470 int ret = 0;
471
472 ret = s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai);
473 if (ret) {
474 pr_err("failed to register the dai\n");
475 return ret;
476 }
477
478 ret = asoc_dma_platform_register(&pdev->dev);
479 if (ret) {
480 pr_err("failed to register the dma: %d\n", ret);
481 goto err;
482 }
483
484 return 0;
485err:
486 snd_soc_unregister_dai(&pdev->dev);
487 return ret;
471} 488}
472 489
473static __devexit int s3c24xx_iis_dev_remove(struct platform_device *pdev) 490static int s3c24xx_iis_dev_remove(struct platform_device *pdev)
474{ 491{
492 asoc_dma_platform_unregister(&pdev->dev);
475 snd_soc_unregister_dai(&pdev->dev); 493 snd_soc_unregister_dai(&pdev->dev);
476 return 0; 494 return 0;
477} 495}
478 496
479static struct platform_driver s3c24xx_iis_driver = { 497static struct platform_driver s3c24xx_iis_driver = {
480 .probe = s3c24xx_iis_dev_probe, 498 .probe = s3c24xx_iis_dev_probe,
481 .remove = __devexit_p(s3c24xx_iis_dev_remove), 499 .remove = s3c24xx_iis_dev_remove,
482 .driver = { 500 .driver = {
483 .name = "s3c24xx-iis", 501 .name = "s3c24xx-iis",
484 .owner = THIS_MODULE, 502 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/s3c24xx_simtec.c b/sound/soc/samsung/s3c24xx_simtec.c
index 335a7d8a4a8d..2c015f62ead6 100644
--- a/sound/soc/samsung/s3c24xx_simtec.c
+++ b/sound/soc/samsung/s3c24xx_simtec.c
@@ -313,8 +313,8 @@ const struct dev_pm_ops simtec_audio_pmops = {
313EXPORT_SYMBOL_GPL(simtec_audio_pmops); 313EXPORT_SYMBOL_GPL(simtec_audio_pmops);
314#endif 314#endif
315 315
316int __devinit simtec_audio_core_probe(struct platform_device *pdev, 316int simtec_audio_core_probe(struct platform_device *pdev,
317 struct snd_soc_card *card) 317 struct snd_soc_card *card)
318{ 318{
319 struct platform_device *snd_dev; 319 struct platform_device *snd_dev;
320 int ret; 320 int ret;
@@ -371,7 +371,7 @@ err_clk:
371} 371}
372EXPORT_SYMBOL_GPL(simtec_audio_core_probe); 372EXPORT_SYMBOL_GPL(simtec_audio_core_probe);
373 373
374int __devexit simtec_audio_remove(struct platform_device *pdev) 374int simtec_audio_remove(struct platform_device *pdev)
375{ 375{
376 struct platform_device *snd_dev = platform_get_drvdata(pdev); 376 struct platform_device *snd_dev = platform_get_drvdata(pdev);
377 377
diff --git a/sound/soc/samsung/s3c24xx_simtec_hermes.c b/sound/soc/samsung/s3c24xx_simtec_hermes.c
index 7ace6a87f41b..d8a0543cae5e 100644
--- a/sound/soc/samsung/s3c24xx_simtec_hermes.c
+++ b/sound/soc/samsung/s3c24xx_simtec_hermes.c
@@ -82,7 +82,7 @@ static struct snd_soc_dai_link simtec_dai_aic33 = {
82 .codec_name = "tlv320aic3x-codec.0-001a", 82 .codec_name = "tlv320aic3x-codec.0-001a",
83 .cpu_dai_name = "s3c24xx-iis", 83 .cpu_dai_name = "s3c24xx-iis",
84 .codec_dai_name = "tlv320aic3x-hifi", 84 .codec_dai_name = "tlv320aic3x-hifi",
85 .platform_name = "samsung-audio", 85 .platform_name = "s3c24xx-iis",
86 .init = simtec_hermes_init, 86 .init = simtec_hermes_init,
87}; 87};
88 88
@@ -99,7 +99,7 @@ static struct snd_soc_card snd_soc_machine_simtec_aic33 = {
99 .num_dapm_routes = ARRAY_SIZE(base_map), 99 .num_dapm_routes = ARRAY_SIZE(base_map),
100}; 100};
101 101
102static int __devinit simtec_audio_hermes_probe(struct platform_device *pd) 102static int simtec_audio_hermes_probe(struct platform_device *pd)
103{ 103{
104 dev_info(&pd->dev, "probing....\n"); 104 dev_info(&pd->dev, "probing....\n");
105 return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic33); 105 return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic33);
@@ -112,7 +112,7 @@ static struct platform_driver simtec_audio_hermes_platdrv = {
112 .pm = simtec_audio_pm, 112 .pm = simtec_audio_pm,
113 }, 113 },
114 .probe = simtec_audio_hermes_probe, 114 .probe = simtec_audio_hermes_probe,
115 .remove = __devexit_p(simtec_audio_remove), 115 .remove = simtec_audio_remove,
116}; 116};
117 117
118module_platform_driver(simtec_audio_hermes_platdrv); 118module_platform_driver(simtec_audio_hermes_platdrv);
diff --git a/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
index c42d5f00b0e1..1ac0d7a63a3a 100644
--- a/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
+++ b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
@@ -71,7 +71,7 @@ static struct snd_soc_dai_link simtec_dai_aic23 = {
71 .codec_name = "tlv320aic3x-codec.0-001a", 71 .codec_name = "tlv320aic3x-codec.0-001a",
72 .cpu_dai_name = "s3c24xx-iis", 72 .cpu_dai_name = "s3c24xx-iis",
73 .codec_dai_name = "tlv320aic3x-hifi", 73 .codec_dai_name = "tlv320aic3x-hifi",
74 .platform_name = "samsung-audio", 74 .platform_name = "s3c24xx-iis",
75 .init = simtec_tlv320aic23_init, 75 .init = simtec_tlv320aic23_init,
76}; 76};
77 77
@@ -88,7 +88,7 @@ static struct snd_soc_card snd_soc_machine_simtec_aic23 = {
88 .num_dapm_routes = ARRAY_SIZE(base_map), 88 .num_dapm_routes = ARRAY_SIZE(base_map),
89}; 89};
90 90
91static int __devinit simtec_audio_tlv320aic23_probe(struct platform_device *pd) 91static int simtec_audio_tlv320aic23_probe(struct platform_device *pd)
92{ 92{
93 return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic23); 93 return simtec_audio_core_probe(pd, &snd_soc_machine_simtec_aic23);
94} 94}
@@ -100,7 +100,7 @@ static struct platform_driver simtec_audio_tlv320aic23_driver = {
100 .pm = simtec_audio_pm, 100 .pm = simtec_audio_pm,
101 }, 101 },
102 .probe = simtec_audio_tlv320aic23_probe, 102 .probe = simtec_audio_tlv320aic23_probe,
103 .remove = __devexit_p(simtec_audio_remove), 103 .remove = simtec_audio_remove,
104}; 104};
105 105
106module_platform_driver(simtec_audio_tlv320aic23_driver); 106module_platform_driver(simtec_audio_tlv320aic23_driver);
diff --git a/sound/soc/samsung/s3c24xx_uda134x.c b/sound/soc/samsung/s3c24xx_uda134x.c
index d731042e51b0..333e1b7f06c7 100644
--- a/sound/soc/samsung/s3c24xx_uda134x.c
+++ b/sound/soc/samsung/s3c24xx_uda134x.c
@@ -224,7 +224,7 @@ static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
224 .codec_dai_name = "uda134x-hifi", 224 .codec_dai_name = "uda134x-hifi",
225 .cpu_dai_name = "s3c24xx-iis", 225 .cpu_dai_name = "s3c24xx-iis",
226 .ops = &s3c24xx_uda134x_ops, 226 .ops = &s3c24xx_uda134x_ops,
227 .platform_name = "samsung-audio", 227 .platform_name = "s3c24xx-iis",
228}; 228};
229 229
230static struct snd_soc_card snd_soc_s3c24xx_uda134x = { 230static struct snd_soc_card snd_soc_s3c24xx_uda134x = {
diff --git a/sound/soc/samsung/smartq_wm8987.c b/sound/soc/samsung/smartq_wm8987.c
index f2dcb424ea25..58ae3237ef69 100644
--- a/sound/soc/samsung/smartq_wm8987.c
+++ b/sound/soc/samsung/smartq_wm8987.c
@@ -189,7 +189,7 @@ static struct snd_soc_dai_link smartq_dai[] = {
189 .stream_name = "SmartQ Hi-Fi", 189 .stream_name = "SmartQ Hi-Fi",
190 .cpu_dai_name = "samsung-i2s.0", 190 .cpu_dai_name = "samsung-i2s.0",
191 .codec_dai_name = "wm8750-hifi", 191 .codec_dai_name = "wm8750-hifi",
192 .platform_name = "samsung-audio", 192 .platform_name = "samsung-i2s.0",
193 .codec_name = "wm8750.0-0x1a", 193 .codec_name = "wm8750.0-0x1a",
194 .init = smartq_wm8987_init, 194 .init = smartq_wm8987_init,
195 .ops = &smartq_hifi_ops, 195 .ops = &smartq_hifi_ops,
diff --git a/sound/soc/samsung/smdk2443_wm9710.c b/sound/soc/samsung/smdk2443_wm9710.c
index 720ba29bb7e4..c390aad68cfb 100644
--- a/sound/soc/samsung/smdk2443_wm9710.c
+++ b/sound/soc/samsung/smdk2443_wm9710.c
@@ -24,7 +24,7 @@ static struct snd_soc_dai_link smdk2443_dai[] = {
24 .cpu_dai_name = "samsung-ac97", 24 .cpu_dai_name = "samsung-ac97",
25 .codec_dai_name = "ac97-hifi", 25 .codec_dai_name = "ac97-hifi",
26 .codec_name = "ac97-codec", 26 .codec_name = "ac97-codec",
27 .platform_name = "samsung-audio", 27 .platform_name = "samsung-ac97",
28}, 28},
29}; 29};
30 30
diff --git a/sound/soc/samsung/smdk_spdif.c b/sound/soc/samsung/smdk_spdif.c
index beaa9c15d697..a2f2363fe1c2 100644
--- a/sound/soc/samsung/smdk_spdif.c
+++ b/sound/soc/samsung/smdk_spdif.c
@@ -151,7 +151,7 @@ static struct snd_soc_ops smdk_spdif_ops = {
151static struct snd_soc_dai_link smdk_dai = { 151static struct snd_soc_dai_link smdk_dai = {
152 .name = "S/PDIF", 152 .name = "S/PDIF",
153 .stream_name = "S/PDIF PCM Playback", 153 .stream_name = "S/PDIF PCM Playback",
154 .platform_name = "samsung-audio", 154 .platform_name = "samsung-spdif",
155 .cpu_dai_name = "samsung-spdif", 155 .cpu_dai_name = "samsung-spdif",
156 .codec_dai_name = "dit-hifi", 156 .codec_dai_name = "dit-hifi",
157 .codec_name = "spdif-dit", 157 .codec_name = "spdif-dit",
diff --git a/sound/soc/samsung/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c
index ade2809cf393..7e2b710763be 100644
--- a/sound/soc/samsung/smdk_wm8580.c
+++ b/sound/soc/samsung/smdk_wm8580.c
@@ -176,7 +176,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
176 .stream_name = "Playback", 176 .stream_name = "Playback",
177 .cpu_dai_name = "samsung-i2s.0", 177 .cpu_dai_name = "samsung-i2s.0",
178 .codec_dai_name = "wm8580-hifi-playback", 178 .codec_dai_name = "wm8580-hifi-playback",
179 .platform_name = "samsung-audio", 179 .platform_name = "samsung-i2s.0",
180 .codec_name = "wm8580.0-001b", 180 .codec_name = "wm8580.0-001b",
181 .ops = &smdk_ops, 181 .ops = &smdk_ops,
182 }, 182 },
@@ -185,7 +185,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
185 .stream_name = "Capture", 185 .stream_name = "Capture",
186 .cpu_dai_name = "samsung-i2s.0", 186 .cpu_dai_name = "samsung-i2s.0",
187 .codec_dai_name = "wm8580-hifi-capture", 187 .codec_dai_name = "wm8580-hifi-capture",
188 .platform_name = "samsung-audio", 188 .platform_name = "samsung-i2s.0",
189 .codec_name = "wm8580.0-001b", 189 .codec_name = "wm8580.0-001b",
190 .init = smdk_wm8580_init_paiftx, 190 .init = smdk_wm8580_init_paiftx,
191 .ops = &smdk_ops, 191 .ops = &smdk_ops,
@@ -195,7 +195,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
195 .stream_name = "Playback", 195 .stream_name = "Playback",
196 .cpu_dai_name = "samsung-i2s.x", 196 .cpu_dai_name = "samsung-i2s.x",
197 .codec_dai_name = "wm8580-hifi-playback", 197 .codec_dai_name = "wm8580-hifi-playback",
198 .platform_name = "samsung-audio", 198 .platform_name = "samsung-i2s.x",
199 .codec_name = "wm8580.0-001b", 199 .codec_name = "wm8580.0-001b",
200 .ops = &smdk_ops, 200 .ops = &smdk_ops,
201 }, 201 },
diff --git a/sound/soc/samsung/smdk_wm8580pcm.c b/sound/soc/samsung/smdk_wm8580pcm.c
index fab5322e9f05..e43bd4294f99 100644
--- a/sound/soc/samsung/smdk_wm8580pcm.c
+++ b/sound/soc/samsung/smdk_wm8580pcm.c
@@ -135,7 +135,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
135 .stream_name = "Capture", 135 .stream_name = "Capture",
136 .cpu_dai_name = "samsung-pcm.0", 136 .cpu_dai_name = "samsung-pcm.0",
137 .codec_dai_name = "wm8580-hifi-capture", 137 .codec_dai_name = "wm8580-hifi-capture",
138 .platform_name = "samsung-audio", 138 .platform_name = "samsung-pcm.0",
139 .codec_name = "wm8580.0-001b", 139 .codec_name = "wm8580.0-001b",
140 .ops = &smdk_wm8580_pcm_ops, 140 .ops = &smdk_wm8580_pcm_ops,
141 }, 141 },
@@ -153,7 +153,7 @@ static struct snd_soc_card smdk_pcm = {
153 * is absent (or not connected), so we connect EXT_VOICE_CLK(OSC4), 153 * is absent (or not connected), so we connect EXT_VOICE_CLK(OSC4),
154 * 2.0484Mhz, directly with MCLK both Codec and SoC. 154 * 2.0484Mhz, directly with MCLK both Codec and SoC.
155 */ 155 */
156static int __devinit snd_smdk_probe(struct platform_device *pdev) 156static int snd_smdk_probe(struct platform_device *pdev)
157{ 157{
158 int ret = 0; 158 int ret = 0;
159 159
@@ -173,7 +173,7 @@ static int __devinit snd_smdk_probe(struct platform_device *pdev)
173 return 0; 173 return 0;
174} 174}
175 175
176static int __devexit snd_smdk_remove(struct platform_device *pdev) 176static int snd_smdk_remove(struct platform_device *pdev)
177{ 177{
178 snd_soc_unregister_card(&smdk_pcm); 178 snd_soc_unregister_card(&smdk_pcm);
179 platform_set_drvdata(pdev, NULL); 179 platform_set_drvdata(pdev, NULL);
@@ -186,7 +186,7 @@ static struct platform_driver snd_smdk_driver = {
186 .name = "samsung-smdk-pcm", 186 .name = "samsung-smdk-pcm",
187 }, 187 },
188 .probe = snd_smdk_probe, 188 .probe = snd_smdk_probe,
189 .remove = __devexit_p(snd_smdk_remove), 189 .remove = snd_smdk_remove,
190}; 190};
191 191
192module_platform_driver(snd_smdk_driver); 192module_platform_driver(snd_smdk_driver);
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c
index 48dd4dd9ee08..b0d0ab8bff5a 100644
--- a/sound/soc/samsung/smdk_wm8994.c
+++ b/sound/soc/samsung/smdk_wm8994.c
@@ -127,7 +127,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
127 .stream_name = "Pri_Dai", 127 .stream_name = "Pri_Dai",
128 .cpu_dai_name = "samsung-i2s.0", 128 .cpu_dai_name = "samsung-i2s.0",
129 .codec_dai_name = "wm8994-aif1", 129 .codec_dai_name = "wm8994-aif1",
130 .platform_name = "samsung-audio", 130 .platform_name = "samsung-i2s.0",
131 .codec_name = "wm8994-codec", 131 .codec_name = "wm8994-codec",
132 .init = smdk_wm8994_init_paiftx, 132 .init = smdk_wm8994_init_paiftx,
133 .ops = &smdk_ops, 133 .ops = &smdk_ops,
@@ -136,7 +136,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
136 .stream_name = "Sec_Dai", 136 .stream_name = "Sec_Dai",
137 .cpu_dai_name = "samsung-i2s.4", 137 .cpu_dai_name = "samsung-i2s.4",
138 .codec_dai_name = "wm8994-aif1", 138 .codec_dai_name = "wm8994-aif1",
139 .platform_name = "samsung-audio", 139 .platform_name = "samsung-i2s.4",
140 .codec_name = "wm8994-codec", 140 .codec_name = "wm8994-codec",
141 .ops = &smdk_ops, 141 .ops = &smdk_ops,
142 }, 142 },
@@ -150,7 +150,7 @@ static struct snd_soc_card smdk = {
150}; 150};
151 151
152 152
153static int __devinit smdk_audio_probe(struct platform_device *pdev) 153static int smdk_audio_probe(struct platform_device *pdev)
154{ 154{
155 int ret; 155 int ret;
156 struct snd_soc_card *card = &smdk; 156 struct snd_soc_card *card = &smdk;
@@ -164,7 +164,7 @@ static int __devinit smdk_audio_probe(struct platform_device *pdev)
164 return ret; 164 return ret;
165} 165}
166 166
167static int __devexit smdk_audio_remove(struct platform_device *pdev) 167static int smdk_audio_remove(struct platform_device *pdev)
168{ 168{
169 struct snd_soc_card *card = platform_get_drvdata(pdev); 169 struct snd_soc_card *card = platform_get_drvdata(pdev);
170 170
@@ -179,7 +179,7 @@ static struct platform_driver smdk_audio_driver = {
179 .owner = THIS_MODULE, 179 .owner = THIS_MODULE,
180 }, 180 },
181 .probe = smdk_audio_probe, 181 .probe = smdk_audio_probe,
182 .remove = __devexit_p(smdk_audio_remove), 182 .remove = smdk_audio_remove,
183}; 183};
184 184
185module_platform_driver(smdk_audio_driver); 185module_platform_driver(smdk_audio_driver);
diff --git a/sound/soc/samsung/smdk_wm8994pcm.c b/sound/soc/samsung/smdk_wm8994pcm.c
index 77ecba935119..3688a32000a2 100644
--- a/sound/soc/samsung/smdk_wm8994pcm.c
+++ b/sound/soc/samsung/smdk_wm8994pcm.c
@@ -116,7 +116,7 @@ static struct snd_soc_dai_link smdk_dai[] = {
116 .stream_name = "Primary PCM", 116 .stream_name = "Primary PCM",
117 .cpu_dai_name = "samsung-pcm.0", 117 .cpu_dai_name = "samsung-pcm.0",
118 .codec_dai_name = "wm8994-aif1", 118 .codec_dai_name = "wm8994-aif1",
119 .platform_name = "samsung-audio", 119 .platform_name = "samsung-pcm.0",
120 .codec_name = "wm8994-codec", 120 .codec_name = "wm8994-codec",
121 .ops = &smdk_wm8994_pcm_ops, 121 .ops = &smdk_wm8994_pcm_ops,
122 }, 122 },
@@ -129,7 +129,7 @@ static struct snd_soc_card smdk_pcm = {
129 .num_links = 1, 129 .num_links = 1,
130}; 130};
131 131
132static int __devinit snd_smdk_probe(struct platform_device *pdev) 132static int snd_smdk_probe(struct platform_device *pdev)
133{ 133{
134 int ret = 0; 134 int ret = 0;
135 135
@@ -143,7 +143,7 @@ static int __devinit snd_smdk_probe(struct platform_device *pdev)
143 return 0; 143 return 0;
144} 144}
145 145
146static int __devexit snd_smdk_remove(struct platform_device *pdev) 146static int snd_smdk_remove(struct platform_device *pdev)
147{ 147{
148 snd_soc_unregister_card(&smdk_pcm); 148 snd_soc_unregister_card(&smdk_pcm);
149 platform_set_drvdata(pdev, NULL); 149 platform_set_drvdata(pdev, NULL);
@@ -156,7 +156,7 @@ static struct platform_driver snd_smdk_driver = {
156 .name = "samsung-smdk-pcm", 156 .name = "samsung-smdk-pcm",
157 }, 157 },
158 .probe = snd_smdk_probe, 158 .probe = snd_smdk_probe,
159 .remove = __devexit_p(snd_smdk_remove), 159 .remove = snd_smdk_remove,
160}; 160};
161 161
162module_platform_driver(snd_smdk_driver); 162module_platform_driver(snd_smdk_driver);
diff --git a/sound/soc/samsung/smdk_wm9713.c b/sound/soc/samsung/smdk_wm9713.c
index 55b2ca7f3290..0d20e4ed27aa 100644
--- a/sound/soc/samsung/smdk_wm9713.c
+++ b/sound/soc/samsung/smdk_wm9713.c
@@ -42,7 +42,7 @@ static struct snd_soc_card smdk;
42static struct snd_soc_dai_link smdk_dai = { 42static struct snd_soc_dai_link smdk_dai = {
43 .name = "AC97", 43 .name = "AC97",
44 .stream_name = "AC97 PCM", 44 .stream_name = "AC97 PCM",
45 .platform_name = "samsung-audio", 45 .platform_name = "samsung-ac97",
46 .cpu_dai_name = "samsung-ac97", 46 .cpu_dai_name = "samsung-ac97",
47 .codec_dai_name = "wm9713-hifi", 47 .codec_dai_name = "wm9713-hifi",
48 .codec_name = "wm9713-codec", 48 .codec_name = "wm9713-codec",
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 5f3b06d36e9c..5008e5bd6ed8 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -357,7 +357,7 @@ static struct snd_soc_dai_driver samsung_spdif_dai = {
357 .resume = spdif_resume, 357 .resume = spdif_resume,
358}; 358};
359 359
360static __devinit int spdif_probe(struct platform_device *pdev) 360static int spdif_probe(struct platform_device *pdev)
361{ 361{
362 struct s3c_audio_pdata *spdif_pdata; 362 struct s3c_audio_pdata *spdif_pdata;
363 struct resource *mem_res, *dma_res; 363 struct resource *mem_res, *dma_res;
@@ -437,8 +437,15 @@ static __devinit int spdif_probe(struct platform_device *pdev)
437 437
438 spdif->dma_playback = &spdif_stereo_out; 438 spdif->dma_playback = &spdif_stereo_out;
439 439
440 return 0; 440 ret = asoc_dma_platform_register(&pdev->dev);
441 if (ret) {
442 dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
443 goto err5;
444 }
441 445
446 return 0;
447err5:
448 snd_soc_unregister_dai(&pdev->dev);
442err4: 449err4:
443 iounmap(spdif->regs); 450 iounmap(spdif->regs);
444err3: 451err3:
@@ -453,11 +460,12 @@ err0:
453 return ret; 460 return ret;
454} 461}
455 462
456static __devexit int spdif_remove(struct platform_device *pdev) 463static int spdif_remove(struct platform_device *pdev)
457{ 464{
458 struct samsung_spdif_info *spdif = &spdif_info; 465 struct samsung_spdif_info *spdif = &spdif_info;
459 struct resource *mem_res; 466 struct resource *mem_res;
460 467
468 asoc_dma_platform_unregister(&pdev->dev);
461 snd_soc_unregister_dai(&pdev->dev); 469 snd_soc_unregister_dai(&pdev->dev);
462 470
463 iounmap(spdif->regs); 471 iounmap(spdif->regs);
@@ -476,7 +484,7 @@ static __devexit int spdif_remove(struct platform_device *pdev)
476 484
477static struct platform_driver samsung_spdif_driver = { 485static struct platform_driver samsung_spdif_driver = {
478 .probe = spdif_probe, 486 .probe = spdif_probe,
479 .remove = __devexit_p(spdif_remove), 487 .remove = spdif_remove,
480 .driver = { 488 .driver = {
481 .name = "samsung-spdif", 489 .name = "samsung-spdif",
482 .owner = THIS_MODULE, 490 .owner = THIS_MODULE,
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c
index c7e1c28528a4..57df90d6b7c1 100644
--- a/sound/soc/samsung/speyside.c
+++ b/sound/soc/samsung/speyside.c
@@ -198,7 +198,7 @@ static struct snd_soc_dai_link speyside_dai[] = {
198 .stream_name = "CPU-DSP", 198 .stream_name = "CPU-DSP",
199 .cpu_dai_name = "samsung-i2s.0", 199 .cpu_dai_name = "samsung-i2s.0",
200 .codec_dai_name = "wm0010-sdi1", 200 .codec_dai_name = "wm0010-sdi1",
201 .platform_name = "samsung-audio", 201 .platform_name = "samsung-i2s.0",
202 .codec_name = "spi0.0", 202 .codec_name = "spi0.0",
203 .init = speyside_wm0010_init, 203 .init = speyside_wm0010_init,
204 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 204 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
@@ -320,7 +320,7 @@ static struct snd_soc_card speyside = {
320 .late_probe = speyside_late_probe, 320 .late_probe = speyside_late_probe,
321}; 321};
322 322
323static __devinit int speyside_probe(struct platform_device *pdev) 323static int speyside_probe(struct platform_device *pdev)
324{ 324{
325 struct snd_soc_card *card = &speyside; 325 struct snd_soc_card *card = &speyside;
326 int ret; 326 int ret;
@@ -337,7 +337,7 @@ static __devinit int speyside_probe(struct platform_device *pdev)
337 return 0; 337 return 0;
338} 338}
339 339
340static int __devexit speyside_remove(struct platform_device *pdev) 340static int speyside_remove(struct platform_device *pdev)
341{ 341{
342 struct snd_soc_card *card = platform_get_drvdata(pdev); 342 struct snd_soc_card *card = platform_get_drvdata(pdev);
343 343
@@ -353,7 +353,7 @@ static struct platform_driver speyside_driver = {
353 .pm = &snd_soc_pm_ops, 353 .pm = &snd_soc_pm_ops,
354 }, 354 },
355 .probe = speyside_probe, 355 .probe = speyside_probe,
356 .remove = __devexit_p(speyside_remove), 356 .remove = speyside_remove,
357}; 357};
358 358
359module_platform_driver(speyside_driver); 359module_platform_driver(speyside_driver);
diff --git a/sound/soc/samsung/tobermory.c b/sound/soc/samsung/tobermory.c
index 9199649bf786..f21ff608a819 100644
--- a/sound/soc/samsung/tobermory.c
+++ b/sound/soc/samsung/tobermory.c
@@ -110,7 +110,7 @@ static struct snd_soc_dai_link tobermory_dai[] = {
110 .stream_name = "CPU", 110 .stream_name = "CPU",
111 .cpu_dai_name = "samsung-i2s.0", 111 .cpu_dai_name = "samsung-i2s.0",
112 .codec_dai_name = "wm8962", 112 .codec_dai_name = "wm8962",
113 .platform_name = "samsung-audio", 113 .platform_name = "samsung-i2s.0",
114 .codec_name = "wm8962.1-001a", 114 .codec_name = "wm8962.1-001a",
115 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF 115 .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
116 | SND_SOC_DAIFMT_CBM_CFM, 116 | SND_SOC_DAIFMT_CBM_CFM,
@@ -214,7 +214,7 @@ static struct snd_soc_card tobermory = {
214 .late_probe = tobermory_late_probe, 214 .late_probe = tobermory_late_probe,
215}; 215};
216 216
217static __devinit int tobermory_probe(struct platform_device *pdev) 217static int tobermory_probe(struct platform_device *pdev)
218{ 218{
219 struct snd_soc_card *card = &tobermory; 219 struct snd_soc_card *card = &tobermory;
220 int ret; 220 int ret;
@@ -231,7 +231,7 @@ static __devinit int tobermory_probe(struct platform_device *pdev)
231 return 0; 231 return 0;
232} 232}
233 233
234static int __devexit tobermory_remove(struct platform_device *pdev) 234static int tobermory_remove(struct platform_device *pdev)
235{ 235{
236 struct snd_soc_card *card = platform_get_drvdata(pdev); 236 struct snd_soc_card *card = platform_get_drvdata(pdev);
237 237
@@ -247,7 +247,7 @@ static struct platform_driver tobermory_driver = {
247 .pm = &snd_soc_pm_ops, 247 .pm = &snd_soc_pm_ops,
248 }, 248 },
249 .probe = tobermory_probe, 249 .probe = tobermory_probe,
250 .remove = __devexit_p(tobermory_remove), 250 .remove = tobermory_remove,
251}; 251};
252 252
253module_platform_driver(tobermory_driver); 253module_platform_driver(tobermory_driver);
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c
index 7da20186b19e..19eff8fc4fdd 100644
--- a/sound/soc/sh/dma-sh7760.c
+++ b/sound/soc/sh/dma-sh7760.c
@@ -348,12 +348,12 @@ static struct snd_soc_platform sh7760_soc_platform = {
348 .pcm_free = camelot_pcm_free, 348 .pcm_free = camelot_pcm_free,
349}; 349};
350 350
351static int __devinit sh7760_soc_platform_probe(struct platform_device *pdev) 351static int sh7760_soc_platform_probe(struct platform_device *pdev)
352{ 352{
353 return snd_soc_register_platform(&pdev->dev, &sh7760_soc_platform); 353 return snd_soc_register_platform(&pdev->dev, &sh7760_soc_platform);
354} 354}
355 355
356static int __devexit sh7760_soc_platform_remove(struct platform_device *pdev) 356static int sh7760_soc_platform_remove(struct platform_device *pdev)
357{ 357{
358 snd_soc_unregister_platform(&pdev->dev); 358 snd_soc_unregister_platform(&pdev->dev);
359 return 0; 359 return 0;
@@ -366,7 +366,7 @@ static struct platform_driver sh7760_pcm_driver = {
366 }, 366 },
367 367
368 .probe = sh7760_soc_platform_probe, 368 .probe = sh7760_soc_platform_probe,
369 .remove = __devexit_p(sh7760_soc_platform_remove), 369 .remove = sh7760_soc_platform_remove,
370}; 370};
371 371
372module_platform_driver(sh7760_pcm_driver); 372module_platform_driver(sh7760_pcm_driver);
diff --git a/sound/soc/sh/hac.c b/sound/soc/sh/hac.c
index 3474d7befe5a..4cc2d64ef476 100644
--- a/sound/soc/sh/hac.c
+++ b/sound/soc/sh/hac.c
@@ -310,13 +310,13 @@ static struct snd_soc_dai_driver sh4_hac_dai[] = {
310#endif 310#endif
311}; 311};
312 312
313static int __devinit hac_soc_platform_probe(struct platform_device *pdev) 313static int hac_soc_platform_probe(struct platform_device *pdev)
314{ 314{
315 return snd_soc_register_dais(&pdev->dev, sh4_hac_dai, 315 return snd_soc_register_dais(&pdev->dev, sh4_hac_dai,
316 ARRAY_SIZE(sh4_hac_dai)); 316 ARRAY_SIZE(sh4_hac_dai));
317} 317}
318 318
319static int __devexit hac_soc_platform_remove(struct platform_device *pdev) 319static int hac_soc_platform_remove(struct platform_device *pdev)
320{ 320{
321 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_hac_dai)); 321 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_hac_dai));
322 return 0; 322 return 0;
@@ -329,7 +329,7 @@ static struct platform_driver hac_pcm_driver = {
329 }, 329 },
330 330
331 .probe = hac_soc_platform_probe, 331 .probe = hac_soc_platform_probe,
332 .remove = __devexit_p(hac_soc_platform_remove), 332 .remove = hac_soc_platform_remove,
333}; 333};
334 334
335module_platform_driver(hac_pcm_driver); 335module_platform_driver(hac_pcm_driver);
diff --git a/sound/soc/sh/siu_dai.c b/sound/soc/sh/siu_dai.c
index 52d4c17b1232..34facdc9e4ac 100644
--- a/sound/soc/sh/siu_dai.c
+++ b/sound/soc/sh/siu_dai.c
@@ -726,7 +726,7 @@ static struct snd_soc_dai_driver siu_i2s_dai = {
726 .ops = &siu_dai_ops, 726 .ops = &siu_dai_ops,
727}; 727};
728 728
729static int __devinit siu_probe(struct platform_device *pdev) 729static int siu_probe(struct platform_device *pdev)
730{ 730{
731 const struct firmware *fw_entry; 731 const struct firmware *fw_entry;
732 struct resource *res, *region; 732 struct resource *res, *region;
@@ -815,7 +815,7 @@ ereqfw:
815 return ret; 815 return ret;
816} 816}
817 817
818static int __devexit siu_remove(struct platform_device *pdev) 818static int siu_remove(struct platform_device *pdev)
819{ 819{
820 struct siu_info *info = dev_get_drvdata(&pdev->dev); 820 struct siu_info *info = dev_get_drvdata(&pdev->dev);
821 struct resource *res; 821 struct resource *res;
@@ -843,7 +843,7 @@ static struct platform_driver siu_driver = {
843 .name = "siu-pcm-audio", 843 .name = "siu-pcm-audio",
844 }, 844 },
845 .probe = siu_probe, 845 .probe = siu_probe,
846 .remove = __devexit_p(siu_remove), 846 .remove = siu_remove,
847}; 847};
848 848
849module_platform_driver(siu_driver); 849module_platform_driver(siu_driver);
diff --git a/sound/soc/sh/ssi.c b/sound/soc/sh/ssi.c
index ff82b56a8860..c8e73a703934 100644
--- a/sound/soc/sh/ssi.c
+++ b/sound/soc/sh/ssi.c
@@ -379,13 +379,13 @@ static struct snd_soc_dai_driver sh4_ssi_dai[] = {
379#endif 379#endif
380}; 380};
381 381
382static int __devinit sh4_soc_dai_probe(struct platform_device *pdev) 382static int sh4_soc_dai_probe(struct platform_device *pdev)
383{ 383{
384 return snd_soc_register_dais(&pdev->dev, sh4_ssi_dai, 384 return snd_soc_register_dais(&pdev->dev, sh4_ssi_dai,
385 ARRAY_SIZE(sh4_ssi_dai)); 385 ARRAY_SIZE(sh4_ssi_dai));
386} 386}
387 387
388static int __devexit sh4_soc_dai_remove(struct platform_device *pdev) 388static int sh4_soc_dai_remove(struct platform_device *pdev)
389{ 389{
390 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_ssi_dai)); 390 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_ssi_dai));
391 return 0; 391 return 0;
@@ -398,7 +398,7 @@ static struct platform_driver sh4_ssi_driver = {
398 }, 398 },
399 399
400 .probe = sh4_soc_dai_probe, 400 .probe = sh4_soc_dai_probe,
401 .remove = __devexit_p(sh4_soc_dai_remove), 401 .remove = sh4_soc_dai_remove,
402}; 402};
403 403
404module_platform_driver(sh4_ssi_driver); 404module_platform_driver(sh4_ssi_driver);
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c
index 60053709e417..fe4541df498c 100644
--- a/sound/soc/soc-utils.c
+++ b/sound/soc/soc-utils.c
@@ -94,7 +94,7 @@ static struct snd_soc_dai_driver dummy_dai = {
94 .name = "snd-soc-dummy-dai", 94 .name = "snd-soc-dummy-dai",
95}; 95};
96 96
97static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) 97static int snd_soc_dummy_probe(struct platform_device *pdev)
98{ 98{
99 int ret; 99 int ret;
100 100
@@ -111,7 +111,7 @@ static __devinit int snd_soc_dummy_probe(struct platform_device *pdev)
111 return ret; 111 return ret;
112} 112}
113 113
114static __devexit int snd_soc_dummy_remove(struct platform_device *pdev) 114static int snd_soc_dummy_remove(struct platform_device *pdev)
115{ 115{
116 snd_soc_unregister_platform(&pdev->dev); 116 snd_soc_unregister_platform(&pdev->dev);
117 snd_soc_unregister_codec(&pdev->dev); 117 snd_soc_unregister_codec(&pdev->dev);
@@ -125,7 +125,7 @@ static struct platform_driver soc_dummy_driver = {
125 .owner = THIS_MODULE, 125 .owner = THIS_MODULE,
126 }, 126 },
127 .probe = snd_soc_dummy_probe, 127 .probe = snd_soc_dummy_probe,
128 .remove = __devexit_p(snd_soc_dummy_remove), 128 .remove = snd_soc_dummy_remove,
129}; 129};
130 130
131static struct platform_device *soc_dummy_dev; 131static struct platform_device *soc_dummy_dev;
diff --git a/sound/soc/spear/spear_pcm.c b/sound/soc/spear/spear_pcm.c
index 8c7f23729446..9b76cc5a1148 100644
--- a/sound/soc/spear/spear_pcm.c
+++ b/sound/soc/spear/spear_pcm.c
@@ -184,12 +184,12 @@ struct snd_soc_platform_driver spear_soc_platform = {
184 .pcm_free = spear_pcm_free, 184 .pcm_free = spear_pcm_free,
185}; 185};
186 186
187static int __devinit spear_soc_platform_probe(struct platform_device *pdev) 187static int spear_soc_platform_probe(struct platform_device *pdev)
188{ 188{
189 return snd_soc_register_platform(&pdev->dev, &spear_soc_platform); 189 return snd_soc_register_platform(&pdev->dev, &spear_soc_platform);
190} 190}
191 191
192static int __devexit spear_soc_platform_remove(struct platform_device *pdev) 192static int spear_soc_platform_remove(struct platform_device *pdev)
193{ 193{
194 snd_soc_unregister_platform(&pdev->dev); 194 snd_soc_unregister_platform(&pdev->dev);
195 195
@@ -203,7 +203,7 @@ static struct platform_driver spear_pcm_driver = {
203 }, 203 },
204 204
205 .probe = spear_soc_platform_probe, 205 .probe = spear_soc_platform_probe,
206 .remove = __devexit_p(spear_soc_platform_remove), 206 .remove = spear_soc_platform_remove,
207}; 207};
208 208
209module_platform_driver(spear_pcm_driver); 209module_platform_driver(spear_pcm_driver);
diff --git a/sound/soc/tegra/tegra20_das.c b/sound/soc/tegra/tegra20_das.c
index 49653375970b..654318483877 100644
--- a/sound/soc/tegra/tegra20_das.c
+++ b/sound/soc/tegra/tegra20_das.c
@@ -131,7 +131,7 @@ static const struct regmap_config tegra20_das_regmap_config = {
131 .cache_type = REGCACHE_RBTREE, 131 .cache_type = REGCACHE_RBTREE,
132}; 132};
133 133
134static int __devinit tegra20_das_probe(struct platform_device *pdev) 134static int tegra20_das_probe(struct platform_device *pdev)
135{ 135{
136 struct resource *res, *region; 136 struct resource *res, *region;
137 void __iomem *regs; 137 void __iomem *regs;
@@ -200,7 +200,7 @@ err:
200 return ret; 200 return ret;
201} 201}
202 202
203static int __devexit tegra20_das_remove(struct platform_device *pdev) 203static int tegra20_das_remove(struct platform_device *pdev)
204{ 204{
205 if (!das) 205 if (!das)
206 return -ENODEV; 206 return -ENODEV;
@@ -217,7 +217,7 @@ static const struct of_device_id tegra20_das_of_match[] = {
217 217
218static struct platform_driver tegra20_das_driver = { 218static struct platform_driver tegra20_das_driver = {
219 .probe = tegra20_das_probe, 219 .probe = tegra20_das_probe,
220 .remove = __devexit_p(tegra20_das_remove), 220 .remove = tegra20_das_remove,
221 .driver = { 221 .driver = {
222 .name = DRV_NAME, 222 .name = DRV_NAME,
223 .owner = THIS_MODULE, 223 .owner = THIS_MODULE,
diff --git a/sound/soc/tegra/tegra20_i2s.c b/sound/soc/tegra/tegra20_i2s.c
index 2ae8af86edbd..caa772de5a18 100644
--- a/sound/soc/tegra/tegra20_i2s.c
+++ b/sound/soc/tegra/tegra20_i2s.c
@@ -331,7 +331,7 @@ static const struct regmap_config tegra20_i2s_regmap_config = {
331 .cache_type = REGCACHE_RBTREE, 331 .cache_type = REGCACHE_RBTREE,
332}; 332};
333 333
334static __devinit int tegra20_i2s_platform_probe(struct platform_device *pdev) 334static int tegra20_i2s_platform_probe(struct platform_device *pdev)
335{ 335{
336 struct tegra20_i2s *i2s; 336 struct tegra20_i2s *i2s;
337 struct resource *mem, *memregion, *dmareq; 337 struct resource *mem, *memregion, *dmareq;
@@ -447,7 +447,7 @@ err:
447 return ret; 447 return ret;
448} 448}
449 449
450static int __devexit tegra20_i2s_platform_remove(struct platform_device *pdev) 450static int tegra20_i2s_platform_remove(struct platform_device *pdev)
451{ 451{
452 struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev); 452 struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev);
453 453
@@ -481,7 +481,7 @@ static struct platform_driver tegra20_i2s_driver = {
481 .pm = &tegra20_i2s_pm_ops, 481 .pm = &tegra20_i2s_pm_ops,
482 }, 482 },
483 .probe = tegra20_i2s_platform_probe, 483 .probe = tegra20_i2s_platform_probe,
484 .remove = __devexit_p(tegra20_i2s_platform_remove), 484 .remove = tegra20_i2s_platform_remove,
485}; 485};
486module_platform_driver(tegra20_i2s_driver); 486module_platform_driver(tegra20_i2s_driver);
487 487
diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
index d9641ef7b1ee..04771d14d343 100644
--- a/sound/soc/tegra/tegra20_spdif.c
+++ b/sound/soc/tegra/tegra20_spdif.c
@@ -257,7 +257,7 @@ static const struct regmap_config tegra20_spdif_regmap_config = {
257 .cache_type = REGCACHE_RBTREE, 257 .cache_type = REGCACHE_RBTREE,
258}; 258};
259 259
260static __devinit int tegra20_spdif_platform_probe(struct platform_device *pdev) 260static int tegra20_spdif_platform_probe(struct platform_device *pdev)
261{ 261{
262 struct tegra20_spdif *spdif; 262 struct tegra20_spdif *spdif;
263 struct resource *mem, *memregion, *dmareq; 263 struct resource *mem, *memregion, *dmareq;
@@ -357,7 +357,7 @@ err:
357 return ret; 357 return ret;
358} 358}
359 359
360static int __devexit tegra20_spdif_platform_remove(struct platform_device *pdev) 360static int tegra20_spdif_platform_remove(struct platform_device *pdev)
361{ 361{
362 struct tegra20_spdif *spdif = dev_get_drvdata(&pdev->dev); 362 struct tegra20_spdif *spdif = dev_get_drvdata(&pdev->dev);
363 363
@@ -385,7 +385,7 @@ static struct platform_driver tegra20_spdif_driver = {
385 .pm = &tegra20_spdif_pm_ops, 385 .pm = &tegra20_spdif_pm_ops,
386 }, 386 },
387 .probe = tegra20_spdif_platform_probe, 387 .probe = tegra20_spdif_platform_probe,
388 .remove = __devexit_p(tegra20_spdif_platform_remove), 388 .remove = tegra20_spdif_platform_remove,
389}; 389};
390 390
391module_platform_driver(tegra20_spdif_driver); 391module_platform_driver(tegra20_spdif_driver);
diff --git a/sound/soc/tegra/tegra30_ahub.c b/sound/soc/tegra/tegra30_ahub.c
index 2269170b0df4..fd596d2a19b4 100644
--- a/sound/soc/tegra/tegra30_ahub.c
+++ b/sound/soc/tegra/tegra30_ahub.c
@@ -300,7 +300,7 @@ static const char * const configlink_clocks[] = {
300 "spdif_in", 300 "spdif_in",
301}; 301};
302 302
303struct of_dev_auxdata ahub_auxdata[] __devinitdata = { 303struct of_dev_auxdata ahub_auxdata[] = {
304 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080300, "tegra30-i2s.0", NULL), 304 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080300, "tegra30-i2s.0", NULL),
305 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080400, "tegra30-i2s.1", NULL), 305 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080400, "tegra30-i2s.1", NULL),
306 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080500, "tegra30-i2s.2", NULL), 306 OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080500, "tegra30-i2s.2", NULL),
@@ -434,7 +434,7 @@ static const struct regmap_config tegra30_ahub_ahub_regmap_config = {
434 .cache_type = REGCACHE_RBTREE, 434 .cache_type = REGCACHE_RBTREE,
435}; 435};
436 436
437static int __devinit tegra30_ahub_probe(struct platform_device *pdev) 437static int tegra30_ahub_probe(struct platform_device *pdev)
438{ 438{
439 struct clk *clk; 439 struct clk *clk;
440 int i; 440 int i;
@@ -586,7 +586,7 @@ err:
586 return ret; 586 return ret;
587} 587}
588 588
589static int __devexit tegra30_ahub_remove(struct platform_device *pdev) 589static int tegra30_ahub_remove(struct platform_device *pdev)
590{ 590{
591 if (!ahub) 591 if (!ahub)
592 return -ENODEV; 592 return -ENODEV;
@@ -615,7 +615,7 @@ static const struct dev_pm_ops tegra30_ahub_pm_ops = {
615 615
616static struct platform_driver tegra30_ahub_driver = { 616static struct platform_driver tegra30_ahub_driver = {
617 .probe = tegra30_ahub_probe, 617 .probe = tegra30_ahub_probe,
618 .remove = __devexit_p(tegra30_ahub_remove), 618 .remove = tegra30_ahub_remove,
619 .driver = { 619 .driver = {
620 .name = DRV_NAME, 620 .name = DRV_NAME,
621 .owner = THIS_MODULE, 621 .owner = THIS_MODULE,
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index bf0e089e7997..27e91dd0b91c 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -391,7 +391,7 @@ static const struct regmap_config tegra30_i2s_regmap_config = {
391 .cache_type = REGCACHE_RBTREE, 391 .cache_type = REGCACHE_RBTREE,
392}; 392};
393 393
394static __devinit int tegra30_i2s_platform_probe(struct platform_device *pdev) 394static int tegra30_i2s_platform_probe(struct platform_device *pdev)
395{ 395{
396 struct tegra30_i2s *i2s; 396 struct tegra30_i2s *i2s;
397 u32 cif_ids[2]; 397 u32 cif_ids[2];
@@ -492,7 +492,7 @@ err:
492 return ret; 492 return ret;
493} 493}
494 494
495static int __devexit tegra30_i2s_platform_remove(struct platform_device *pdev) 495static int tegra30_i2s_platform_remove(struct platform_device *pdev)
496{ 496{
497 struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev); 497 struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev);
498 498
@@ -526,7 +526,7 @@ static struct platform_driver tegra30_i2s_driver = {
526 .pm = &tegra30_i2s_pm_ops, 526 .pm = &tegra30_i2s_pm_ops,
527 }, 527 },
528 .probe = tegra30_i2s_platform_probe, 528 .probe = tegra30_i2s_platform_probe,
529 .remove = __devexit_p(tegra30_i2s_platform_remove), 529 .remove = tegra30_i2s_platform_remove,
530}; 530};
531module_platform_driver(tegra30_i2s_driver); 531module_platform_driver(tegra30_i2s_driver);
532 532
diff --git a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c
index 523795a6e83e..c80adb9da472 100644
--- a/sound/soc/tegra/tegra_alc5632.c
+++ b/sound/soc/tegra/tegra_alc5632.c
@@ -150,7 +150,7 @@ static struct snd_soc_card snd_soc_tegra_alc5632 = {
150 .fully_routed = true, 150 .fully_routed = true,
151}; 151};
152 152
153static __devinit int tegra_alc5632_probe(struct platform_device *pdev) 153static int tegra_alc5632_probe(struct platform_device *pdev)
154{ 154{
155 struct device_node *np = pdev->dev.of_node; 155 struct device_node *np = pdev->dev.of_node;
156 struct snd_soc_card *card = &snd_soc_tegra_alc5632; 156 struct snd_soc_card *card = &snd_soc_tegra_alc5632;
@@ -227,7 +227,7 @@ err:
227 return ret; 227 return ret;
228} 228}
229 229
230static int __devexit tegra_alc5632_remove(struct platform_device *pdev) 230static int tegra_alc5632_remove(struct platform_device *pdev)
231{ 231{
232 struct snd_soc_card *card = platform_get_drvdata(pdev); 232 struct snd_soc_card *card = platform_get_drvdata(pdev);
233 struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card); 233 struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card);
@@ -255,7 +255,7 @@ static struct platform_driver tegra_alc5632_driver = {
255 .of_match_table = tegra_alc5632_of_match, 255 .of_match_table = tegra_alc5632_of_match,
256 }, 256 },
257 .probe = tegra_alc5632_probe, 257 .probe = tegra_alc5632_probe,
258 .remove = __devexit_p(tegra_alc5632_remove), 258 .remove = tegra_alc5632_remove,
259}; 259};
260module_platform_driver(tegra_alc5632_driver); 260module_platform_driver(tegra_alc5632_driver);
261 261
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c
index e18733963cb4..c925ab0adeb6 100644
--- a/sound/soc/tegra/tegra_pcm.c
+++ b/sound/soc/tegra/tegra_pcm.c
@@ -253,13 +253,13 @@ static struct snd_soc_platform_driver tegra_pcm_platform = {
253 .pcm_free = tegra_pcm_free, 253 .pcm_free = tegra_pcm_free,
254}; 254};
255 255
256int __devinit tegra_pcm_platform_register(struct device *dev) 256int tegra_pcm_platform_register(struct device *dev)
257{ 257{
258 return snd_soc_register_platform(dev, &tegra_pcm_platform); 258 return snd_soc_register_platform(dev, &tegra_pcm_platform);
259} 259}
260EXPORT_SYMBOL_GPL(tegra_pcm_platform_register); 260EXPORT_SYMBOL_GPL(tegra_pcm_platform_register);
261 261
262void __devexit tegra_pcm_platform_unregister(struct device *dev) 262void tegra_pcm_platform_unregister(struct device *dev)
263{ 263{
264 snd_soc_unregister_platform(dev); 264 snd_soc_unregister_platform(dev);
265} 265}
diff --git a/sound/soc/tegra/tegra_wm8753.c b/sound/soc/tegra/tegra_wm8753.c
index effe5b41b5f9..c8ef88a67c59 100644
--- a/sound/soc/tegra/tegra_wm8753.c
+++ b/sound/soc/tegra/tegra_wm8753.c
@@ -122,7 +122,7 @@ static struct snd_soc_card snd_soc_tegra_wm8753 = {
122 .fully_routed = true, 122 .fully_routed = true,
123}; 123};
124 124
125static __devinit int tegra_wm8753_driver_probe(struct platform_device *pdev) 125static int tegra_wm8753_driver_probe(struct platform_device *pdev)
126{ 126{
127 struct snd_soc_card *card = &snd_soc_tegra_wm8753; 127 struct snd_soc_card *card = &snd_soc_tegra_wm8753;
128 struct tegra_wm8753 *machine; 128 struct tegra_wm8753 *machine;
@@ -188,7 +188,7 @@ err:
188 return ret; 188 return ret;
189} 189}
190 190
191static int __devexit tegra_wm8753_driver_remove(struct platform_device *pdev) 191static int tegra_wm8753_driver_remove(struct platform_device *pdev)
192{ 192{
193 struct snd_soc_card *card = platform_get_drvdata(pdev); 193 struct snd_soc_card *card = platform_get_drvdata(pdev);
194 struct tegra_wm8753 *machine = snd_soc_card_get_drvdata(card); 194 struct tegra_wm8753 *machine = snd_soc_card_get_drvdata(card);
@@ -213,7 +213,7 @@ static struct platform_driver tegra_wm8753_driver = {
213 .of_match_table = tegra_wm8753_of_match, 213 .of_match_table = tegra_wm8753_of_match,
214 }, 214 },
215 .probe = tegra_wm8753_driver_probe, 215 .probe = tegra_wm8753_driver_probe,
216 .remove = __devexit_p(tegra_wm8753_driver_remove), 216 .remove = tegra_wm8753_driver_remove,
217}; 217};
218module_platform_driver(tegra_wm8753_driver); 218module_platform_driver(tegra_wm8753_driver);
219 219
diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
index 0f794126fbe4..bbd79bf56303 100644
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -252,7 +252,7 @@ static struct snd_soc_card snd_soc_tegra_wm8903 = {
252 .fully_routed = true, 252 .fully_routed = true,
253}; 253};
254 254
255static __devinit int tegra_wm8903_driver_probe(struct platform_device *pdev) 255static int tegra_wm8903_driver_probe(struct platform_device *pdev)
256{ 256{
257 struct device_node *np = pdev->dev.of_node; 257 struct device_node *np = pdev->dev.of_node;
258 struct snd_soc_card *card = &snd_soc_tegra_wm8903; 258 struct snd_soc_card *card = &snd_soc_tegra_wm8903;
@@ -402,7 +402,7 @@ err:
402 return ret; 402 return ret;
403} 403}
404 404
405static int __devexit tegra_wm8903_driver_remove(struct platform_device *pdev) 405static int tegra_wm8903_driver_remove(struct platform_device *pdev)
406{ 406{
407 struct snd_soc_card *card = platform_get_drvdata(pdev); 407 struct snd_soc_card *card = platform_get_drvdata(pdev);
408 struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card); 408 struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
@@ -430,7 +430,7 @@ static struct platform_driver tegra_wm8903_driver = {
430 .of_match_table = tegra_wm8903_of_match, 430 .of_match_table = tegra_wm8903_of_match,
431 }, 431 },
432 .probe = tegra_wm8903_driver_probe, 432 .probe = tegra_wm8903_driver_probe,
433 .remove = __devexit_p(tegra_wm8903_driver_remove), 433 .remove = tegra_wm8903_driver_remove,
434}; 434};
435module_platform_driver(tegra_wm8903_driver); 435module_platform_driver(tegra_wm8903_driver);
436 436
diff --git a/sound/soc/tegra/trimslice.c b/sound/soc/tegra/trimslice.c
index 4a255a4d0c47..7fcf6c2297db 100644
--- a/sound/soc/tegra/trimslice.c
+++ b/sound/soc/tegra/trimslice.c
@@ -120,7 +120,7 @@ static struct snd_soc_card snd_soc_trimslice = {
120 .fully_routed = true, 120 .fully_routed = true,
121}; 121};
122 122
123static __devinit int tegra_snd_trimslice_probe(struct platform_device *pdev) 123static int tegra_snd_trimslice_probe(struct platform_device *pdev)
124{ 124{
125 struct snd_soc_card *card = &snd_soc_trimslice; 125 struct snd_soc_card *card = &snd_soc_trimslice;
126 struct tegra_trimslice *trimslice; 126 struct tegra_trimslice *trimslice;
@@ -183,7 +183,7 @@ err:
183 return ret; 183 return ret;
184} 184}
185 185
186static int __devexit tegra_snd_trimslice_remove(struct platform_device *pdev) 186static int tegra_snd_trimslice_remove(struct platform_device *pdev)
187{ 187{
188 struct snd_soc_card *card = platform_get_drvdata(pdev); 188 struct snd_soc_card *card = platform_get_drvdata(pdev);
189 struct tegra_trimslice *trimslice = snd_soc_card_get_drvdata(card); 189 struct tegra_trimslice *trimslice = snd_soc_card_get_drvdata(card);
@@ -208,7 +208,7 @@ static struct platform_driver tegra_snd_trimslice_driver = {
208 .of_match_table = trimslice_of_match, 208 .of_match_table = trimslice_of_match,
209 }, 209 },
210 .probe = tegra_snd_trimslice_probe, 210 .probe = tegra_snd_trimslice_probe,
211 .remove = __devexit_p(tegra_snd_trimslice_remove), 211 .remove = tegra_snd_trimslice_remove,
212}; 212};
213module_platform_driver(tegra_snd_trimslice_driver); 213module_platform_driver(tegra_snd_trimslice_driver);
214 214
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
index 28db4ca997ca..16ab69635e2e 100644
--- a/sound/soc/txx9/txx9aclc-ac97.c
+++ b/sound/soc/txx9/txx9aclc-ac97.c
@@ -170,7 +170,7 @@ static struct snd_soc_dai_driver txx9aclc_ac97_dai = {
170 }, 170 },
171}; 171};
172 172
173static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev) 173static int txx9aclc_ac97_dev_probe(struct platform_device *pdev)
174{ 174{
175 struct txx9aclc_plat_drvdata *drvdata; 175 struct txx9aclc_plat_drvdata *drvdata;
176 struct resource *r; 176 struct resource *r;
@@ -208,7 +208,7 @@ static int __devinit txx9aclc_ac97_dev_probe(struct platform_device *pdev)
208 return snd_soc_register_dai(&pdev->dev, &txx9aclc_ac97_dai); 208 return snd_soc_register_dai(&pdev->dev, &txx9aclc_ac97_dai);
209} 209}
210 210
211static int __devexit txx9aclc_ac97_dev_remove(struct platform_device *pdev) 211static int txx9aclc_ac97_dev_remove(struct platform_device *pdev)
212{ 212{
213 snd_soc_unregister_dai(&pdev->dev); 213 snd_soc_unregister_dai(&pdev->dev);
214 return 0; 214 return 0;
@@ -216,7 +216,7 @@ static int __devexit txx9aclc_ac97_dev_remove(struct platform_device *pdev)
216 216
217static struct platform_driver txx9aclc_ac97_driver = { 217static struct platform_driver txx9aclc_ac97_driver = {
218 .probe = txx9aclc_ac97_dev_probe, 218 .probe = txx9aclc_ac97_dev_probe,
219 .remove = __devexit_p(txx9aclc_ac97_dev_remove), 219 .remove = txx9aclc_ac97_dev_remove,
220 .driver = { 220 .driver = {
221 .name = "txx9aclc-ac97", 221 .name = "txx9aclc-ac97",
222 .owner = THIS_MODULE, 222 .owner = THIS_MODULE,
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c
index b609d2c64c55..45a6428cba8d 100644
--- a/sound/soc/txx9/txx9aclc.c
+++ b/sound/soc/txx9/txx9aclc.c
@@ -417,12 +417,12 @@ static struct snd_soc_platform_driver txx9aclc_soc_platform = {
417 .pcm_free = txx9aclc_pcm_free_dma_buffers, 417 .pcm_free = txx9aclc_pcm_free_dma_buffers,
418}; 418};
419 419
420static int __devinit txx9aclc_soc_platform_probe(struct platform_device *pdev) 420static int txx9aclc_soc_platform_probe(struct platform_device *pdev)
421{ 421{
422 return snd_soc_register_platform(&pdev->dev, &txx9aclc_soc_platform); 422 return snd_soc_register_platform(&pdev->dev, &txx9aclc_soc_platform);
423} 423}
424 424
425static int __devexit txx9aclc_soc_platform_remove(struct platform_device *pdev) 425static int txx9aclc_soc_platform_remove(struct platform_device *pdev)
426{ 426{
427 snd_soc_unregister_platform(&pdev->dev); 427 snd_soc_unregister_platform(&pdev->dev);
428 return 0; 428 return 0;
@@ -435,7 +435,7 @@ static struct platform_driver txx9aclc_pcm_driver = {
435 }, 435 },
436 436
437 .probe = txx9aclc_soc_platform_probe, 437 .probe = txx9aclc_soc_platform_probe,
438 .remove = __devexit_p(txx9aclc_soc_platform_remove), 438 .remove = txx9aclc_soc_platform_remove,
439}; 439};
440 440
441module_platform_driver(txx9aclc_pcm_driver); 441module_platform_driver(txx9aclc_pcm_driver);
diff --git a/sound/soc/ux500/mop500.c b/sound/soc/ux500/mop500.c
index 651a52a95fd7..ae6990738783 100644
--- a/sound/soc/ux500/mop500.c
+++ b/sound/soc/ux500/mop500.c
@@ -71,8 +71,8 @@ static void mop500_of_node_put(void)
71 } 71 }
72} 72}
73 73
74static int __devinit mop500_of_probe(struct platform_device *pdev, 74static int mop500_of_probe(struct platform_device *pdev,
75 struct device_node *np) 75 struct device_node *np)
76{ 76{
77 struct device_node *codec_np, *msp_np[2]; 77 struct device_node *codec_np, *msp_np[2];
78 int i; 78 int i;
@@ -99,7 +99,7 @@ static int __devinit mop500_of_probe(struct platform_device *pdev,
99 return 0; 99 return 0;
100} 100}
101 101
102static int __devinit mop500_probe(struct platform_device *pdev) 102static int mop500_probe(struct platform_device *pdev)
103{ 103{
104 struct device_node *np = pdev->dev.of_node; 104 struct device_node *np = pdev->dev.of_node;
105 int ret; 105 int ret;
@@ -136,7 +136,7 @@ static int __devinit mop500_probe(struct platform_device *pdev)
136 return ret; 136 return ret;
137} 137}
138 138
139static int __devexit mop500_remove(struct platform_device *pdev) 139static int mop500_remove(struct platform_device *pdev)
140{ 140{
141 struct snd_soc_card *mop500_card = platform_get_drvdata(pdev); 141 struct snd_soc_card *mop500_card = platform_get_drvdata(pdev);
142 142
@@ -161,7 +161,7 @@ static struct platform_driver snd_soc_mop500_driver = {
161 .of_match_table = snd_soc_mop500_match, 161 .of_match_table = snd_soc_mop500_match,
162 }, 162 },
163 .probe = mop500_probe, 163 .probe = mop500_probe,
164 .remove = __devexit_p(mop500_remove), 164 .remove = mop500_remove,
165}; 165};
166 166
167module_platform_driver(snd_soc_mop500_driver); 167module_platform_driver(snd_soc_mop500_driver);
diff --git a/sound/soc/ux500/ux500_msp_dai.c b/sound/soc/ux500/ux500_msp_dai.c
index 478b4b60e0cc..94a3e5705aaa 100644
--- a/sound/soc/ux500/ux500_msp_dai.c
+++ b/sound/soc/ux500/ux500_msp_dai.c
@@ -768,7 +768,7 @@ static struct snd_soc_dai_driver ux500_msp_dai_drv[UX500_NBR_OF_DAI] = {
768 }, 768 },
769}; 769};
770 770
771static int __devinit ux500_msp_drv_probe(struct platform_device *pdev) 771static int ux500_msp_drv_probe(struct platform_device *pdev)
772{ 772{
773 struct ux500_msp_i2s_drvdata *drvdata; 773 struct ux500_msp_i2s_drvdata *drvdata;
774 int ret = 0; 774 int ret = 0;
@@ -855,7 +855,7 @@ err_pclk:
855 return ret; 855 return ret;
856} 856}
857 857
858static int __devexit ux500_msp_drv_remove(struct platform_device *pdev) 858static int ux500_msp_drv_remove(struct platform_device *pdev)
859{ 859{
860 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev); 860 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
861 861
diff --git a/sound/soc/ux500/ux500_pcm.c b/sound/soc/ux500/ux500_pcm.c
index 894c9f4bb9f6..c6821a5ab0fb 100644
--- a/sound/soc/ux500/ux500_pcm.c
+++ b/sound/soc/ux500/ux500_pcm.c
@@ -282,7 +282,7 @@ static struct snd_soc_platform_driver ux500_pcm_soc_drv = {
282 .pcm_new = ux500_pcm_new, 282 .pcm_new = ux500_pcm_new,
283}; 283};
284 284
285int __devinit ux500_pcm_register_platform(struct platform_device *pdev) 285int ux500_pcm_register_platform(struct platform_device *pdev)
286{ 286{
287 int ret; 287 int ret;
288 288
@@ -298,7 +298,7 @@ int __devinit ux500_pcm_register_platform(struct platform_device *pdev)
298} 298}
299EXPORT_SYMBOL_GPL(ux500_pcm_register_platform); 299EXPORT_SYMBOL_GPL(ux500_pcm_register_platform);
300 300
301int __devexit ux500_pcm_unregister_platform(struct platform_device *pdev) 301int ux500_pcm_unregister_platform(struct platform_device *pdev)
302{ 302{
303 snd_soc_unregister_platform(&pdev->dev); 303 snd_soc_unregister_platform(&pdev->dev);
304 304