static DEFINE_PER_CPU(struct ps3_private, ps3_private);
 
-static int ps3_connect_irq(enum ps3_cpu_binding cpu, unsigned long outlet,
+int ps3_alloc_irq(enum ps3_cpu_binding cpu, unsigned long outlet,
        unsigned int *virq)
 {
        int result;
 fail_create:
        return result;
 }
+EXPORT_SYMBOL_GPL(ps3_alloc_irq);
 
-static void ps3_disconnect_irq(unsigned int virq)
+int ps3_free_irq(unsigned int virq)
 {
        int result;
        const struct ps3_private *pd = get_irq_chip_data(virq);
 
        set_irq_chip_data(virq, NULL);
        irq_dispose_mapping(virq);
+       return result;
 }
+EXPORT_SYMBOL_GPL(ps3_free_irq);
 
 /**
  * ps3_alloc_io_irq - Assign a virq to a system bus device.
                return result;
        }
 
-       result = ps3_connect_irq(cpu, outlet, virq);
+       result = ps3_alloc_irq(cpu, outlet, virq);
        BUG_ON(result);
 
        return result;
                pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n",
                        __func__, __LINE__, ps3_result(result));
 
-       ps3_disconnect_irq(virq);
+       ps3_free_irq(virq);
 
        return result;
 }
                return result;
        }
 
-       result = ps3_connect_irq(cpu, outlet, virq);
+       result = ps3_alloc_irq(cpu, outlet, virq);
        BUG_ON(result);
 
        return result;
                pr_debug("%s:%d: lv1_destruct_event_receive_port failed: %s\n",
                        __func__, __LINE__, ps3_result(result));
 
-       ps3_disconnect_irq(virq);
+       ps3_free_irq(virq);
 
        pr_debug(" <- %s:%d\n", __func__, __LINE__);
        return result;
                return result;
        }
 
-       result = ps3_connect_irq(cpu, outlet, virq);
+       result = ps3_alloc_irq(cpu, outlet, virq);
        BUG_ON(result);
 
        return result;
                return result;
        }
 
-       ps3_disconnect_irq(virq);
+       ps3_free_irq(virq);
 
        return result;
 }
                return result;
        }
 
-       result = ps3_connect_irq(cpu, outlet, virq);
+       result = ps3_alloc_irq(cpu, outlet, virq);
        BUG_ON(result);
 
        return result;
 
 int ps3_free_spe_irq(unsigned int virq)
 {
-       ps3_disconnect_irq(virq);
+       ps3_free_irq(virq);
        return 0;
 }
 
+
 #define PS3_INVALID_OUTLET ((irq_hw_number_t)-1)
 #define PS3_PLUG_MAX 63