ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
[linux-2.6-block.git] / arch / arm64 / kernel / acpi.c
index fe9d8f0df4a3d6030281ee29a5a59f18b0fa5642..a70f7141c0f6fa343f15ce45b5c1ca418d927e5c 100644 (file)
@@ -75,12 +75,6 @@ static int __init dt_scan_depth1_nodes(unsigned long node,
        return 0;
 }
 
-/*
- * Since we're on ARM, the default interrupt routing model
- * clearly has to be GIC.
- */
-enum acpi_irq_model_id acpi_irq_model = ACPI_IRQ_MODEL_GIC;
-
 /*
  * __acpi_map_table() will be called before page_init(), so early_ioremap()
  * or early_memremap() should be called here to for ACPI table mapping.
@@ -224,73 +218,6 @@ void __init acpi_init_cpus(void)
        pr_info("%d CPUs enabled, %d CPUs total\n", enabled_cpus, total_cpus);
 }
 
-int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
-{
-       *irq = irq_find_mapping(NULL, gsi);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(acpi_gsi_to_irq);
-
-/*
- * success: return IRQ number (>0)
- * failure: return =< 0
- */
-int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
-{
-       unsigned int irq;
-       unsigned int irq_type;
-
-       /*
-        * ACPI have no bindings to indicate SPI or PPI, so we
-        * use different mappings from DT in ACPI.
-        *
-        * For FDT
-        * PPI interrupt: in the range [0, 15];
-        * SPI interrupt: in the range [0, 987];
-        *
-        * For ACPI, GSI should be unique so using
-        * the hwirq directly for the mapping:
-        * PPI interrupt: in the range [16, 31];
-        * SPI interrupt: in the range [32, 1019];
-        */
-
-       if (trigger == ACPI_EDGE_SENSITIVE &&
-                               polarity == ACPI_ACTIVE_LOW)
-               irq_type = IRQ_TYPE_EDGE_FALLING;
-       else if (trigger == ACPI_EDGE_SENSITIVE &&
-                               polarity == ACPI_ACTIVE_HIGH)
-               irq_type = IRQ_TYPE_EDGE_RISING;
-       else if (trigger == ACPI_LEVEL_SENSITIVE &&
-                               polarity == ACPI_ACTIVE_LOW)
-               irq_type = IRQ_TYPE_LEVEL_LOW;
-       else if (trigger == ACPI_LEVEL_SENSITIVE &&
-                               polarity == ACPI_ACTIVE_HIGH)
-               irq_type = IRQ_TYPE_LEVEL_HIGH;
-       else
-               irq_type = IRQ_TYPE_NONE;
-
-       /*
-        * Since only one GIC is supported in ACPI 5.0, we can
-        * create mapping refer to the default domain
-        */
-       irq = irq_create_mapping(NULL, gsi);
-       if (!irq)
-               return irq;
-
-       /* Set irq type if specified and different than the current one */
-       if (irq_type != IRQ_TYPE_NONE &&
-               irq_type != irq_get_trigger_type(irq))
-               irq_set_irq_type(irq, irq_type);
-       return irq;
-}
-EXPORT_SYMBOL_GPL(acpi_register_gsi);
-
-void acpi_unregister_gsi(u32 gsi)
-{
-}
-EXPORT_SYMBOL_GPL(acpi_unregister_gsi);
-
 static int __init acpi_parse_fadt(struct acpi_table_header *table)
 {
        struct acpi_table_fadt *fadt = (struct acpi_table_fadt *)table;