Hi Mark,
Mark Brown wrote:
On Wed, Jul 22, 2009 at 05:22:28AM +0200, Janusz Krzysztofik wrote:
This patch adds support for Conexant CX20442-11 voice modem codec, suitable for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related sound card driver will follow. ...
This patch is basically fine from an ASoC point of view so I've applied it.
Thanks!
You'll want to run checkpatch over it and send a followup fixing the
Sorry for not doing this before submitting. Will send the followup soon.
issues it identifies. Looking at this I suspect that it may be possible to refactor things so that more of the line discipline interaction is pushed down into the CODEC driver but that can also be done as a followup.
I have put the line discipline code into the machine driver for two reasons: 1. For me, the actual code is much more machine than codec specific. 2. It was much easier to update the codec structure instance with machine's provided hw_write() rather than fiddle with adding a new member to the structure definition for passing a machine callback to the line discipline functions.
If you think we can find any use cases for drivers supporting codec/modem combination other than CX20442 on Amstrad Delta, I can agree with you on moving the line discipline code out of the machine driver, but instead of pushing it down to the codec I would rather se it as a separate module. Anyway, I think that some kind of support on the ASoC top level for this case could be helpfull.
would also be nice to add some documentation somewhere explaining how the hw_write() function is expected to be set up since it's a little surprising (if the line discipline stuff were pushed down into the code that'd become a lot more obvious).
I'll add a few words to the followup.
Thanks, Janusz