Le mardi 8 mai 2012 00:00:31 Michael Büsch, vous avez écrit : > > > + dev_dbg(&priv->i2c->dev, "Tuned to " > > > + "fa=%02X fp=%02X xin=%02X%02X vco=%02X vcosel=%02X " > > > + "vcocal=%02X(%u) bw=%u\n", > > > + (unsigned int)regs[FC11_REG_FA], > > > + (unsigned int)regs[FC11_REG_FP], > > > + (unsigned int)regs[FC11_REG_XINHI], > > > + (unsigned int)regs[FC11_REG_XINLO], > > > + (unsigned int)regs[FC11_REG_VCO], > > > + (unsigned int)regs[FC11_REG_VCOSEL], > > > + (unsigned int)vco_cal, vco_retries, > > > + (unsigned int)bandwidth); > > > > Just for the interest, is there any reason you use so much casting or is > > that only your style? > > Well it makes sure the types are what the format string and thus vararg > code expects. it is true that most (probably all) of those explicit casts > could be removed and instead rely on implicit casts and promotions. But I > personally prefer explicit casts in this case (and only this case).
Not sure Linux printk supports it, but C specifies the "hh" prefix for 'char', and the "h" prefix for 'short' for instance "%02hhX", and this would also work for u8 and u16. The pedantic in me needs to add that the official prefixes for uint8_t and uint16_t are the PRIX8 and PRIX16 macros from <inttypes.h>, e.g.: printf("%02"PRIX8"\n", regs[0]); ...but that's definitely not valid in kernel. -- Rémi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html