- 26 8月, 2015 2 次提交
-
-
由 Maoguang Meng 提交于
This patch implement irq_set_wake to get who is wakeup source and setup on suspend resume. Signed-off-by: NMaoguang Meng <maoguang.meng@mediatek.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Acked-by: NYingjoe Chen <yingjoe.chen@mediatek.com> Acked-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Hongzhou Yang 提交于
Since our common driver need support main chip and PMU at the same time, that means it will register two pinctrl device, and the pinctrl_desc structure should be used two times. But pinctrl_desc use global static definition, then the latest registered pinctrl device will overwrite the old one's, all members in pinctrl_desc will set to the new one's, such as name, pins and pins numbers, etc. This is a bug. Move pinctrl_desc into mtk_pinctrl, assign new value for each pinctrl device to fix it. Cc: stable@vger.kernel.org # v4.1+ Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Reviewed-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 13 8月, 2015 1 次提交
-
-
由 Colin Ian King 提交于
Trivial change, fix spelling mistake 'invaild' -> 'invalid' in dev_err message. Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 28 7月, 2015 1 次提交
-
-
由 Rob Herring 提交于
set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: NRob Herring <robh@kernel.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Lee Jones <lee@kernel.org> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Tomasz Figa <tomasz.figa@gmail.com> Cc: Thomas Abraham <thomas.abraham@linaro.org> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com> Cc: linux-gpio@vger.kernel.org Cc: linux-rpi-kernel@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mediatek@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 18 7月, 2015 1 次提交
-
-
由 Jiang Liu 提交于
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: linux-gpio@vger.kernel.org Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
-
- 25 6月, 2015 1 次提交
-
-
由 Thomas Gleixner 提交于
Fix a race where a pending interrupt could be received and the handler called before the handler's data has been setup, by converting to irq_set_chained_handler_and_data(). Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_chained_handler(E1, E3) != 0) - BUG(); | -irq_set_chained_handler(E1, E3); ) -irq_set_handler_data(E1, E2); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_chained_handler(E1, E3) != 0) - BUG(); ... | -irq_set_chained_handler(E1, E3); ... ) -irq_set_handler_data(E1, E2); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Cc: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Hongzhou Yang <hongzhou.yang@mediatek.com> Cc: Axel Lin <axel.lin@ingics.com> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com> Cc: Maoguang Meng <maoguang.meng@mediatek.com> Cc: Colin Ian King <colin.king@canonical.com> Cc: linux-gpio@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mediatek@lists.infradead.org
-
- 10 6月, 2015 1 次提交
-
-
由 Masahiro Yamada 提交于
Currently, pinctrl_register() just returns NULL on error, so the callers can not know the exact reason of the failure. Some of the pinctrl drivers return -EINVAL, some -ENODEV, and some -ENOMEM on error of pinctrl_register(), although the error code might be different from the real cause of the error. This commit reworks pinctrl_register() to return the appropriate error code and modifies all of the pinctrl drivers to use IS_ERR() for the error checking and PTR_ERR() for getting the error code. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NPatrice Chotard <patrice.chotard@st.com> Acked-by: NThierry Reding <treding@nvidia.com> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NLee Jones <lee@kernel.org> Acked-by: NSören Brinkmann <soren.brinkmann@xilinx.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NRay Jui <rjui@broadcom.com> Acked-by: NAntoine Tenart <antoine.tenart@free-electrons.com> Acked-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Acked-by: NWei Chen <Wei.Chen@csr.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 02 6月, 2015 1 次提交
-
-
由 Hongzhou Yang 提交于
Since mt6397 is no need to support interrupt controller, I judged "interrupt-controller" property to skip it last patch. But the if judgement should on the contrary, this is a bug. And find of_property_read_bool is better for this case. So using of_property_read_bool instead of of_find_property. Also fix bug of misuse pointer. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Reviewed-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 19 5月, 2015 3 次提交
-
-
由 Hongzhou Yang 提交于
Add mt6397 support using mediatek common pinctrl driver. mt6397 is a PMIC, and pinctrl/GPIO is part of 6397 chip. Pinctrl/GPIO driver should obtain regmap from PMIC, so adding this support to common code. Also, mt6397 is no need to support interrupt controller, so changing common code to skip it. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Hongzhou Yang 提交于
Input enable and smt setting have different register, modify code to fix it. Several mediatek soc use similar input enable/smt setting procedure as mt8173, some soc use generic input enable/smt setting, some soc has no input enable/smt setting. Adding common code to handle all those cases, so future soc driver can use it. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Yingjoe Chen 提交于
Several mediatek soc use similar pull setting procedure as mt8173, the pupd enable and resistance setting are in the same register. Add common code mtk_pctrl_spec_pull_set_samereg out of spec_pull_set in mt8173 to handle this case, so future soc driver can use it. Signed-off-by: NYingjoe Chen <yingjoe.chen@mediatek.com> Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 04 5月, 2015 1 次提交
-
-
由 Colin Ian King 提交于
cppcheck detected an uninitialized variable: [drivers/pinctrl/mediatek/pinctrl-mtk-common.c:897]: (error) Uninitialized variable: unmask unmask should be initialized to zero to ensure unmasking only occurs if a previous mask occurred. The current situation is that the unmask variable could contain any random garbage causing random unexpected unmasking. Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 18 3月, 2015 7 次提交
-
-
由 Axel Lin 提交于
Prefer devm_kcalloc over devm_kzalloc with multiply. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Axel Lin 提交于
Remove erroneous kfree for memory allocated by devm_kzalloc Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NYingjoe Chen <yingjoe.chen@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Hongzhou Yang 提交于
Due to pinconf_generic_parse_dt_config() API changes in pinctrl devel branch, add one parameter to fix build error. Also fix warning: drivers/pinctrl/mediatek/pinctrl-mtk-common.c:718:3: warning: too many arguments for format [-Wformat-extra-args] dev_err(&pdev->dev, "only support pins-are-numbered format\n", ret); ^ by removing extra parameter when calling dev_err in mtk_pctrl_init. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Yingjoe Chen 提交于
MTK EINT does not support generating interrupt on both edges. Emulate this by changing edge polarity while enable irq, set types and interrupt handling. This follows an example of drivers/gpio/gpio-mxc.c. Signed-off-by: NYingjoe Chen <yingjoe.chen@mediatek.com> Signed-off-by: NChaotian Jing <chaotian.jing@mediatek.com> Acked-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Hongzhou Yang 提交于
Add mt8173 support using mediatek common pinctrl driver. MT8173 have a different ies_smt setting register than mt8135, so adding this support to common code. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Maoguang Meng 提交于
MTK SoC support external interrupt(EINT) from most SoC pins. Add EINT support to pinctrl driver. Signed-off-by: NMaoguang Meng <maoguang.meng@mediatek.com> Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Hongzhou Yang 提交于
The mediatek SoCs have GPIO controller that handle both the muxing and GPIOs. The GPIO controller have pinmux, pull enable, pull select, direction and output high/low control. This driver include common driver and mt8135 part. The common driver include the pinctrl driver and GPIO driver. The mt8135 part contain its special device data. Signed-off-by: NHongzhou Yang <hongzhou.yang@mediatek.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-