[coreboot] [PATCH] MCP55 azalia driver
Peter Stuge
peter at stuge.se
Tue Jun 1 08:02:00 CEST 2010
Nice! But..
Stefan Reinauer wrote:
> +++ src/devices/oprom/x86.c (working copy)
> @@ -45,6 +45,43 @@
> void (*realmode_interrupt)(u32 intno, u32 eax, u32 ebx, u32 ecx, u32 edx,
> u32 esi, u32 edi) __attribute__((regparm(0))) = (void *)&__realmode_interrupt;
>
> +#define DEBUG_REALMODE
> +#ifdef DEBUG_REALMODE
> +static void
> +dump(u8 * addr, u32 len)
Oops..
..but more importantly:
> +++ src/southbridge/nvidia/mcp55/Makefile.inc (working copy)
> @@ -1,5 +1,5 @@
> driver-y += mcp55.o
> -driver-y += mcp55_aza.o
> +driver-y += mcp55_azalia.o
This is so that the driver is built for all boards which
select SOUTHBRIDGE_NVIDIA_MCP55
in their Kconfig.
> +++ src/mainboard/supermicro/h8dmr/mainboard.c (working copy)
> @@ -3,11 +3,11 @@
> *
> * Copyright (C) 2007 AMD
> * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
> + * Copyright (C) 2010 coresystems GmbH
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> + * the Free Software Foundation; version 2 of the License.
> *
> * This program is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> @@ -24,8 +24,21 @@
> #include <device/pci.h>
> #include <device/pci_ids.h>
> #include <device/pci_ops.h>
> +#include "hda_verb.h"
> #include "chip.h"
>
> +static void verb_setup(void)
> +{
> + cim_verb_data = mainboard_cim_verb_data;
> + cim_verb_data_size = sizeof(mainboard_cim_verb_data);
> +}
> +
> +static void mainboard_enable(device_t dev)
> +{
> + verb_setup();
> +}
> +
> struct chip_operations mainboard_ops = {
> CHIP_NAME("Supermicro H8DMR Mainboard")
> + .enable_dev = mainboard_enable,
> };
So is there absolutely no way for us to avoid that this code is
duplicated for *every* board with such a select?
It seems wrong to automatically add a driver during build, and then
need to call it manually in boards where it was automatically built!
I think this is pretty important. It seems also related to the VSA
situation for the Geode that I worked around in r5581.
//Peter
More information about the coreboot
mailing list