diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 21:41:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 21:41:42 -0500 |
commit | 977127174a7dff52d17faeeb4c4949a54221881f (patch) | |
tree | b05b9d18a1256d7ed97bdfb537213a8d70ccca57 /arch/i386 | |
parent | 80c0531514516e43ae118ddf38424e06e5c3cb3c (diff) | |
parent | 93b47684f60cf25e8cefe19a21d94aa0257fdf36 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/scx200.c | 2 | ||||
-rw-r--r-- | arch/i386/pci/acpi.c | 2 | ||||
-rw-r--r-- | arch/i386/pci/fixup.c | 7 | ||||
-rw-r--r-- | arch/i386/pci/irq.c | 42 |
4 files changed, 32 insertions, 21 deletions
diff --git a/arch/i386/kernel/scx200.c b/arch/i386/kernel/scx200.c index 9c968ae67c43..321f5fd26e75 100644 --- a/arch/i386/kernel/scx200.c +++ b/arch/i386/kernel/scx200.c | |||
@@ -143,7 +143,7 @@ static int __init scx200_init(void) | |||
143 | { | 143 | { |
144 | printk(KERN_INFO NAME ": NatSemi SCx200 Driver\n"); | 144 | printk(KERN_INFO NAME ": NatSemi SCx200 Driver\n"); |
145 | 145 | ||
146 | return pci_module_init(&scx200_pci_driver); | 146 | return pci_register_driver(&scx200_pci_driver); |
147 | } | 147 | } |
148 | 148 | ||
149 | static void __exit scx200_cleanup(void) | 149 | static void __exit scx200_cleanup(void) |
diff --git a/arch/i386/pci/acpi.c b/arch/i386/pci/acpi.c index 4c4522b43be5..b33aea845f58 100644 --- a/arch/i386/pci/acpi.c +++ b/arch/i386/pci/acpi.c | |||
@@ -53,7 +53,7 @@ static int __init pci_acpi_init(void) | |||
53 | * don't use pci_enable_device(). | 53 | * don't use pci_enable_device(). |
54 | */ | 54 | */ |
55 | printk(KERN_INFO "PCI: Routing PCI interrupts for all devices because \"pci=routeirq\" specified\n"); | 55 | printk(KERN_INFO "PCI: Routing PCI interrupts for all devices because \"pci=routeirq\" specified\n"); |
56 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) | 56 | for_each_pci_dev(dev) |
57 | acpi_pci_irq_enable(dev); | 57 | acpi_pci_irq_enable(dev); |
58 | } else | 58 | } else |
59 | printk(KERN_INFO "PCI: If a device doesn't work, try \"pci=routeirq\". If it helps, post a report\n"); | 59 | printk(KERN_INFO "PCI: If a device doesn't work, try \"pci=routeirq\". If it helps, post a report\n"); |
diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c index eeb1b1f2d548..65f67070db64 100644 --- a/arch/i386/pci/fixup.c +++ b/arch/i386/pci/fixup.c | |||
@@ -413,6 +413,13 @@ static struct dmi_system_id __devinitdata toshiba_ohci1394_dmi_table[] = { | |||
413 | DMI_MATCH(DMI_PRODUCT_VERSION, "PSM4"), | 413 | DMI_MATCH(DMI_PRODUCT_VERSION, "PSM4"), |
414 | }, | 414 | }, |
415 | }, | 415 | }, |
416 | { | ||
417 | .ident = "Toshiba A40 based laptop", | ||
418 | .matches = { | ||
419 | DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), | ||
420 | DMI_MATCH(DMI_PRODUCT_VERSION, "PSA40U"), | ||
421 | }, | ||
422 | }, | ||
416 | { } | 423 | { } |
417 | }; | 424 | }; |
418 | 425 | ||
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index ee8e01697d96..e715aa930036 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -78,7 +78,7 @@ static inline struct irq_routing_table * pirq_check_routing_table(u8 *addr) | |||
78 | for (i=0; i < rt->size; i++) | 78 | for (i=0; i < rt->size; i++) |
79 | sum += addr[i]; | 79 | sum += addr[i]; |
80 | if (!sum) { | 80 | if (!sum) { |
81 | DBG("PCI: Interrupt Routing Table found at 0x%p\n", rt); | 81 | DBG(KERN_DEBUG "PCI: Interrupt Routing Table found at 0x%p\n", rt); |
82 | return rt; | 82 | return rt; |
83 | } | 83 | } |
84 | return NULL; | 84 | return NULL; |
@@ -128,7 +128,7 @@ static void __init pirq_peer_trick(void) | |||
128 | #ifdef DEBUG | 128 | #ifdef DEBUG |
129 | { | 129 | { |
130 | int j; | 130 | int j; |
131 | DBG("%02x:%02x slot=%02x", e->bus, e->devfn/8, e->slot); | 131 | DBG(KERN_DEBUG "%02x:%02x slot=%02x", e->bus, e->devfn/8, e->slot); |
132 | for(j=0; j<4; j++) | 132 | for(j=0; j<4; j++) |
133 | DBG(" %d:%02x/%04x", j, e->irq[j].link, e->irq[j].bitmap); | 133 | DBG(" %d:%02x/%04x", j, e->irq[j].link, e->irq[j].bitmap); |
134 | DBG("\n"); | 134 | DBG("\n"); |
@@ -160,10 +160,10 @@ void eisa_set_level_irq(unsigned int irq) | |||
160 | return; | 160 | return; |
161 | 161 | ||
162 | eisa_irq_mask |= (1 << irq); | 162 | eisa_irq_mask |= (1 << irq); |
163 | printk("PCI: setting IRQ %u as level-triggered\n", irq); | 163 | printk(KERN_DEBUG "PCI: setting IRQ %u as level-triggered\n", irq); |
164 | val = inb(port); | 164 | val = inb(port); |
165 | if (!(val & mask)) { | 165 | if (!(val & mask)) { |
166 | DBG(" -> edge"); | 166 | DBG(KERN_DEBUG " -> edge"); |
167 | outb(val | mask, port); | 167 | outb(val | mask, port); |
168 | } | 168 | } |
169 | } | 169 | } |
@@ -677,11 +677,11 @@ static __init int ali_router_probe(struct irq_router *r, struct pci_dev *router, | |||
677 | { | 677 | { |
678 | case PCI_DEVICE_ID_AL_M1533: | 678 | case PCI_DEVICE_ID_AL_M1533: |
679 | case PCI_DEVICE_ID_AL_M1563: | 679 | case PCI_DEVICE_ID_AL_M1563: |
680 | printk("PCI: Using ALI IRQ Router\n"); | 680 | printk(KERN_DEBUG "PCI: Using ALI IRQ Router\n"); |
681 | r->name = "ALI"; | 681 | r->name = "ALI"; |
682 | r->get = pirq_ali_get; | 682 | r->get = pirq_ali_get; |
683 | r->set = pirq_ali_set; | 683 | r->set = pirq_ali_set; |
684 | return 1; | 684 | return 1; |
685 | } | 685 | } |
686 | return 0; | 686 | return 0; |
687 | } | 687 | } |
@@ -749,12 +749,13 @@ static void __init pirq_find_router(struct irq_router *r) | |||
749 | r->get = NULL; | 749 | r->get = NULL; |
750 | r->set = NULL; | 750 | r->set = NULL; |
751 | 751 | ||
752 | DBG("PCI: Attempting to find IRQ router for %04x:%04x\n", | 752 | DBG(KERN_DEBUG "PCI: Attempting to find IRQ router for %04x:%04x\n", |
753 | rt->rtr_vendor, rt->rtr_device); | 753 | rt->rtr_vendor, rt->rtr_device); |
754 | 754 | ||
755 | pirq_router_dev = pci_find_slot(rt->rtr_bus, rt->rtr_devfn); | 755 | pirq_router_dev = pci_find_slot(rt->rtr_bus, rt->rtr_devfn); |
756 | if (!pirq_router_dev) { | 756 | if (!pirq_router_dev) { |
757 | DBG("PCI: Interrupt router not found at %02x:%02x\n", rt->rtr_bus, rt->rtr_devfn); | 757 | DBG(KERN_DEBUG "PCI: Interrupt router not found at " |
758 | "%02x:%02x\n", rt->rtr_bus, rt->rtr_devfn); | ||
758 | return; | 759 | return; |
759 | } | 760 | } |
760 | 761 | ||
@@ -799,7 +800,7 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) | |||
799 | /* Find IRQ pin */ | 800 | /* Find IRQ pin */ |
800 | pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); | 801 | pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); |
801 | if (!pin) { | 802 | if (!pin) { |
802 | DBG(" -> no interrupt pin\n"); | 803 | DBG(KERN_DEBUG " -> no interrupt pin\n"); |
803 | return 0; | 804 | return 0; |
804 | } | 805 | } |
805 | pin = pin - 1; | 806 | pin = pin - 1; |
@@ -809,16 +810,16 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) | |||
809 | if (!pirq_table) | 810 | if (!pirq_table) |
810 | return 0; | 811 | return 0; |
811 | 812 | ||
812 | DBG("IRQ for %s[%c]", pci_name(dev), 'A' + pin); | 813 | DBG(KERN_DEBUG "IRQ for %s[%c]", pci_name(dev), 'A' + pin); |
813 | info = pirq_get_info(dev); | 814 | info = pirq_get_info(dev); |
814 | if (!info) { | 815 | if (!info) { |
815 | DBG(" -> not found in routing table\n"); | 816 | DBG(" -> not found in routing table\n" KERN_DEBUG); |
816 | return 0; | 817 | return 0; |
817 | } | 818 | } |
818 | pirq = info->irq[pin].link; | 819 | pirq = info->irq[pin].link; |
819 | mask = info->irq[pin].bitmap; | 820 | mask = info->irq[pin].bitmap; |
820 | if (!pirq) { | 821 | if (!pirq) { |
821 | DBG(" -> not routed\n"); | 822 | DBG(" -> not routed\n" KERN_DEBUG); |
822 | return 0; | 823 | return 0; |
823 | } | 824 | } |
824 | DBG(" -> PIRQ %02x, mask %04x, excl %04x", pirq, mask, pirq_table->exclusive_irqs); | 825 | DBG(" -> PIRQ %02x, mask %04x, excl %04x", pirq, mask, pirq_table->exclusive_irqs); |
@@ -848,7 +849,10 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) | |||
848 | newirq = dev->irq; | 849 | newirq = dev->irq; |
849 | if (newirq && !((1 << newirq) & mask)) { | 850 | if (newirq && !((1 << newirq) & mask)) { |
850 | if ( pci_probe & PCI_USE_PIRQ_MASK) newirq = 0; | 851 | if ( pci_probe & PCI_USE_PIRQ_MASK) newirq = 0; |
851 | else printk(KERN_WARNING "PCI: IRQ %i for device %s doesn't match PIRQ mask - try pci=usepirqmask\n", newirq, pci_name(dev)); | 852 | else printk("\n" KERN_WARNING |
853 | "PCI: IRQ %i for device %s doesn't match PIRQ mask " | ||
854 | "- try pci=usepirqmask\n" KERN_DEBUG, newirq, | ||
855 | pci_name(dev)); | ||
852 | } | 856 | } |
853 | if (!newirq && assign) { | 857 | if (!newirq && assign) { |
854 | for (i = 0; i < 16; i++) { | 858 | for (i = 0; i < 16; i++) { |
@@ -923,14 +927,14 @@ static void __init pcibios_fixup_irqs(void) | |||
923 | struct pci_dev *dev = NULL; | 927 | struct pci_dev *dev = NULL; |
924 | u8 pin; | 928 | u8 pin; |
925 | 929 | ||
926 | DBG("PCI: IRQ fixup\n"); | 930 | DBG(KERN_DEBUG "PCI: IRQ fixup\n"); |
927 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 931 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { |
928 | /* | 932 | /* |
929 | * If the BIOS has set an out of range IRQ number, just ignore it. | 933 | * If the BIOS has set an out of range IRQ number, just ignore it. |
930 | * Also keep track of which IRQ's are already in use. | 934 | * Also keep track of which IRQ's are already in use. |
931 | */ | 935 | */ |
932 | if (dev->irq >= 16) { | 936 | if (dev->irq >= 16) { |
933 | DBG("%s: ignoring bogus IRQ %d\n", pci_name(dev), dev->irq); | 937 | DBG(KERN_DEBUG "%s: ignoring bogus IRQ %d\n", pci_name(dev), dev->irq); |
934 | dev->irq = 0; | 938 | dev->irq = 0; |
935 | } | 939 | } |
936 | /* If the IRQ is already assigned to a PCI device, ignore its ISA use penalty */ | 940 | /* If the IRQ is already assigned to a PCI device, ignore its ISA use penalty */ |
@@ -1039,7 +1043,7 @@ static struct dmi_system_id __initdata pciirq_dmi_table[] = { | |||
1039 | 1043 | ||
1040 | static int __init pcibios_irq_init(void) | 1044 | static int __init pcibios_irq_init(void) |
1041 | { | 1045 | { |
1042 | DBG("PCI: IRQ init\n"); | 1046 | DBG(KERN_DEBUG "PCI: IRQ init\n"); |
1043 | 1047 | ||
1044 | if (pcibios_enable_irq || raw_pci_ops == NULL) | 1048 | if (pcibios_enable_irq || raw_pci_ops == NULL) |
1045 | return 0; | 1049 | return 0; |