Currently the cablesel |= (sb->ide0_80pin_cable << 28) | (sb->ide0_80pin_cable << 20) | (sb->ide1_80pin_cable << 12) | (sb->ide1_80pin_cable << 4); in vt8237r_ide.c ends up doing cablesel |= 0xfffffff0; (with both bits set to 1) which is probably not the intended result. ;)
After a short discussion on irc the consensus was to change the bitfields to u8 as it's probably not worth it using bitfields here.
Signed-off-by: Tobias Diedrich ranma+coreboot@tdiedrich.de
---
Index: src/southbridge/via/vt8237r/chip.h =================================================================== --- src/southbridge/via/vt8237r/chip.h.orig 2010-11-13 02:09:04.000000000 +0100 +++ src/southbridge/via/vt8237r/chip.h 2010-11-13 02:22:32.000000000 +0100 @@ -50,12 +50,12 @@ */ u16 fn_ctrl_hi;
- int ide0_enable:1; - int ide1_enable:1; + u8 ide0_enable; + u8 ide1_enable;
/* 1 = 80-pin cable, 0 = 40-pin cable */ - int ide0_80pin_cable:1; - int ide1_80pin_cable:1; + u8 ide0_80pin_cable; + u8 ide1_80pin_cable; };
#endif /* SOUTHBRIDGE_VIA_VT8237R_CHIP_H */