At Mon, 20 Jun 2011 16:19:51 +0200, Kay Sievers wrote:
On Mon, Jun 20, 2011 at 15:56, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
Sorry about the top posting, but as I wasn't involved in any of the discussions and am on a mobile device right now and your mail isn't directly legible it would be enormously helpful if you could summarize the issues you're trying to address, your proposed solution and the problems Kay had.
Domain-specific events should not be 'faked' as 'input' devices. No non-input subsystem should do that if it can be avoided. That 'input' supports nice and easy events to userspace should not be a reason to misuse it for pretty much unrelated things.
There are patches to have the ALSA control device emit these ALSA related events natively. That's would be just better, simpler and more correct than any additionally created input device.
If Takashi can make that possible in a reasonable time frame, we should not even start handling the (currently not handled) input devices in upstream projects like udev and PulseAudio, and focus right away on the native ALSA control events.
If we can't have the native ALSA events anytime soon for some reason, we might need to merge the input device support, but I would like to avoid that.
Well, the implementation would be relatively easy. There was already a patch, so not too hard to revisit.
But, there are still some open questions. For example, what information is mandatory and what information is preferred about the pin. HD-audio provides the location, type, color, etc. We can encode these into a single name string, but is it a preferred way?
Alternatively, the control element can provide the HD-audio pin config via an extra TLV data, so that apps can refer to it if needed in addition to the name string.
Also, we may consider some way to expose the corelation of the jack control element and other mixer elements. Though, this sounds optional to me for the time being.
These questions are basically requirements from the apps; so I'd like to know the exact demands before going to implementation.
thanks,
Takashi