|
@@ -3611,7 +3611,7 @@ io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-int __init io_apic_get_redir_entries (int ioapic)
|
|
|
+static int __init io_apic_get_redir_entries(int ioapic)
|
|
|
{
|
|
|
union IO_APIC_reg_01 reg_01;
|
|
|
unsigned long flags;
|
|
@@ -3702,31 +3702,8 @@ int io_apic_set_pci_routing(struct device *dev, int irq,
|
|
|
return __io_apic_set_pci_routing(dev, irq, irq_attr);
|
|
|
}
|
|
|
|
|
|
-u8 __init io_apic_unique_id(u8 id)
|
|
|
-{
|
|
|
-#ifdef CONFIG_X86_32
|
|
|
- if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) &&
|
|
|
- !APIC_XAPIC(apic_version[boot_cpu_physical_apicid]))
|
|
|
- return io_apic_get_unique_id(nr_ioapics, id);
|
|
|
- else
|
|
|
- return id;
|
|
|
-#else
|
|
|
- int i;
|
|
|
- DECLARE_BITMAP(used, 256);
|
|
|
-
|
|
|
- bitmap_zero(used, 256);
|
|
|
- for (i = 0; i < nr_ioapics; i++) {
|
|
|
- struct mpc_ioapic *ia = &mp_ioapics[i];
|
|
|
- __set_bit(ia->apicid, used);
|
|
|
- }
|
|
|
- if (!test_bit(id, used))
|
|
|
- return id;
|
|
|
- return find_first_zero_bit(used, 256);
|
|
|
-#endif
|
|
|
-}
|
|
|
-
|
|
|
#ifdef CONFIG_X86_32
|
|
|
-int __init io_apic_get_unique_id(int ioapic, int apic_id)
|
|
|
+static int __init io_apic_get_unique_id(int ioapic, int apic_id)
|
|
|
{
|
|
|
union IO_APIC_reg_00 reg_00;
|
|
|
static physid_mask_t apic_id_map = PHYSID_MASK_NONE;
|
|
@@ -3799,9 +3776,33 @@ int __init io_apic_get_unique_id(int ioapic, int apic_id)
|
|
|
|
|
|
return apic_id;
|
|
|
}
|
|
|
+
|
|
|
+static u8 __init io_apic_unique_id(u8 id)
|
|
|
+{
|
|
|
+ if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) &&
|
|
|
+ !APIC_XAPIC(apic_version[boot_cpu_physical_apicid]))
|
|
|
+ return io_apic_get_unique_id(nr_ioapics, id);
|
|
|
+ else
|
|
|
+ return id;
|
|
|
+}
|
|
|
+#else
|
|
|
+static u8 __init io_apic_unique_id(u8 id)
|
|
|
+{
|
|
|
+ int i;
|
|
|
+ DECLARE_BITMAP(used, 256);
|
|
|
+
|
|
|
+ bitmap_zero(used, 256);
|
|
|
+ for (i = 0; i < nr_ioapics; i++) {
|
|
|
+ struct mpc_ioapic *ia = &mp_ioapics[i];
|
|
|
+ __set_bit(ia->apicid, used);
|
|
|
+ }
|
|
|
+ if (!test_bit(id, used))
|
|
|
+ return id;
|
|
|
+ return find_first_zero_bit(used, 256);
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
-int __init io_apic_get_version(int ioapic)
|
|
|
+static int __init io_apic_get_version(int ioapic)
|
|
|
{
|
|
|
union IO_APIC_reg_01 reg_01;
|
|
|
unsigned long flags;
|
|
@@ -4004,7 +4005,7 @@ int mp_find_ioapic_pin(int ioapic, u32 gsi)
|
|
|
return gsi - mp_gsi_routing[ioapic].gsi_base;
|
|
|
}
|
|
|
|
|
|
-static int bad_ioapic(unsigned long address)
|
|
|
+static __init int bad_ioapic(unsigned long address)
|
|
|
{
|
|
|
if (nr_ioapics >= MAX_IO_APICS) {
|
|
|
printk(KERN_WARNING "WARING: Max # of I/O APICs (%d) exceeded "
|