aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2009-05-06 13:08:22 -0400
committerIngo Molnar <mingo@elte.hu>2009-05-11 04:35:09 -0400
commite20c06fd6950265a899edd96a02dc2e6ae2d1ce5 (patch)
tree851deab98ff271debe6efb76443fb5fdc3d0be0c /drivers/pci
parentbdfe8ac153546537ed24de69610ea781a734f785 (diff)
x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector()
To prepare those params for pcibios_irq_enable() to call setup_io_apic_routing(). [ Impact: extend function call API to prepare for new functionality ] Signed-off-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Len Brown <lenb@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <4A01C406.2040303@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/hotplug/ibmphp_core.c56
1 files changed, 30 insertions, 26 deletions
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c
index dd18f857dfb0..ef53b05a411a 100644
--- a/drivers/pci/hotplug/ibmphp_core.c
+++ b/drivers/pci/hotplug/ibmphp_core.c
@@ -153,45 +153,49 @@ int ibmphp_init_devno(struct slot **cur_slot)
153 return -1; 153 return -1;
154 } 154 }
155 for (loop = 0; loop < len; loop++) { 155 for (loop = 0; loop < len; loop++) {
156 if ((*cur_slot)->number == rtable->slots[loop].slot) { 156 if ((*cur_slot)->number == rtable->slots[loop].slot &&
157 if ((*cur_slot)->bus == rtable->slots[loop].bus) { 157 (*cur_slot)->bus == rtable->slots[loop].bus) {
158 int ioapic = -1, ioapic_pin = -1;
159 int triggering, polarity;
160
158 (*cur_slot)->device = PCI_SLOT(rtable->slots[loop].devfn); 161 (*cur_slot)->device = PCI_SLOT(rtable->slots[loop].devfn);
159 for (i = 0; i < 4; i++) 162 for (i = 0; i < 4; i++)
160 (*cur_slot)->irq[i] = IO_APIC_get_PCI_irq_vector((int) (*cur_slot)->bus, 163 (*cur_slot)->irq[i] = IO_APIC_get_PCI_irq_vector((int) (*cur_slot)->bus,
161 (int) (*cur_slot)->device, i); 164 (int) (*cur_slot)->device, i.
162 165 &ioapic, &ioapic_pin,
163 debug("(*cur_slot)->irq[0] = %x\n", 166 &triggering, &polarity);
164 (*cur_slot)->irq[0]); 167
165 debug("(*cur_slot)->irq[1] = %x\n", 168 debug("(*cur_slot)->irq[0] = %x\n",
166 (*cur_slot)->irq[1]); 169 (*cur_slot)->irq[0]);
167 debug("(*cur_slot)->irq[2] = %x\n", 170 debug("(*cur_slot)->irq[1] = %x\n",
168 (*cur_slot)->irq[2]); 171 (*cur_slot)->irq[1]);
169 debug("(*cur_slot)->irq[3] = %x\n", 172 debug("(*cur_slot)->irq[2] = %x\n",
170 (*cur_slot)->irq[3]); 173 (*cur_slot)->irq[2]);
171 174 debug("(*cur_slot)->irq[3] = %x\n",
172 debug("rtable->exlusive_irqs = %x\n", 175 (*cur_slot)->irq[3]);
176
177 debug("rtable->exlusive_irqs = %x\n",
173 rtable->exclusive_irqs); 178 rtable->exclusive_irqs);
174 debug("rtable->slots[loop].irq[0].bitmap = %x\n", 179 debug("rtable->slots[loop].irq[0].bitmap = %x\n",
175 rtable->slots[loop].irq[0].bitmap); 180 rtable->slots[loop].irq[0].bitmap);
176 debug("rtable->slots[loop].irq[1].bitmap = %x\n", 181 debug("rtable->slots[loop].irq[1].bitmap = %x\n",
177 rtable->slots[loop].irq[1].bitmap); 182 rtable->slots[loop].irq[1].bitmap);
178 debug("rtable->slots[loop].irq[2].bitmap = %x\n", 183 debug("rtable->slots[loop].irq[2].bitmap = %x\n",
179 rtable->slots[loop].irq[2].bitmap); 184 rtable->slots[loop].irq[2].bitmap);
180 debug("rtable->slots[loop].irq[3].bitmap = %x\n", 185 debug("rtable->slots[loop].irq[3].bitmap = %x\n",
181 rtable->slots[loop].irq[3].bitmap); 186 rtable->slots[loop].irq[3].bitmap);
182 187
183 debug("rtable->slots[loop].irq[0].link = %x\n", 188 debug("rtable->slots[loop].irq[0].link = %x\n",
184 rtable->slots[loop].irq[0].link); 189 rtable->slots[loop].irq[0].link);
185 debug("rtable->slots[loop].irq[1].link = %x\n", 190 debug("rtable->slots[loop].irq[1].link = %x\n",
186 rtable->slots[loop].irq[1].link); 191 rtable->slots[loop].irq[1].link);
187 debug("rtable->slots[loop].irq[2].link = %x\n", 192 debug("rtable->slots[loop].irq[2].link = %x\n",
188 rtable->slots[loop].irq[2].link); 193 rtable->slots[loop].irq[2].link);
189 debug("rtable->slots[loop].irq[3].link = %x\n", 194 debug("rtable->slots[loop].irq[3].link = %x\n",
190 rtable->slots[loop].irq[3].link); 195 rtable->slots[loop].irq[3].link);
191 debug("end of init_devno\n"); 196 debug("end of init_devno\n");
192 kfree(rtable); 197 kfree(rtable);
193 return 0; 198 return 0;
194 }
195 } 199 }
196 } 200 }
197 201