📄 pci_fixup.c
字号:
/* * FILE NAME * arch/mips/vr41xx/tanbac-tb0226/pci_fixup.c * * BRIEF MODULE DESCRIPTION * The TANBAC TB0226 specific PCI fixups. * * Copyright 2002,2003 Yoichi Yuasa * yuasa@hh.iij4u.or.jp * * 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. */#include <linux/config.h>#include <linux/init.h>#include <linux/pci.h>#include <asm/vr41xx/tb0226.h>void __init pcibios_fixup_resources(struct pci_dev *dev){}void __init pcibios_fixup(void){}void __init pcibios_fixup_irqs(void){ struct pci_dev *dev; u8 slot, pin; pci_for_each_dev(dev) { slot = PCI_SLOT(dev->devfn); dev->irq = 0; switch (slot) { case 12: vr41xx_set_irq_trigger(GD82559_1_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH); vr41xx_set_irq_level(GD82559_1_PIN, LEVEL_LOW); dev->irq = GD82559_1_IRQ; break; case 13: vr41xx_set_irq_trigger(GD82559_2_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH); vr41xx_set_irq_level(GD82559_2_PIN, LEVEL_LOW); dev->irq = GD82559_2_IRQ; break; case 14: pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); switch (pin) { case 1: vr41xx_set_irq_trigger(UPD720100_INTA_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH); vr41xx_set_irq_level(UPD720100_INTA_PIN, LEVEL_LOW); dev->irq = UPD720100_INTA_IRQ; break; case 2: vr41xx_set_irq_trigger(UPD720100_INTB_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH); vr41xx_set_irq_level(UPD720100_INTB_PIN, LEVEL_LOW); dev->irq = UPD720100_INTB_IRQ; break; case 3: vr41xx_set_irq_trigger(UPD720100_INTC_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH); vr41xx_set_irq_level(UPD720100_INTC_PIN, LEVEL_LOW); dev->irq = UPD720100_INTC_IRQ; break; } break; } pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); }}unsigned int pcibios_assign_all_busses(void){ return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -