On Thu, Nov 10, 2011 at 02:00:22PM +0900, Tomoya MORINAGA wrote:
(2011/11/08 23:38), Mark Brown wrote:
On Tue, Nov 08, 2011 at 06:03:53PM +0900, Tomoya MORINAGA wrote:
struct snd_ml7213i2s_pcm { enum snd_soc_control_type control_type; struct snd_ml7213i2s *ml7213i2s; spinlock_t lock; unsigned int irq_pos; unsigned int buf_pos; struct snd_pcm_substream *substream; struct cbdata cbd; /* i2s callback info */ unsigned int channels; unsigned int rw; unsigned int rate; unsigned int ch; unsigned int setup_flag; unsigned int format; unsigned int bclkfs; struct mutex i2c_mutex; };
...this looks *really* confused, there's things in here which are a mix of DMA controller and CODEC driver things. The CODEC and DMA drivers shouldn't know anything about each other, let alone be referencing the same data structure.
Let me clarify your saying. I couldn't understand what your "DMA controller" mean. Which "snd_ml7213i2s_pcm" structure member do you mean ?
Things like irq_pos and buf_pos for example.