[PATCH 01/19] Update audio driver for H2 board

2008-04-18 Thread Eduardo Valentin
From: Eduardo Valentin [EMAIL PROTECTED]

This patch updates the audio driver based on tsc2101 chip
for H2 board. tsc2101 driver was updated against new spi
framework, but its audio driver for H2 wasn't.

Signed-off-by: Eduardo Valentin [EMAIL PROTECTED]
---
 arch/arm/mach-omap1/board-h2.c   |   71 +++---
 sound/arm/omap/omap-alsa-tsc2101-mixer.c |7 ++-
 sound/arm/omap/omap-alsa-tsc2101-mixer.h |2 +
 sound/arm/omap/omap-alsa-tsc2101.c   |   28 ++--
 sound/arm/omap/omap-alsa-tsc2101.h   |5 ++
 5 files changed, 70 insertions(+), 43 deletions(-)

diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index aa1f8af..4f8e6da 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -320,6 +320,40 @@ static void h2_lcd_dev_init(struct spi_device *tsc2101)
platform_device_register(h2_lcd_device);
 }
 
+static struct omap_mcbsp_reg_cfg mcbsp_regs = {
+   .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
+   .spcr1 = RINTM(3) | RRST,
+   .rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
+   RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
+   .rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
+   .xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
+   XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
+   .xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
+   .srgr1 = FWID(15),
+   .srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
+   .pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
+   /*.pcr0 = CLKXP | CLKRP,*//* mcbsp: slave */
+};
+
+static struct omap_alsa_codec_config alsa_config = {
+   .name   = H2 TSC2101,
+   .mcbsp_regs_alsa= mcbsp_regs,
+};
+
+static struct platform_device h2_mcbsp1_device = {
+   .name   = omap_alsa_mcbsp,
+   .id = 1,
+   .dev = {
+   .platform_data  = alsa_config,
+   },
+};
+
+static void h2_audio_dev_init(struct spi_device *tsc2101)
+{
+   h2_mcbsp1_device.dev.platform_data = tsc2101;
+   platform_device_register(h2_mcbsp1_device);
+}
+
 static int h2_tsc2101_init(struct spi_device *spi)
 {
int r;
@@ -344,6 +378,7 @@ static int h2_tsc2101_init(struct spi_device *spi)
omap_cfg_reg(N15_1610_UWIRE_CS1);
 
h2_lcd_dev_init(spi);
+   h2_audio_dev_init(spi);
 
return 0;
 err:
@@ -386,48 +421,12 @@ static struct spi_board_info h2_spi_board_info[] 
__initdata = {
},
 };
 
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-   .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-   .spcr1 = RINTM(3) | RRST,
-   .rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
-   .rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-   .xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
-   .xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-   .srgr1 = FWID(15),
-   .srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
-
-   .pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-   /*.pcr0 = CLKXP | CLKRP,*//* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-   .name   = H2 TSC2101,
-   .mcbsp_regs_alsa= mcbsp_regs,
-   .codec_configure_dev= NULL, /* tsc2101_configure, */
-   .codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
-   .codec_clock_setup  = NULL, /* tsc2101_clock_setup, */
-   .codec_clock_on = NULL, /* tsc2101_clock_on, */
-   .codec_clock_off= NULL, /* tsc2101_clock_off, */
-   .get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
-};
-
-static struct platform_device h2_mcbsp1_device = {
-   .name   = omap_alsa_mcbsp,
-   .id = 1,
-   .dev = {
-   .platform_data  = alsa_config,
-   },
-};
-
 static struct platform_device *h2_devices[] __initdata = {
h2_nor_device,
h2_nand_device,
h2_smc91x_device,
h2_irda_device,
h2_kp_device,
-   h2_mcbsp1_device,
 };
 
 static void __init h2_init_smc91x(void)
diff --git a/sound/arm/omap/omap-alsa-tsc2101-mixer.c 
b/sound/arm/omap/omap-alsa-tsc2101-mixer.c
index 8faba95..09257d7 100644
--- a/sound/arm/omap/omap-alsa-tsc2101-mixer.c
+++ b/sound/arm/omap/omap-alsa-tsc2101-mixer.c
@@ -43,6 +43,7 @@
 #include omap-alsa-tsc2101.h
 #include omap-alsa-tsc2101-mixer.h
 
+#include linux/spi/tsc2101.h
 #include linux/types.h
 #include sound/initval.h
 #include sound/control.h
@@ -68,7 +69,8 @@ static int current_rec_src= 
REC_SRC_SINGLE_ENDED_MICIN_HED;
  */
 inline void omap_tsc2101_audio_write(u8 address, u16 data)
 {
-   omap_tsc2101_write(PAGE2_AUDIO_CODEC_REGISTERS, address, data);
+   tsc2101_write_sync(mcbsp_dev.tsc2101_dev, 

Re: [PATCH 01/19] Update audio driver for H2 board

2008-04-17 Thread Felipe Balbi
On Tue, Apr 15, 2008 at 10:02:05AM -0400, Eduardo Valentin wrote:
 From: Eduardo Valentin [EMAIL PROTECTED]
 
 This patch updates the audio driver based on tsc2101 chip
 for H2 board. tsc2101 driver was updated against new spi
 framework, but its audio driver for H2 wasn't.
 
 Signed-off-by: Eduardo Valentin [EMAIL PROTECTED]

Some from checkpatch:
-:79: ERROR: use tabs not spaces
-:82: ERROR: use tabs not spaces
-:249: WARNING: line over 80 characters
total: 2 errors, 1 warnings, 0 checks, 205 lines checked

 ---
  arch/arm/mach-omap1/board-h2.c   |   72 
 +++---
  sound/arm/omap/omap-alsa-tsc2101-mixer.c |7 ++-
  sound/arm/omap/omap-alsa-tsc2101-mixer.h |2 +
  sound/arm/omap/omap-alsa-tsc2101.c   |   28 +--
  sound/arm/omap/omap-alsa-tsc2101.h   |5 ++
  5 files changed, 71 insertions(+), 43 deletions(-)
 
 diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
 index aa1f8af..a576b5b 100644
 --- a/arch/arm/mach-omap1/board-h2.c
 +++ b/arch/arm/mach-omap1/board-h2.c
 @@ -320,6 +320,41 @@ static void h2_lcd_dev_init(struct spi_device *tsc2101)
   platform_device_register(h2_lcd_device);
  }
  
 +static struct omap_mcbsp_reg_cfg mcbsp_regs = {
 + .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
 + .spcr1 = RINTM(3) | RRST,
 + .rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
 +RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
 + .rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
 + .xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
 +XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
 + .xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
 + .srgr1 = FWID(15),
 + .srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
 +
 + .pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
 + /*.pcr0 = CLKXP | CLKRP,*//* mcbsp: slave */
 +};
 +
 +static struct omap_alsa_codec_config alsa_config = {
 + .name   = H2 TSC2101,
 + .mcbsp_regs_alsa= mcbsp_regs,
 +};
 +
 +static struct platform_device h2_mcbsp1_device = {
 + .name   = omap_alsa_mcbsp,
 + .id = 1,
 + .dev = {
 + .platform_data  = alsa_config,
 + },
 +};
 +
 +static void h2_audio_dev_init(struct spi_device *tsc2101)
 +{
 + h2_mcbsp1_device.dev.platform_data = tsc2101;
 + platform_device_register(h2_mcbsp1_device);
 +}
 +
  static int h2_tsc2101_init(struct spi_device *spi)
  {
   int r;
 @@ -344,6 +379,7 @@ static int h2_tsc2101_init(struct spi_device *spi)
   omap_cfg_reg(N15_1610_UWIRE_CS1);
  
   h2_lcd_dev_init(spi);
 + h2_audio_dev_init(spi);
  
   return 0;
  err:
 @@ -386,48 +422,12 @@ static struct spi_board_info h2_spi_board_info[] 
 __initdata = {
   },
  };
  
 -static struct omap_mcbsp_reg_cfg mcbsp_regs = {
 - .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
 - .spcr1 = RINTM(3) | RRST,
 - .rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
 -RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
 - .rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
 - .xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
 -XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
 - .xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
 - .srgr1 = FWID(15),
 - .srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
 -
 - .pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
 - /*.pcr0 = CLKXP | CLKRP,*//* mcbsp: slave */
 -};
 -
 -static struct omap_alsa_codec_config alsa_config = {
 - .name   = H2 TSC2101,
 - .mcbsp_regs_alsa= mcbsp_regs,
 - .codec_configure_dev= NULL, /* tsc2101_configure, */
 - .codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
 - .codec_clock_setup  = NULL, /* tsc2101_clock_setup, */
 - .codec_clock_on = NULL, /* tsc2101_clock_on, */
 - .codec_clock_off= NULL, /* tsc2101_clock_off, */
 - .get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
 -};
 -
 -static struct platform_device h2_mcbsp1_device = {
 - .name   = omap_alsa_mcbsp,
 - .id = 1,
 - .dev = {
 - .platform_data  = alsa_config,
 - },
 -};
 -
  static struct platform_device *h2_devices[] __initdata = {
   h2_nor_device,
   h2_nand_device,
   h2_smc91x_device,
   h2_irda_device,
   h2_kp_device,
 - h2_mcbsp1_device,
  };
  
  static void __init h2_init_smc91x(void)
 diff --git a/sound/arm/omap/omap-alsa-tsc2101-mixer.c 
 b/sound/arm/omap/omap-alsa-tsc2101-mixer.c
 index 8faba95..09257d7 100644
 --- a/sound/arm/omap/omap-alsa-tsc2101-mixer.c
 +++ b/sound/arm/omap/omap-alsa-tsc2101-mixer.c
 @@ -43,6 +43,7 @@
  #include omap-alsa-tsc2101.h
  #include omap-alsa-tsc2101-mixer.h
  
 +#include linux/spi/tsc2101.h
  #include linux/types.h
  #include sound/initval.h
  #include sound/control.h
 @@ -68,7 +69,8 @@ static int