ARM: EXYNOS: Skip wakeup-int setup if pinctrl driver is used on EXYNOS4X12
authorTomasz Figa <t.figa@samsung.com>
Tue, 6 Nov 2012 23:44:51 +0000 (08:44 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Wed, 7 Nov 2012 00:12:10 +0000 (09:12 +0900)
This patch modifies the old wakeup interrupt initialization code to
detect pinctrl driver by using for_each_matching_node instead of
for_each_compatible_node and adds match table for both EXYNOS4210 and
EXYNOS4X12.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/common.c

index 1947be8e5f5bffec59d1542e8ebbbc6bbce36970..4af8284f35974c727887d735c346821802f94ca4 100644 (file)
@@ -997,11 +997,14 @@ static int __init exynos_init_irq_eint(void)
         * platforms switch over to using the pinctrl driver, the wakeup
         * interrupt support code here can be completely removed.
         */
+       static const struct of_device_id exynos_pinctrl_ids[] = {
+               { .compatible = "samsung,pinctrl-exynos4210", },
+               { .compatible = "samsung,pinctrl-exynos4x12", },
+       };
        struct device_node *pctrl_np, *wkup_np;
-       const char *pctrl_compat = "samsung,pinctrl-exynos4210";
        const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
 
-       for_each_compatible_node(pctrl_np, NULL, pctrl_compat) {
+       for_each_matching_node(pctrl_np, exynos_pinctrl_ids) {
                if (of_device_is_available(pctrl_np)) {
                        wkup_np = of_find_compatible_node(pctrl_np, NULL,
                                                        wkup_compat);