int ps3_free_io_irq(unsigned int virq) { int result; result = lv1_destruct_io_irq_outlet(virq_to_hw(virq)); if (result) pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n", __func__, __LINE__, ps3_result(result)); irq_dispose_mapping(virq); return result; }
int ps3_io_irq_destroy(unsigned int virq) { int result; result = lv1_destruct_io_irq_outlet(virq_to_hw(virq)); if (result) pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n", __func__, __LINE__, ps3_result(result)); result = ps3_irq_plug_destroy(virq); BUG_ON(result); return result; }
int ps3_io_irq_destroy(unsigned int virq) { int result; unsigned long outlet = virq_to_hw(virq); ps3_chip_mask(irq_get_irq_data(virq)); /* * lv1_destruct_io_irq_outlet() will destroy the IRQ plug, * so call ps3_irq_plug_destroy() first. */ result = ps3_irq_plug_destroy(virq); BUG_ON(result); result = lv1_destruct_io_irq_outlet(outlet); if (result) pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n", __func__, __LINE__, ps3_result(result)); return result; }
int ps3_io_irq_destroy(unsigned int virq) { int result; unsigned long outlet = virq_to_hw(virq); ps3_chip_mask(irq_get_irq_data(virq)); /* */ result = ps3_irq_plug_destroy(virq); BUG_ON(result); result = lv1_destruct_io_irq_outlet(outlet); if (result) FAIL("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n", __func__, __LINE__, ps3_result(result)); return result; }