southbridge/via/vt8237r: Get rid of #include early_smbus.c
Use linker instead of '#include *.c'. The smbus_fixup() was changed not to use a structure that's defined by a northbridge since multiple different northbridges can be used. Instead the caller now directly passed the memory slot details. Change-Id: Ia369ece6365accbc531736fc463c713bbc134807 Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Reviewed-on: https://review.coreboot.org/19082 Tested-by: build bot (Jenkins) Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
committed by
Martin Roth
parent
38d1eb4403
commit
b0161fd2d8
@@ -22,6 +22,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <cbmem.h>
|
||||
#include <arch/io.h>
|
||||
#include <arch/acpi.h>
|
||||
#include "k8x8xx.h"
|
||||
|
||||
/* The 256 bytes of NVRAM for S3 storage, 256B aligned */
|
||||
|
@@ -24,6 +24,7 @@ ramstage-y += usb.c
|
||||
ramstage-$(CONFIG_PIRQ_ROUTE) += pirq.c
|
||||
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c
|
||||
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
|
||||
romstage-y += early_smbus.c
|
||||
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
|
||||
|
||||
endif
|
||||
|
@@ -18,6 +18,9 @@
|
||||
#if !defined(__ROMCC__)
|
||||
#include <arch/acpi.h>
|
||||
#endif
|
||||
#include <console/console.h>
|
||||
#include <arch/io.h>
|
||||
#include <device/pci_def.h>
|
||||
#include <device/pci_ids.h>
|
||||
#include <spd.h>
|
||||
#include <stdlib.h>
|
||||
@@ -218,12 +221,11 @@ void enable_smbus(void)
|
||||
*
|
||||
* @param ctrl The memory controller and SMBus addresses.
|
||||
*/
|
||||
void smbus_fixup(const struct mem_controller *ctrl)
|
||||
void smbus_fixup(const u8 channel0[], int ram_slots)
|
||||
{
|
||||
int i, ram_slots, current_slot = 0;
|
||||
int i, current_slot = 0;
|
||||
u8 result = 0;
|
||||
|
||||
ram_slots = ARRAY_SIZE(ctrl->channel0);
|
||||
if (!ram_slots) {
|
||||
printk(BIOS_ERR, "smbus_fixup() thinks there are no RAM slots!\n");
|
||||
return;
|
||||
@@ -242,7 +244,7 @@ void smbus_fixup(const struct mem_controller *ctrl)
|
||||
if (current_slot > ram_slots)
|
||||
current_slot = 0;
|
||||
|
||||
result = smbus_read_byte(ctrl->channel0[current_slot],
|
||||
result = smbus_read_byte(channel0[current_slot],
|
||||
SPD_MEMORY_TYPE);
|
||||
current_slot++;
|
||||
PRINT_DEBUG(".");
|
||||
|
@@ -136,8 +136,7 @@ struct vt8237_network_rom {
|
||||
u8 smbus_read_byte(u8 dimm, u8 offset);
|
||||
void smbus_write_byte(u8 dimm, u8 offset, u8 data);
|
||||
void enable_smbus(void);
|
||||
void smbus_fixup(const struct mem_controller *ctrl);
|
||||
// these are in vt8237_early_smbus.c - do they really belong there?
|
||||
void smbus_fixup(const u8 channel0[], int ram_slots);
|
||||
void vt8237_sb_enable_fid_vid(void);
|
||||
void enable_rom_decode(void);
|
||||
void vt8237_early_spi_init(void);
|
||||
|
Reference in New Issue
Block a user