first step in audio driver unification: renaming the functions to audio_*


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11670 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/eq_menu.c b/apps/eq_menu.c
index 9939ee7..798b05d 100644
--- a/apps/eq_menu.c
+++ b/apps/eq_menu.c
@@ -788,7 +788,7 @@
         sizeof(names) / sizeof(*names), NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0,
+    audiohw_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0,
                                 global_settings.eq_hw_band0_gain);
 #endif
 
@@ -803,7 +803,7 @@
         eq_hw_gain_format);
         
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0,
+    audiohw_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0,
                                 global_settings.eq_hw_band0_gain);
 #endif
 
@@ -824,7 +824,7 @@
         sizeof(names) / sizeof(*names), NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(1, global_settings.eq_hw_band1_center,
+    audiohw_set_equalizer_band(1, global_settings.eq_hw_band1_center,
                                 global_settings.eq_hw_band1_bandwidth,
                                 global_settings.eq_hw_band1_gain);
 #endif
@@ -839,7 +839,7 @@
         BANDWIDTH_NAMES_SIZE, NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(1, global_settings.eq_hw_band1_center,
+    audiohw_set_equalizer_band(1, global_settings.eq_hw_band1_center,
                                 global_settings.eq_hw_band1_bandwidth,
                                 global_settings.eq_hw_band1_gain);
 #endif
@@ -855,7 +855,7 @@
         eq_hw_gain_format);
         
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(1, global_settings.eq_hw_band1_center,
+    audiohw_set_equalizer_band(1, global_settings.eq_hw_band1_center,
                                 global_settings.eq_hw_band1_bandwidth,
                                 global_settings.eq_hw_band1_gain);
 #endif
@@ -877,7 +877,7 @@
         sizeof(names) / sizeof(*names), NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(2, global_settings.eq_hw_band2_center,
+    audiohw_set_equalizer_band(2, global_settings.eq_hw_band2_center,
                                 global_settings.eq_hw_band2_bandwidth,
                                 global_settings.eq_hw_band2_gain);
 #endif
@@ -892,7 +892,7 @@
         BANDWIDTH_NAMES_SIZE, NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(2, global_settings.eq_hw_band2_center,
+    audiohw_set_equalizer_band(2, global_settings.eq_hw_band2_center,
                                 global_settings.eq_hw_band2_bandwidth,
                                 global_settings.eq_hw_band2_gain);
 #endif
@@ -908,7 +908,7 @@
         eq_hw_gain_format);
         
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(2, global_settings.eq_hw_band2_center,
+    audiohw_set_equalizer_band(2, global_settings.eq_hw_band2_center,
                                 global_settings.eq_hw_band2_bandwidth,
                                 global_settings.eq_hw_band2_gain);
 #endif
@@ -930,7 +930,7 @@
         sizeof(names) / sizeof(*names), NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(3, global_settings.eq_hw_band3_center,
+    audiohw_set_equalizer_band(3, global_settings.eq_hw_band3_center,
                                 global_settings.eq_hw_band3_bandwidth,
                                 global_settings.eq_hw_band3_gain);
 #endif
@@ -945,7 +945,7 @@
         BANDWIDTH_NAMES_SIZE, NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(3, global_settings.eq_hw_band3_center,
+    audiohw_set_equalizer_band(3, global_settings.eq_hw_band3_center,
                                 global_settings.eq_hw_band3_bandwidth,
                                 global_settings.eq_hw_band3_gain);
 #endif
@@ -961,7 +961,7 @@
         eq_hw_gain_format);
         
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(3, global_settings.eq_hw_band3_center,
+    audiohw_set_equalizer_band(3, global_settings.eq_hw_band3_center,
                                 global_settings.eq_hw_band3_bandwidth,
                                 global_settings.eq_hw_band3_gain);
 #endif
@@ -983,7 +983,7 @@
         sizeof(names) / sizeof(*names), NULL);
 
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0,
+    audiohw_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0,
                                 global_settings.eq_hw_band4_gain);
 #endif
 
@@ -998,7 +998,7 @@
         eq_hw_gain_format);
         
 #ifndef SIMULATOR
-    wmcodec_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0,
+    audiohw_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0,
                                 global_settings.eq_hw_band4_gain);
 #endif
 
@@ -1011,28 +1011,28 @@
     (void) enable;
 #else
     if (enable) {
-        wmcodec_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff,
+        audiohw_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff,
                                    0, global_settings.eq_hw_band0_gain);
-        wmcodec_set_equalizer_band(1, global_settings.eq_hw_band1_center,
+        audiohw_set_equalizer_band(1, global_settings.eq_hw_band1_center,
                                    global_settings.eq_hw_band1_bandwidth,
                                    global_settings.eq_hw_band1_gain);
-        wmcodec_set_equalizer_band(2, global_settings.eq_hw_band2_center,
+        audiohw_set_equalizer_band(2, global_settings.eq_hw_band2_center,
                                    global_settings.eq_hw_band2_bandwidth,
                                    global_settings.eq_hw_band2_gain);
-        wmcodec_set_equalizer_band(3, global_settings.eq_hw_band3_center,
+        audiohw_set_equalizer_band(3, global_settings.eq_hw_band3_center,
                                    global_settings.eq_hw_band3_bandwidth,
                                    global_settings.eq_hw_band3_gain);
-        wmcodec_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff,
+        audiohw_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff,
                                    0, global_settings.eq_hw_band4_gain);
     } else {
-        wmcodec_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0, 0);
-        wmcodec_set_equalizer_band(1, global_settings.eq_hw_band1_center,
+        audiohw_set_equalizer_band(0, global_settings.eq_hw_band0_cutoff, 0, 0);
+        audiohw_set_equalizer_band(1, global_settings.eq_hw_band1_center,
                                    global_settings.eq_hw_band1_bandwidth, 0);
-        wmcodec_set_equalizer_band(2, global_settings.eq_hw_band2_center,
+        audiohw_set_equalizer_band(2, global_settings.eq_hw_band2_center,
                                    global_settings.eq_hw_band2_bandwidth, 0);
-        wmcodec_set_equalizer_band(3, global_settings.eq_hw_band3_center,
+        audiohw_set_equalizer_band(3, global_settings.eq_hw_band3_center,
                                    global_settings.eq_hw_band3_bandwidth, 0);
-        wmcodec_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0, 0);
+        audiohw_set_equalizer_band(4, global_settings.eq_hw_band4_cutoff, 0, 0);
     }
 #endif
 }
diff --git a/firmware/drivers/tlv320.c b/firmware/drivers/tlv320.c
index 7c4bbbd..c9ab094 100644
--- a/firmware/drivers/tlv320.c
+++ b/firmware/drivers/tlv320.c
@@ -67,7 +67,7 @@
 /**
  * Init our tlv with default values
  */
-void tlv320_init(void)
+void audiohw_init(void)
 {
     memset(tlv320_regs, 0, sizeof(tlv320_regs));
 
@@ -75,14 +75,14 @@
 
     /* All ON except OUT, ADC, MIC and LINE */
     tlv320_write_reg(REG_PC, PC_OUT | PC_ADC | PC_MIC | PC_LINE);
-    tlv320_set_recvol(0, 0, AUDIO_GAIN_MIC);
-    tlv320_set_recvol(0, 0, AUDIO_GAIN_LINEIN);
-    tlv320_mute(true);
+    audiohw_set_recvol(0, 0, AUDIO_GAIN_MIC);
+    audiohw_set_recvol(0, 0, AUDIO_GAIN_LINEIN);
+    audiohw_mute(true);
     tlv320_write_reg(REG_AAP, AAP_DAC | AAP_MICM);
     tlv320_write_reg(REG_DAP, 0x00);  /* No deemphasis */
     tlv320_write_reg(REG_DAIF, DAIF_IWL_16 | DAIF_FOR_I2S);
     tlv320_write_reg(REG_DIA, DIA_ACT);
-    tlv320_set_frequency(-1); /* default */
+    audiohw_set_frequency(-1); /* default */
     /* All ON except ADC, MIC and LINE */
     tlv320_write_reg(REG_PC, PC_ADC | PC_MIC | PC_LINE);
 }
@@ -90,7 +90,7 @@
 /**
  * Resets tlv320 to default values
  */
-void tlv320_reset(void)
+void audiohw_reset(void)
 {
     tlv320_write_reg(REG_RR, RR_RESET);
 }
@@ -104,7 +104,7 @@
  * 44100: 1 = MCLK   MCLK    SCLK, LRCK: Audio Clk / 4 (default)
  * 88200: 2 = MCLK*2 MCLK    SCLK, LRCK: Audio Clk / 2
  */
-void tlv320_set_frequency(unsigned fsel)
+void audiohw_set_frequency(unsigned fsel)
 {
     /* All rates available for 11.2896MHz besides 8.021 */
     unsigned char values_src[3] =
@@ -126,7 +126,7 @@
  *
  * Left & Right: 48 .. 121 .. 127 => Volume -73dB (mute) .. +0 dB .. +6 dB
  */
-void tlv320_set_headphone_vol(int vol_l, int vol_r)
+void audiohw_set_headphone_vol(int vol_l, int vol_r)
 {
     unsigned value_dap = tlv320_regs[REG_DAP];
     unsigned value_dap_last = value_dap;
@@ -156,7 +156,7 @@
  * Mic (left): 0 ..  1 => Volume  +0,     +20 dB
  *
  */
-void tlv320_set_recvol(int left, int right, int type)
+void audiohw_set_recvol(int left, int right, int type)
 {
     if (type == AUDIO_GAIN_MIC)
     {
@@ -180,7 +180,7 @@
  * Mute (mute=true) or enable sound (mute=false)
  *
  */
-void tlv320_mute(bool mute)
+void audiohw_mute(bool mute)
 {
     unsigned value_dap = tlv320_regs[REG_DAP];
     unsigned value_l, value_r;
@@ -205,16 +205,16 @@
 }
 
 /* Nice shutdown of TLV320 codec */
-void tlv320_close(void)
+void audiohw_close(void)
 {
-    tlv320_mute(true);
+    audiohw_mute(true);
     sleep(HZ/8);
 
     tlv320_write_reg(REG_PC, PC_OFF | PC_CLK | PC_OSC | PC_OUT |
         PC_DAC | PC_ADC | PC_MIC | PC_LINE);  /* All OFF */
 }
 
-void tlv320_enable_recording(bool source_mic)
+void audiohw_enable_recording(bool source_mic)
 {
     unsigned value_aap, value_pc;
 
@@ -234,7 +234,7 @@
     tlv320_write_reg(REG_AAP, value_aap);
 }
 
-void tlv320_disable_recording(void)
+void audiohw_disable_recording(void)
 {
     unsigned value_pc = tlv320_regs[REG_PC];
     unsigned value_aap = tlv320_regs[REG_AAP];
@@ -246,7 +246,7 @@
     tlv320_write_reg(REG_PC, value_pc);
 }
 
-void tlv320_set_monitor(bool enable)
+void audiohw_set_monitor(bool enable)
 {
     unsigned value_aap, value_pc;
 
diff --git a/firmware/drivers/uda1380.c b/firmware/drivers/uda1380.c
index 82bf6d1..841e7fb 100644
--- a/firmware/drivers/uda1380.c
+++ b/firmware/drivers/uda1380.c
@@ -97,7 +97,7 @@
 /**
  * Sets left and right master volume  (0(max) to 252(muted))
  */
-int uda1380_set_master_vol(int vol_l, int vol_r)
+int audiohw_set_master_vol(int vol_l, int vol_r)
 {
     return uda1380_write_reg(REG_MASTER_VOL,
                              MASTER_VOL_LEFT(vol_l) | MASTER_VOL_RIGHT(vol_r));
@@ -106,7 +106,7 @@
 /**
  * Sets mixer volume for both channels (0(max) to 228(muted))
  */
-int uda1380_set_mixer_vol(int channel1, int channel2)
+int audiohw_set_mixer_vol(int channel1, int channel2)
 {
     return uda1380_write_reg(REG_MIX_VOL,
                              MIX_VOL_CH_1(channel1) | MIX_VOL_CH_2(channel2));
@@ -115,7 +115,7 @@
 /**
  * Sets the bass value (0-12)
  */
-void uda1380_set_bass(int value)
+void audiohw_set_bass(int value)
 {
     uda1380_write_reg(REG_EQ, (uda1380_regs[REG_EQ] & ~BASS_MASK)
                               | BASSL(value) | BASSR(value));
@@ -124,7 +124,7 @@
 /**
  * Sets the treble value (0-3)
  */
-void uda1380_set_treble(int value)
+void audiohw_set_treble(int value)
 {
     uda1380_write_reg(REG_EQ, (uda1380_regs[REG_EQ] & ~TREBLE_MASK)
                               | TREBLEL(value) | TREBLER(value));
@@ -134,7 +134,7 @@
  * Mute (mute=1) or enable sound (mute=0)
  *
  */
-int uda1380_mute(int mute)
+int audiohw_mute(int mute)
 {
     unsigned int value = uda1380_regs[REG_MUTE];
 
@@ -147,7 +147,7 @@
 }
 
 /* Returns 0 if successful or -1 if some register failed */
-int uda1380_set_regs(void)
+int audiohw_set_regs(void)
 {
     int i;
     memset(uda1380_regs, 0, sizeof(uda1380_regs));
@@ -166,7 +166,7 @@
 }
 
 /* Silently enable / disable audio output */
-void uda1380_enable_output(bool enable)
+void audiohw_enable_output(bool enable)
 {
     if (enable) {
         uda1380_write_reg(REG_PWR, uda1380_regs[REG_PWR] | PON_DAC | PON_HP);
@@ -176,7 +176,7 @@
     }
 }
 
-void uda1380_reset(void)
+void audiohw_reset(void)
 {
 #ifdef IRIVER_H300_SERIES
     int mask = set_irq_level(HIGHEST_IRQ_LEVEL);
@@ -203,7 +203,7 @@
  *  44100: 2 = 25   to 50   MCLK   SCLK, LRCK: Audio Clk / 4 (default)
  *  88200: 3 = 50   to 100  MCLK   SCLK, LRCK: Audio Clk / 2 <= TODO: Needs WSPLL
  */
-void uda1380_set_frequency(unsigned fsel)
+void audiohw_set_frequency(unsigned fsel)
 {
     static const unsigned short values_reg[4][2] =
     {
@@ -231,21 +231,21 @@
 }
 
 /* Initialize UDA1380 codec with default register values (uda1380_defaults) */
-int uda1380_init(void)
+int audiohw_init(void)
 {
     recgain_mic = 0;
     recgain_line = 0;
 
-    uda1380_reset();
+    audiohw_reset();
     
-    if (uda1380_set_regs() == -1)
+    if (audiohw_set_regs() == -1)
         return -1;
 
     return 0;
 }
 
 /* Nice shutdown of UDA1380 codec */
-void uda1380_close(void)
+void audiohw_close(void)
 {
     /* First enable mute and sleep a while */
     uda1380_write_reg(REG_MUTE, MUTE_MASTER);
@@ -263,7 +263,7 @@
  *
  * source_mic: true=record from microphone, false=record from line-in (or radio)
  */
-void uda1380_enable_recording(bool source_mic)
+void audiohw_enable_recording(bool source_mic)
 {
     uda1380_regs[REG_0] &= ~(ADC_CLK | DAC_CLK);
     uda1380_write_reg(REG_0, uda1380_regs[REG_0] | EN_ADC);
@@ -298,7 +298,7 @@
 /** 
  * Stop sending samples on the I2S bus
  */
-void uda1380_disable_recording(void)
+void audiohw_disable_recording(void)
 {
     uda1380_write_reg(REG_PGA, MUTE_ADC);
     sleep(HZ/8);
@@ -327,7 +327,7 @@
            be a peak or a dip. The small glitch is caused by the time between
            setting the two gains
  */
-void uda1380_set_recvol(int left, int right, int type)
+void audiohw_set_recvol(int left, int right, int type)
 {
     int left_ag, right_ag;
 
@@ -412,7 +412,7 @@
  * Enable or disable recording monitor (so one can listen to the recording)
  * 
  */
-void uda1380_set_monitor(int enable)
+void audiohw_set_monitor(int enable)
 {
     if (enable)    /* enable channel 2 */
         uda1380_write_reg(REG_MUTE, uda1380_regs[REG_MUTE] & ~MUTE_CH2);
diff --git a/firmware/drivers/wm8731l.c b/firmware/drivers/wm8731l.c
index be9bf14..4fc33f8 100644
--- a/firmware/drivers/wm8731l.c
+++ b/firmware/drivers/wm8731l.c
@@ -43,7 +43,7 @@
 #define IPOD_PCM_LEVEL 0x65       /* -6dB */
 
 
-int wmcodec_mute(int mute)
+int audiohw_mute(int mute)
 {
     if (mute)
     {
@@ -70,7 +70,7 @@
 
 
 /* Silently enable / disable audio output */
-void wmcodec_enable_output(bool enable)
+void audiohw_enable_output(bool enable)
 {
     if (enable)
     {
@@ -96,7 +96,7 @@
         /* IWL=00(16 bit) FORMAT=10(I2S format) */
         wmcodec_write(AINTFCE, 0x42);
 
-        wmcodec_set_sample_rate(WM8731L_44100HZ);
+        audiohw_set_sample_rate(WM8731L_44100HZ);
 
         /* set the volume to -6dB */
         wmcodec_write(LOUTVOL, IPOD_PCM_LEVEL);
@@ -112,17 +112,17 @@
         /* We need to enable bit 4 of GPIOL for output for sound on H10 */
         GPIOL_OUTPUT_VAL |= 0x10;
 #endif
-        wmcodec_mute(0);
+        audiohw_mute(0);
     } else {
 #if defined(IRIVER_H10) || defined(IRIVER_H10_5GB)
         /* We need to disable bit 4 of GPIOL to disable sound on H10 */
         GPIOL_OUTPUT_VAL &= ~0x10;
 #endif
-        wmcodec_mute(1);
+        audiohw_mute(1);
     }
 }
 
-int wmcodec_set_master_vol(int vol_l, int vol_r)
+int audiohw_set_master_vol(int vol_l, int vol_r)
 {
     /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
     /* 1111111 == +6dB */
@@ -136,7 +136,7 @@
     return 0;
 }
 
-int wmcodec_set_mixer_vol(int channel1, int channel2)
+int audiohw_set_mixer_vol(int channel1, int channel2)
 {
     (void)channel1;
     (void)channel2;
@@ -144,18 +144,18 @@
     return 0;
 }
 
-void wmcodec_set_bass(int value)
+void audiohw_set_bass(int value)
 {
     (void)value;
 }
 
-void wmcodec_set_treble(int value)
+void audiohw_set_treble(int value)
 {
     (void)value;
 }
 
 /* Nice shutdown of WM8731 codec */
-void wmcodec_close(void)
+void audiohw_close(void)
 {
    /* set DACMU=1 DEEMPH=0 */
     wmcodec_write(DACCTRL, 0x8);
@@ -177,36 +177,36 @@
 }
 
 /* Change the order of the noise shaper, 5th order is recommended above 32kHz */
-void wmcodec_set_nsorder(int order)
+void audiohw_set_nsorder(int order)
 {
     (void)order;
 }
 
-void wmcodec_set_sample_rate(int sampling_control)
+void audiohw_set_sample_rate(int sampling_control)
 {
     codec_set_active(0x0);
     wmcodec_write(SAMPCTRL, sampling_control);
     codec_set_active(0x1);
 }
 
-void wmcodec_enable_recording(bool source_mic)
+void audiohw_enable_recording(bool source_mic)
 {
     (void)source_mic;
 }
 
-void wmcodec_disable_recording(void)
+void audiohw_disable_recording(void)
 {
 
 }
 
-void wmcodec_set_recvol(int left, int right, int type)
+void audiohw_set_recvol(int left, int right, int type)
 {
     (void)left;
     (void)right;
     (void)type;
 }
 
-void wmcodec_set_monitor(int enable)
+void audiohw_set_monitor(int enable)
 {
     (void)enable;
 }
diff --git a/firmware/drivers/wm8758.c b/firmware/drivers/wm8758.c
index bdc9c8b..3a4256b 100644
--- a/firmware/drivers/wm8758.c
+++ b/firmware/drivers/wm8758.c
@@ -40,7 +40,7 @@
 #include "wmcodec.h"
 #include "wm8758.h"
 
-void wmcodec_reset(void);
+void audiohw_reset(void);
 
 #define IPOD_PCM_LEVEL 0x65       /* -6dB */
 
@@ -48,7 +48,7 @@
 //#define TREBCTRL   0x0b
 
 /* Silently enable / disable audio output */
-void wmcodec_enable_output(bool enable)
+void audiohw_enable_output(bool enable)
 {
     if (enable) 
     {
@@ -70,17 +70,17 @@
 
         /* The iPod can handle multiple frequencies, but fix at 44.1KHz
            for now */
-        wmcodec_set_sample_rate(WM8758_44100HZ);
+        audiohw_set_sample_rate(WM8758_44100HZ);
     
         wmcodec_write(LOUTMIX,0x1); /* Enable mixer */
         wmcodec_write(ROUTMIX,0x1); /* Enable mixer */
-        wmcodec_mute(0);
+        audiohw_mute(0);
     } else {
-        wmcodec_mute(1);
+        audiohw_mute(1);
     }
 }
 
-int wmcodec_set_master_vol(int vol_l, int vol_r)
+int audiohw_set_master_vol(int vol_l, int vol_r)
 {
     /* OUT1 */
     wmcodec_write(LOUT1VOL, 0x080 | vol_l);
@@ -89,7 +89,7 @@
     return 0;
 }
 
-int wmcodec_set_lineout_vol(int vol_l, int vol_r)
+int audiohw_set_lineout_vol(int vol_l, int vol_r)
 {
     /* OUT2 */
     wmcodec_write(LOUT2VOL, vol_l);
@@ -98,7 +98,7 @@
     return 0;
 }
 
-int wmcodec_set_mixer_vol(int channel1, int channel2)
+int audiohw_set_mixer_vol(int channel1, int channel2)
 {
     (void)channel1;
     (void)channel2;
@@ -107,7 +107,7 @@
 }
 
 /* We are using Linear bass control */
-void wmcodec_set_bass(int value)
+void audiohw_set_bass(int value)
 {
     (void)value;
 #if 0
@@ -121,7 +121,7 @@
 #endif
 }
 
-void wmcodec_set_treble(int value)
+void audiohw_set_treble(int value)
 {
     (void)value;
 #if 0
@@ -136,7 +136,7 @@
 
 }
 
-int wmcodec_mute(int mute)
+int audiohw_mute(int mute)
 {
     if (mute)
     {
@@ -151,9 +151,9 @@
 }
 
 /* Nice shutdown of WM8758 codec */
-void wmcodec_close(void)
+void audiohw_close(void)
 {
-    wmcodec_mute(1);
+    audiohw_mute(1);
 
     wmcodec_write(PWRMGMT3, 0x0);
 
@@ -163,13 +163,13 @@
 }
 
 /* Change the order of the noise shaper, 5th order is recommended above 32kHz */
-void wmcodec_set_nsorder(int order)
+void audiohw_set_nsorder(int order)
 {
     (void)order;
 }
 
 /* Note: Disable output before calling this function */
-void wmcodec_set_sample_rate(int sampling_control)
+void audiohw_set_sample_rate(int sampling_control)
 {
     /**** We force 44.1KHz for now. ****/
     (void)sampling_control;
@@ -190,28 +190,28 @@
     wmcodec_write(SRATECTRL, (0 << 1));
 }
 
-void wmcodec_enable_recording(bool source_mic)
+void audiohw_enable_recording(bool source_mic)
 {
     (void)source_mic;
 }
 
-void wmcodec_disable_recording(void) {
+void audiohw_disable_recording(void) {
 
 }
 
-void wmcodec_set_recvol(int left, int right, int type) {
+void audiohw_set_recvol(int left, int right, int type) {
 
     (void)left;
     (void)right;
     (void)type;
 }
 
-void wmcodec_set_monitor(int enable) {
+void audiohw_set_monitor(int enable) {
 
     (void)enable;
 }
 
-void wmcodec_set_equalizer_band(int band, int freq, int bw, int gain)
+void audiohw_set_equalizer_band(int band, int freq, int bw, int gain)
 {
     unsigned int eq = 0;
 
diff --git a/firmware/drivers/wm8975.c b/firmware/drivers/wm8975.c
index a961356..96a563b 100644
--- a/firmware/drivers/wm8975.c
+++ b/firmware/drivers/wm8975.c
@@ -40,13 +40,13 @@
 #include "wmcodec.h"
 #include "wm8975.h"
 
-void wmcodec_reset(void);
+void audiohw_reset(void);
 
 #define IPOD_PCM_LEVEL 0x65       /* -6dB */
 
 
 /* Silently enable / disable audio output */
-void wmcodec_enable_output(bool enable)
+void audiohw_enable_output(bool enable)
 {
     if (enable) 
     {
@@ -77,7 +77,7 @@
         wmcodec_write(AINTFCE, 0x42);
     
         /* The iPod can handle multiple frequencies, but fix at 44.1KHz for now */
-        wmcodec_set_sample_rate(WM8975_44100HZ);
+        audiohw_set_sample_rate(WM8975_44100HZ);
     
         /* set the volume to -6dB */
         wmcodec_write(LOUT1VOL, IPOD_PCM_LEVEL);
@@ -94,13 +94,13 @@
         wmcodec_write(MOUTMIX1, 0x0);     /* Mono out Mix */
         wmcodec_write(MOUTMIX2, 0x0);
 
-        wmcodec_mute(0);
+        audiohw_mute(0);
     } else {
-        wmcodec_mute(1);
+        audiohw_mute(1);
     }
 }
 
-int wmcodec_set_master_vol(int vol_l, int vol_r)
+int audiohw_set_master_vol(int vol_l, int vol_r)
 {
     /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
     /* 1111111 == +6dB */
@@ -115,7 +115,7 @@
     return 0;
 }
 
-int wmcodec_set_lineout_vol(int vol_l, int vol_r)
+int audiohw_set_lineout_vol(int vol_l, int vol_r)
 {
     /* OUT2 */
     wmcodec_write(LOUT2VOL, vol_l);
@@ -124,7 +124,7 @@
     return 0;
 }
 
-int wmcodec_set_mixer_vol(int channel1, int channel2)
+int audiohw_set_mixer_vol(int channel1, int channel2)
 {
     (void)channel1;
     (void)channel2;
@@ -133,7 +133,7 @@
 }
 
 /* We are using Linear bass control */
-void wmcodec_set_bass(int value)
+void audiohw_set_bass(int value)
 {
   int regvalues[]={11, 10, 10,  9,  8,  8, 0xf , 6, 6, 5, 4, 4, 3, 2, 1, 0};
 
@@ -143,7 +143,7 @@
   }
 }
 
-void wmcodec_set_treble(int value)
+void audiohw_set_treble(int value)
 {
   int regvalues[]={11, 10, 10,  9,  8,  8, 0xf , 6, 6, 5, 4, 4, 3, 2, 1, 0};
 
@@ -153,7 +153,7 @@
   }
 }
 
-int wmcodec_mute(int mute)
+int audiohw_mute(int mute)
 {
     if (mute)
     {
@@ -168,7 +168,7 @@
 }
 
 /* Nice shutdown of WM8975 codec */
-void wmcodec_close(void)
+void audiohw_close(void)
 {
     /* 1. Set DACMU = 1 to soft-mute the audio DACs. */
     wmcodec_write(DACCTRL, 0x8);
@@ -181,35 +181,35 @@
 }
 
 /* Change the order of the noise shaper, 5th order is recommended above 32kHz */
-void wmcodec_set_nsorder(int order)
+void audiohw_set_nsorder(int order)
 {
     (void)order;
 }
 
 /* Note: Disable output before calling this function */
-void wmcodec_set_sample_rate(int sampling_control) {
+void audiohw_set_sample_rate(int sampling_control) {
 
   wmcodec_write(0x08, sampling_control);
 
 }
 
-void wmcodec_enable_recording(bool source_mic) {
+void audiohw_enable_recording(bool source_mic) {
 
     (void)source_mic;
 }
 
-void wmcodec_disable_recording(void) {
+void audiohw_disable_recording(void) {
 
 }
 
-void wmcodec_set_recvol(int left, int right, int type) {
+void audiohw_set_recvol(int left, int right, int type) {
 
     (void)left;
     (void)right;
     (void)type;
 }
 
-void wmcodec_set_monitor(int enable) {
+void audiohw_set_monitor(int enable) {
 
     (void)enable;
 }
diff --git a/firmware/export/tlv320.h b/firmware/export/tlv320.h
index 023ec9d..dbb17e3 100644
--- a/firmware/export/tlv320.h
+++ b/firmware/export/tlv320.h
@@ -22,8 +22,8 @@
 
 /*** definitions ***/
 
-extern void tlv320_init(void);
-extern void tlv320_reset(void);
+extern void audiohw_init(void);
+extern void audiohw_reset(void);
 /**
  * Sets internal sample rate for DAC and ADC relative to MCLK
  * Selection for frequency:
@@ -33,15 +33,15 @@
  * 44100: 1 = MCLK   MCLK    SCLK, LRCK: Audio Clk / 4 (default)
  * 88200: 2 = MCLK*2 MCLK    SCLK, LRCK: Audio Clk / 2
  */
-extern void tlv320_set_frequency(unsigned fsel);
-extern void tlv320_enable_output(bool enable);
-extern void tlv320_set_headphone_vol(int vol_l, int vol_r);
-extern void tlv320_set_recvol(int left, int right, int type);
-extern void tlv320_mute(bool mute);
-extern void tlv320_close(void);
-extern void tlv320_enable_recording(bool source_mic);
-extern void tlv320_disable_recording(void);
-extern void tlv320_set_monitor(bool enable);
+extern void audiohw_set_frequency(unsigned fsel);
+extern void audiohw_enable_output(bool enable);
+extern void audiohw_set_headphone_vol(int vol_l, int vol_r);
+extern void audiohw_set_recvol(int left, int right, int type);
+extern void audiohw_mute(bool mute);
+extern void audiohw_close(void);
+extern void audiohw_enable_recording(bool source_mic);
+extern void audiohw_disable_recording(void);
+extern void audiohw_set_monitor(bool enable);
 
 #define HEADPHONE_MUTE 0x30 /* 0110000 = -73db */
 
diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h
index 639ca8a..4b70e79 100644
--- a/firmware/export/uda1380.h
+++ b/firmware/export/uda1380.h
@@ -19,15 +19,15 @@
 
 #ifndef _UDA1380_H
 #define _UDA1380_H
-extern void uda1380_reset(void);
-extern int uda1380_init(void);
-extern void uda1380_enable_output(bool enable);
-extern int uda1380_set_master_vol(int vol_l, int vol_r);
-extern int uda1380_set_mixer_vol(int channel1, int channel2);
-extern void uda1380_set_bass(int value);
-extern void uda1380_set_treble(int value);
-extern int uda1380_mute(int mute);
-extern void uda1380_close(void);
+extern void audiohw_reset(void);
+extern int audiohw_init(void);
+extern void audiohw_enable_output(bool enable);
+extern int audiohw_set_master_vol(int vol_l, int vol_r);
+extern int audiohw_set_mixer_vol(int channel1, int channel2);
+extern void audiohw_set_bass(int value);
+extern void audiohw_set_treble(int value);
+extern int audiohw_mute(int mute);
+extern void audiohw_close(void);
 /**
  * Sets frequency settings for DAC and ADC relative to MCLK
  *
@@ -38,11 +38,11 @@
  *  44100: 2 = 25   to 50   SCLK, LRCK: Audio Clk / 4 (default)
  *  88200: 3 = 50   to 100  SCLK, LRCK: Audio Clk / 2
  */
-extern void uda1380_set_frequency(unsigned fsel);
-extern void uda1380_enable_recording(bool source_mic);
-extern void uda1380_disable_recording(void);
-extern void uda1380_set_recvol(int left, int right, int type);
-extern void uda1380_set_monitor(int enable);
+extern void audiohw_set_frequency(unsigned fsel);
+extern void audiohw_enable_recording(bool source_mic);
+extern void audiohw_disable_recording(void);
+extern void audiohw_set_recvol(int left, int right, int type);
+extern void audiohw_set_monitor(int enable);
 
 #define UDA1380_ADDR        0x30
 
diff --git a/firmware/export/wm8731l.h b/firmware/export/wm8731l.h
index 7e123af..5783be1 100644
--- a/firmware/export/wm8731l.h
+++ b/firmware/export/wm8731l.h
@@ -20,22 +20,22 @@
 #ifndef _WM8731L_H
 #define _WM8731L_H
 
-extern void wmcodec_reset(void);
-extern int wmcodec_init(void);
-extern void wmcodec_enable_output(bool enable);
-extern int wmcodec_set_master_vol(int vol_l, int vol_r);
-extern int wmcodec_set_mixer_vol(int channel1, int channel2);
-extern void wmcodec_set_bass(int value);
-extern void wmcodec_set_treble(int value);
-extern int wmcodec_mute(int mute);
-extern void wmcodec_close(void);
-extern void wmcodec_set_nsorder(int order);
-extern void wmcodec_set_sample_rate(int sampling_control);
+extern void audiohw_reset(void);
+extern int audiohw_init(void);
+extern void audiohw_enable_output(bool enable);
+extern int audiohw_set_master_vol(int vol_l, int vol_r);
+extern int audiohw_set_mixer_vol(int channel1, int channel2);
+extern void audiohw_set_bass(int value);
+extern void audiohw_set_treble(int value);
+extern int audiohw_mute(int mute);
+extern void audiohw_close(void);
+extern void audiohw_set_nsorder(int order);
+extern void audiohw_set_sample_rate(int sampling_control);
 
-extern void wmcodec_enable_recording(bool source_mic);
-extern void wmcodec_disable_recording(void);
-extern void wmcodec_set_recvol(int left, int right, int type);
-extern void wmcodec_set_monitor(int enable);
+extern void audiohw_enable_recording(bool source_mic);
+extern void audiohw_disable_recording(void);
+extern void audiohw_set_recvol(int left, int right, int type);
+extern void audiohw_set_monitor(int enable);
 
 /* Register addresses */
 #define LINVOL        0x00
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h
index e0b66b6..ca70746 100644
--- a/firmware/export/wm8758.h
+++ b/firmware/export/wm8758.h
@@ -20,25 +20,25 @@
 #ifndef _WM8758_H
 #define _WM8758_H
 
-extern void wmcodec_reset(void);
-extern int wmcodec_init(void);
-extern void wmcodec_enable_output(bool enable);
-extern int wmcodec_set_master_vol(int vol_l, int vol_r);
-extern int wmcodec_set_lineout_vol(int vol_l, int vol_r);
-extern int wmcodec_set_mixer_vol(int channel1, int channel2);
-extern void wmcodec_set_bass(int value);
-extern void wmcodec_set_treble(int value);
-extern int wmcodec_mute(int mute);
-extern void wmcodec_close(void);
-extern void wmcodec_set_nsorder(int order);
-extern void wmcodec_set_sample_rate(int sampling_control);
+extern void audiohw_reset(void);
+extern int audiohw_init(void);
+extern void audiohw_enable_output(bool enable);
+extern int audiohw_set_master_vol(int vol_l, int vol_r);
+extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
+extern int audiohw_set_mixer_vol(int channel1, int channel2);
+extern void audiohw_set_bass(int value);
+extern void audiohw_set_treble(int value);
+extern int audiohw_mute(int mute);
+extern void audiohw_close(void);
+extern void audiohw_set_nsorder(int order);
+extern void audiohw_set_sample_rate(int sampling_control);
 
-extern void wmcodec_enable_recording(bool source_mic);
-extern void wmcodec_disable_recording(void);
-extern void wmcodec_set_recvol(int left, int right, int type);
-extern void wmcodec_set_monitor(int enable);
+extern void audiohw_enable_recording(bool source_mic);
+extern void audiohw_disable_recording(void);
+extern void audiohw_set_recvol(int left, int right, int type);
+extern void audiohw_set_monitor(int enable);
 
-extern void wmcodec_set_equalizer_band(int band, int freq, int bw, int gain);
+extern void audiohw_set_equalizer_band(int band, int freq, int bw, int gain);
 
 #define RESET      0x00
 #define PWRMGMT1   0x01
diff --git a/firmware/export/wm8975.h b/firmware/export/wm8975.h
index a676939..005535b 100644
--- a/firmware/export/wm8975.h
+++ b/firmware/export/wm8975.h
@@ -20,23 +20,23 @@
 #ifndef _WM8975_H
 #define _WM8975_H
 
-extern void wmcodec_reset(void);
-extern int wmcodec_init(void);
-extern void wmcodec_enable_output(bool enable);
-extern int wmcodec_set_master_vol(int vol_l, int vol_r);
-extern int wmcodec_set_lineout_vol(int vol_l, int vol_r);
-extern int wmcodec_set_mixer_vol(int channel1, int channel2);
-extern void wmcodec_set_bass(int value);
-extern void wmcodec_set_treble(int value);
-extern int wmcodec_mute(int mute);
-extern void wmcodec_close(void);
-extern void wmcodec_set_nsorder(int order);
-extern void wmcodec_set_sample_rate(int sampling_control);
+extern void audiohw_reset(void);
+extern int audiohw_init(void);
+extern void audiohw_enable_output(bool enable);
+extern int audiohw_set_master_vol(int vol_l, int vol_r);
+extern int audiohw_set_lineout_vol(int vol_l, int vol_r);
+extern int audiohw_set_mixer_vol(int channel1, int channel2);
+extern void audiohw_set_bass(int value);
+extern void audiohw_set_treble(int value);
+extern int audiohw_mute(int mute);
+extern void audiohw_close(void);
+extern void audiohw_set_nsorder(int order);
+extern void audiohw_set_sample_rate(int sampling_control);
 
-extern void wmcodec_enable_recording(bool source_mic);
-extern void wmcodec_disable_recording(void);
-extern void wmcodec_set_recvol(int left, int right, int type);
-extern void wmcodec_set_monitor(int enable);
+extern void audiohw_enable_recording(bool source_mic);
+extern void audiohw_disable_recording(void);
+extern void audiohw_set_recvol(int left, int right, int type);
+extern void audiohw_set_monitor(int enable);
 
 /* Register addresses */
 #define LOUT1VOL 0x02
diff --git a/firmware/export/wmcodec.h b/firmware/export/wmcodec.h
index f1c5e20..1079a80 100644
--- a/firmware/export/wmcodec.h
+++ b/firmware/export/wmcodec.h
@@ -18,6 +18,6 @@
  ****************************************************************************/
 
 void i2s_reset(void);
-int wmcodec_init(void);
+int audiohw_init(void);
 void wmcodec_write(int reg, int data);
 
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index 99a495c..46a458f 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -406,13 +406,13 @@
     pcm_callback_for_more = NULL;
 
     /* Initialize default register values. */
-    wmcodec_init();
+    audiohw_init();
     
     /* Power on */
-    wmcodec_enable_output(true);
+    audiohw_enable_output(true);
 
     /* Unmute the master channel (DAC should be at zero point now). */
-    wmcodec_mute(false);
+    audiohw_mute(false);
 
     /* Call pcm_play_dma_stop to initialize everything. */
     pcm_play_dma_stop();
@@ -603,7 +603,7 @@
 {
 #if defined(HAVE_WM8975) || defined(HAVE_WM8758) \
    || defined(HAVE_WM8731) || defined(HAVE_WM8721)
-    wmcodec_mute(mute);
+    audiohw_mute(mute);
 #endif
     if (mute)
         sleep(HZ/16);
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index 17acd3d..dcf8fd1 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -1326,11 +1326,11 @@
 
     mp3_shutdown();
 #ifdef HAVE_UDA1380
-    uda1380_close();
+    audiohw_close();
 #elif defined(HAVE_TLV320)
-    tlv320_close();
+    audiohw_close();
 #elif defined(HAVE_WM8758) || defined(HAVE_WM8975) | defined(HAVE_WM8731)
-    wmcodec_close();
+    audiohw_close();
 #endif
     /* If HD is still active we try to wait for spindown, otherwise the
        shutdown_timeout in power_thread_sleep will force a power off */ 
diff --git a/firmware/sound.c b/firmware/sound.c
index 6bd9b70..0c4c153 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -464,10 +464,10 @@
 #if CONFIG_CODEC == MAS3507D
     mas_writereg(MAS_REG_KPRESCALE, prescale_table[prescale/10]);
 #elif defined(HAVE_UDA1380)
-    uda1380_set_mixer_vol(tenthdb2mixer(-prescale), tenthdb2mixer(-prescale));
+    audiohw_set_mixer_vol(tenthdb2mixer(-prescale), tenthdb2mixer(-prescale));
 #elif defined(HAVE_WM8975) || defined(HAVE_WM8758) \
    || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751)
-    wmcodec_set_mixer_vol(tenthdb2mixer(-prescale), tenthdb2mixer(-prescale));
+    audiohw_set_mixer_vol(tenthdb2mixer(-prescale), tenthdb2mixer(-prescale));
 #endif
 
     if (current_volume == VOLUME_MIN)
@@ -491,16 +491,16 @@
 #if CONFIG_CODEC == MAS3507D
     dac_volume(tenthdb2reg(l), tenthdb2reg(r), false);
 #elif defined(HAVE_UDA1380)
-    uda1380_set_master_vol(tenthdb2master(l), tenthdb2master(r));
+    audiohw_set_master_vol(tenthdb2master(l), tenthdb2master(r));
 #elif defined(HAVE_WM8975) || defined(HAVE_WM8758) \
    || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751)
-    wmcodec_set_master_vol(tenthdb2master(l), tenthdb2master(r));
+    audiohw_set_master_vol(tenthdb2master(l), tenthdb2master(r));
 #if defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8751)
-    wmcodec_set_lineout_vol(tenthdb2master(0), tenthdb2master(0));
+    audiohw_set_lineout_vol(tenthdb2master(0), tenthdb2master(0));
 #endif
 
 #elif defined(HAVE_TLV320)
-    tlv320_set_headphone_vol(tenthdb2master(l), tenthdb2master(r));
+    audiohw_set_headphone_vol(tenthdb2master(l), tenthdb2master(r));
 #endif
 }
 #endif /* (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 */
@@ -649,13 +649,13 @@
     current_bass = value * 10;
     set_prescaled_volume();
 #elif defined(HAVE_UDA1380)
-    uda1380_set_bass(value >> 1);
+    audiohw_set_bass(value >> 1);
     current_bass = value * 10;
     set_prescaled_volume();
 #elif defined HAVE_WM8975 || defined HAVE_WM8758 \
     || defined HAVE_WM8731 || defined(HAVE_WM8721) || defined(HAVE_WM8751)
     current_bass = value * 10;
-    wmcodec_set_bass(value);
+    audiohw_set_bass(value);
     set_prescaled_volume();
 #elif CONFIG_CPU == PNX0101 || defined(HAVE_PP5024_CODEC)
     /* TODO: implement for iFP and Sansa */
@@ -675,12 +675,12 @@
     current_treble = value * 10;
     set_prescaled_volume();
 #elif defined(HAVE_UDA1380)
-    uda1380_set_treble(value >> 1);
+    audiohw_set_treble(value >> 1);
     current_treble = value * 10;
     set_prescaled_volume();
 #elif defined(HAVE_WM8975) || defined(HAVE_WM8758) \
    || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751)
-    wmcodec_set_treble(value);
+    audiohw_set_treble(value);
     current_treble = value * 10;
     set_prescaled_volume();
 #elif CONFIG_CPU == PNX0101 || defined(HAVE_PP5024_CODEC)
diff --git a/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c
index 20c8e9a..cf24bed 100644
--- a/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c
+++ b/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c
@@ -49,7 +49,7 @@
  * Initialise the WM8975 for playback via headphone and line out.
  * Note, I'm using the WM8750 datasheet as its apparently close.
  */
-int wmcodec_init(void) {
+int audiohw_init(void) {
     /* reset I2C */
     i2c_init();
 
diff --git a/firmware/target/arm/wmcodec-pp.c b/firmware/target/arm/wmcodec-pp.c
index 73324c0..8aa862c 100644
--- a/firmware/target/arm/wmcodec-pp.c
+++ b/firmware/target/arm/wmcodec-pp.c
@@ -97,7 +97,7 @@
  * Initialise the WM8975 for playback via headphone and line out.
  * Note, I'm using the WM8750 datasheet as its apparently close.
  */
-int wmcodec_init(void) {
+int audiohw_init(void) {
     /* reset I2C */
     i2c_init();
 
diff --git a/firmware/target/coldfire/iaudio/x5/audio-x5.c b/firmware/target/coldfire/iaudio/x5/audio-x5.c
index 70d5313..0e2ba60 100644
--- a/firmware/target/coldfire/iaudio/x5/audio-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/audio-x5.c
@@ -23,7 +23,7 @@
 
 /**
  * Note that microphone is mono, only left value is used 
- * See tlv320_set_recvol() for exact ranges.
+ * See audiohw_set_recvol() for exact ranges.
  *
  * @param type   AUDIO_GAIN_MIC, AUDIO_GAIN_LINEIN
  * 
@@ -31,7 +31,7 @@
 void audio_set_recording_gain(int left, int right, int type)
 {
     //logf("rcmrec: t=%d l=%d r=%d", type, left, right);
-    tlv320_set_recvol(left, right, type);
+    audiohw_set_recvol(left, right, type);
 } /* audio_set_recording_gain */
 
 void audio_set_output_source(int source)
@@ -61,8 +61,8 @@
         case AUDIO_SRC_PLAYBACK:
             if (source != last_source)
             {
-                tlv320_disable_recording();
-                tlv320_set_monitor(false);
+                audiohw_disable_recording();
+                audiohw_set_monitor(false);
                 /* Reset PDIR2 data flow */
                 DATAINCONTROL = (1 << 9);
             }
@@ -71,7 +71,7 @@
         case AUDIO_SRC_MIC:                 /* recording only */
             if (source != last_source)
             {
-                tlv320_enable_recording(true);  /* source mic */
+                audiohw_enable_recording(true);  /* source mic */
                 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
                 DATAINCONTROL = (3 << 14) | (4 << 3);
             }
@@ -80,7 +80,7 @@
         case AUDIO_SRC_LINEIN:              /* recording only */
             if (source != last_source)
             {
-                tlv320_enable_recording(false); /* source line */
+                audiohw_enable_recording(false); /* source line */
                 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
                 DATAINCONTROL = (3 << 14) | (4 << 3);
             }
@@ -88,7 +88,7 @@
 
         case AUDIO_SRC_FMRADIO:             /* recording and playback */
             if (!recording)
-                tlv320_set_recvol(23, 23, AUDIO_GAIN_LINEIN);
+                audiohw_set_recvol(23, 23, AUDIO_GAIN_LINEIN);
 
             /* I2S recording and analog playback */
             if (source == last_source && recording == last_recording)
@@ -100,12 +100,12 @@
             {
                 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
                 DATAINCONTROL = (3 << 14) | (4 << 3);
-                tlv320_enable_recording(false); /* source line */
+                audiohw_enable_recording(false); /* source line */
             }
             else
             {
-                tlv320_disable_recording();
-                tlv320_set_monitor(true);       /* analog bypass */
+                audiohw_disable_recording();
+                audiohw_set_monitor(true);       /* analog bypass */
                 /* Reset PDIR2 data flow */
                 DATAINCONTROL = (1 << 9);
             }
diff --git a/firmware/target/coldfire/iriver/audio-iriver.c b/firmware/target/coldfire/iriver/audio-iriver.c
index 420ca30..5a5e80b 100644
--- a/firmware/target/coldfire/iriver/audio-iriver.c
+++ b/firmware/target/coldfire/iriver/audio-iriver.c
@@ -23,7 +23,7 @@
 
 /**
  * Note that microphone is mono, only left value is used 
- * See uda1380_set_recvol() for exact ranges.
+ * See audiohw_set_recvol() for exact ranges.
  *
  * @param type   AUDIO_GAIN_MIC, AUDIO_GAIN_LINEIN
  * 
@@ -31,7 +31,7 @@
 void audio_set_recording_gain(int left, int right, int type)
 {
     //logf("rcmrec: t=%d l=%d r=%d", type, left, right);
-    uda1380_set_recvol(left, right, type);
+    audiohw_set_recvol(left, right, type);
 } /* audio_set_recording_gain */
 
 void audio_set_output_source(int source)
@@ -67,8 +67,8 @@
         case AUDIO_SRC_PLAYBACK:
             if (source != last_source)
             {
-                uda1380_disable_recording();
-                uda1380_set_monitor(false);
+                audiohw_disable_recording();
+                audiohw_set_monitor(false);
                 /* Reset PDIR2 data flow */
                 DATAINCONTROL = (1 << 9);
             }
@@ -77,8 +77,8 @@
         case AUDIO_SRC_MIC:             /* recording only */
             if (source != last_source)
             {
-                uda1380_enable_recording(true);  /* source mic */
-                uda1380_set_monitor(false);
+                audiohw_enable_recording(true);  /* source mic */
+                audiohw_set_monitor(false);
                 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
                 DATAINCONTROL = (3 << 14) | (4 << 3);
             }
@@ -87,8 +87,8 @@
         case AUDIO_SRC_LINEIN:          /* recording only */
             if (source != last_source)
             {
-                uda1380_enable_recording(false); /* source line */
-                uda1380_set_monitor(false);
+                audiohw_enable_recording(false); /* source line */
+                audiohw_set_monitor(false);
                 /* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
                 DATAINCONTROL = (3 << 14) | (4 << 3);
             }
@@ -98,8 +98,8 @@
         case AUDIO_SRC_SPDIF:           /* recording only */
             if (source != last_source)
             {
-                uda1380_disable_recording();
-                uda1380_set_monitor(false);
+                audiohw_disable_recording();
+                audiohw_set_monitor(false);
                 /* Int. when 6 samples in FIFO, PDIR2 src = ebu1RcvData */
                 DATAINCONTROL = (3 << 14) | (7 << 3);
             }
@@ -108,7 +108,7 @@
 
         case AUDIO_SRC_FMRADIO:         /* recording and playback */
             if (!recording)
-                uda1380_set_recvol(0, 0, AUDIO_GAIN_LINEIN);
+                audiohw_set_recvol(0, 0, AUDIO_GAIN_LINEIN);
 
             if (source == last_source && recording == last_recording)
                 break;
@@ -127,8 +127,8 @@
             }
 
             /* I2S recording and playback */
-            uda1380_enable_recording(false);    /* source line */
-            uda1380_set_monitor(!recording);
+            audiohw_enable_recording(false);    /* source line */
+            audiohw_set_monitor(!recording);
         break;
     } /* end switch */
 
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index 4e4e557..6db3e94 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -30,17 +30,6 @@
 #include "spdif.h"
 #endif
 
-/* Avoid further #ifdef's for some codec functions */
-#if defined(HAVE_UDA1380)
-#define ac_init             uda1380_init
-#define ac_mute             uda1380_mute
-#define ac_set_frequency    uda1380_set_frequency
-#elif defined(HAVE_TLV320)
-#define ac_init             tlv320_init
-#define ac_mute             tlv320_mute
-#define ac_set_frequency    tlv320_set_frequency
-#endif
-
 /* peaks */
 static int play_peak_left, play_peak_right;
 static unsigned long *rec_peak_addr;
@@ -136,7 +125,7 @@
     if (pcm_freq != last_pcm_freq)
     {
         last_pcm_freq = pcm_freq;
-        ac_set_frequency(freq_ent[FPARM_FSEL]);
+        audiohw_set_frequency(freq_ent[FPARM_FSEL]);
         coldfire_set_pllcr_audio_bits(PLLCR_SET_AUDIO_BITS_DEFPARM);
     }
 
@@ -211,7 +200,7 @@
 #endif
 
     /* Initialize default register values. */
-    ac_init();
+    audiohw_init();
 
 #if defined(HAVE_UDA1380)
     /* Sleep a while so the power can stabilize (especially a long
@@ -225,7 +214,7 @@
 
     /* UDA1380: Unmute the master channel
        (DAC should be at zero point now). */
-    ac_mute(false);
+    audiohw_mute(false);
 
     /* Call pcm_play_dma_stop to initialize everything. */
     pcm_play_dma_stop();
@@ -402,7 +391,7 @@
 
 void pcm_mute(bool mute)
 {
-    ac_mute(mute);
+    audiohw_mute(mute);
     if (mute)
         sleep(HZ/16);
 } /* pcm_mute */