*参照元 [#l96c70d5]
#backlinks

*説明 [#w9e27dc3]
-パス: [[linux-4.4.1/kernel/irq/manage.c]]

-FIXME: これは何?
--説明


**引数 [#h1e2b356]
-unsigned int irq
--
-irq_handler_t handler
--
--[[linux-4.4.1/irq_handler_t]]
-unsigned long flags
--
-const char *name
--
-void *dev_id
--


**返り値 [#h1557bf0]
-int
--


**参考 [#q6b61479]


*実装 [#e02a2266]
 /**
  *      request_any_context_irq - allocate an interrupt line
  *      @irq: Interrupt line to allocate
  *      @handler: Function to be called when the IRQ occurs.
  *                Threaded handler for threaded interrupts.
  *      @flags: Interrupt type flags
  *      @name: An ascii name for the claiming device
  *      @dev_id: A cookie passed back to the handler function
  *
  *      This call allocates interrupt resources and enables the
  *      interrupt line and IRQ handling. It selects either a
  *      hardirq or threaded handling method depending on the
  *      context.
  *
  *      On failure, it returns a negative value. On success,
  *      it returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED.
  */
 int request_any_context_irq(unsigned int irq, irq_handler_t handler,
                             unsigned long flags, const char *name, void *dev_id)
 {
         struct irq_desc *desc = irq_to_desc(irq);
         int ret;
 
-
--[[linux-4.4.1/irq_desc]]
--[[linux-4.4.1/irq_to_desc()]]

         if (!desc)
                 return -EINVAL;
 
         if (irq_settings_is_nested_thread(desc)) {
-
--[[linux-4.4.1/irq_settings_is_nested_thread()]]

                 ret = request_threaded_irq(irq, NULL, handler,
                                            flags, name, dev_id);
                 return !ret ? IRQC_IS_NESTED : ret;
-
--[[linux-4.4.1/request_threaded_irq()]]

         }
 
         ret = request_irq(irq, handler, flags, name, dev_id);
         return !ret ? IRQC_IS_HARDIRQ : ret;
-
--[[linux-4.4.1/request_irq()]]

 }
 EXPORT_SYMBOL_GPL(request_any_context_irq);
-
--[[linux-4.4.1/EXPORT_SYMBOL_GPL()]]


*コメント [#n27db53d]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS