diff options
| author | Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 2007-05-11 21:43:09 +0900 | 
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2007-05-11 14:28:34 +0100 | 
| commit | 3f2d560e9029ec0b7edf8be0c32425f4bb57d582 (patch) | |
| tree | c1eec72f06c535cd18e2e53efd01e3403572056b /arch/mips/pci/fixup-cobalt.c | |
| parent | b0cc114c04c114b933661eba329d9776c0eab74c (diff) | |
| download | olio-linux-3.10-3f2d560e9029ec0b7edf8be0c32425f4bb57d582.tar.xz olio-linux-3.10-3f2d560e9029ec0b7edf8be0c32425f4bb57d582.zip  | |
[MIPS] Rework cobalt_board_id
This patch has reworked cobalt_board_id.
The cobalt_board_id is read from PCI config register.
It should be in PCI routine.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/pci/fixup-cobalt.c')
| -rw-r--r-- | arch/mips/pci/fixup-cobalt.c | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c index f4acae694a5..d57ffd7242c 100644 --- a/arch/mips/pci/fixup-cobalt.c +++ b/arch/mips/pci/fixup-cobalt.c @@ -113,6 +113,27 @@ static void qube_raq_galileo_fixup(struct pci_dev *dev)  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_GT64111,  	 qube_raq_galileo_fixup); +int cobalt_board_id; + +static void qube_raq_via_board_id_fixup(struct pci_dev *dev) +{ +	u8 id; +	int retval; + +	retval = pci_read_config_byte(dev, VIA_COBALT_BRD_ID_REG, &id); +	if (retval) { +		panic("Cannot read board ID"); +		return; +	} + +	cobalt_board_id = VIA_COBALT_BRD_REG_to_ID(id); + +	printk(KERN_INFO "Cobalt board ID: %d\n", cobalt_board_id); +} + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, +	 qube_raq_via_board_id_fixup); +  static char irq_tab_qube1[] __initdata = {    [COBALT_PCICONF_CPU]     = 0,    [COBALT_PCICONF_ETH0]    = COBALT_QUBE1_ETH0_IRQ,  |