[coreboot] v3 compilation failures

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Jan 21 04:45:00 CET 2008


3 of 5 targets in v3 fail to compile:
- adl/msm800sev
- amd/norwich
- artecgroup/dbe61

While none of these targets worked on real hardware, we were at least
able to compile them and could keep the code mostly warning-free to give
later porters a good start. Right now the accumulated mess is rather
difficult to clean up.

One of the contributing factors is the variety of smbus_read_byte
prototypes. Same problem for spd_read_byte. Which one is the "right"
prototype?

./include/device/smbus.h:int smbus_read_byte(struct device *dev, u8 addr);
./device/smbus_ops.c:int smbus_read_byte(struct device *dev, u8 addr)
(introduced in r307)

./include/lib.h:int smbus_read_byte(unsigned device, unsigned address);
./mainboard/artecgroup/dbe61/initram.c:int smbus_read_byte(unsigned
device, unsigned address)
(introduced in r349)

./southbridge/amd/cs5536/smbus_initram.c:int smbus_read_byte(u16 device,
u8 address)
(introduced in r344)

Patches appreciated.
Hints:
- artecgroup/dbe61 first failed in r527 with "undefined reference to
'spd_read_byte'"
- adl/msm800sev and amd/norwich first failed in r537 with "conflicting
types for 'spd_read_byte'", which was uncovered by the new combined
compilation, but the root cause (conflicting types) had been there for
dozens of revisions.


Regards,
Carl-Daniel




More information about the coreboot mailing list