return -EINVAL;
 
        data = irq_desc_get_irq_data(desc);
-       if (WARN_ON_ONCE(!in_irq() && handle_enforce_irqctx(data)))
+       if (WARN_ON_ONCE(!in_hardirq() && handle_enforce_irqctx(data)))
                return -EPERM;
 
        generic_handle_irq_desc(desc);
  */
 int generic_handle_domain_irq(struct irq_domain *domain, unsigned int hwirq)
 {
-       WARN_ON_ONCE(!in_irq());
+       WARN_ON_ONCE(!in_hardirq());
        return handle_irq_desc(irq_resolve_mapping(domain, hwirq));
 }
 EXPORT_SYMBOL_GPL(generic_handle_domain_irq);
 
        u32 pending;
        int curcnt;
 
-       WARN_ON_ONCE(in_irq());
+       WARN_ON_ONCE(in_hardirq());
        lockdep_assert_irqs_enabled();
 
        local_irq_save(flags);
 {
        unsigned long flags;
 
-       WARN_ON_ONCE(in_irq());
+       WARN_ON_ONCE(in_hardirq());
 
        raw_local_irq_save(flags);
        /*
  */
 void _local_bh_enable(void)
 {
-       WARN_ON_ONCE(in_irq());
+       WARN_ON_ONCE(in_hardirq());
        __local_bh_enable(SOFTIRQ_DISABLE_OFFSET);
 }
 EXPORT_SYMBOL(_local_bh_enable);
 
 void __local_bh_enable_ip(unsigned long ip, unsigned int cnt)
 {
-       WARN_ON_ONCE(in_irq());
+       WARN_ON_ONCE(in_hardirq());
        lockdep_assert_irqs_enabled();
 #ifdef CONFIG_TRACE_IRQFLAGS
        local_irq_disable();
 
        /* Make sure that timer wheel updates are propagated */
        if ((idle_cpu(cpu) && !need_resched()) || tick_nohz_full_cpu(cpu)) {
-               if (!in_irq())
+               if (!in_hardirq())
                        tick_nohz_irq_exit();
        }
 #endif