> > Alternatively you could try if this works: > > > > Index: src/southbridge/nvidia/mcp55/mcp55_early_setup_car.c > > =================================================================== > > --- src/southbridge/nvidia/mcp55/mcp55_early_setup_car.c (revision 5411) > > +++ src/southbridge/nvidia/mcp55/mcp55_early_setup_car.c (working copy) > > @@ -131,15 +131,9 @@ > > > > > > } > > -static void delayx(uint8_t value) { > > -#if 1 > > - int i; > > - for(i=0;i<0x8000;i++) { > > - outb(value, 0x80); > > - } > > -#endif > > -} > > > > +#include "pc80/udelay_io.c" > > + > > static void mcp55_early_pcie_setup(unsigned busnx, unsigned devnx, > > unsigned anactrl_io_base, unsigned pci_e_x) > > { > > uint32_t tgio_ctrl; > > @@ -170,14 +164,14 @@ > > outl(tgio_ctrl, anactrl_io_base + 0xcc); > > > > // wait 100us > > - delayx(1); > > + udelay(100); > > > > dword = pci_read_config32(dev, 0xe4); > > dword &= ~(0x3f0); // enable > > pci_write_config32(dev, 0xe4, dword); > > > > // need to wait 100ms > > - delayx(1000); > > + udelay(100 * 1000); > > } > > > > static void mcp55_early_setup(unsigned mcp55_num, unsigned *busn, > > unsigned *devn, unsigned *io_base, unsigned *pci_e_x) > > Hmm, that generates a conflict: > > In file included from > src/southbridge/nvidia/mcp55/mcp55_early_setup_car.c:143, > from src/mainboard/gigabyte/m57sli/romstage.c:133: > src/pc80/udelay_io.c:4: error: redefinition of 'udelay' > src/cpu/amd/model_fxx/apic_timer.c:19: note: previous definition of > 'udelay' > was here > > We do indeed have 2 different functions called udelay. > > Ideas? > You could just call udelay without including pc80/udelay.c.
> > > > Index: src/mainboard/gigabyte/m57sli/fanctl.c > > > =================================================================== > > > --- src/mainboard/gigabyte/m57sli/fanctl.c (revision 5411) > > > +++ src/mainboard/gigabyte/m57sli/fanctl.c (working copy) > > > @@ -71,6 +71,7 @@ > > > /* > > > * Called from superio.c > > > */ > > > +extern void init_ec(uint16_t base); > > > void init_ec(uint16_t base) > > > { > > > int i; > > > > > > > init_ec() is the API between the superio drivers and the mainboard > > drivers... > > > > If this is a single hack, it's fine as it is.. If we're going to have an > > API here, we should create a src/include/superio.h or some such > > It's only used on this particular board. Isn't there another init_ec function in the tree? Could they use the same header file? Acked-by: Myles Watson <myle...@gmail.com> Thanks, Myles
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot