On Tue, 2012-04-17 at 17:25 +0200, Takashi Iwai wrote:
At Fri, 13 Apr 2012 16:33:37 -0400, Adam Jackson wrote:
- u8 flags;
- union {
struct {
u8 reserved;
u8 hfreq_start_khz; /* need to multiply by 2 */
u8 c; /* need to divide by 2 */
__le16 m;
u8 k;
u8 j; /* need to divide by 2 */
} gtf2;
struct {
u8 version;
u8 data1; /* high 6 bits: extra clock resolution */
u8 data2; /* plus low 2 of above: max hactive */
u8 supported_aspects;
u8 flags; /* preferred aspect and blanking support */
u8 supported_scalings;
u8 preferred_refresh;
} cvt;
These new structs must be marked with __attribute__((packed)) although the struct detailed_data_monitor_range itself is already marked. At least, with gcc 4.6 and x86-64 here, they get unaligned.
Eek. Good catch, thanks.
- ajax