x86 I/O APIC: Make functions `io_apic_{read,write}()` public

Some LPC initialiation can save some lines of code when being able
to use the functions `io_apic_read()` and `io_apic_write()`.

As these two functions are now public, remove them from the generic
driver as otherwise we get a build errors like the following.

    […]
    Building roda/rk9; i386: ok, using i386-elf-gcc
    Using payload /srv/jenkins/payloads/seabios/bios.bin.elf
      Creating config file... (blobs, ccache) ok;  Compiling image on 4 cpus in parallel .. FAILED after 12s!
    Log excerpt:
    coreboot-builds/roda_rk9/arch/x86/lib/ramstage.o: In function `io_apic_write':
    /srv/jenkins/.jenkins/jobs/coreboot-gerrit/workspace/src/arch/x86/lib/ioapic.c:32: multiple definition of `io_apic_write'
    coreboot-builds/roda_rk9/drivers/generic/ioapic/ramstage.o:/srv/jenkins/.jenkins/jobs/coreboot-gerrit/workspace/src/drivers/generic/ioapic/ioapic.c:22: first defined here
    collect2: error: ld returned 1 exit status
    make: *** [coreboot-builds/roda_rk9/generated/coreboot_ram.o] Error 1
    make: *** Waiting for unfinished jobs....
    […]

Change-Id: Id600007573ff011576967339cc66e6c883a2ed5a
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/3180
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
This commit is contained in:
Paul Menzel 2013-04-23 14:34:43 +02:00 committed by Aaron Durbin
parent 15c671efb5
commit ac75bc682b
3 changed files with 4 additions and 14 deletions

View File

@ -39,6 +39,8 @@
#define SMI (2 << 8) #define SMI (2 << 8)
#define INT (1 << 8) #define INT (1 << 8)
u32 io_apic_read(u32 ioapic_base, u32 reg);
void io_apic_write(u32 ioapic_base, u32 reg, u32 value);
void set_ioapic_id(u32 ioapic_base, u8 ioapic_id); void set_ioapic_id(u32 ioapic_base, u8 ioapic_id);
void setup_ioapic(u32 ioapic_base, u8 ioapic_id); void setup_ioapic(u32 ioapic_base, u8 ioapic_id);
void clear_ioapic(u32 ioapic_base); void clear_ioapic(u32 ioapic_base);

View File

@ -22,13 +22,13 @@
#include <console/console.h> #include <console/console.h>
#include <cpu/x86/lapic.h> #include <cpu/x86/lapic.h>
static u32 io_apic_read(u32 ioapic_base, u32 reg) u32 io_apic_read(u32 ioapic_base, u32 reg)
{ {
write32(ioapic_base, reg); write32(ioapic_base, reg);
return read32(ioapic_base + 0x10); return read32(ioapic_base + 0x10);
} }
static void io_apic_write(u32 ioapic_base, u32 reg, u32 value) void io_apic_write(u32 ioapic_base, u32 reg, u32 value)
{ {
write32(ioapic_base, reg); write32(ioapic_base, reg);
write32(ioapic_base + 0x10, value); write32(ioapic_base + 0x10, value);

View File

@ -12,18 +12,6 @@
#include <arch/io.h> #include <arch/io.h>
#include <cpu/x86/lapic.h> #include <cpu/x86/lapic.h>
static u32 io_apic_read(u32 ioapic_base, u32 reg)
{
write32(ioapic_base, reg);
return read32(ioapic_base + 0x10);
}
static void io_apic_write(u32 ioapic_base, u32 reg, u32 value)
{
write32(ioapic_base, reg);
write32(ioapic_base + 0x10, value);
}
static void ioapic_init(device_t dev) static void ioapic_init(device_t dev)
{ {
struct drivers_generic_ioapic_config *config = dev->chip_info; struct drivers_generic_ioapic_config *config = dev->chip_info;