ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
authorPaul Walmsley <paul@pwsan.com>
Fri, 16 Dec 2011 21:36:57 +0000 (14:36 -0700)
committerPaul Walmsley <paul@pwsan.com>
Fri, 16 Dec 2011 21:36:57 +0000 (14:36 -0700)
omap_hwmod_mux() currently only iterates through the dynamic pad list.
This list currently only consists of pads with the
OMAP_DEVICE_MUX_REMUX flag set.

Subsequent patches in this series will cause hwmod mux entries with
the OMAP_DEVICE_MUX_WAKEUP flag set to be changed dynamically, to
control hwmod I/O ring wakeup.  For this to work correctly, hwmod mux
entries with the OMAP_DEVICE_MUX_WAKEUP flag set must also be added to
the dynamic pad list.  So this patch modifies omap_hwmod_mux_init() to
do so.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Govindraj R <govindraj.raja@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/mux.c

index 655e9480eb98c7ac5692590e833b5484f6f412b6..a474c81355ec94213607c0dc418e5046eb6ab1fb 100644 (file)
@@ -306,7 +306,8 @@ omap_hwmod_mux_init(struct omap_device_pad *bpads, int nr_pads)
                pad->idle = bpad->idle;
                pad->off = bpad->off;
 
-               if (pad->flags & OMAP_DEVICE_PAD_REMUX)
+               if (pad->flags &
+                   (OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP))
                        nr_pads_dynamic++;
 
                pr_debug("%s: Initialized %s\n", __func__, pad->name);
@@ -331,7 +332,8 @@ omap_hwmod_mux_init(struct omap_device_pad *bpads, int nr_pads)
        for (i = 0; i < hmux->nr_pads; i++) {
                struct omap_device_pad *pad = &hmux->pads[i];
 
-               if (pad->flags & OMAP_DEVICE_PAD_REMUX) {
+               if (pad->flags &
+                   (OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP)) {
                        pr_debug("%s: pad %s tagged dynamic\n",
                                        __func__, pad->name);
                        hmux->pads_dynamic[nr_pads_dynamic] = pad;