Pharaoh . wrote:
I have set the pcm->private_data = my_chip after registering the pcm ops, ... but after I do snd_card_register(card) the pcm->private_data is corrupted !!
snd_card_omap_alsa_pcm() should be __devinit, and full duplex is implied when no other XXX_DUPLEX flag is set, but I couldn't find any obvious errors related to private_data.
Does the changing of private_data really occur in snd_card_register(), i.e., the output you get is:
| in register codec 4 pvt data is (something) | in register codec 5 pvt data is 0
And the new value is NULL?
snd_card_register() calls callbacks for all registered devices. It could be possible that some callback registered by eac_register_mixer() does something, but I don't know what this function does.
Regards, Clemens