title: Problem with IRQ handler: Flags mismatch irq
body: <p>I am implementing an interrupt handling module using thread irq.
  I am facing this error:</p>
  <pre><code>1983.150961] Shut down eMMC app module init.
  [ 1983.151115] genirq: Flags mismatch irq 49. 00000004 (eMMC_power_shutdown_irq_
  handler) vs. 00000004 (xuartps)
  fio@uz3cg-dgw:~$ (edited) 
  </code></pre>
  <p>I am choosing a Flag is #define IRQF_TRIGGER_HIGH   0x00000004 and assign to IRQ number 49 in this case.</p>
  <p>Here is my code:</p>
  <pre><code>static int __init shutdownemmc_module_init(void)
  {
      printk(&quot;Shut down eMMC app module init. &quot;);
      if (request_threaded_irq( IRQ_NO,                       //IRQ number
                              (void *) emmc_irq_handler,      //IRQ handler (Top half)
                              emmc_interrupt_thread_fn,       //IRQ Thread handler (Bottom half).When the handler function returns IRQ_WAKE_THREAD
                              IRQF_TRIGGER_HIGH,                    //Handler will be called in raising edge
                              &quot;eMMC_power_shutdown_irq_handler&quot;,    //used to identify the device name using this IRQ
                              (void *)(emmc_irq_handler)))    //device id for shared IRQ
      {
          pr_err(&quot;Cannot register IRQ &quot;);
          pr_err(&quot; EIO %d , EINVAL %d\n&quot;, EIO, EINVAL);
          return 0;
      }
      pr_info(&quot;Interrupt handler...Done!!!\n&quot;);
      return 0;
  }
  </code></pre>
  <p>Could somebody explain what is  Flags mismatch irq issue and how I can fix this problem?
  Thank you,
  Anh</p>