
At Wed, 22 Feb 2012 18:54:38 +0000, Mark Brown wrote:
On Wed, Feb 22, 2012 at 06:34:49PM +0100, Takashi Iwai wrote:
First of all, we don't agree yet which naming rule to be applied. Since your patch assumes the case B, i.e. constant names corresponding only to the key type (HEADPHONE, etc), it's incompatible with the current implementation in HD-audio.
As I've *repeatedly* said the idea was to prefix the name once we'd got stuff merged into the same file (which means ripping out the HDA specific code)
Even if so, it can't be merged until this prefix stuff comes in. As mentioned, otherwise it conflicts.
Alternatively, deprecate CONFIG_SND_HDA_INPUT_JACK. This is another option.
but if we're going to have to completely rework the ABI before you'll consider trying to fix things up in kernel then there's no point bothering.
Right. If we change.
In other words, if I merge your patch now, the only solution for HD-audio side for the time being is to disable CONFIG_SND_HDA_INPUT_JACK. That's why I hesitate to merge it now.
Well, that whole config option just shouldn't be there in the first place but that's another story...
Yes, but it's really too late to grumble. This was merged years ago.
Meanwhile, we can mark it deprecated now as we provide an alternative solution in 3.3 frame. Then drop it in 3.4 or 3.5 where your patch comes in. THis sounds feasible.
And, it's why I prefer defining the naming rule at first, thus refining the implementation not to conflict with the existing one.
It seems like it's a bit late to worry about the naming scheme to that extent given that the existing ABI has already managed to get into one kernel release and looks like it's also going to get into 3.4 as well.
Which ABI? The kctl jack hasn't been in released kernels yet. It was first merged in 3.3. So I really want to fix up the naming rule as soon as possible before 3.3 release. For example, with or with hyphen. It's an easy task to fix in the code once when decided.
Right now the only tractable fix I can see is to implement something approximating the HDA ABI in ASoC but that just makes things even worse from a maintability point of view.
Well, as I already wrote, the prefix and suffix are supposed to be optional. So, the current HD-audio implementation doesn't block your interpretation in jack.c by itself. The only blockages are that the jack.c implementation doesn't provide enough for HD-audio requirement (with the first version), and the detailed naming rule like hyphening isn't decided yet.
Takashi