[coreboot] New patch to review for coreboot: 8bf93e4 Revert "Drop mainboard chip.h"

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Aug 7 22:12:10 CEST 2012


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1420

-gerrit

commit 8bf93e4c4cb2458a046fdd94ecb3a85c30b2c590
Author: Stefan Reinauer <stefan.reinauer at coreboot.org>
Date:   Tue Aug 7 22:12:09 2012 +0200

    Revert "Drop mainboard chip.h"
    
    This reverts commit 188e3c2ff06a82f61d7d71e610b32b1a250c0a45
    
    There is more stuff broken, hence reverting this one.
---
 src/mainboard/a-trend/atc-6220/chip.h              |   22 +++++++++++++++
 src/mainboard/a-trend/atc-6220/mainboard.c         |    1 +
 src/mainboard/a-trend/atc-6240/chip.h              |   22 +++++++++++++++
 src/mainboard/a-trend/atc-6240/mainboard.c         |    1 +
 src/mainboard/aaeon/pfm-540i_revb/chip.h           |   23 +++++++++++++++
 src/mainboard/aaeon/pfm-540i_revb/mainboard.c      |    1 +
 src/mainboard/abit/be6-ii_v2_0/chip.h              |   22 +++++++++++++++
 src/mainboard/abit/be6-ii_v2_0/mainboard.c         |    1 +
 src/mainboard/advansus/a785e-i/chip.h              |   22 +++++++++++++++
 src/mainboard/advansus/a785e-i/mainboard.c         |    5 +++
 src/mainboard/advantech/pcm-5820/chip.h            |   22 +++++++++++++++
 src/mainboard/advantech/pcm-5820/mainboard.c       |    1 +
 src/mainboard/amd/bimini_fam10/chip.h              |   22 +++++++++++++++
 src/mainboard/amd/bimini_fam10/mainboard.c         |    5 +++
 src/mainboard/amd/db800/chip.h                     |   23 +++++++++++++++
 src/mainboard/amd/db800/mainboard.c                |    1 +
 src/mainboard/amd/dbm690t/chip.h                   |   21 ++++++++++++++
 src/mainboard/amd/dbm690t/mainboard.c              |    1 +
 src/mainboard/amd/dinar/chip.h                     |   23 +++++++++++++++
 src/mainboard/amd/dinar/mainboard.c                |    1 +
 src/mainboard/amd/inagua/chip.h                    |   23 +++++++++++++++
 src/mainboard/amd/inagua/mainboard.c               |    1 +
 src/mainboard/amd/mahogany/chip.h                  |   21 ++++++++++++++
 src/mainboard/amd/mahogany/mainboard.c             |    1 +
 src/mainboard/amd/mahogany_fam10/chip.h            |   23 +++++++++++++++
 src/mainboard/amd/mahogany_fam10/mainboard.c       |    1 +
 src/mainboard/amd/norwich/chip.h                   |   23 +++++++++++++++
 src/mainboard/amd/norwich/mainboard.c              |    1 +
 src/mainboard/amd/parmer/chip.h                    |   22 +++++++++++++++
 src/mainboard/amd/parmer/mainboard.c               |    1 +
 src/mainboard/amd/persimmon/chip.h                 |   23 +++++++++++++++
 src/mainboard/amd/persimmon/mainboard.c            |    1 +
 src/mainboard/amd/pistachio/chip.h                 |   23 +++++++++++++++
 src/mainboard/amd/pistachio/mainboard.c            |    1 +
 src/mainboard/amd/rumba/chip.h                     |    5 +++
 src/mainboard/amd/rumba/mainboard.c                |    8 ++++-
 src/mainboard/amd/serengeti_cheetah/chip.h         |    3 ++
 src/mainboard/amd/serengeti_cheetah/mainboard.c    |    1 +
 src/mainboard/amd/serengeti_cheetah_fam10/chip.h   |   23 +++++++++++++++
 .../amd/serengeti_cheetah_fam10/mainboard.c        |    1 +
 src/mainboard/amd/south_station/chip.h             |   23 +++++++++++++++
 src/mainboard/amd/south_station/mainboard.c        |    1 +
 src/mainboard/amd/tilapia_fam10/chip.h             |   23 +++++++++++++++
 src/mainboard/amd/tilapia_fam10/mainboard.c        |    1 +
 src/mainboard/amd/torpedo/chip.h                   |   23 +++++++++++++++
 src/mainboard/amd/torpedo/mainboard.c              |    1 +
 src/mainboard/amd/union_station/chip.h             |   23 +++++++++++++++
 src/mainboard/amd/union_station/mainboard.c        |    1 +
 src/mainboard/aopen/dxplplusu/chip.h               |    4 +++
 src/mainboard/aopen/dxplplusu/mainboard.c          |    1 +
 src/mainboard/arima/hdama/chip.h                   |    3 ++
 src/mainboard/arima/hdama/mainboard.c              |    1 +
 src/mainboard/artecgroup/dbe61/chip.h              |    3 ++
 src/mainboard/artecgroup/dbe61/mainboard.c         |    1 +
 src/mainboard/asi/mb_5blgp/chip.h                  |   22 +++++++++++++++
 src/mainboard/asi/mb_5blgp/mainboard.c             |    1 +
 src/mainboard/asi/mb_5blmp/chip.h                  |   23 +++++++++++++++
 src/mainboard/asi/mb_5blmp/mainboard.c             |    1 +
 src/mainboard/asrock/939a785gmh/chip.h             |   23 +++++++++++++++
 src/mainboard/asrock/939a785gmh/mainboard.c        |    1 +
 src/mainboard/asrock/e350m1/chip.h                 |   23 +++++++++++++++
 src/mainboard/asrock/e350m1/mainboard.c            |    1 +
 src/mainboard/asus/a8n_e/chip.h                    |   24 ++++++++++++++++
 src/mainboard/asus/a8n_e/mainboard.c               |    1 +
 src/mainboard/asus/a8v-e_deluxe/chip.h             |   22 +++++++++++++++
 src/mainboard/asus/a8v-e_deluxe/mainboard.c        |    1 +
 src/mainboard/asus/a8v-e_se/chip.h                 |   22 +++++++++++++++
 src/mainboard/asus/a8v-e_se/mainboard.c            |    1 +
 src/mainboard/asus/dsbf/chip.h                     |   21 ++++++++++++++
 src/mainboard/asus/dsbf/mainboard.c                |    1 +
 src/mainboard/asus/k8v-x/chip.h                    |   22 +++++++++++++++
 src/mainboard/asus/k8v-x/mainboard.c               |    1 +
 src/mainboard/asus/m2n-e/chip.h                    |   23 +++++++++++++++
 src/mainboard/asus/m2n-e/mainboard.c               |    1 +
 src/mainboard/asus/m2v-mx_se/chip.h                |   22 +++++++++++++++
 src/mainboard/asus/m2v-mx_se/mainboard.c           |    1 +
 src/mainboard/asus/m2v/chip.h                      |   22 +++++++++++++++
 src/mainboard/asus/m2v/mainboard.c                 |    1 +
 src/mainboard/asus/m4a78-em/chip.h                 |   23 +++++++++++++++
 src/mainboard/asus/m4a78-em/mainboard.c            |    1 +
 src/mainboard/asus/m4a785-m/chip.h                 |   23 +++++++++++++++
 src/mainboard/asus/m4a785-m/mainboard.c            |    1 +
 src/mainboard/asus/m4a785t-m/chip.h                |   23 +++++++++++++++
 src/mainboard/asus/m5a88-v/chip.h                  |   22 +++++++++++++++
 src/mainboard/asus/m5a88-v/mainboard.c             |    1 +
 src/mainboard/asus/mew-am/chip.h                   |   22 +++++++++++++++
 src/mainboard/asus/mew-am/mainboard.c              |    1 +
 src/mainboard/asus/mew-vm/chip.h                   |    3 ++
 src/mainboard/asus/mew-vm/mainboard.c              |    1 +
 src/mainboard/asus/p2b-d/chip.h                    |   22 +++++++++++++++
 src/mainboard/asus/p2b-d/mainboard.c               |    1 +
 src/mainboard/asus/p2b-ds/chip.h                   |   22 +++++++++++++++
 src/mainboard/asus/p2b-ds/mainboard.c              |    1 +
 src/mainboard/asus/p2b-f/chip.h                    |   22 +++++++++++++++
 src/mainboard/asus/p2b-f/mainboard.c               |    1 +
 src/mainboard/asus/p2b-ls/chip.h                   |   22 +++++++++++++++
 src/mainboard/asus/p2b-ls/mainboard.c              |    1 +
 src/mainboard/asus/p2b/chip.h                      |   22 +++++++++++++++
 src/mainboard/asus/p2b/mainboard.c                 |    1 +
 src/mainboard/asus/p3b-f/chip.h                    |   22 +++++++++++++++
 src/mainboard/asus/p3b-f/mainboard.c               |    1 +
 src/mainboard/avalue/eax-785e/chip.h               |   22 +++++++++++++++
 src/mainboard/avalue/eax-785e/mainboard.c          |    5 +++
 src/mainboard/axus/tc320/chip.h                    |   22 +++++++++++++++
 src/mainboard/axus/tc320/mainboard.c               |    1 +
 src/mainboard/azza/pt-6ibd/chip.h                  |   22 +++++++++++++++
 src/mainboard/azza/pt-6ibd/mainboard.c             |    1 +
 src/mainboard/bachmann/ot200/chip.h                |   23 +++++++++++++++
 src/mainboard/bcom/winnet100/chip.h                |   23 +++++++++++++++
 src/mainboard/bcom/winnet100/mainboard.c           |    1 +
 src/mainboard/bcom/winnetp680/chip.h               |   24 ++++++++++++++++
 src/mainboard/bcom/winnetp680/mainboard.c          |    1 +
 src/mainboard/bifferos/bifferboard/chip.h          |   23 +++++++++++++++
 src/mainboard/bifferos/bifferboard/mainboard.c     |    1 +
 src/mainboard/biostar/m6tba/chip.h                 |   22 +++++++++++++++
 src/mainboard/biostar/m6tba/mainboard.c            |    1 +
 src/mainboard/broadcom/blast/chip.h                |    3 ++
 src/mainboard/broadcom/blast/mainboard.c           |    1 +
 src/mainboard/compaq/deskpro_en_sff_p600/chip.h    |   22 +++++++++++++++
 .../compaq/deskpro_en_sff_p600/mainboard.c         |    1 +
 src/mainboard/digitallogic/adl855pc/chip.h         |    3 ++
 src/mainboard/digitallogic/adl855pc/mainboard.c    |    1 +
 src/mainboard/digitallogic/msm586seg/chip.h        |    3 ++
 src/mainboard/digitallogic/msm586seg/mainboard.c   |    1 +
 src/mainboard/digitallogic/msm800sev/chip.h        |    3 ++
 src/mainboard/digitallogic/msm800sev/mainboard.c   |    1 +
 src/mainboard/eaglelion/5bcm/chip.h                |    3 ++
 src/mainboard/eaglelion/5bcm/mainboard.c           |    1 +
 src/mainboard/ecs/p6iwp-fe/chip.h                  |   22 +++++++++++++++
 src/mainboard/ecs/p6iwp-fe/mainboard.c             |    1 +
 src/mainboard/emulation/qemu-x86/mainboard.c       |    1 +
 src/mainboard/getac/p470/chip.h                    |   23 +++++++++++++++
 src/mainboard/getac/p470/mainboard.c               |    1 +
 src/mainboard/gigabyte/ga-6bxc/chip.h              |   22 +++++++++++++++
 src/mainboard/gigabyte/ga-6bxc/mainboard.c         |    1 +
 src/mainboard/gigabyte/ga-6bxe/chip.h              |   22 +++++++++++++++
 src/mainboard/gigabyte/ga-6bxe/mainboard.c         |    1 +
 src/mainboard/gigabyte/ga_2761gxdk/chip.h          |   24 ++++++++++++++++
 src/mainboard/gigabyte/ga_2761gxdk/mainboard.c     |    1 +
 src/mainboard/gigabyte/m57sli/chip.h               |   24 ++++++++++++++++
 src/mainboard/gigabyte/m57sli/mainboard.c          |    1 +
 src/mainboard/gigabyte/ma785gm/chip.h              |   23 +++++++++++++++
 src/mainboard/gigabyte/ma785gm/mainboard.c         |    1 +
 src/mainboard/gigabyte/ma785gmt/chip.h             |   23 +++++++++++++++
 src/mainboard/gigabyte/ma785gmt/mainboard.c        |    1 +
 src/mainboard/gigabyte/ma78gm/chip.h               |   23 +++++++++++++++
 src/mainboard/gigabyte/ma78gm/mainboard.c          |    1 +
 src/mainboard/hp/dl145_g1/chip.h                   |    3 ++
 src/mainboard/hp/dl145_g1/mainboard.c              |    1 +
 src/mainboard/hp/dl145_g3/chip.h                   |   24 ++++++++++++++++
 src/mainboard/hp/dl145_g3/mainboard.c              |    1 +
 src/mainboard/hp/dl165_g6_fam10/chip.h             |   26 +++++++++++++++++
 src/mainboard/hp/dl165_g6_fam10/mainboard.c        |    1 +
 src/mainboard/hp/e_vectra_p2706t/chip.h            |   23 +++++++++++++++
 src/mainboard/hp/e_vectra_p2706t/mainboard.c       |    1 +
 src/mainboard/ibase/mb899/chip.h                   |   21 ++++++++++++++
 src/mainboard/ibase/mb899/mainboard.c              |    1 +
 src/mainboard/ibm/e325/chip.h                      |    3 ++
 src/mainboard/ibm/e325/mainboard.c                 |    1 +
 src/mainboard/ibm/e326/chip.h                      |    3 ++
 src/mainboard/ibm/e326/mainboard.c                 |    1 +
 src/mainboard/iei/juki-511p/chip.h                 |   23 +++++++++++++++
 src/mainboard/iei/juki-511p/mainboard.c            |    1 +
 src/mainboard/iei/kino-780am2-fam10/chip.h         |   23 +++++++++++++++
 src/mainboard/iei/kino-780am2-fam10/mainboard.c    |    1 +
 src/mainboard/iei/nova4899r/chip.h                 |   23 +++++++++++++++
 src/mainboard/iei/nova4899r/mainboard.c            |    1 +
 src/mainboard/iei/pcisa-lx-800-r10/chip.h          |   23 +++++++++++++++
 src/mainboard/iei/pm-lx-800-r11/chip.h             |   23 +++++++++++++++
 src/mainboard/intel/d810e2cb/chip.h                |   21 ++++++++++++++
 src/mainboard/intel/d810e2cb/mainboard.c           |    1 +
 src/mainboard/intel/d945gclf/chip.h                |   21 ++++++++++++++
 src/mainboard/intel/d945gclf/mainboard.c           |    1 +
 src/mainboard/intel/eagleheights/chip.h            |   22 +++++++++++++++
 src/mainboard/intel/eagleheights/mainboard.c       |    1 +
 src/mainboard/intel/emeraldlake2/chip.h            |   21 ++++++++++++++
 src/mainboard/intel/emeraldlake2/mainboard.c       |    1 +
 src/mainboard/intel/jarrell/chip.h                 |    3 ++
 src/mainboard/intel/jarrell/mainboard.c            |    1 +
 src/mainboard/intel/mtarvon/chip.h                 |   22 +++++++++++++++
 src/mainboard/intel/mtarvon/mainboard.c            |    1 +
 src/mainboard/intel/truxton/chip.h                 |   22 +++++++++++++++
 src/mainboard/intel/truxton/mainboard.c            |    1 +
 src/mainboard/intel/xe7501devkit/chip.h            |    3 ++
 src/mainboard/intel/xe7501devkit/mainboard.c       |    1 +
 src/mainboard/iwave/iWRainbowG6/chip.h             |   21 ++++++++++++++
 src/mainboard/iwave/iWRainbowG6/mainboard.c        |    1 +
 src/mainboard/iwill/dk8_htx/chip.h                 |    3 ++
 src/mainboard/iwill/dk8_htx/mainboard.c            |    1 +
 src/mainboard/iwill/dk8s2/chip.h                   |    3 ++
 src/mainboard/iwill/dk8s2/mainboard.c              |    1 +
 src/mainboard/iwill/dk8x/chip.h                    |    3 ++
 src/mainboard/iwill/dk8x/mainboard.c               |    1 +
 src/mainboard/jetway/j7f24/chip.h                  |   24 ++++++++++++++++
 src/mainboard/jetway/j7f24/mainboard.c             |    1 +
 src/mainboard/jetway/pa78vm5/chip.h                |   24 ++++++++++++++++
 src/mainboard/jetway/pa78vm5/mainboard.c           |    1 +
 src/mainboard/kontron/986lcd-m/chip.h              |   21 ++++++++++++++
 src/mainboard/kontron/986lcd-m/mainboard.c         |    1 +
 src/mainboard/kontron/kt690/chip.h                 |   23 +++++++++++++++
 src/mainboard/kontron/kt690/mainboard.c            |    1 +
 src/mainboard/lanner/em8510/chip.h                 |   23 +++++++++++++++
 src/mainboard/lanner/em8510/mainboard.c            |    1 +
 src/mainboard/lenovo/t60/chip.h                    |   21 ++++++++++++++
 src/mainboard/lenovo/t60/mainboard.c               |    1 +
 src/mainboard/lenovo/x60/chip.h                    |   21 ++++++++++++++
 src/mainboard/lenovo/x60/mainboard.c               |    1 +
 src/mainboard/lippert/frontrunner/chip.h           |    3 ++
 src/mainboard/lippert/frontrunner/mainboard.c      |    1 +
 src/mainboard/lippert/hurricane-lx/chip.h          |   23 +++++++++++++++
 src/mainboard/lippert/hurricane-lx/mainboard.c     |    1 +
 src/mainboard/lippert/literunner-lx/chip.h         |   23 +++++++++++++++
 src/mainboard/lippert/literunner-lx/mainboard.c    |    1 +
 src/mainboard/lippert/roadrunner-lx/chip.h         |   23 +++++++++++++++
 src/mainboard/lippert/roadrunner-lx/mainboard.c    |    1 +
 src/mainboard/lippert/spacerunner-lx/chip.h        |   23 +++++++++++++++
 src/mainboard/lippert/spacerunner-lx/mainboard.c   |    1 +
 src/mainboard/mitac/6513wu/chip.h                  |   22 +++++++++++++++
 src/mainboard/mitac/6513wu/mainboard.c             |    1 +
 src/mainboard/msi/ms6119/chip.h                    |   22 +++++++++++++++
 src/mainboard/msi/ms6119/mainboard.c               |    1 +
 src/mainboard/msi/ms6147/chip.h                    |   22 +++++++++++++++
 src/mainboard/msi/ms6147/mainboard.c               |    1 +
 src/mainboard/msi/ms6156/chip.h                    |   22 +++++++++++++++
 src/mainboard/msi/ms6156/mainboard.c               |    1 +
 src/mainboard/msi/ms6178/chip.h                    |   23 +++++++++++++++
 src/mainboard/msi/ms6178/mainboard.c               |    1 +
 src/mainboard/msi/ms7135/chip.h                    |   23 +++++++++++++++
 src/mainboard/msi/ms7135/mainboard.c               |    1 +
 src/mainboard/msi/ms7260/chip.h                    |   23 +++++++++++++++
 src/mainboard/msi/ms7260/mainboard.c               |    1 +
 src/mainboard/msi/ms9185/chip.h                    |   25 +++++++++++++++++
 src/mainboard/msi/ms9185/mainboard.c               |    1 +
 src/mainboard/msi/ms9282/chip.h                    |   24 ++++++++++++++++
 src/mainboard/msi/ms9282/mainboard.c               |    1 +
 src/mainboard/msi/ms9652_fam10/chip.h              |   24 ++++++++++++++++
 src/mainboard/msi/ms9652_fam10/mainboard.c         |    1 +
 src/mainboard/nec/powermate2000/chip.h             |   23 +++++++++++++++
 src/mainboard/nec/powermate2000/mainboard.c        |    1 +
 src/mainboard/newisys/khepri/chip.h                |    3 ++
 src/mainboard/newisys/khepri/mainboard.c           |    1 +
 src/mainboard/nokia/ip530/chip.h                   |   22 +++++++++++++++
 src/mainboard/nokia/ip530/mainboard.c              |    1 +
 src/mainboard/nvidia/l1_2pvv/chip.h                |   24 ++++++++++++++++
 src/mainboard/nvidia/l1_2pvv/mainboard.c           |    1 +
 src/mainboard/pcengines/alix1c/chip.h              |   22 +++++++++++++++
 src/mainboard/pcengines/alix1c/mainboard.c         |    1 +
 src/mainboard/pcengines/alix2d/chip.h              |   22 +++++++++++++++
 src/mainboard/pcengines/alix2d/mainboard.c         |    1 +
 src/mainboard/rca/rm4100/chip.h                    |   23 +++++++++++++++
 src/mainboard/rca/rm4100/mainboard.c               |    1 +
 src/mainboard/roda/rk886ex/chip.h                  |   21 ++++++++++++++
 src/mainboard/roda/rk886ex/mainboard.c             |    1 +
 src/mainboard/samsung/lumpy/chip.h                 |   21 ++++++++++++++
 src/mainboard/samsung/lumpy/mainboard.c            |    1 +
 src/mainboard/samsung/stumpy/chip.h                |   21 ++++++++++++++
 src/mainboard/samsung/stumpy/mainboard.c           |    1 +
 src/mainboard/siemens/sitemp_g1p1/chip.h           |   29 ++++++++++++++++++++
 src/mainboard/siemens/sitemp_g1p1/mainboard.c      |   16 +++++-----
 src/mainboard/soyo/sy-6ba-plus-iii/chip.h          |   22 +++++++++++++++
 src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c     |    1 +
 src/mainboard/sunw/ultra40/chip.h                  |    3 ++
 src/mainboard/sunw/ultra40/mainboard.c             |    1 +
 src/mainboard/supermicro/h8dme/chip.h              |   21 ++++++++++++++
 src/mainboard/supermicro/h8dme/mainboard.c         |    1 +
 src/mainboard/supermicro/h8dmr/chip.h              |   24 ++++++++++++++++
 src/mainboard/supermicro/h8dmr/mainboard.c         |    1 +
 src/mainboard/supermicro/h8dmr_fam10/chip.h        |   24 ++++++++++++++++
 src/mainboard/supermicro/h8dmr_fam10/mainboard.c   |    1 +
 src/mainboard/supermicro/h8qgi/chip.h              |   23 +++++++++++++++
 src/mainboard/supermicro/h8qgi/mainboard.c         |    1 +
 src/mainboard/supermicro/h8qme_fam10/chip.h        |   24 ++++++++++++++++
 src/mainboard/supermicro/h8qme_fam10/mainboard.c   |    1 +
 src/mainboard/supermicro/h8scm_fam10/chip.h        |   23 +++++++++++++++
 src/mainboard/supermicro/h8scm_fam10/mainboard.c   |    5 +++
 src/mainboard/supermicro/x6dai_g/chip.h            |    3 ++
 src/mainboard/supermicro/x6dai_g/mainboard.c       |    1 +
 src/mainboard/supermicro/x6dhe_g/chip.h            |    3 ++
 src/mainboard/supermicro/x6dhe_g/mainboard.c       |    1 +
 src/mainboard/supermicro/x6dhe_g2/chip.h           |    3 ++
 src/mainboard/supermicro/x6dhe_g2/mainboard.c      |    1 +
 src/mainboard/supermicro/x6dhr_ig/chip.h           |    3 ++
 src/mainboard/supermicro/x6dhr_ig/mainboard.c      |    1 +
 src/mainboard/supermicro/x6dhr_ig2/chip.h          |    3 ++
 src/mainboard/supermicro/x6dhr_ig2/mainboard.c     |    1 +
 src/mainboard/supermicro/x7db8/chip.h              |   21 ++++++++++++++
 src/mainboard/supermicro/x7db8/mainboard.c         |    1 +
 src/mainboard/technexion/tim5690/chip.h            |   23 +++++++++++++++
 src/mainboard/technexion/tim5690/mainboard.c       |    1 +
 src/mainboard/technexion/tim8690/chip.h            |   23 +++++++++++++++
 src/mainboard/technexion/tim8690/mainboard.c       |    1 +
 src/mainboard/technologic/ts5300/chip.h            |    3 ++
 src/mainboard/technologic/ts5300/mainboard.c       |    1 +
 src/mainboard/televideo/tc7020/chip.h              |   23 +++++++++++++++
 src/mainboard/televideo/tc7020/mainboard.c         |    1 +
 src/mainboard/thomson/ip1000/chip.h                |   23 +++++++++++++++
 src/mainboard/thomson/ip1000/mainboard.c           |    1 +
 src/mainboard/traverse/geos/chip.h                 |   23 +++++++++++++++
 src/mainboard/traverse/geos/mainboard.c            |    1 +
 src/mainboard/tyan/s1846/chip.h                    |   22 +++++++++++++++
 src/mainboard/tyan/s1846/mainboard.c               |    1 +
 src/mainboard/tyan/s2735/chip.h                    |    3 ++
 src/mainboard/tyan/s2735/mainboard.c               |    1 +
 src/mainboard/tyan/s2850/chip.h                    |    3 ++
 src/mainboard/tyan/s2850/mainboard.c               |    1 +
 src/mainboard/tyan/s2875/chip.h                    |    3 ++
 src/mainboard/tyan/s2875/mainboard.c               |    1 +
 src/mainboard/tyan/s2880/chip.h                    |    3 ++
 src/mainboard/tyan/s2880/mainboard.c               |    1 +
 src/mainboard/tyan/s2881/chip.h                    |    3 ++
 src/mainboard/tyan/s2881/mainboard.c               |    1 +
 src/mainboard/tyan/s2882/chip.h                    |    3 ++
 src/mainboard/tyan/s2882/mainboard.c               |    1 +
 src/mainboard/tyan/s2885/chip.h                    |    3 ++
 src/mainboard/tyan/s2885/mainboard.c               |    1 +
 src/mainboard/tyan/s2891/chip.h                    |    3 ++
 src/mainboard/tyan/s2891/mainboard.c               |    1 +
 src/mainboard/tyan/s2892/chip.h                    |    3 ++
 src/mainboard/tyan/s2892/mainboard.c               |    1 +
 src/mainboard/tyan/s2895/chip.h                    |    3 ++
 src/mainboard/tyan/s2895/mainboard.c               |    1 +
 src/mainboard/tyan/s2912/chip.h                    |   24 ++++++++++++++++
 src/mainboard/tyan/s2912/mainboard.c               |    1 +
 src/mainboard/tyan/s2912_fam10/chip.h              |   24 ++++++++++++++++
 src/mainboard/tyan/s2912_fam10/mainboard.c         |    1 +
 src/mainboard/tyan/s4880/chip.h                    |    3 ++
 src/mainboard/tyan/s4880/mainboard.c               |    1 +
 src/mainboard/tyan/s4882/chip.h                    |    3 ++
 src/mainboard/tyan/s4882/mainboard.c               |    1 +
 src/mainboard/via/epia-cn/chip.h                   |   24 ++++++++++++++++
 src/mainboard/via/epia-cn/mainboard.c              |    1 +
 src/mainboard/via/epia-m/chip.h                    |    3 ++
 src/mainboard/via/epia-m/mainboard.c               |    1 +
 src/mainboard/via/epia-m700/chip.h                 |   23 +++++++++++++++
 src/mainboard/via/epia-m700/mainboard.c            |    1 +
 src/mainboard/via/epia-n/chip.h                    |   24 ++++++++++++++++
 src/mainboard/via/epia-n/mainboard.c               |    1 +
 src/mainboard/via/epia/chip.h                      |    3 ++
 src/mainboard/via/epia/mainboard.c                 |    1 +
 src/mainboard/via/pc2500e/chip.h                   |   23 +++++++++++++++
 src/mainboard/via/pc2500e/mainboard.c              |    1 +
 src/mainboard/via/vt8454c/chip.h                   |   22 +++++++++++++++
 src/mainboard/via/vt8454c/mainboard.c              |    1 +
 src/mainboard/winent/pl6064/chip.h                 |   23 +++++++++++++++
 src/mainboard/winent/pl6064/mainboard.c            |    1 +
 src/mainboard/wyse/s50/chip.h                      |   22 +++++++++++++++
 src/mainboard/wyse/s50/mainboard.c                 |    1 +
 util/sconfig/main.c                                |   13 +-------
 348 files changed, 3343 insertions(+), 21 deletions(-)

diff --git a/src/mainboard/a-trend/atc-6220/chip.h b/src/mainboard/a-trend/atc-6220/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/a-trend/atc-6220/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/a-trend/atc-6220/mainboard.c b/src/mainboard/a-trend/atc-6220/mainboard.c
index 26f18dd..f30ebfa 100644
--- a/src/mainboard/a-trend/atc-6220/mainboard.c
+++ b/src/mainboard/a-trend/atc-6220/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("A-Trend ATC-6220 Mainboard")
diff --git a/src/mainboard/a-trend/atc-6240/chip.h b/src/mainboard/a-trend/atc-6240/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/a-trend/atc-6240/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/a-trend/atc-6240/mainboard.c b/src/mainboard/a-trend/atc-6240/mainboard.c
index 13f6e3f..0e09ea3 100644
--- a/src/mainboard/a-trend/atc-6240/mainboard.c
+++ b/src/mainboard/a-trend/atc-6240/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("A-Trend ATC-6240 Mainboard")
diff --git a/src/mainboard/aaeon/pfm-540i_revb/chip.h b/src/mainboard/aaeon/pfm-540i_revb/chip.h
new file mode 100644
index 0000000..c8c54b0
--- /dev/null
+++ b/src/mainboard/aaeon/pfm-540i_revb/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Mark Norman <mpnorman at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/aaeon/pfm-540i_revb/mainboard.c b/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
index 8f1412f..72e500c 100644
--- a/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
+++ b/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/abit/be6-ii_v2_0/chip.h b/src/mainboard/abit/be6-ii_v2_0/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/abit/be6-ii_v2_0/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/abit/be6-ii_v2_0/mainboard.c b/src/mainboard/abit/be6-ii_v2_0/mainboard.c
index c70df95..6fc23ec 100644
--- a/src/mainboard/abit/be6-ii_v2_0/mainboard.c
+++ b/src/mainboard/abit/be6-ii_v2_0/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Abit BE6-II V2.0 Mainboard")
diff --git a/src/mainboard/advansus/a785e-i/chip.h b/src/mainboard/advansus/a785e-i/chip.h
new file mode 100644
index 0000000..5957589
--- /dev/null
+++ b/src/mainboard/advansus/a785e-i/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/advansus/a785e-i/mainboard.c b/src/mainboard/advansus/a785e-i/mainboard.c
index 6c190f0..d3530cf 100644
--- a/src/mainboard/advansus/a785e-i/mainboard.c
+++ b/src/mainboard/advansus/a785e-i/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include "SBPLATFORM.h"
+#include "chip.h"
 
 
 u8 is_dev3_present(void);
@@ -76,6 +77,10 @@ u8 is_dev3_present(void)
 *************************************************/
 static void a785e_i_enable(device_t dev)
 {
+	/* Leave it for furture use. */
+	/* struct mainboard_config *mainboard =
+	   (struct mainboard_config *)dev->chip_info; */
+
 	printk(BIOS_INFO, "Mainboard A785E-I Enable. dev=0x%p\n", dev);
 
 	setup_uma_memory();
diff --git a/src/mainboard/advantech/pcm-5820/chip.h b/src/mainboard/advantech/pcm-5820/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/advantech/pcm-5820/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/advantech/pcm-5820/mainboard.c b/src/mainboard/advantech/pcm-5820/mainboard.c
index 345c6f8..4256059 100644
--- a/src/mainboard/advantech/pcm-5820/mainboard.c
+++ b/src/mainboard/advantech/pcm-5820/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Advantech PCM-5820 Mainboard")
diff --git a/src/mainboard/amd/bimini_fam10/chip.h b/src/mainboard/amd/bimini_fam10/chip.h
new file mode 100644
index 0000000..2013516
--- /dev/null
+++ b/src/mainboard/amd/bimini_fam10/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/bimini_fam10/mainboard.c b/src/mainboard/amd/bimini_fam10/mainboard.c
index f587ac1..e2706c5 100644
--- a/src/mainboard/amd/bimini_fam10/mainboard.c
+++ b/src/mainboard/amd/bimini_fam10/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <southbridge/amd/sb800/sb800.h>
+#include "chip.h"
 
 
 u8 is_dev3_present(void);
@@ -126,6 +127,10 @@ static void get_ide_dma66(void)
 *************************************************/
 static void bimini_enable(device_t dev)
 {
+	/* Leave it for furture use. */
+	/* struct mainboard_config *mainboard =
+	   (struct mainboard_config *)dev->chip_info; */
+
 	printk(BIOS_INFO, "Mainboard BIMINI Enable. dev=0x%p\n", dev);
 
 	setup_uma_memory();
diff --git a/src/mainboard/amd/db800/chip.h b/src/mainboard/amd/db800/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/amd/db800/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/db800/mainboard.c b/src/mainboard/amd/db800/mainboard.c
index e841d07..f95ea22 100644
--- a/src/mainboard/amd/db800/mainboard.c
+++ b/src/mainboard/amd/db800/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/amd/dbm690t/chip.h b/src/mainboard/amd/dbm690t/chip.h
new file mode 100644
index 0000000..9ee2dc8
--- /dev/null
+++ b/src/mainboard/amd/dbm690t/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/amd/dbm690t/mainboard.c b/src/mainboard/amd/dbm690t/mainboard.c
index fbff55b..df79b34 100644
--- a/src/mainboard/amd/dbm690t/mainboard.c
+++ b/src/mainboard/amd/dbm690t/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/amd/dinar/chip.h b/src/mainboard/amd/dinar/chip.h
new file mode 100644
index 0000000..42630fa
--- /dev/null
+++ b/src/mainboard/amd/dinar/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/dinar/mainboard.c b/src/mainboard/amd/dinar/mainboard.c
index 6301b4f..0d4015b 100644
--- a/src/mainboard/amd/dinar/mainboard.c
+++ b/src/mainboard/amd/dinar/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <NbPlatform.h>
+#include "chip.h"
 
 //#define SMBUS_IO_BASE 0x6000
 
diff --git a/src/mainboard/amd/inagua/chip.h b/src/mainboard/amd/inagua/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/inagua/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/inagua/mainboard.c b/src/mainboard/amd/inagua/mainboard.c
index dc83258..5291165 100644
--- a/src/mainboard/amd/inagua/mainboard.c
+++ b/src/mainboard/amd/inagua/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 //#include <southbridge/amd/sb800/sb800.h>
 #include "SBPLATFORM.h" 	/* Platfrom Specific Definitions */
+#include "chip.h"
 
 void set_pcie_reset(void);
 void set_pcie_dereset(void);
diff --git a/src/mainboard/amd/mahogany/chip.h b/src/mainboard/amd/mahogany/chip.h
new file mode 100644
index 0000000..42664d0
--- /dev/null
+++ b/src/mainboard/amd/mahogany/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/amd/mahogany/mainboard.c b/src/mainboard/amd/mahogany/mainboard.c
index 43ea66f..46ce2d2 100644
--- a/src/mainboard/amd/mahogany/mainboard.c
+++ b/src/mainboard/amd/mahogany/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/amd/mahogany_fam10/chip.h b/src/mainboard/amd/mahogany_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/amd/mahogany_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/mahogany_fam10/mainboard.c b/src/mainboard/amd/mahogany_fam10/mainboard.c
index b47cdff..6245e5f 100644
--- a/src/mainboard/amd/mahogany_fam10/mainboard.c
+++ b/src/mainboard/amd/mahogany_fam10/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/amd/norwich/chip.h b/src/mainboard/amd/norwich/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/amd/norwich/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/norwich/mainboard.c b/src/mainboard/amd/norwich/mainboard.c
index c735abb..0814a16 100644
--- a/src/mainboard/amd/norwich/mainboard.c
+++ b/src/mainboard/amd/norwich/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/amd/parmer/chip.h b/src/mainboard/amd/parmer/chip.h
new file mode 100644
index 0000000..352a6ff
--- /dev/null
+++ b/src/mainboard/amd/parmer/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/parmer/mainboard.c b/src/mainboard/amd/parmer/mainboard.c
index dae70c1..bf04d30 100644
--- a/src/mainboard/amd/parmer/mainboard.c
+++ b/src/mainboard/amd/parmer/mainboard.c
@@ -28,6 +28,7 @@
 #include <arch/acpi.h>
 #include "BiosCallOuts.h"
 #include <cpu/amd/agesa/s3_resume.h>
+#include "chip.h"
 #include "agesawrapper.h"
 
 /*************************************************
diff --git a/src/mainboard/amd/persimmon/chip.h b/src/mainboard/amd/persimmon/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/persimmon/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/persimmon/mainboard.c b/src/mainboard/amd/persimmon/mainboard.c
index aa3bc1b..86172ba 100644
--- a/src/mainboard/amd/persimmon/mainboard.c
+++ b/src/mainboard/amd/persimmon/mainboard.c
@@ -26,6 +26,7 @@
 #include <device/pci_def.h>
 #include <southbridge/amd/sb800/sb800.h>
 #include <arch/acpi.h>
+#include "chip.h"
 #include "BiosCallOuts.h"
 #include <cpu/amd/agesa/s3_resume.h>
 #include <cpu/amd/mtrr.h>
diff --git a/src/mainboard/amd/pistachio/chip.h b/src/mainboard/amd/pistachio/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/amd/pistachio/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/amd/pistachio/mainboard.c b/src/mainboard/amd/pistachio/mainboard.c
index 1355c37..4cd1c94 100644
--- a/src/mainboard/amd/pistachio/mainboard.c
+++ b/src/mainboard/amd/pistachio/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
 
 #define ADT7475_ADDRESS 0x2E
 #define SMBUS_IO_BASE 0x1000
diff --git a/src/mainboard/amd/rumba/chip.h b/src/mainboard/amd/rumba/chip.h
new file mode 100644
index 0000000..2094b23
--- /dev/null
+++ b/src/mainboard/amd/rumba/chip.h
@@ -0,0 +1,5 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+	int nicirq;
+};
diff --git a/src/mainboard/amd/rumba/mainboard.c b/src/mainboard/amd/rumba/mainboard.c
index 42547cc..0e7bbb6 100644
--- a/src/mainboard/amd/rumba/mainboard.c
+++ b/src/mainboard/amd/rumba/mainboard.c
@@ -4,14 +4,18 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
+#include "chip.h"
 
-static void init(struct device *dev)
-{
+static void init(struct device *dev) {
+	struct mainboard_config  *mainboard = (struct mainboard_config*)dev->chip_info;
 	device_t nic = NULL;
 	unsigned bus = 0;
 	unsigned devfn = PCI_DEVFN(0xd, 0);
 	int nicirq = 1;
 
+	if (mainboard->nicirq)
+		nicirq = mainboard->nicirq;
+
 	printk(BIOS_DEBUG, "AMD RUMBA ENTER %s\n", __func__);
 
 	if (nicirq) {
diff --git a/src/mainboard/amd/serengeti_cheetah/chip.h b/src/mainboard/amd/serengeti_cheetah/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/amd/serengeti_cheetah/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/serengeti_cheetah/mainboard.c b/src/mainboard/amd/serengeti_cheetah/mainboard.c
index a156f2e..4fb715f 100644
--- a/src/mainboard/amd/serengeti_cheetah/mainboard.c
+++ b/src/mainboard/amd/serengeti_cheetah/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("AMD Serengeti Cheetah Mainboard")
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/chip.h b/src/mainboard/amd/serengeti_cheetah_fam10/chip.h
new file mode 100644
index 0000000..df1a3eb
--- /dev/null
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
index 9984bd6..ba1ee9c 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
@@ -23,6 +23,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("AMD family 10 Cheetah mainboard")
diff --git a/src/mainboard/amd/south_station/chip.h b/src/mainboard/amd/south_station/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/south_station/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/south_station/mainboard.c b/src/mainboard/amd/south_station/mainboard.c
index 715b40a..3d5137c 100644
--- a/src/mainboard/amd/south_station/mainboard.c
+++ b/src/mainboard/amd/south_station/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include "SBPLATFORM.h" 	/* Platfrom Specific Definitions */
+#include "chip.h"
 
 
 void set_pcie_reset(void);
diff --git a/src/mainboard/amd/tilapia_fam10/chip.h b/src/mainboard/amd/tilapia_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/amd/tilapia_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/tilapia_fam10/mainboard.c b/src/mainboard/amd/tilapia_fam10/mainboard.c
index cf3e3d3..03735f4 100644
--- a/src/mainboard/amd/tilapia_fam10/mainboard.c
+++ b/src/mainboard/amd/tilapia_fam10/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include <southbridge/amd/sb700/sb700.h>
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/amd/torpedo/chip.h b/src/mainboard/amd/torpedo/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/torpedo/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/torpedo/mainboard.c b/src/mainboard/amd/torpedo/mainboard.c
index 839ec5c..29909b0 100644
--- a/src/mainboard/amd/torpedo/mainboard.c
+++ b/src/mainboard/amd/torpedo/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 //#include <southbridge/amd/sb900/sb900.h>
+#include "chip.h"
 
 #define ONE_MB  0x100000
 //#define SMBUS_IO_BASE 0x6000
diff --git a/src/mainboard/amd/union_station/chip.h b/src/mainboard/amd/union_station/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/union_station/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/union_station/mainboard.c b/src/mainboard/amd/union_station/mainboard.c
index f0f610a..a08938c 100644
--- a/src/mainboard/amd/union_station/mainboard.c
+++ b/src/mainboard/amd/union_station/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include "SBPLATFORM.h" 	/* Platfrom Specific Definitions */
+#include "chip.h"
 
 void set_pcie_reset(void);
 void set_pcie_dereset(void);
diff --git a/src/mainboard/aopen/dxplplusu/chip.h b/src/mainboard/aopen/dxplplusu/chip.h
new file mode 100644
index 0000000..06f11d0
--- /dev/null
+++ b/src/mainboard/aopen/dxplplusu/chip.h
@@ -0,0 +1,4 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+};
diff --git a/src/mainboard/aopen/dxplplusu/mainboard.c b/src/mainboard/aopen/dxplplusu/mainboard.c
index 0688914..2d41509 100644
--- a/src/mainboard/aopen/dxplplusu/mainboard.c
+++ b/src/mainboard/aopen/dxplplusu/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("AOpen DXPL Plus-U Mainboard")
diff --git a/src/mainboard/arima/hdama/chip.h b/src/mainboard/arima/hdama/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/arima/hdama/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/arima/hdama/mainboard.c b/src/mainboard/arima/hdama/mainboard.c
index df658e2..688a01c 100644
--- a/src/mainboard/arima/hdama/mainboard.c
+++ b/src/mainboard/arima/hdama/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Arima HDAMA Mainboard")
diff --git a/src/mainboard/artecgroup/dbe61/chip.h b/src/mainboard/artecgroup/dbe61/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/artecgroup/dbe61/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/artecgroup/dbe61/mainboard.c b/src/mainboard/artecgroup/dbe61/mainboard.c
index 649f955..f49c215 100644
--- a/src/mainboard/artecgroup/dbe61/mainboard.c
+++ b/src/mainboard/artecgroup/dbe61/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/x86/msr.h>
 #include <cpu/amd/lxdef.h>
 #include "southbridge/amd/cs5536/cs5536.h"
+#include "chip.h"
 
 static void init_gpio(void)
 {
diff --git a/src/mainboard/asi/mb_5blgp/chip.h b/src/mainboard/asi/mb_5blgp/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/asi/mb_5blgp/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asi/mb_5blgp/mainboard.c b/src/mainboard/asi/mb_5blgp/mainboard.c
index 7a466bd..22bc52d 100644
--- a/src/mainboard/asi/mb_5blgp/mainboard.c
+++ b/src/mainboard/asi/mb_5blgp/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASI MB-5BLGP Mainboard")
diff --git a/src/mainboard/asi/mb_5blmp/chip.h b/src/mainboard/asi/mb_5blmp/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/asi/mb_5blmp/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asi/mb_5blmp/mainboard.c b/src/mainboard/asi/mb_5blmp/mainboard.c
index 9aaf14d..78366ba 100644
--- a/src/mainboard/asi/mb_5blmp/mainboard.c
+++ b/src/mainboard/asi/mb_5blmp/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASI/BCom MB-5BLMP Mainboard")
diff --git a/src/mainboard/asrock/939a785gmh/chip.h b/src/mainboard/asrock/939a785gmh/chip.h
new file mode 100644
index 0000000..be42783
--- /dev/null
+++ b/src/mainboard/asrock/939a785gmh/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/asrock/939a785gmh/mainboard.c b/src/mainboard/asrock/939a785gmh/mainboard.c
index d3ea27e..ec050cb 100644
--- a/src/mainboard/asrock/939a785gmh/mainboard.c
+++ b/src/mainboard/asrock/939a785gmh/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/asrock/e350m1/chip.h b/src/mainboard/asrock/e350m1/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/asrock/e350m1/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asrock/e350m1/mainboard.c b/src/mainboard/asrock/e350m1/mainboard.c
index d0151be..5859ae4 100644
--- a/src/mainboard/asrock/e350m1/mainboard.c
+++ b/src/mainboard/asrock/e350m1/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 //#include <southbridge/amd/sb800/sb800.h>
+#include "chip.h"
 
 //#define SMBUS_IO_BASE 0x6000
 
diff --git a/src/mainboard/asus/a8n_e/chip.h b/src/mainboard/asus/a8n_e/chip.h
new file mode 100644
index 0000000..1b910e6
--- /dev/null
+++ b/src/mainboard/asus/a8n_e/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Philipp Degler <pdegler at rumms.uni-mannheim.de>
+ * (Thanks to LSRA University of Mannheim for their support)
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8n_e/mainboard.c b/src/mainboard/asus/a8n_e/mainboard.c
index aedca67..4bd6311 100644
--- a/src/mainboard/asus/a8n_e/mainboard.c
+++ b/src/mainboard/asus/a8n_e/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS A8N-E Mainboard")
diff --git a/src/mainboard/asus/a8v-e_deluxe/chip.h b/src/mainboard/asus/a8v-e_deluxe/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/a8v-e_deluxe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek at assembler.cz>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8v-e_deluxe/mainboard.c b/src/mainboard/asus/a8v-e_deluxe/mainboard.c
index cb38be2..0180a2f 100644
--- a/src/mainboard/asus/a8v-e_deluxe/mainboard.c
+++ b/src/mainboard/asus/a8v-e_deluxe/mainboard.c
@@ -21,6 +21,7 @@
 #include <device/device.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS A8V-E Deluxe Mainboard")
diff --git a/src/mainboard/asus/a8v-e_se/chip.h b/src/mainboard/asus/a8v-e_se/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/a8v-e_se/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek at assembler.cz>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8v-e_se/mainboard.c b/src/mainboard/asus/a8v-e_se/mainboard.c
index c119e1c..b70f396 100644
--- a/src/mainboard/asus/a8v-e_se/mainboard.c
+++ b/src/mainboard/asus/a8v-e_se/mainboard.c
@@ -21,6 +21,7 @@
 #include <device/device.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS A8V-E SE Mainboard")
diff --git a/src/mainboard/asus/dsbf/chip.h b/src/mainboard/asus/dsbf/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/asus/dsbf/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/dsbf/mainboard.c b/src/mainboard/asus/dsbf/mainboard.c
index 618eca9..27a26f9 100644
--- a/src/mainboard/asus/dsbf/mainboard.c
+++ b/src/mainboard/asus/dsbf/mainboard.c
@@ -25,6 +25,7 @@
 #include <boot/tables.h>
 #include <delay.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
diff --git a/src/mainboard/asus/k8v-x/chip.h b/src/mainboard/asus/k8v-x/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/k8v-x/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek at assembler.cz>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/k8v-x/mainboard.c b/src/mainboard/asus/k8v-x/mainboard.c
index 82d8ba0..3e294b8 100644
--- a/src/mainboard/asus/k8v-x/mainboard.c
+++ b/src/mainboard/asus/k8v-x/mainboard.c
@@ -24,6 +24,7 @@
 #include <device/pci_ids.h>
 #include <arch/io.h>
 #include "southbridge/via/vt8237r/vt8237r.h"
+#include "chip.h"
 
 u32 vt8237_ide_80pin_detect(struct device *dev)
 {
diff --git a/src/mainboard/asus/m2n-e/chip.h b/src/mainboard/asus/m2n-e/chip.h
new file mode 100644
index 0000000..a69b9ef
--- /dev/null
+++ b/src/mainboard/asus/m2n-e/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2n-e/mainboard.c b/src/mainboard/asus/m2n-e/mainboard.c
index 0d7013f..aa0cc5c 100644
--- a/src/mainboard/asus/m2n-e/mainboard.c
+++ b/src/mainboard/asus/m2n-e/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include "hda_verb.h"
+#include "chip.h"
 
 static void verb_setup(void)
 {
diff --git a/src/mainboard/asus/m2v-mx_se/chip.h b/src/mainboard/asus/m2v-mx_se/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/m2v-mx_se/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek at assembler.cz>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2v-mx_se/mainboard.c b/src/mainboard/asus/m2v-mx_se/mainboard.c
index 5e3c720..c592282 100644
--- a/src/mainboard/asus/m2v-mx_se/mainboard.c
+++ b/src/mainboard/asus/m2v-mx_se/mainboard.c
@@ -22,6 +22,7 @@
 #include <device/pci_ids.h>
 #include <boot/tables.h>
 #include <southbridge/via/k8t890/k8t890.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/asus/m2v/chip.h b/src/mainboard/asus/m2v/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/m2v/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek at assembler.cz>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2v/mainboard.c b/src/mainboard/asus/m2v/mainboard.c
index 2a44851..2f20fe0 100644
--- a/src/mainboard/asus/m2v/mainboard.c
+++ b/src/mainboard/asus/m2v/mainboard.c
@@ -23,6 +23,7 @@
 #include <device/pci_ids.h>
 #include <console/console.h>
 #include "southbridge/via/vt8237r/vt8237r.h"
+#include "chip.h"
 
 u32 vt8237_ide_80pin_detect(struct device *dev)
 {
diff --git a/src/mainboard/asus/m4a78-em/chip.h b/src/mainboard/asus/m4a78-em/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a78-em/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m4a78-em/mainboard.c b/src/mainboard/asus/m4a78-em/mainboard.c
index eea8c0d..6b87177 100644
--- a/src/mainboard/asus/m4a78-em/mainboard.c
+++ b/src/mainboard/asus/m4a78-em/mainboard.c
@@ -26,6 +26,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 
 void set_pcie_dereset(void);
diff --git a/src/mainboard/asus/m4a785-m/chip.h b/src/mainboard/asus/m4a785-m/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a785-m/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m4a785-m/mainboard.c b/src/mainboard/asus/m4a785-m/mainboard.c
index 45af025..1bfeda5 100644
--- a/src/mainboard/asus/m4a785-m/mainboard.c
+++ b/src/mainboard/asus/m4a785-m/mainboard.c
@@ -26,6 +26,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/asus/m4a785t-m/chip.h b/src/mainboard/asus/m4a785t-m/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a785t-m/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m5a88-v/chip.h b/src/mainboard/asus/m5a88-v/chip.h
new file mode 100644
index 0000000..d5b991d
--- /dev/null
+++ b/src/mainboard/asus/m5a88-v/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 QingPei Wang <wangqingpei at gmail.com>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m5a88-v/mainboard.c b/src/mainboard/asus/m5a88-v/mainboard.c
index 866e8c2..2042f9b 100644
--- a/src/mainboard/asus/m5a88-v/mainboard.c
+++ b/src/mainboard/asus/m5a88-v/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include "SBPLATFORM.h"
+#include "chip.h"
 
 
 u8 is_dev3_present(void);
diff --git a/src/mainboard/asus/mew-am/chip.h b/src/mainboard/asus/mew-am/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/mew-am/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/mew-am/mainboard.c b/src/mainboard/asus/mew-am/mainboard.c
index 8887218..e5008b9 100644
--- a/src/mainboard/asus/mew-am/mainboard.c
+++ b/src/mainboard/asus/mew-am/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/asus/mew-vm/chip.h b/src/mainboard/asus/mew-vm/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/asus/mew-vm/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/mew-vm/mainboard.c b/src/mainboard/asus/mew-vm/mainboard.c
index e278565..831be01 100644
--- a/src/mainboard/asus/mew-vm/mainboard.c
+++ b/src/mainboard/asus/mew-vm/mainboard.c
@@ -1,5 +1,6 @@
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/asus/p2b-d/chip.h b/src/mainboard/asus/p2b-d/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/asus/p2b-d/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-d/mainboard.c b/src/mainboard/asus/p2b-d/mainboard.c
index 3fe9dc4..58cce0a 100644
--- a/src/mainboard/asus/p2b-d/mainboard.c
+++ b/src/mainboard/asus/p2b-d/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P2B-D Mainboard")
diff --git a/src/mainboard/asus/p2b-ds/chip.h b/src/mainboard/asus/p2b-ds/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/asus/p2b-ds/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-ds/mainboard.c b/src/mainboard/asus/p2b-ds/mainboard.c
index c874137..910b130 100644
--- a/src/mainboard/asus/p2b-ds/mainboard.c
+++ b/src/mainboard/asus/p2b-ds/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P2B-DS Mainboard")
diff --git a/src/mainboard/asus/p2b-f/chip.h b/src/mainboard/asus/p2b-f/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b-f/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-f/mainboard.c b/src/mainboard/asus/p2b-f/mainboard.c
index e5d2e14..e2b022a 100644
--- a/src/mainboard/asus/p2b-f/mainboard.c
+++ b/src/mainboard/asus/p2b-f/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P2B-F Mainboard")
diff --git a/src/mainboard/asus/p2b-ls/chip.h b/src/mainboard/asus/p2b-ls/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b-ls/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-ls/mainboard.c b/src/mainboard/asus/p2b-ls/mainboard.c
index 9f250f4..fec75e3 100644
--- a/src/mainboard/asus/p2b-ls/mainboard.c
+++ b/src/mainboard/asus/p2b-ls/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P2B-LS Mainboard")
diff --git a/src/mainboard/asus/p2b/chip.h b/src/mainboard/asus/p2b/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b/mainboard.c b/src/mainboard/asus/p2b/mainboard.c
index 527dc7a..21e5a4e 100644
--- a/src/mainboard/asus/p2b/mainboard.c
+++ b/src/mainboard/asus/p2b/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P2B Mainboard")
diff --git a/src/mainboard/asus/p3b-f/chip.h b/src/mainboard/asus/p3b-f/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p3b-f/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p3b-f/mainboard.c b/src/mainboard/asus/p3b-f/mainboard.c
index 9b41c79..c234fc2 100644
--- a/src/mainboard/asus/p3b-f/mainboard.c
+++ b/src/mainboard/asus/p3b-f/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("ASUS P3B-F Mainboard")
diff --git a/src/mainboard/avalue/eax-785e/chip.h b/src/mainboard/avalue/eax-785e/chip.h
new file mode 100644
index 0000000..5957589
--- /dev/null
+++ b/src/mainboard/avalue/eax-785e/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/avalue/eax-785e/mainboard.c b/src/mainboard/avalue/eax-785e/mainboard.c
index 5e50efa..0aa20e1 100644
--- a/src/mainboard/avalue/eax-785e/mainboard.c
+++ b/src/mainboard/avalue/eax-785e/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include "SBPLATFORM.h"
+#include "chip.h"
 
 
 u8 is_dev3_present(void);
@@ -76,6 +77,10 @@ u8 is_dev3_present(void)
 *************************************************/
 static void eax_785e(device_t dev)
 {
+	/* Leave it for furture use. */
+	/* struct mainboard_config *mainboard =
+	   (struct mainboard_config *)dev->chip_info; */
+
 	printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n");
 
 	setup_uma_memory();
diff --git a/src/mainboard/axus/tc320/chip.h b/src/mainboard/axus/tc320/chip.h
new file mode 100644
index 0000000..6e6f190
--- /dev/null
+++ b/src/mainboard/axus/tc320/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Juergen Beisert <juergen at kreuzholzen.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/axus/tc320/mainboard.c b/src/mainboard/axus/tc320/mainboard.c
index af52755..89c3dca 100644
--- a/src/mainboard/axus/tc320/mainboard.c
+++ b/src/mainboard/axus/tc320/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("AXUS TC320 Mainboard")
diff --git a/src/mainboard/azza/pt-6ibd/chip.h b/src/mainboard/azza/pt-6ibd/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/azza/pt-6ibd/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/azza/pt-6ibd/mainboard.c b/src/mainboard/azza/pt-6ibd/mainboard.c
index 483f328..45efc16 100644
--- a/src/mainboard/azza/pt-6ibd/mainboard.c
+++ b/src/mainboard/azza/pt-6ibd/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("AZZA PT-6IBD Mainboard")
diff --git a/src/mainboard/bachmann/ot200/chip.h b/src/mainboard/bachmann/ot200/chip.h
new file mode 100644
index 0000000..6acb1ff
--- /dev/null
+++ b/src/mainboard/bachmann/ot200/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Bachmann electronic 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnet100/chip.h b/src/mainboard/bcom/winnet100/chip.h
new file mode 100644
index 0000000..4bce558
--- /dev/null
+++ b/src/mainboard/bcom/winnet100/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Juergen Beisert <juergen at kreuzholzen.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnet100/mainboard.c b/src/mainboard/bcom/winnet100/mainboard.c
index 13089df..279701d 100644
--- a/src/mainboard/bcom/winnet100/mainboard.c
+++ b/src/mainboard/bcom/winnet100/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("BCOM WinNET100 Mainboard")
diff --git a/src/mainboard/bcom/winnetp680/chip.h b/src/mainboard/bcom/winnetp680/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/bcom/winnetp680/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe at gmail.com> for VIA)
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnetp680/mainboard.c b/src/mainboard/bcom/winnetp680/mainboard.c
index 26fc5e3..f467e1b 100644
--- a/src/mainboard/bcom/winnetp680/mainboard.c
+++ b/src/mainboard/bcom/winnetp680/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("BCOM WinNET P680 Mainboard")
diff --git a/src/mainboard/bifferos/bifferboard/chip.h b/src/mainboard/bifferos/bifferboard/chip.h
new file mode 100644
index 0000000..be42783
--- /dev/null
+++ b/src/mainboard/bifferos/bifferboard/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/bifferos/bifferboard/mainboard.c b/src/mainboard/bifferos/bifferboard/mainboard.c
index f3387a3..5840f95 100644
--- a/src/mainboard/bifferos/bifferboard/mainboard.c
+++ b/src/mainboard/bifferos/bifferboard/mainboard.c
@@ -18,6 +18,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Bifferos Bifferboard")
diff --git a/src/mainboard/biostar/m6tba/chip.h b/src/mainboard/biostar/m6tba/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/biostar/m6tba/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/biostar/m6tba/mainboard.c b/src/mainboard/biostar/m6tba/mainboard.c
index 6795284..fb6896a 100644
--- a/src/mainboard/biostar/m6tba/mainboard.c
+++ b/src/mainboard/biostar/m6tba/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Biostar M6TBA Mainboard")
diff --git a/src/mainboard/broadcom/blast/chip.h b/src/mainboard/broadcom/blast/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/broadcom/blast/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/broadcom/blast/mainboard.c b/src/mainboard/broadcom/blast/mainboard.c
index c556bd5..5f4b525 100644
--- a/src/mainboard/broadcom/blast/mainboard.c
+++ b/src/mainboard/broadcom/blast/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Broadcom Blast Mainboard")
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/chip.h b/src/mainboard/compaq/deskpro_en_sff_p600/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c b/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
index d4abb63..75d7876 100644
--- a/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Compaq Deskpro EN SFF P600 Mainboard")
diff --git a/src/mainboard/digitallogic/adl855pc/chip.h b/src/mainboard/digitallogic/adl855pc/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/adl855pc/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/adl855pc/mainboard.c b/src/mainboard/digitallogic/adl855pc/mainboard.c
index 41c34e4..c6ab63e 100644
--- a/src/mainboard/digitallogic/adl855pc/mainboard.c
+++ b/src/mainboard/digitallogic/adl855pc/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("DIGITAL-LOGIC ADL855PC Mainboard")
diff --git a/src/mainboard/digitallogic/msm586seg/chip.h b/src/mainboard/digitallogic/msm586seg/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/msm586seg/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/msm586seg/mainboard.c b/src/mainboard/digitallogic/msm586seg/mainboard.c
index 8f2d8c6..2361059 100644
--- a/src/mainboard/digitallogic/msm586seg/mainboard.c
+++ b/src/mainboard/digitallogic/msm586seg/mainboard.c
@@ -4,6 +4,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include <cpu/amd/sc520.h>
+#include "chip.h"
 
 
 static void irqdump(void)
diff --git a/src/mainboard/digitallogic/msm800sev/chip.h b/src/mainboard/digitallogic/msm800sev/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/msm800sev/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/msm800sev/mainboard.c b/src/mainboard/digitallogic/msm800sev/mainboard.c
index 3ade3d6..f4d0e0e 100644
--- a/src/mainboard/digitallogic/msm800sev/mainboard.c
+++ b/src/mainboard/digitallogic/msm800sev/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/eaglelion/5bcm/chip.h b/src/mainboard/eaglelion/5bcm/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/eaglelion/5bcm/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/eaglelion/5bcm/mainboard.c b/src/mainboard/eaglelion/5bcm/mainboard.c
index e1c499e..c0b3ae0 100644
--- a/src/mainboard/eaglelion/5bcm/mainboard.c
+++ b/src/mainboard/eaglelion/5bcm/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Eaglelion 5BCM Mainboard")
diff --git a/src/mainboard/ecs/p6iwp-fe/chip.h b/src/mainboard/ecs/p6iwp-fe/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/ecs/p6iwp-fe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/ecs/p6iwp-fe/mainboard.c b/src/mainboard/ecs/p6iwp-fe/mainboard.c
index 9031ac7..aec1250 100644
--- a/src/mainboard/ecs/p6iwp-fe/mainboard.c
+++ b/src/mainboard/ecs/p6iwp-fe/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/emulation/qemu-x86/mainboard.c b/src/mainboard/emulation/qemu-x86/mainboard.c
index f8d0da7..e4c9785 100644
--- a/src/mainboard/emulation/qemu-x86/mainboard.c
+++ b/src/mainboard/emulation/qemu-x86/mainboard.c
@@ -5,6 +5,7 @@
 #include <device/pci_ops.h>
 #include <pc80/keyboard.h>
 #include <arch/io.h>
+#include "chip.h"
 
 /* not sure how these are routed in qemu */
 static const unsigned char enetIrqs[4] = { 11, 0, 0, 0 };
diff --git a/src/mainboard/getac/p470/chip.h b/src/mainboard/getac/p470/chip.h
new file mode 100644
index 0000000..b75c381
--- /dev/null
+++ b/src/mainboard/getac/p470/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/getac/p470/mainboard.c b/src/mainboard/getac/p470/mainboard.c
index 83b4718..b7a248d 100644
--- a/src/mainboard/getac/p470/mainboard.c
+++ b/src/mainboard/getac/p470/mainboard.c
@@ -25,6 +25,7 @@
 #include <arch/io.h>
 #include <boot/tables.h>
 #include <delay.h>
+#include "chip.h"
 #include "hda_verb.h"
 
 #include "ec_oem.c"
diff --git a/src/mainboard/gigabyte/ga-6bxc/chip.h b/src/mainboard/gigabyte/ga-6bxc/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/gigabyte/ga-6bxc/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga-6bxc/mainboard.c b/src/mainboard/gigabyte/ga-6bxc/mainboard.c
index d43a577..01411f3 100644
--- a/src/mainboard/gigabyte/ga-6bxc/mainboard.c
+++ b/src/mainboard/gigabyte/ga-6bxc/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("GIGABYTE GA-6BXC Mainboard")
diff --git a/src/mainboard/gigabyte/ga-6bxe/chip.h b/src/mainboard/gigabyte/ga-6bxe/chip.h
new file mode 100644
index 0000000..8e3af56
--- /dev/null
+++ b/src/mainboard/gigabyte/ga-6bxe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Anders Jenbo <anders at jenbo.dk>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga-6bxe/mainboard.c b/src/mainboard/gigabyte/ga-6bxe/mainboard.c
index 281d841..2d04794 100644
--- a/src/mainboard/gigabyte/ga-6bxe/mainboard.c
+++ b/src/mainboard/gigabyte/ga-6bxe/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("GIGABYTE GA-6BXE Mainboard")
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/chip.h b/src/mainboard/gigabyte/ga_2761gxdk/chip.h
new file mode 100644
index 0000000..3c303ee
--- /dev/null
+++ b/src/mainboard/gigabyte/ga_2761gxdk/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Silicon Integrated Systems Corp. (SiS)
+ * Written by Morgan Tsai <my_tsai at sis.com> for SiS.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c b/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
index e8b8969..e365575 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
+++ b/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
@@ -24,6 +24,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("GIGABYTE GA-2761GXDK Mainboard")
diff --git a/src/mainboard/gigabyte/m57sli/chip.h b/src/mainboard/gigabyte/m57sli/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/gigabyte/m57sli/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/m57sli/mainboard.c b/src/mainboard/gigabyte/m57sli/mainboard.c
index dffa769..b198fb6 100644
--- a/src/mainboard/gigabyte/m57sli/mainboard.c
+++ b/src/mainboard/gigabyte/m57sli/mainboard.c
@@ -25,6 +25,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 // #include "hda_verb.h"
+#include "chip.h"
 
 static void verb_setup(void)
 {
diff --git a/src/mainboard/gigabyte/ma785gm/chip.h b/src/mainboard/gigabyte/ma785gm/chip.h
new file mode 100644
index 0000000..70102aa
--- /dev/null
+++ b/src/mainboard/gigabyte/ma785gm/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei at gmail.com>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma785gm/mainboard.c b/src/mainboard/gigabyte/ma785gm/mainboard.c
index 680bb2e..6303778 100644
--- a/src/mainboard/gigabyte/ma785gm/mainboard.c
+++ b/src/mainboard/gigabyte/ma785gm/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/gigabyte/ma785gmt/chip.h b/src/mainboard/gigabyte/ma785gmt/chip.h
new file mode 100644
index 0000000..70102aa
--- /dev/null
+++ b/src/mainboard/gigabyte/ma785gmt/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei at gmail.com>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma785gmt/mainboard.c b/src/mainboard/gigabyte/ma785gmt/mainboard.c
index b7ecf9f..fdfe38b 100644
--- a/src/mainboard/gigabyte/ma785gmt/mainboard.c
+++ b/src/mainboard/gigabyte/ma785gmt/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/gigabyte/ma78gm/chip.h b/src/mainboard/gigabyte/ma78gm/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/gigabyte/ma78gm/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma78gm/mainboard.c b/src/mainboard/gigabyte/ma78gm/mainboard.c
index 6756690..6ab63ac 100644
--- a/src/mainboard/gigabyte/ma78gm/mainboard.c
+++ b/src/mainboard/gigabyte/ma78gm/mainboard.c
@@ -28,6 +28,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/hp/dl145_g1/chip.h b/src/mainboard/hp/dl145_g1/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/hp/dl145_g1/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/dl145_g1/mainboard.c b/src/mainboard/hp/dl145_g1/mainboard.c
index fde9d22..d68e720 100644
--- a/src/mainboard/hp/dl145_g1/mainboard.c
+++ b/src/mainboard/hp/dl145_g1/mainboard.c
@@ -22,6 +22,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("HP ProLiant DL145 G1 Mainboard")
diff --git a/src/mainboard/hp/dl145_g3/chip.h b/src/mainboard/hp/dl145_g3/chip.h
new file mode 100644
index 0000000..04039f1
--- /dev/null
+++ b/src/mainboard/hp/dl145_g3/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 University of Mannheim
+ * Written by Philipp Degler <pdegler at rumms.uni-mannheim.de> for University of Mannheim.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/dl145_g3/mainboard.c b/src/mainboard/hp/dl145_g3/mainboard.c
index 81f074e..7799c16 100644
--- a/src/mainboard/hp/dl145_g3/mainboard.c
+++ b/src/mainboard/hp/dl145_g3/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("HP ProLiant DL145 G3 Mainboard")
diff --git a/src/mainboard/hp/dl165_g6_fam10/chip.h b/src/mainboard/hp/dl165_g6_fam10/chip.h
new file mode 100644
index 0000000..6c54f71
--- /dev/null
+++ b/src/mainboard/hp/dl165_g6_fam10/chip.h
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 University of Mannheim
+ * Written by Philipp Degler <pdegler at rumms.uni-mannheim.de> for University of Mannheim.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+};
+
diff --git a/src/mainboard/hp/dl165_g6_fam10/mainboard.c b/src/mainboard/hp/dl165_g6_fam10/mainboard.c
index 97f2fb7..d84ba47 100644
--- a/src/mainboard/hp/dl165_g6_fam10/mainboard.c
+++ b/src/mainboard/hp/dl165_g6_fam10/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("HP ProLiant DL165 G6 Mainboard (Fam10h)")
diff --git a/src/mainboard/hp/e_vectra_p2706t/chip.h b/src/mainboard/hp/e_vectra_p2706t/chip.h
new file mode 100644
index 0000000..f354ee8
--- /dev/null
+++ b/src/mainboard/hp/e_vectra_p2706t/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/e_vectra_p2706t/mainboard.c b/src/mainboard/hp/e_vectra_p2706t/mainboard.c
index 0f9b75e..74339e9 100644
--- a/src/mainboard/hp/e_vectra_p2706t/mainboard.c
+++ b/src/mainboard/hp/e_vectra_p2706t/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/ibase/mb899/chip.h b/src/mainboard/ibase/mb899/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/ibase/mb899/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/ibase/mb899/mainboard.c b/src/mainboard/ibase/mb899/mainboard.c
index 4e3d606..5989685 100644
--- a/src/mainboard/ibase/mb899/mainboard.c
+++ b/src/mainboard/ibase/mb899/mainboard.c
@@ -27,6 +27,7 @@
 #include <pc80/mc146818rtc.h>
 #include <arch/io.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 
 #if CONFIG_PCI_OPTION_ROM_RUN_YABEL
 static int int15_handler(void)
diff --git a/src/mainboard/ibm/e325/chip.h b/src/mainboard/ibm/e325/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/ibm/e325/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/ibm/e325/mainboard.c b/src/mainboard/ibm/e325/mainboard.c
index 136ffaf..49a8c41 100644
--- a/src/mainboard/ibm/e325/mainboard.c
+++ b/src/mainboard/ibm/e325/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IBM eServer 325 Mainboard")
diff --git a/src/mainboard/ibm/e326/chip.h b/src/mainboard/ibm/e326/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/ibm/e326/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/ibm/e326/mainboard.c b/src/mainboard/ibm/e326/mainboard.c
index bd5ebc5..70b59a9 100644
--- a/src/mainboard/ibm/e326/mainboard.c
+++ b/src/mainboard/ibm/e326/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IBM eServer 326 Mainboard")
diff --git a/src/mainboard/iei/juki-511p/chip.h b/src/mainboard/iei/juki-511p/chip.h
new file mode 100644
index 0000000..f5f5b7a
--- /dev/null
+++ b/src/mainboard/iei/juki-511p/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Nikolay Petukhov <nikolay.petukhov at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/juki-511p/mainboard.c b/src/mainboard/iei/juki-511p/mainboard.c
index e5714cf..e44a07c 100644
--- a/src/mainboard/iei/juki-511p/mainboard.c
+++ b/src/mainboard/iei/juki-511p/mainboard.c
@@ -24,6 +24,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IEI JUKI-511P Mainboard")
diff --git a/src/mainboard/iei/kino-780am2-fam10/chip.h b/src/mainboard/iei/kino-780am2-fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/iei/kino-780am2-fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/kino-780am2-fam10/mainboard.c b/src/mainboard/iei/kino-780am2-fam10/mainboard.c
index e9ef596..b18e5a6 100644
--- a/src/mainboard/iei/kino-780am2-fam10/mainboard.c
+++ b/src/mainboard/iei/kino-780am2-fam10/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/iei/nova4899r/chip.h b/src/mainboard/iei/nova4899r/chip.h
new file mode 100644
index 0000000..271b02c
--- /dev/null
+++ b/src/mainboard/iei/nova4899r/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Luis Correia <luis.f.correia at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/nova4899r/mainboard.c b/src/mainboard/iei/nova4899r/mainboard.c
index 85c6521..7ca0a14 100644
--- a/src/mainboard/iei/nova4899r/mainboard.c
+++ b/src/mainboard/iei/nova4899r/mainboard.c
@@ -24,6 +24,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IEI NOVA-4899R Mainboard")
diff --git a/src/mainboard/iei/pcisa-lx-800-r10/chip.h b/src/mainboard/iei/pcisa-lx-800-r10/chip.h
new file mode 100644
index 0000000..f5f5b7a
--- /dev/null
+++ b/src/mainboard/iei/pcisa-lx-800-r10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Nikolay Petukhov <nikolay.petukhov at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/pm-lx-800-r11/chip.h b/src/mainboard/iei/pm-lx-800-r11/chip.h
new file mode 100644
index 0000000..d69f9b6
--- /dev/null
+++ b/src/mainboard/iei/pm-lx-800-r11/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Ricardo Martins <rasmartins at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d810e2cb/chip.h b/src/mainboard/intel/d810e2cb/chip.h
new file mode 100644
index 0000000..1f9a793
--- /dev/null
+++ b/src/mainboard/intel/d810e2cb/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Joseph Smith <joe at settoplinux.org>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d810e2cb/mainboard.c b/src/mainboard/intel/d810e2cb/mainboard.c
index 7589d6e..c55a680 100644
--- a/src/mainboard/intel/d810e2cb/mainboard.c
+++ b/src/mainboard/intel/d810e2cb/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/intel/d945gclf/chip.h b/src/mainboard/intel/d945gclf/chip.h
new file mode 100644
index 0000000..491eebd
--- /dev/null
+++ b/src/mainboard/intel/d945gclf/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d945gclf/mainboard.c b/src/mainboard/intel/d945gclf/mainboard.c
index ca920bc..ff08b8a 100644
--- a/src/mainboard/intel/d945gclf/mainboard.c
+++ b/src/mainboard/intel/d945gclf/mainboard.c
@@ -21,6 +21,7 @@
 #include <console/console.h>
 #include <boot/tables.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Intel D945GCLF Mainboard")
diff --git a/src/mainboard/intel/eagleheights/chip.h b/src/mainboard/intel/eagleheights/chip.h
new file mode 100644
index 0000000..3ae8657
--- /dev/null
+++ b/src/mainboard/intel/eagleheights/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/eagleheights/mainboard.c b/src/mainboard/intel/eagleheights/mainboard.c
index d6bc10f..7974dbc 100644
--- a/src/mainboard/intel/eagleheights/mainboard.c
+++ b/src/mainboard/intel/eagleheights/mainboard.c
@@ -23,6 +23,7 @@
 #include <device/device.h>
 #include <boot/tables.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/intel/emeraldlake2/chip.h b/src/mainboard/intel/emeraldlake2/chip.h
new file mode 100644
index 0000000..fbe2477
--- /dev/null
+++ b/src/mainboard/intel/emeraldlake2/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 The Chromium OS Authors. All rights reserved.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/emeraldlake2/mainboard.c b/src/mainboard/intel/emeraldlake2/mainboard.c
index 5717edf..0bf33fc 100644
--- a/src/mainboard/intel/emeraldlake2/mainboard.c
+++ b/src/mainboard/intel/emeraldlake2/mainboard.c
@@ -34,6 +34,7 @@
 #include <arch/interrupt.h>
 #include <arch/coreboot_tables.h>
 #include "hda_verb.h"
+#include "chip.h"
 #include <southbridge/intel/bd82x6x/pch.h>
 
 void mainboard_suspend_resume(void)
diff --git a/src/mainboard/intel/jarrell/chip.h b/src/mainboard/intel/jarrell/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/intel/jarrell/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/jarrell/mainboard.c b/src/mainboard/intel/jarrell/mainboard.c
index f66431d..ba2bfc5 100644
--- a/src/mainboard/intel/jarrell/mainboard.c
+++ b/src/mainboard/intel/jarrell/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Intel Jarell Mainboard")
diff --git a/src/mainboard/intel/mtarvon/chip.h b/src/mainboard/intel/mtarvon/chip.h
new file mode 100644
index 0000000..9c9114d
--- /dev/null
+++ b/src/mainboard/intel/mtarvon/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Arastra, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/mtarvon/mainboard.c b/src/mainboard/intel/mtarvon/mainboard.c
index b69df9b..26111f5 100644
--- a/src/mainboard/intel/mtarvon/mainboard.c
+++ b/src/mainboard/intel/mtarvon/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Intel Mt. Arvon Mainboard")
diff --git a/src/mainboard/intel/truxton/chip.h b/src/mainboard/intel/truxton/chip.h
new file mode 100644
index 0000000..9c9114d
--- /dev/null
+++ b/src/mainboard/intel/truxton/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Arastra, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/truxton/mainboard.c b/src/mainboard/intel/truxton/mainboard.c
index 754ba0d..78a16a9 100644
--- a/src/mainboard/intel/truxton/mainboard.c
+++ b/src/mainboard/intel/truxton/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Intel Truxton Mainboard")
diff --git a/src/mainboard/intel/xe7501devkit/chip.h b/src/mainboard/intel/xe7501devkit/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/intel/xe7501devkit/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/xe7501devkit/mainboard.c b/src/mainboard/intel/xe7501devkit/mainboard.c
index c605624..3b757d6 100644
--- a/src/mainboard/intel/xe7501devkit/mainboard.c
+++ b/src/mainboard/intel/xe7501devkit/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Intel Xeon E7501 DevKit Mainboard")
diff --git a/src/mainboard/iwave/iWRainbowG6/chip.h b/src/mainboard/iwave/iWRainbowG6/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/iwave/iWRainbowG6/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/iwave/iWRainbowG6/mainboard.c b/src/mainboard/iwave/iWRainbowG6/mainboard.c
index f3fc20f..7d0c61d 100644
--- a/src/mainboard/iwave/iWRainbowG6/mainboard.c
+++ b/src/mainboard/iwave/iWRainbowG6/mainboard.c
@@ -21,6 +21,7 @@
 #include <device/device.h>
 #include <console/console.h>
 #include <boot/tables.h>
+#include "chip.h"
 #include "hda_verb.h"
 
 static void verb_setup(void)
diff --git a/src/mainboard/iwill/dk8_htx/chip.h b/src/mainboard/iwill/dk8_htx/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8_htx/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8_htx/mainboard.c b/src/mainboard/iwill/dk8_htx/mainboard.c
index 251852f..cbbd3f2 100644
--- a/src/mainboard/iwill/dk8_htx/mainboard.c
+++ b/src/mainboard/iwill/dk8_htx/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IWILL DK8-HTX Mainboard")
diff --git a/src/mainboard/iwill/dk8s2/chip.h b/src/mainboard/iwill/dk8s2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8s2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8s2/mainboard.c b/src/mainboard/iwill/dk8s2/mainboard.c
index 18ab152..7559da6 100644
--- a/src/mainboard/iwill/dk8s2/mainboard.c
+++ b/src/mainboard/iwill/dk8s2/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IWILL DK8S2 Mainboard")
diff --git a/src/mainboard/iwill/dk8x/chip.h b/src/mainboard/iwill/dk8x/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8x/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8x/mainboard.c b/src/mainboard/iwill/dk8x/mainboard.c
index 3e062de..a936f40 100644
--- a/src/mainboard/iwill/dk8x/mainboard.c
+++ b/src/mainboard/iwill/dk8x/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("IWILL DK8X Mainboard")
diff --git a/src/mainboard/jetway/j7f24/chip.h b/src/mainboard/jetway/j7f24/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/jetway/j7f24/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe at gmail.com> for VIA)
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/jetway/j7f24/mainboard.c b/src/mainboard/jetway/j7f24/mainboard.c
index 4b1ee39..6693747 100644
--- a/src/mainboard/jetway/j7f24/mainboard.c
+++ b/src/mainboard/jetway/j7f24/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Jetway J7F[24]* Mainboard")
diff --git a/src/mainboard/jetway/pa78vm5/chip.h b/src/mainboard/jetway/pa78vm5/chip.h
new file mode 100644
index 0000000..d081720
--- /dev/null
+++ b/src/mainboard/jetway/pa78vm5/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei at gmail.com>
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/jetway/pa78vm5/mainboard.c b/src/mainboard/jetway/pa78vm5/mainboard.c
index cb37c11..585a2a4 100644
--- a/src/mainboard/jetway/pa78vm5/mainboard.c
+++ b/src/mainboard/jetway/pa78vm5/mainboard.c
@@ -28,6 +28,7 @@
 #include <device/pci_def.h>
 #include "southbridge/amd/sb700/sb700.h"
 #include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
 
 void set_pcie_dereset(void);
 void set_pcie_reset(void);
diff --git a/src/mainboard/kontron/986lcd-m/chip.h b/src/mainboard/kontron/986lcd-m/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/kontron/986lcd-m/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c
index b9686bd..d7b1f13 100644
--- a/src/mainboard/kontron/986lcd-m/mainboard.c
+++ b/src/mainboard/kontron/986lcd-m/mainboard.c
@@ -26,6 +26,7 @@
 #include <pc80/mc146818rtc.h>
 #include <arch/io.h>
 #include <arch/interrupt.h>
+#include "chip.h"
 
 #if CONFIG_PCI_OPTION_ROM_RUN_YABEL
 static int int15_handler(void)
diff --git a/src/mainboard/kontron/kt690/chip.h b/src/mainboard/kontron/kt690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/kontron/kt690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/kontron/kt690/mainboard.c b/src/mainboard/kontron/kt690/mainboard.c
index dbd4141..d24d97d 100644
--- a/src/mainboard/kontron/kt690/mainboard.c
+++ b/src/mainboard/kontron/kt690/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/lanner/em8510/chip.h b/src/mainboard/lanner/em8510/chip.h
new file mode 100644
index 0000000..96d8705
--- /dev/null
+++ b/src/mainboard/lanner/em8510/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Travelping GmbH <info at travelping.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lanner/em8510/mainboard.c b/src/mainboard/lanner/em8510/mainboard.c
index 9317944..4a20d25 100644
--- a/src/mainboard/lanner/em8510/mainboard.c
+++ b/src/mainboard/lanner/em8510/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("LANNER EM-8510 Mainboard")
diff --git a/src/mainboard/lenovo/t60/chip.h b/src/mainboard/lenovo/t60/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/lenovo/t60/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/lenovo/t60/mainboard.c b/src/mainboard/lenovo/t60/mainboard.c
index bd4c4a7..a9f4117 100644
--- a/src/mainboard/lenovo/t60/mainboard.c
+++ b/src/mainboard/lenovo/t60/mainboard.c
@@ -26,6 +26,7 @@
 #include <boot/tables.h>
 #include <delay.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
diff --git a/src/mainboard/lenovo/x60/chip.h b/src/mainboard/lenovo/x60/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/lenovo/x60/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c
index 4ded239..453cf38 100644
--- a/src/mainboard/lenovo/x60/mainboard.c
+++ b/src/mainboard/lenovo/x60/mainboard.c
@@ -26,6 +26,7 @@
 #include <boot/tables.h>
 #include <delay.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <device/pci_ids.h>
diff --git a/src/mainboard/lippert/frontrunner/chip.h b/src/mainboard/lippert/frontrunner/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/lippert/frontrunner/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/frontrunner/mainboard.c b/src/mainboard/lippert/frontrunner/mainboard.c
index ec1503e..7cd9f1d 100644
--- a/src/mainboard/lippert/frontrunner/mainboard.c
+++ b/src/mainboard/lippert/frontrunner/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Lippert Cool Frontrunner Mainboard")
diff --git a/src/mainboard/lippert/hurricane-lx/chip.h b/src/mainboard/lippert/hurricane-lx/chip.h
new file mode 100644
index 0000000..0c70fcd
--- /dev/null
+++ b/src/mainboard/lippert/hurricane-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 LiPPERT Embedded Computers 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/hurricane-lx/mainboard.c b/src/mainboard/lippert/hurricane-lx/mainboard.c
index 9b7ad98..959966c 100644
--- a/src/mainboard/lippert/hurricane-lx/mainboard.c
+++ b/src/mainboard/lippert/hurricane-lx/mainboard.c
@@ -27,6 +27,7 @@
 #include <arch/io.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 /* Bit1 switches Com1 to RS485, bit2 same for Com2. */
 #if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/literunner-lx/chip.h b/src/mainboard/lippert/literunner-lx/chip.h
new file mode 100644
index 0000000..0c70fcd
--- /dev/null
+++ b/src/mainboard/lippert/literunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 LiPPERT Embedded Computers 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/literunner-lx/mainboard.c b/src/mainboard/lippert/literunner-lx/mainboard.c
index cfec2a8..65ea12a 100644
--- a/src/mainboard/lippert/literunner-lx/mainboard.c
+++ b/src/mainboard/lippert/literunner-lx/mainboard.c
@@ -27,6 +27,7 @@
 #include <arch/io.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 /* Bit0 turns off the Live LED, bit1 switches Com1 to RS485, bit2 same for Com2. */
 #if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/roadrunner-lx/chip.h b/src/mainboard/lippert/roadrunner-lx/chip.h
new file mode 100644
index 0000000..398d424
--- /dev/null
+++ b/src/mainboard/lippert/roadrunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 LiPPERT Embedded Computers 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/roadrunner-lx/mainboard.c b/src/mainboard/lippert/roadrunner-lx/mainboard.c
index 26adb2f..31fdd46 100644
--- a/src/mainboard/lippert/roadrunner-lx/mainboard.c
+++ b/src/mainboard/lippert/roadrunner-lx/mainboard.c
@@ -27,6 +27,7 @@
 #include <arch/io.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 /* Bit1 switches Com1 to RS485, bit2 same for Com2, bit5 turns off the Live LED. */
 #if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/spacerunner-lx/chip.h b/src/mainboard/lippert/spacerunner-lx/chip.h
new file mode 100644
index 0000000..398d424
--- /dev/null
+++ b/src/mainboard/lippert/spacerunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 LiPPERT Embedded Computers 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/spacerunner-lx/mainboard.c b/src/mainboard/lippert/spacerunner-lx/mainboard.c
index f2aeb10..34cd8c4 100644
--- a/src/mainboard/lippert/spacerunner-lx/mainboard.c
+++ b/src/mainboard/lippert/spacerunner-lx/mainboard.c
@@ -27,6 +27,7 @@
 #include <arch/io.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include "chip.h"
 
 /* Bit0 turns off the Live LED, bit1 switches Com1 to RS485, bit2 same for Com2. */
 #if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/mitac/6513wu/chip.h b/src/mainboard/mitac/6513wu/chip.h
new file mode 100644
index 0000000..0421977
--- /dev/null
+++ b/src/mainboard/mitac/6513wu/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Michael Gold <mgold at ncf.ca>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/mitac/6513wu/mainboard.c b/src/mainboard/mitac/6513wu/mainboard.c
index 968b9e9..9e4ec8d 100644
--- a/src/mainboard/mitac/6513wu/mainboard.c
+++ b/src/mainboard/mitac/6513wu/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/msi/ms6119/chip.h b/src/mainboard/msi/ms6119/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/msi/ms6119/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6119/mainboard.c b/src/mainboard/msi/ms6119/mainboard.c
index 7ef3d4b..9c4ef29 100644
--- a/src/mainboard/msi/ms6119/mainboard.c
+++ b/src/mainboard/msi/ms6119/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("MSI MS-6119 Mainboard")
diff --git a/src/mainboard/msi/ms6147/chip.h b/src/mainboard/msi/ms6147/chip.h
new file mode 100644
index 0000000..fbf5d32
--- /dev/null
+++ b/src/mainboard/msi/ms6147/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Mats Erik Andersson <mats.andersson at gisladisker.org>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6147/mainboard.c b/src/mainboard/msi/ms6147/mainboard.c
index 091de54..b7c7386 100644
--- a/src/mainboard/msi/ms6147/mainboard.c
+++ b/src/mainboard/msi/ms6147/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("MSI MS-6147 Mainboard")
diff --git a/src/mainboard/msi/ms6156/chip.h b/src/mainboard/msi/ms6156/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/msi/ms6156/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6156/mainboard.c b/src/mainboard/msi/ms6156/mainboard.c
index 28b5e81..1864f0b 100644
--- a/src/mainboard/msi/ms6156/mainboard.c
+++ b/src/mainboard/msi/ms6156/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("MSI MS-6156 Mainboard")
diff --git a/src/mainboard/msi/ms6178/chip.h b/src/mainboard/msi/ms6178/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/msi/ms6178/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6178/mainboard.c b/src/mainboard/msi/ms6178/mainboard.c
index 0aeedb8..e4ba148 100644
--- a/src/mainboard/msi/ms6178/mainboard.c
+++ b/src/mainboard/msi/ms6178/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/msi/ms7135/chip.h b/src/mainboard/msi/ms7135/chip.h
new file mode 100644
index 0000000..063d25b
--- /dev/null
+++ b/src/mainboard/msi/ms7135/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Jonathan A. Kollasch <jakllsch at kollasch.net>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms7135/mainboard.c b/src/mainboard/msi/ms7135/mainboard.c
index 3ed0c6b..586f9c5 100644
--- a/src/mainboard/msi/ms7135/mainboard.c
+++ b/src/mainboard/msi/ms7135/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("MSI MS7135 Mainboard")
diff --git a/src/mainboard/msi/ms7260/chip.h b/src/mainboard/msi/ms7260/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/msi/ms7260/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms7260/mainboard.c b/src/mainboard/msi/ms7260/mainboard.c
index 06d606f..2b61736 100644
--- a/src/mainboard/msi/ms7260/mainboard.c
+++ b/src/mainboard/msi/ms7260/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 #if 0
 #include "hda_verb.h"
diff --git a/src/mainboard/msi/ms9185/chip.h b/src/mainboard/msi/ms9185/chip.h
new file mode 100644
index 0000000..6638ef1
--- /dev/null
+++ b/src/mainboard/msi/ms9185/chip.h
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2006 MSI
+ * Written by bxshi <bingxunshi at gmail.com> for MSI.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/msi/ms9185/mainboard.c b/src/mainboard/msi/ms9185/mainboard.c
index f3e28d4..873a490 100644
--- a/src/mainboard/msi/ms9185/mainboard.c
+++ b/src/mainboard/msi/ms9185/mainboard.c
@@ -24,6 +24,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
        CHIP_NAME("MSI MS-9185 Mainboard")
diff --git a/src/mainboard/msi/ms9282/chip.h b/src/mainboard/msi/ms9282/chip.h
new file mode 100644
index 0000000..0831119
--- /dev/null
+++ b/src/mainboard/msi/ms9282/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2006 MSI
+ * Written by Bingxun Shi <bingxunshi at gmail.com> for MSI.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms9282/mainboard.c b/src/mainboard/msi/ms9282/mainboard.c
index 800fd25..99f7e22 100644
--- a/src/mainboard/msi/ms9282/mainboard.c
+++ b/src/mainboard/msi/ms9282/mainboard.c
@@ -25,6 +25,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 // #include "hda_verb.h"
+#include "chip.h"
 
 static void verb_setup(void)
 {
diff --git a/src/mainboard/msi/ms9652_fam10/chip.h b/src/mainboard/msi/ms9652_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/msi/ms9652_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms9652_fam10/mainboard.c b/src/mainboard/msi/ms9652_fam10/mainboard.c
index e570607..255b22d 100644
--- a/src/mainboard/msi/ms9652_fam10/mainboard.c
+++ b/src/mainboard/msi/ms9652_fam10/mainboard.c
@@ -25,6 +25,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 // #include "hda_verb.h"
+#include "chip.h"
 
 static void verb_setup(void)
 {
diff --git a/src/mainboard/nec/powermate2000/chip.h b/src/mainboard/nec/powermate2000/chip.h
new file mode 100644
index 0000000..41784c9
--- /dev/null
+++ b/src/mainboard/nec/powermate2000/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/nec/powermate2000/mainboard.c b/src/mainboard/nec/powermate2000/mainboard.c
index 3b29c7c..a26e8df 100644
--- a/src/mainboard/nec/powermate2000/mainboard.c
+++ b/src/mainboard/nec/powermate2000/mainboard.c
@@ -20,6 +20,7 @@
 
 #include <device/device.h>
 #include <boot/tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/newisys/khepri/chip.h b/src/mainboard/newisys/khepri/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/newisys/khepri/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/newisys/khepri/mainboard.c b/src/mainboard/newisys/khepri/mainboard.c
index 11e7032..d278fd2 100644
--- a/src/mainboard/newisys/khepri/mainboard.c
+++ b/src/mainboard/newisys/khepri/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Newisys 2100 Mainboard")
diff --git a/src/mainboard/nokia/ip530/chip.h b/src/mainboard/nokia/ip530/chip.h
new file mode 100644
index 0000000..1046412
--- /dev/null
+++ b/src/mainboard/nokia/ip530/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Marc Bertens <mbertens at xs4all.nl>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/nokia/ip530/mainboard.c b/src/mainboard/nokia/ip530/mainboard.c
index 8b934ff..b0dd27b 100644
--- a/src/mainboard/nokia/ip530/mainboard.c
+++ b/src/mainboard/nokia/ip530/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Nokia IP530 Mainboard")
diff --git a/src/mainboard/nvidia/l1_2pvv/chip.h b/src/mainboard/nvidia/l1_2pvv/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/nvidia/l1_2pvv/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/nvidia/l1_2pvv/mainboard.c b/src/mainboard/nvidia/l1_2pvv/mainboard.c
index 5836571..b425c3d 100644
--- a/src/mainboard/nvidia/l1_2pvv/mainboard.c
+++ b/src/mainboard/nvidia/l1_2pvv/mainboard.c
@@ -25,6 +25,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include "hda_verb.h"
+#include "chip.h"
 
 static void verb_setup(void)
 {
diff --git a/src/mainboard/pcengines/alix1c/chip.h b/src/mainboard/pcengines/alix1c/chip.h
new file mode 100644
index 0000000..fb321d5
--- /dev/null
+++ b/src/mainboard/pcengines/alix1c/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/pcengines/alix1c/mainboard.c b/src/mainboard/pcengines/alix1c/mainboard.c
index 74c1cc4..a32cb14 100644
--- a/src/mainboard/pcengines/alix1c/mainboard.c
+++ b/src/mainboard/pcengines/alix1c/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/pcengines/alix2d/chip.h b/src/mainboard/pcengines/alix2d/chip.h
new file mode 100644
index 0000000..fb321d5
--- /dev/null
+++ b/src/mainboard/pcengines/alix2d/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/pcengines/alix2d/mainboard.c b/src/mainboard/pcengines/alix2d/mainboard.c
index 1b526c9..b227d66 100644
--- a/src/mainboard/pcengines/alix2d/mainboard.c
+++ b/src/mainboard/pcengines/alix2d/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/rca/rm4100/chip.h b/src/mainboard/rca/rm4100/chip.h
new file mode 100644
index 0000000..4aec17f
--- /dev/null
+++ b/src/mainboard/rca/rm4100/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Joseph Smith <joe at settoplinux.org>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/rca/rm4100/mainboard.c b/src/mainboard/rca/rm4100/mainboard.c
index 613c1d7..653b22a 100644
--- a/src/mainboard/rca/rm4100/mainboard.c
+++ b/src/mainboard/rca/rm4100/mainboard.c
@@ -21,6 +21,7 @@
 #include <device/device.h>
 #include <boot/tables.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/roda/rk886ex/chip.h b/src/mainboard/roda/rk886ex/chip.h
new file mode 100644
index 0000000..6f24f71
--- /dev/null
+++ b/src/mainboard/roda/rk886ex/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/roda/rk886ex/mainboard.c b/src/mainboard/roda/rk886ex/mainboard.c
index 1f4ebc7..d87d712 100644
--- a/src/mainboard/roda/rk886ex/mainboard.c
+++ b/src/mainboard/roda/rk886ex/mainboard.c
@@ -29,6 +29,7 @@
 #include <x86emu/x86emu.h>
 #endif
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 
 #include <ec/acpi/ec.h>
 #include "m3885.h"
diff --git a/src/mainboard/samsung/lumpy/chip.h b/src/mainboard/samsung/lumpy/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/samsung/lumpy/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/samsung/lumpy/mainboard.c b/src/mainboard/samsung/lumpy/mainboard.c
index 20b59b7..c5db0d3 100644
--- a/src/mainboard/samsung/lumpy/mainboard.c
+++ b/src/mainboard/samsung/lumpy/mainboard.c
@@ -34,6 +34,7 @@
 #include <arch/coreboot_tables.h>
 #include <ec/smsc/mec1308/ec.h>
 #include "hda_verb.h"
+#include "chip.h"
 #include "ec.h"
 #include "onboard.h"
 #include <southbridge/intel/bd82x6x/pch.h>
diff --git a/src/mainboard/samsung/stumpy/chip.h b/src/mainboard/samsung/stumpy/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/samsung/stumpy/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2008 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/samsung/stumpy/mainboard.c b/src/mainboard/samsung/stumpy/mainboard.c
index 2456e70..9152a3b 100644
--- a/src/mainboard/samsung/stumpy/mainboard.c
+++ b/src/mainboard/samsung/stumpy/mainboard.c
@@ -34,6 +34,7 @@
 #include <arch/interrupt.h>
 #include <arch/coreboot_tables.h>
 #include "hda_verb.h"
+#include "chip.h"
 #include <southbridge/intel/bd82x6x/pch.h>
 
 void mainboard_suspend_resume(void)
diff --git a/src/mainboard/siemens/sitemp_g1p1/chip.h b/src/mainboard/siemens/sitemp_g1p1/chip.h
new file mode 100644
index 0000000..ff426e0
--- /dev/null
+++ b/src/mainboard/siemens/sitemp_g1p1/chip.h
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2010 Siemens AG, Inc.
+ * (Written by Josef Kellermann <joseph.kellermann at heitec.de> for Siemens AG, Inc.)
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config
+{
+	u32 uma_size;			/* How many UMA should be used in memory for TOP. */
+	unsigned int plx_present : 1;
+};
+
diff --git a/src/mainboard/siemens/sitemp_g1p1/mainboard.c b/src/mainboard/siemens/sitemp_g1p1/mainboard.c
index 905d23f..05435d8 100644
--- a/src/mainboard/siemens/sitemp_g1p1/mainboard.c
+++ b/src/mainboard/siemens/sitemp_g1p1/mainboard.c
@@ -34,6 +34,7 @@
 #include <southbridge/amd/rs690/chip.h>
 #include <southbridge/amd/rs690/rs690.h>
 #include <superio/ite/it8712f/it8712f.h>
+#include "chip.h"
 #if CONFIG_PCI_OPTION_ROM_RUN_YABEL
 #include <x86emu/x86emu.h>
 #endif
@@ -672,14 +673,13 @@ struct {
 };
 
 
-unsigned int plx_present = 0;
+static void update_subsystemid( device_t dev ) {
 
-static void update_subsystemid( device_t dev )
-{
 	int i;
+	struct mainboard_config *mb = dev->chip_info;
 
 	dev->subsystem_vendor = 0x110a;
-	if( plx_present ){
+	if( mb->plx_present ){
 		dev->subsystem_device = 0x4076; // U1P1 = 0x4076, U1P0 = 0x4077
 	} else {
 		dev->subsystem_device = 0x4077; // U1P0 = 0x4077
@@ -701,12 +701,12 @@ static void update_subsystemid( device_t dev )
  * @param
  */
 
-static void detect_hw_variant( device_t dev )
-{
+static void detect_hw_variant( device_t dev ) {
 
 	device_t nb_dev =0, dev2 = 0;
 	struct southbridge_amd_rs690_config *cfg;
 	u32 lc_state, id = 0;
+	struct mainboard_config *mb = dev->chip_info;
 
 	printk(BIOS_INFO, "Scan for PLX device ...\n");
 	nb_dev = dev_find_slot(0, PCI_DEVFN(0, 0));
@@ -782,10 +782,10 @@ static void detect_hw_variant( device_t dev )
 		break;
 	}
 
-	plx_present = 0;
+	mb->plx_present = 0;
 	if( id == PLX_VIDDID ){
 		printk(BIOS_INFO, "found PLX device\n");
-		plx_present = 1;
+		mb->plx_present = 1;
 		cfg = (struct southbridge_amd_rs690_config *)dev2->chip_info;
 		if( cfg->gfx_tmds ) {
 			printk(BIOS_INFO, "Disable 'gfx_tmds' support\n");
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/chip.h b/src/mainboard/soyo/sy-6ba-plus-iii/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c b/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
index 9e7b1f2..4cead76 100644
--- a/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Soyo SY-6BA+ III Mainboard")
diff --git a/src/mainboard/sunw/ultra40/chip.h b/src/mainboard/sunw/ultra40/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/sunw/ultra40/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/sunw/ultra40/mainboard.c b/src/mainboard/sunw/ultra40/mainboard.c
index d46ea38..b5e865d 100644
--- a/src/mainboard/sunw/ultra40/mainboard.c
+++ b/src/mainboard/sunw/ultra40/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Sun Ultra 40 Mainboard")
diff --git a/src/mainboard/supermicro/h8dme/chip.h b/src/mainboard/supermicro/h8dme/chip.h
new file mode 100644
index 0000000..2076c6f
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dme/mainboard.c b/src/mainboard/supermicro/h8dme/mainboard.c
index c092c71..c1b9635 100644
--- a/src/mainboard/supermicro/h8dme/mainboard.c
+++ b/src/mainboard/supermicro/h8dme/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro H8DME Mainboard")
diff --git a/src/mainboard/supermicro/h8dmr/chip.h b/src/mainboard/supermicro/h8dmr/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8dmr/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dmr/mainboard.c b/src/mainboard/supermicro/h8dmr/mainboard.c
index 45536af..a00d9e8 100644
--- a/src/mainboard/supermicro/h8dmr/mainboard.c
+++ b/src/mainboard/supermicro/h8dmr/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro H8DMR Mainboard")
diff --git a/src/mainboard/supermicro/h8dmr_fam10/chip.h b/src/mainboard/supermicro/h8dmr_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8dmr_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dmr_fam10/mainboard.c b/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
index 24736a9..e59a980 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro H8DMR Mainboard (Family 10)")
diff --git a/src/mainboard/supermicro/h8qgi/chip.h b/src/mainboard/supermicro/h8qgi/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/supermicro/h8qgi/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8qgi/mainboard.c b/src/mainboard/supermicro/h8qgi/mainboard.c
index 1f02c73..f6d437e 100644
--- a/src/mainboard/supermicro/h8qgi/mainboard.c
+++ b/src/mainboard/supermicro/h8qgi/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <NbPlatform.h>
+#include "chip.h"
 
 void set_pcie_dereset(void *nbconfig);
 void set_pcie_reset(void *nbconfig);
diff --git a/src/mainboard/supermicro/h8qme_fam10/chip.h b/src/mainboard/supermicro/h8qme_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8qme_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8qme_fam10/mainboard.c b/src/mainboard/supermicro/h8qme_fam10/mainboard.c
index 647f623..45b0920 100644
--- a/src/mainboard/supermicro/h8qme_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8qme_fam10/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro H8QME-2+ Mainboard (Family 10)")
diff --git a/src/mainboard/supermicro/h8scm_fam10/chip.h b/src/mainboard/supermicro/h8scm_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/supermicro/h8scm_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8scm_fam10/mainboard.c b/src/mainboard/supermicro/h8scm_fam10/mainboard.c
index e5a58fe..d0fb541 100644
--- a/src/mainboard/supermicro/h8scm_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8scm_fam10/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include <southbridge/amd/sb700/sb700.h>
 #include <southbridge/amd/sr5650/cmn.h>
+#include "chip.h"
 
 
 void set_pcie_reset(void);
@@ -72,6 +73,10 @@ void set_pcie_dereset(void)
 *************************************************/
 static void h8scm_enable(device_t dev)
 {
+	/* Leave it for furture use. */
+	/* struct mainboard_config *mainboard =
+	   (struct mainboard_config *)dev->chip_info; */
+
 	printk(BIOS_INFO, "Mainboard H8SCM Enable. dev=0x%p\n", dev);
 
 	msr_t msr, msr2;
diff --git a/src/mainboard/supermicro/x6dai_g/chip.h b/src/mainboard/supermicro/x6dai_g/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dai_g/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dai_g/mainboard.c b/src/mainboard/supermicro/x6dai_g/mainboard.c
index d9b4bc4..1db8cd4 100644
--- a/src/mainboard/supermicro/x6dai_g/mainboard.c
+++ b/src/mainboard/supermicro/x6dai_g/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro X6DAi-G Mainboard")
diff --git a/src/mainboard/supermicro/x6dhe_g/chip.h b/src/mainboard/supermicro/x6dhe_g/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhe_g/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhe_g/mainboard.c b/src/mainboard/supermicro/x6dhe_g/mainboard.c
index c09c95a..a242ddd 100644
--- a/src/mainboard/supermicro/x6dhe_g/mainboard.c
+++ b/src/mainboard/supermicro/x6dhe_g/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
     CHIP_NAME("Supermicro X6DHE-G Mainboard")
diff --git a/src/mainboard/supermicro/x6dhe_g2/chip.h b/src/mainboard/supermicro/x6dhe_g2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhe_g2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhe_g2/mainboard.c b/src/mainboard/supermicro/x6dhe_g2/mainboard.c
index c20a842..fdb67cc 100644
--- a/src/mainboard/supermicro/x6dhe_g2/mainboard.c
+++ b/src/mainboard/supermicro/x6dhe_g2/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
     CHIP_NAME("Supermicro X6DHE-G2 Mainboard")
diff --git a/src/mainboard/supermicro/x6dhr_ig/chip.h b/src/mainboard/supermicro/x6dhr_ig/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhr_ig/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhr_ig/mainboard.c b/src/mainboard/supermicro/x6dhr_ig/mainboard.c
index 3875fe0..51acb86 100644
--- a/src/mainboard/supermicro/x6dhr_ig/mainboard.c
+++ b/src/mainboard/supermicro/x6dhr_ig/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro X6DHR-iG Mainboard")
diff --git a/src/mainboard/supermicro/x6dhr_ig2/chip.h b/src/mainboard/supermicro/x6dhr_ig2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhr_ig2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhr_ig2/mainboard.c b/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
index 981aee8..6b6c64f 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
+++ b/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Supermicro X6DHR-iG2 Mainboard")
diff --git a/src/mainboard/supermicro/x7db8/chip.h b/src/mainboard/supermicro/x7db8/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/supermicro/x7db8/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x7db8/mainboard.c b/src/mainboard/supermicro/x7db8/mainboard.c
index 618eca9..27a26f9 100644
--- a/src/mainboard/supermicro/x7db8/mainboard.c
+++ b/src/mainboard/supermicro/x7db8/mainboard.c
@@ -25,6 +25,7 @@
 #include <boot/tables.h>
 #include <delay.h>
 #include <arch/coreboot_tables.h>
+#include "chip.h"
 #include <device/pci_def.h>
 #include <device/pci_ops.h>
 #include <arch/io.h>
diff --git a/src/mainboard/technexion/tim5690/chip.h b/src/mainboard/technexion/tim5690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/technexion/tim5690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/technexion/tim5690/mainboard.c b/src/mainboard/technexion/tim5690/mainboard.c
index 2975e86..5a22182 100644
--- a/src/mainboard/technexion/tim5690/mainboard.c
+++ b/src/mainboard/technexion/tim5690/mainboard.c
@@ -27,6 +27,7 @@
 #include <device/pci_def.h>
 #include <southbridge/amd/sb600/sb600.h>
 #include <superio/ite/it8712f/it8712f.h>
+#include "chip.h"
 #include "tn_post_code.h"
 #include "vgabios.h"
 
diff --git a/src/mainboard/technexion/tim8690/chip.h b/src/mainboard/technexion/tim8690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/technexion/tim8690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/technexion/tim8690/mainboard.c b/src/mainboard/technexion/tim8690/mainboard.c
index 40ab345..f7ec110 100644
--- a/src/mainboard/technexion/tim8690/mainboard.c
+++ b/src/mainboard/technexion/tim8690/mainboard.c
@@ -26,6 +26,7 @@
 #include <cpu/amd/mtrr.h>
 #include <device/pci_def.h>
 #include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
 
 #define ADT7461_ADDRESS 0x4C
 #define ARA_ADDRESS     0x0C /* Alert Response Address */
diff --git a/src/mainboard/technologic/ts5300/chip.h b/src/mainboard/technologic/ts5300/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/technologic/ts5300/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/technologic/ts5300/mainboard.c b/src/mainboard/technologic/ts5300/mainboard.c
index 164b7e8..58333b8 100644
--- a/src/mainboard/technologic/ts5300/mainboard.c
+++ b/src/mainboard/technologic/ts5300/mainboard.c
@@ -4,6 +4,7 @@
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
 #include <cpu/amd/sc520.h>
+#include "chip.h"
 
 
 #if 0
diff --git a/src/mainboard/televideo/tc7020/chip.h b/src/mainboard/televideo/tc7020/chip.h
new file mode 100644
index 0000000..6b6d455
--- /dev/null
+++ b/src/mainboard/televideo/tc7020/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Kenji Noguchi <tokyo246 at gmail.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/televideo/tc7020/mainboard.c b/src/mainboard/televideo/tc7020/mainboard.c
index ee41109..a0919dc 100644
--- a/src/mainboard/televideo/tc7020/mainboard.c
+++ b/src/mainboard/televideo/tc7020/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("TeleVideo TC7020 Mainboard")
diff --git a/src/mainboard/thomson/ip1000/chip.h b/src/mainboard/thomson/ip1000/chip.h
new file mode 100644
index 0000000..4aec17f
--- /dev/null
+++ b/src/mainboard/thomson/ip1000/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Joseph Smith <joe at settoplinux.org>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/thomson/ip1000/mainboard.c b/src/mainboard/thomson/ip1000/mainboard.c
index e5c3ea1..f6eee68 100644
--- a/src/mainboard/thomson/ip1000/mainboard.c
+++ b/src/mainboard/thomson/ip1000/mainboard.c
@@ -27,6 +27,7 @@
 #endif
 #include <arch/coreboot_tables.h>
 #include <arch/io.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/traverse/geos/chip.h b/src/mainboard/traverse/geos/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/traverse/geos/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/traverse/geos/mainboard.c b/src/mainboard/traverse/geos/mainboard.c
index c299bc8..b578959 100644
--- a/src/mainboard/traverse/geos/mainboard.c
+++ b/src/mainboard/traverse/geos/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/tyan/s1846/chip.h b/src/mainboard/tyan/s1846/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/tyan/s1846/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s1846/mainboard.c b/src/mainboard/tyan/s1846/mainboard.c
index fb2034c..e5ab1c9 100644
--- a/src/mainboard/tyan/s1846/mainboard.c
+++ b/src/mainboard/tyan/s1846/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S1846 Mainboard")
diff --git a/src/mainboard/tyan/s2735/chip.h b/src/mainboard/tyan/s2735/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2735/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2735/mainboard.c b/src/mainboard/tyan/s2735/mainboard.c
index 5456b9e..267755c 100644
--- a/src/mainboard/tyan/s2735/mainboard.c
+++ b/src/mainboard/tyan/s2735/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2735 Mainboard")
diff --git a/src/mainboard/tyan/s2850/chip.h b/src/mainboard/tyan/s2850/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2850/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2850/mainboard.c b/src/mainboard/tyan/s2850/mainboard.c
index 137aa57..8afa8f0 100644
--- a/src/mainboard/tyan/s2850/mainboard.c
+++ b/src/mainboard/tyan/s2850/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2850 Mainboard")
diff --git a/src/mainboard/tyan/s2875/chip.h b/src/mainboard/tyan/s2875/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2875/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2875/mainboard.c b/src/mainboard/tyan/s2875/mainboard.c
index cbc4c6c..49e1092 100644
--- a/src/mainboard/tyan/s2875/mainboard.c
+++ b/src/mainboard/tyan/s2875/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2875 Mainboard")
diff --git a/src/mainboard/tyan/s2880/chip.h b/src/mainboard/tyan/s2880/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2880/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2880/mainboard.c b/src/mainboard/tyan/s2880/mainboard.c
index 96e3cf2..7fc8615 100644
--- a/src/mainboard/tyan/s2880/mainboard.c
+++ b/src/mainboard/tyan/s2880/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2880 Mainboard")
diff --git a/src/mainboard/tyan/s2881/chip.h b/src/mainboard/tyan/s2881/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2881/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2881/mainboard.c b/src/mainboard/tyan/s2881/mainboard.c
index 5034c5d..9da5fe8 100644
--- a/src/mainboard/tyan/s2881/mainboard.c
+++ b/src/mainboard/tyan/s2881/mainboard.c
@@ -21,6 +21,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2881 Mainboard")
diff --git a/src/mainboard/tyan/s2882/chip.h b/src/mainboard/tyan/s2882/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2882/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2882/mainboard.c b/src/mainboard/tyan/s2882/mainboard.c
index 771d8b6..0779df1 100644
--- a/src/mainboard/tyan/s2882/mainboard.c
+++ b/src/mainboard/tyan/s2882/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2882 Mainboard")
diff --git a/src/mainboard/tyan/s2885/chip.h b/src/mainboard/tyan/s2885/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2885/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2885/mainboard.c b/src/mainboard/tyan/s2885/mainboard.c
index 446460d..27da722 100644
--- a/src/mainboard/tyan/s2885/mainboard.c
+++ b/src/mainboard/tyan/s2885/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2885 Mainboard")
diff --git a/src/mainboard/tyan/s2891/chip.h b/src/mainboard/tyan/s2891/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2891/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2891/mainboard.c b/src/mainboard/tyan/s2891/mainboard.c
index 155f084..c529c0a 100644
--- a/src/mainboard/tyan/s2891/mainboard.c
+++ b/src/mainboard/tyan/s2891/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2891 Mainboard")
diff --git a/src/mainboard/tyan/s2892/chip.h b/src/mainboard/tyan/s2892/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2892/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2892/mainboard.c b/src/mainboard/tyan/s2892/mainboard.c
index 10fd0c0..299f836 100644
--- a/src/mainboard/tyan/s2892/mainboard.c
+++ b/src/mainboard/tyan/s2892/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2892 Mainboard")
diff --git a/src/mainboard/tyan/s2895/chip.h b/src/mainboard/tyan/s2895/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2895/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2895/mainboard.c b/src/mainboard/tyan/s2895/mainboard.c
index 4de60af..f152eae 100644
--- a/src/mainboard/tyan/s2895/mainboard.c
+++ b/src/mainboard/tyan/s2895/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2895 Mainboard")
diff --git a/src/mainboard/tyan/s2912/chip.h b/src/mainboard/tyan/s2912/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/tyan/s2912/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2912/mainboard.c b/src/mainboard/tyan/s2912/mainboard.c
index bfdb75e..6084b3d 100644
--- a/src/mainboard/tyan/s2912/mainboard.c
+++ b/src/mainboard/tyan/s2912/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2912 Mainboard")
diff --git a/src/mainboard/tyan/s2912_fam10/chip.h b/src/mainboard/tyan/s2912_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/tyan/s2912_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu at amd.com> for AMD.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2912_fam10/mainboard.c b/src/mainboard/tyan/s2912_fam10/mainboard.c
index 3fed2f8..f976b14 100644
--- a/src/mainboard/tyan/s2912_fam10/mainboard.c
+++ b/src/mainboard/tyan/s2912_fam10/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S2912 Mainboard (Family 10)")
diff --git a/src/mainboard/tyan/s4880/chip.h b/src/mainboard/tyan/s4880/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s4880/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s4880/mainboard.c b/src/mainboard/tyan/s4880/mainboard.c
index ad9adab..f2f865b 100644
--- a/src/mainboard/tyan/s4880/mainboard.c
+++ b/src/mainboard/tyan/s4880/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S4880 Mainboard")
diff --git a/src/mainboard/tyan/s4882/chip.h b/src/mainboard/tyan/s4882/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s4882/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s4882/mainboard.c b/src/mainboard/tyan/s4882/mainboard.c
index 0595d59..8d626c7 100644
--- a/src/mainboard/tyan/s4882/mainboard.c
+++ b/src/mainboard/tyan/s4882/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("Tyan S4882 Mainboard")
diff --git a/src/mainboard/via/epia-cn/chip.h b/src/mainboard/via/epia-cn/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/via/epia-cn/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe at gmail.com> for VIA)
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-cn/mainboard.c b/src/mainboard/via/epia-cn/mainboard.c
index 702b5b0..1a7210e 100644
--- a/src/mainboard/via/epia-cn/mainboard.c
+++ b/src/mainboard/via/epia-cn/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA EPIA-CN Mainboard")
diff --git a/src/mainboard/via/epia-m/chip.h b/src/mainboard/via/epia-m/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/via/epia-m/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-m/mainboard.c b/src/mainboard/via/epia-m/mainboard.c
index 49f18df..2e517a3 100644
--- a/src/mainboard/via/epia-m/mainboard.c
+++ b/src/mainboard/via/epia-m/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA EPIA-M Mainboard")
diff --git a/src/mainboard/via/epia-m700/chip.h b/src/mainboard/via/epia-m700/chip.h
new file mode 100644
index 0000000..c44330b
--- /dev/null
+++ b/src/mainboard/via/epia-m700/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 One Laptop per Child, Association, Inc.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-m700/mainboard.c b/src/mainboard/via/epia-m700/mainboard.c
index 53537e0..5a21b86 100644
--- a/src/mainboard/via/epia-m700/mainboard.c
+++ b/src/mainboard/via/epia-m700/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA EPIA-M700 Mainboard")
diff --git a/src/mainboard/via/epia-n/chip.h b/src/mainboard/via/epia-n/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/via/epia-n/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe at gmail.com> for VIA)
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-n/mainboard.c b/src/mainboard/via/epia-n/mainboard.c
index 0dfbd3c..cf5ae96 100644
--- a/src/mainboard/via/epia-n/mainboard.c
+++ b/src/mainboard/via/epia-n/mainboard.c
@@ -26,6 +26,7 @@
 #include <arch/ioapic.h>
 #include <southbridge/via/vt8237r/vt8237r.h>
 #include <cpu/x86/lapic_def.h>
+#include "chip.h"
 
 int add_mainboard_resources(struct lb_memory *mem)
 {
diff --git a/src/mainboard/via/epia/chip.h b/src/mainboard/via/epia/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/via/epia/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia/mainboard.c b/src/mainboard/via/epia/mainboard.c
index 95edf46..25d72a5 100644
--- a/src/mainboard/via/epia/mainboard.c
+++ b/src/mainboard/via/epia/mainboard.c
@@ -1,4 +1,5 @@
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA EPIA Mainboard")
diff --git a/src/mainboard/via/pc2500e/chip.h b/src/mainboard/via/pc2500e/chip.h
new file mode 100644
index 0000000..41784c9
--- /dev/null
+++ b/src/mainboard/via/pc2500e/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe at hermann-uwe.de>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/pc2500e/mainboard.c b/src/mainboard/via/pc2500e/mainboard.c
index 65aed56..9fcee55 100644
--- a/src/mainboard/via/pc2500e/mainboard.c
+++ b/src/mainboard/via/pc2500e/mainboard.c
@@ -19,6 +19,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA pc2500e Mainboard")
diff --git a/src/mainboard/via/vt8454c/chip.h b/src/mainboard/via/vt8454c/chip.h
new file mode 100644
index 0000000..5101c16
--- /dev/null
+++ b/src/mainboard/via/vt8454c/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/vt8454c/mainboard.c b/src/mainboard/via/vt8454c/mainboard.c
index c6e1b92..e931ccd 100644
--- a/src/mainboard/via/vt8454c/mainboard.c
+++ b/src/mainboard/via/vt8454c/mainboard.c
@@ -20,6 +20,7 @@
  */
 
 #include <device/device.h>
+#include "chip.h"
 
 struct chip_operations mainboard_ops = {
 	CHIP_NAME("VIA VT8454c Mainboard")
diff --git a/src/mainboard/winent/pl6064/chip.h b/src/mainboard/winent/pl6064/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/winent/pl6064/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/winent/pl6064/mainboard.c b/src/mainboard/winent/pl6064/mainboard.c
index 0293c7a..cd664f6 100644
--- a/src/mainboard/winent/pl6064/mainboard.c
+++ b/src/mainboard/winent/pl6064/mainboard.c
@@ -19,6 +19,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/src/mainboard/wyse/s50/chip.h b/src/mainboard/wyse/s50/chip.h
new file mode 100644
index 0000000..e0e9727
--- /dev/null
+++ b/src/mainboard/wyse/s50/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Nils Jacobs
+ *
+ * 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; 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/wyse/s50/mainboard.c b/src/mainboard/wyse/s50/mainboard.c
index 99dfb42..8497b24 100644
--- a/src/mainboard/wyse/s50/mainboard.c
+++ b/src/mainboard/wyse/s50/mainboard.c
@@ -21,6 +21,7 @@
 
 #include <console/console.h>
 #include <device/device.h>
+#include "chip.h"
 
 static void init(struct device *dev)
 {
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 824bc6c..989f747 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -45,11 +45,7 @@ static struct device mainboard = {
 	.id = 0,
 	.chip = &mainboard,
 	.type = chip,
-#ifdef MAINBOARDS_HAVE_CHIP_H
 	.chiph_exists = 1,
-#else
-	.chiph_exists = 0,
-#endif
 	.children = &root
 };
 
@@ -565,14 +561,12 @@ int main(int argc, char** argv) {
 	}
 
 	headers.next = 0;
-#ifdef MAINBOARDS_HAVE_CHIP_H
 	if (scan_mode == STATIC_MODE) {
 		headers.next = malloc(sizeof(struct header));
 		headers.next->name = malloc(strlen(mainboard)+12);
 		headers.next->next = 0;
 		sprintf(headers.next->name, "mainboard/%s", mainboard);
 	}
-#endif
 
 	FILE *filec = fopen(devtree, "r");
 	if (!filec) {
@@ -616,11 +610,8 @@ int main(int argc, char** argv) {
 		walk_device_tree(autogen, &root, inherit_subsystem_ids, NULL);
 		fprintf(autogen, "\n/* pass 0 */\n");
 		walk_device_tree(autogen, &root, pass0, NULL);
-		fprintf(autogen, "\n/* pass 1 */\n"
-			    "struct device *last_dev = &%s;\n", lastdev->name);
-#ifdef MAINBOARDS_HAVE_CHIP_H
-		fprintf(autogen, "struct mainboard_config mainboard_info_0;\n");
-#endif
+		fprintf(autogen, "\n/* pass 1 */\nstruct mainboard_config mainboard_info_0;\n"
+						"struct device *last_dev = &%s;\n", lastdev->name);
 		walk_device_tree(autogen, &root, pass1, NULL);
 
 	} else if (scan_mode == BOOTBLOCK_MODE) {




More information about the coreboot mailing list