diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-05-06 13:08:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 04:35:09 -0400 |
commit | e20c06fd6950265a899edd96a02dc2e6ae2d1ce5 (patch) | |
tree | 851deab98ff271debe6efb76443fb5fdc3d0be0c /drivers | |
parent | bdfe8ac153546537ed24de69610ea781a734f785 (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')
-rw-r--r-- | drivers/pci/hotplug/ibmphp_core.c | 56 |
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 | ||