From 8fb640659cfdd4c23f252918c6a02b46c6614f5a Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Tue, 28 Jun 2005 21:01:03 +0100 Subject: [PATCH] --- yaml --- r: 3871 b: refs/heads/master c: 072cd703b6a2a3adc14fbc2d969424c7022a7892 h: refs/heads/master i: 3869: 13cb8b256cfb2052cb3fde4658081c5383d251c6 3867: 6a43aaaf5b5838f5a1e62113fe55e16caa1e0e37 3863: ff37e6b7ae629fd4a035fa7ec128ec8cf8529e31 3855: e8eb527b30b91c586713cfe26bcccf0ac4ab612c 3839: 8badf56b80d844e8f19cd9ff61327024343d224e v: v3 --- [refs] | 2 +- trunk/include/asm-arm/arch-s3c2410/audio.h | 49 ++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 trunk/include/asm-arm/arch-s3c2410/audio.h diff --git a/[refs] b/[refs] index cca3b71b3f54..f5de073e1401 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa0ebff62a8a25952a082641db0ed6b1cfc6c38c +refs/heads/master: 072cd703b6a2a3adc14fbc2d969424c7022a7892 diff --git a/trunk/include/asm-arm/arch-s3c2410/audio.h b/trunk/include/asm-arm/arch-s3c2410/audio.h new file mode 100644 index 000000000000..0d276e67f2fb --- /dev/null +++ b/trunk/include/asm-arm/arch-s3c2410/audio.h @@ -0,0 +1,49 @@ +/* linux/include/asm-arm/arch-s3c2410/audio.h + * + * (c) 2004-2005 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * Ben Dooks + * + * S3C24XX - Audio platfrom_device info + * + * 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. + * + * Changelog: + * 20-Nov-2004 BJD Created file + * 07-Mar-2005 BJD Added suspend/resume calls +*/ + +#ifndef __ASM_ARCH_AUDIO_H +#define __ASM_ARCH_AUDIO_H __FILE__ + +/* struct s3c24xx_iis_ops + * + * called from the s3c24xx audio core to deal with the architecture + * or the codec's setup and control. + * + * the pointer to itself is passed through in case the caller wants to + * embed this in an larger structure for easy reference to it's context. +*/ + +struct s3c24xx_iis_ops { + struct module *owner; + + int (*startup)(struct s3c24xx_iis_ops *me); + void (*shutdown)(struct s3c24xx_iis_ops *me); + int (*suspend)(struct s3c24xx_iis_ops *me); + int (*resume)(struct s3c24xx_iis_ops *me); + + int (*open)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm); + int (*close)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm); + int (*prepare)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm, snd_pcm_runtime_t *rt); +}; + +struct s3c24xx_platdata_iis { + const char *codec_clk; + struct s3c24xx_iis_ops *ops; + int (*match_dev)(struct device *dev); +}; + +#endif /* __ASM_ARCH_AUDIO_H */