*参照元 [#y4205214]
#backlinks

*説明 [#ya9099ea]
-パス: [[linux-4.4.1/sound/soc/soc-jack.c]]

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


**引数 [#sdbf16d7]
-int irq
--
-void *data
--


**返り値 [#y33683cf]
-irqreturn_t
--
--[[linux-4.4.1/irqreturn_t]]


**参考 [#s727659f]


*実装 [#i5aca477]
 /* irq handler for gpio pin */
 static irqreturn_t gpio_handler(int irq, void *data)
 {
         struct snd_soc_jack_gpio *gpio = data;
         struct device *dev = gpio->jack->card->dev;
 
-
--[[linux-4.4.1/snd_soc_jack_gpio]]
--[[linux-4.4.1/device]]

         trace_snd_soc_jack_irq(gpio->name);
 
-
--[[linux-4.4.1/trace_snd_sock_jack_irq()]]

         if (device_may_wakeup(dev))
                 pm_wakeup_event(dev, gpio->debounce_time + 50);
 
-
--[[linux-4.4.1/device_may_wakeup()]]
--[[linux-4.4.1/pm_wakeup_event()]]

         queue_delayed_work(system_power_efficient_wq, &gpio->work,
                               msecs_to_jiffies(gpio->debounce_time));
 
-
--[[linux-4.4.1/queue_delayed_work()]]
--[[linux-4.4.1/system_power_efficient_wq(global)]]
--[[linux-4.4.1/msecs_to_jiffies()]]
-gpio->work は snd_soc_jack_add_gpios() にて、
gpio_work() を呼ぶように初期化している。
--[[linux-4.4.1/snd_soc_jack_add_gpios()]]
--[[linux-4.4.1/gpio_work()]]

         return IRQ_HANDLED;
 }


*コメント [#b4fd4b16]


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