]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ia64: IOSAPIC .weak symbol cleanup
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Thu, 7 Aug 2003 16:48:13 +0000 (09:48 -0700)
committerDavid Mosberger <davidm@tiger.hpl.hp.com>
Thu, 7 Aug 2003 16:48:13 +0000 (09:48 -0700)
The patch below removes the .weak symbol stuff from iosapic.c.

As far as I can tell, iosapic.c is compiled for every flavor except
the simulator.  I tried to boot the HP_SIM kernel on ski, but it
seems to loop in find_save_locs().  This happens both with and
without this patch, so maybe I have a local problem.  (I started
with a clean tree, did make

arch/ia64/kernel/acpi.c
include/asm-ia64/iosapic.h

index 201f05e74c5a29a5e04beed77d0126eee69aab1f..339cd5ab44c351ab2633172348586f01e57f0867 100644 (file)
 
 #define PREFIX                 "ACPI: "
 
-asm (".weak iosapic_register_intr");
-asm (".weak iosapic_override_isa_irq");
-asm (".weak iosapic_register_platform_intr");
-asm (".weak iosapic_init");
-asm (".weak iosapic_system_init");
-asm (".weak iosapic_version");
-
 void (*pm_idle) (void);
 void (*pm_power_off) (void);
 
@@ -241,8 +234,7 @@ acpi_parse_iosapic (acpi_table_entry_header *header)
 
        acpi_table_print_madt_entry(header);
 
-       if (iosapic_init)
-               iosapic_init(iosapic->address, iosapic->global_irq_base);
+       iosapic_init(iosapic->address, iosapic->global_irq_base);
 
        return 0;
 }
@@ -260,11 +252,6 @@ acpi_parse_plat_int_src (acpi_table_entry_header *header)
 
        acpi_table_print_madt_entry(header);
 
-       if (!iosapic_register_platform_intr) {
-               printk(KERN_WARNING PREFIX "No ACPI platform interrupt support\n");
-               return -ENODEV;
-       }
-
        /*
         * Get vector assignment for this interrupt, set attributes,
         * and program the IOSAPIC routing table.
@@ -293,10 +280,6 @@ acpi_parse_int_src_ovr (acpi_table_entry_header *header)
 
        acpi_table_print_madt_entry(header);
 
-       /* Ignore if the platform doesn't support overrides */
-       if (!iosapic_override_isa_irq)
-               return 0;
-
        iosapic_override_isa_irq(p->bus_irq, p->global_irq,
                                 (p->flags.polarity == 1) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW,
                                 (p->flags.trigger == 1) ? IOSAPIC_EDGE : IOSAPIC_LEVEL);
@@ -334,8 +317,7 @@ acpi_parse_madt (unsigned long phys_addr, unsigned long size)
 #else
        has_8259 = acpi_madt->flags.pcat_compat;
 #endif
-       if (iosapic_system_init)
-               iosapic_system_init(has_8259);
+       iosapic_system_init(has_8259);
 
        /* Get base address of IPI Message Block */
 
@@ -549,9 +531,6 @@ acpi_parse_fadt (unsigned long phys_addr, unsigned long size)
        if (!(fadt->iapc_boot_arch & BAF_8042_KEYBOARD_CONTROLLER))
                acpi_kbd_controller_present = 0;
 
-       if (!iosapic_register_intr)
-               return 0;       /* just ignore the rest */
-
        sci_irq = fadt->sci_int;
 
        if (has_8259 && sci_irq < 16)
@@ -723,9 +702,6 @@ acpi_register_irq (u32 gsi, u32 polarity, u32 trigger)
        if (has_8259 && (gsi < 16))
                return isa_irq_to_vector(gsi);
 
-       if (!iosapic_register_intr)
-               return 0;
-
        /* Turn it on */
        vector = iosapic_register_intr (gsi,
                        (polarity == ACPI_ACTIVE_HIGH) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW,
index 410fb7269aa6a1ff121089340817d630507967b9..68fa169e7a5b52f26443a442a4230becbca22e03 100644 (file)
@@ -51,6 +51,7 @@
 
 #ifndef __ASSEMBLY__
 
+#ifdef CONFIG_IOSAPIC
 extern void __init iosapic_system_init (int pcat_compat);
 extern void __init iosapic_init (unsigned long address,
                                    unsigned int gsi_base);
@@ -72,6 +73,14 @@ extern int __init iosapic_register_platform_intr (u32 int_type,
 extern unsigned int iosapic_version (char *addr);
 
 extern void iosapic_pci_fixup (int);
+#else
+#define iosapic_system_init(pcat_compat)                       do { } while (0)
+#define iosapic_init(address,gsi_base)                         do { } while (0)
+#define iosapic_register_intr(gsi,polarity,trigger)            (gsi)
+#define iosapic_override_isa_irq(isa_irq,gsi,polarity,trigger) do { } while (0)
+#define iosapic_register_platform_intr(type,gsi,pmi,eid,id, \
+       polarity,trigger)                                       (gsi)
+#endif
 
 # endif /* !__ASSEMBLY__ */
 #endif /* __ASM_IA64_IOSAPIC_H */