On Fri, Nov 14, 2008 at 08:25:51AM +0100, Takashi Iwai wrote:
At Fri, 14 Nov 2008 09:34:32 +0800, Wu Fengguang wrote:
- How do we name the proc file? If there are going to be two HDMI pins per codec, then the current naming scheme (eld#<codec no>) will fail.
In theory, yes, but I don't think this would happen. If this is needed, the currently existing codec#* proc must be fixed, too. So, we can use eld#codec as the simplest way.
I mean one HDMI codec equipped with two output converters and two HDMI pins. In this case there could be two HDMI sinks mapped to one single codec.
Or it would be trivial to do the rename in the future anyway?
Ah, OK, understood. One easy solution is to name the proc file with either pin of audio-out widget NID.
But I'm not sure whether it's worth. The proc file naming isn't strict, so I'd leave it as is.
OK, I'll leave it as is: there should be no many dependencies on it.
--- /dev/null +++ sound-2.6/sound/pci/hda/hda_eld.c +static inline unsigned char grab_bits(const unsigned char *buf,
int byte, int lowbit, int bits)
+{
- BUG_ON(lowbit > 7);
- BUG_ON(bits > 8);
- BUG_ON(bits <= 0);
Can it be rather BUILD_BUG_ON(), BTW? Or, hmm, doesn't work if it's an inline function?
Yes, converted to BUILD_BUG_ON() and it compiles OK.
The question is whether this really triggers the build error properly. Could you check it, simply by changing the caller of grab_bits() with some invalid values? Then you should get a compile error.
BUILD_BUG_ON() won't emit errors! So use BUG_ON()?
Thank you, Fengguang