static int media5200_irq_map(struct irq_host *h, unsigned int virq,
                             irq_hw_number_t hw)
 {
-       struct irq_desc *desc = irq_to_desc(virq);
-
        pr_debug("%s: h=%p, virq=%i, hwirq=%i\n", __func__, h, virq, (int)hw);
        set_irq_chip_data(virq, &media5200_irq);
        set_irq_chip_and_handler(virq, &media5200_irq_chip, handle_level_irq);
-       set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
-       desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
-       desc->status |= IRQ_TYPE_LEVEL_LOW | IRQ_LEVEL;
-
+       irq_set_status_flags(virq, IRQ_LEVEL);
        return 0;
 }