bool
        select MACH_MX21
        select CPU_ARM926T
-       select ARCH_MXC_AUDMUX
        select IMX_HAVE_DMA_V1
        select IMX_HAVE_IOMUX_V1
        select MXC_AVIC
        bool
        select ARCH_MX25
        select CPU_ARM926T
-       select ARCH_MXC_AUDMUX
        select ARCH_MXC_IOMUX_V3
        select MXC_AVIC
 
        bool
        select MACH_MX27
        select CPU_ARM926T
-       select ARCH_MXC_AUDMUX
        select IMX_HAVE_DMA_V1
        select IMX_HAVE_IOMUX_V1
        select MXC_AVIC
        bool
        select CPU_V6
        select IMX_HAVE_PLATFORM_MXC_RNGA
-       select ARCH_MXC_AUDMUX
        select MXC_AVIC
        select SMP_ON_UP if SMP
 
        bool
        select CPU_V6
        select ARCH_MXC_IOMUX_V3
-       select ARCH_MXC_AUDMUX
        select HAVE_EPIT
        select MXC_AVIC
        select SMP_ON_UP if SMP
        select CPU_V7
        select MXC_TZIC
        select ARCH_MXC_IOMUX_V3
-       select ARCH_MXC_AUDMUX
        select ARCH_HAS_CPUFREQ
        select ARCH_MX5
        bool
 
 #include <mach/hardware.h>
 #include <mach/common.h>
 #include <mach/iomux-mx51.h>
-#include <mach/audmux.h>
 
 #include "devices-imx51.h"
 
 
 config ARCH_MXC_IOMUX_V3
        bool
 
-config ARCH_MXC_AUDMUX
-       bool
-
 config IRAM_ALLOC
        bool
        select GENERIC_ALLOCATOR
 
 obj-$(CONFIG_MXC_PWM)  += pwm.o
 obj-$(CONFIG_MXC_ULPI) += ulpi.o
 obj-$(CONFIG_MXC_USE_EPIT) += epit.o
-obj-$(CONFIG_ARCH_MXC_AUDMUX) += audmux.o
 obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
 obj-$(CONFIG_CPU_FREQ_IMX)    += cpufreq.o
 ifdef CONFIG_SND_IMX_SOC
 
        select SND_SOC_DMAENGINE_PCM
        tristate
 
+config SND_SOC_IMX_AUDMUX
+       tristate
+
 config SND_MXC_SOC_WM1133_EV1
        tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
        depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
        select SND_SOC_WM8350
        select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_AUDMUX
        help
          Enable support for audio on the i.MX31ADS with the WM1133-EV1
          PMIC board with WM8835x fitted.
        depends on MACH_IMX27_VISSTRIM_M10 && I2C
        select SND_SOC_TLV320AIC32X4
        select SND_MXC_SOC_MX2
+       select SND_SOC_IMX_AUDMUX
        help
          Say Y if you want to add support for SoC audio on Visstrim SM10
          board with TLV320AIC32X4 codec.
        select SND_SOC_AC97_BUS
        select SND_SOC_WM9712
        select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_AUDMUX
        help
          Say Y if you want to add support for SoC audio on Phytec phyCORE
          and phyCARD boards in AC97 mode
        depends on I2C
        select SND_SOC_TLV320AIC23
        select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_AUDMUX
        help
          Enable I2S based access to the TLV320AIC23B codec attached
          to the SSI interface
 
 snd-soc-imx-objs := imx-ssi.o
 snd-soc-imx-fiq-objs := imx-pcm-fiq.o
 snd-soc-imx-mx2-objs := imx-pcm-dma-mx2.o
+snd-soc-imx-audmux-objs := imx-audmux.o
 
 obj-$(CONFIG_SND_IMX_SOC) += snd-soc-imx.o
 obj-$(CONFIG_SND_MXC_SOC_FIQ) += snd-soc-imx-fiq.o
 obj-$(CONFIG_SND_MXC_SOC_MX2) += snd-soc-imx-mx2.o
+obj-$(CONFIG_SND_SOC_IMX_AUDMUX) += snd-soc-imx-audmux.o
 
 # i.MX Machine Support
 snd-soc-eukrea-tlv320-objs := eukrea-tlv320.o
 
 #include <sound/pcm.h>
 #include <sound/soc.h>
 #include <asm/mach-types.h>
-#include <mach/audmux.h>
 
 #include "../codecs/tlv320aic23.h"
 #include "imx-ssi.h"
+#include "imx-audmux.h"
 
 #define CODEC_CLOCK 12000000
 
 
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
-#include <mach/audmux.h>
+
+#include "imx-audmux.h"
 
 #define DRIVER_NAME "imx-audmux"
 
 
-#ifndef __MACH_AUDMUX_H
-#define __MACH_AUDMUX_H
+#ifndef __IMX_AUDMUX_H
+#define __IMX_AUDMUX_H
 
 #define MX27_AUDMUX_HPCR1_SSI0         0
 #define MX27_AUDMUX_HPCR2_SSI1         1
 int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr,
                unsigned int pdcr);
 
-#endif /* __MACH_AUDMUX_H */
+#endif /* __IMX_AUDMUX_H */
 
 #include <sound/soc-dapm.h>
 #include <sound/tlv.h>
 #include <asm/mach-types.h>
-#include <mach/audmux.h>
 #include <mach/iomux-mx27.h>
 
 #include "../codecs/tlv320aic32x4.h"
 #include "imx-ssi.h"
+#include "imx-audmux.h"
 
 #define MX27VIS_AMP_GAIN       0
 #define MX27VIS_AMP_MUTE       1
 
 #include <sound/pcm.h>
 #include <sound/soc.h>
 #include <asm/mach-types.h>
-#include <mach/audmux.h>
+
+#include "imx-audmux.h"
 
 static struct snd_soc_card imx_phycore;
 
 
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
 
-#include <mach/audmux.h>
-
 #include "imx-ssi.h"
 #include "../codecs/wm8350.h"
+#include "imx-audmux.h"
 
 /* There is a silicon mic on the board optionally connected via a solder pad
  * SP1.  Define this to enable it.