Lines Matching full:eint
18 #include "mtk-eint.h"
238 if (desc[i].eint.eint_n == eint_n) in mtk_xt_find_eint_num()
248 * Some modules use virtual GPIO as eint (e.g. pmif or usb).
249 * In MTK platform, external interrupt (EINT) and GPIO is 1-1 mapping
250 * and we can set GPIO as eint.
251 * But some modules use specific eint which doesn't have real GPIO pin.
262 /* if the GPIO is not supported for eint mode */ in mtk_is_virt_gpio()
263 if (desc->eint.eint_m == NO_EINT_SUPPORT) in mtk_is_virt_gpio()
266 if (desc->funcs && !desc->funcs[desc->eint.eint_m].name) in mtk_is_virt_gpio()
285 * Only eint virtual eint number is greater than gpio number. in mtk_xt_get_gpio_n()
288 desc[eint_n].eint.eint_n == eint_n) in mtk_xt_get_gpio_n()
335 desc->eint.eint_m); in mtk_xt_set_gpio_as_eint()
346 * is just for adding EINT support to these virtual GPIOs. It should in mtk_xt_set_gpio_as_eint()
373 hw->eint = devm_kzalloc(hw->dev, sizeof(*hw->eint), GFP_KERNEL); in mtk_build_eint()
374 if (!hw->eint) in mtk_build_eint()
377 hw->eint->base = devm_platform_ioremap_resource_byname(pdev, "eint"); in mtk_build_eint()
378 if (IS_ERR(hw->eint->base)) { in mtk_build_eint()
379 ret = PTR_ERR(hw->eint->base); in mtk_build_eint()
383 hw->eint->irq = irq_of_parse_and_map(np, 0); in mtk_build_eint()
384 if (!hw->eint->irq) { in mtk_build_eint()
394 hw->eint->dev = &pdev->dev; in mtk_build_eint()
395 hw->eint->hw = hw->soc->eint_hw; in mtk_build_eint()
396 hw->eint->pctl = hw; in mtk_build_eint()
397 hw->eint->gpio_xlate = &mtk_eint_xt; in mtk_build_eint()
399 return mtk_eint_do_init(hw->eint); in mtk_build_eint()
402 devm_kfree(hw->dev, hw->eint); in mtk_build_eint()
403 hw->eint = NULL; in mtk_build_eint()