Carl-Daniel Hailfinger wrote:
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
I have patches for norwich.... give me a few more hours. Marc