172fd9e262
The S3C64xx IIS code had a number of problems with device registration. The hardware has two IIS ports of which the driver supported only one at once via a single exported DAI, attempting to identify the DAI to use based on the dev->id of the ASoC platform device. As well as limiting the driver to only supporting one IIS port at once this also meant that the ID of the soc-audio device (or in future the card device) had to match the IIS ID. Fix both problems by converting the driver to register the DAIs based on probing of platform devices registered by the arch/arm code, using those platform devices to interact with the clock API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
31 lines
917 B
C
31 lines
917 B
C
/* sound/soc/s3c24xx/s3c64xx-i2s.h
|
|
*
|
|
* ALSA SoC Audio Layer - S3C64XX I2S driver
|
|
*
|
|
* Copyright 2008 Openmoko, Inc.
|
|
* Copyright 2008 Simtec Electronics
|
|
* Ben Dooks <ben@simtec.co.uk>
|
|
* http://armlinux.simtec.co.uk/
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __SND_SOC_S3C24XX_S3C64XX_I2S_H
|
|
#define __SND_SOC_S3C24XX_S3C64XX_I2S_H __FILE__
|
|
|
|
#include "s3c-i2s-v2.h"
|
|
|
|
#define S3C64XX_DIV_BCLK S3C_I2SV2_DIV_BCLK
|
|
#define S3C64XX_DIV_RCLK S3C_I2SV2_DIV_RCLK
|
|
#define S3C64XX_DIV_PRESCALER S3C_I2SV2_DIV_PRESCALER
|
|
|
|
#define S3C64XX_CLKSRC_PCLK (0)
|
|
#define S3C64XX_CLKSRC_MUX (1)
|
|
|
|
extern struct snd_soc_dai s3c64xx_i2s_dai[];
|
|
|
|
extern unsigned long s3c64xx_i2s_get_clockrate(struct snd_soc_dai *cpu_dai);
|
|
|
|
#endif /* __SND_SOC_S3C24XX_S3C64XX_I2S_H */
|