diff options
author | Paul Walmsley <paul@pwsan.com> | 2011-12-16 16:36:57 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2011-12-16 16:36:57 -0500 |
commit | 96dc19fd03303ae1b9292d1f73aa8de597f4a183 (patch) | |
tree | b0775698aaf2ff83951ec20434292eeca3125769 /arch/arm/mach-omap2/mux.c | |
parent | 5611cc4572e889b62a7b4c72a413536bf6a9c416 (diff) |
ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
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>
Diffstat (limited to 'arch/arm/mach-omap2/mux.c')
-rw-r--r-- | arch/arm/mach-omap2/mux.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 655e9480eb98..a474c81355ec 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -306,7 +306,8 @@ omap_hwmod_mux_init(struct omap_device_pad *bpads, int nr_pads) | |||
306 | pad->idle = bpad->idle; | 306 | pad->idle = bpad->idle; |
307 | pad->off = bpad->off; | 307 | pad->off = bpad->off; |
308 | 308 | ||
309 | if (pad->flags & OMAP_DEVICE_PAD_REMUX) | 309 | if (pad->flags & |
310 | (OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP)) | ||
310 | nr_pads_dynamic++; | 311 | nr_pads_dynamic++; |
311 | 312 | ||
312 | pr_debug("%s: Initialized %s\n", __func__, pad->name); | 313 | 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) | |||
331 | for (i = 0; i < hmux->nr_pads; i++) { | 332 | for (i = 0; i < hmux->nr_pads; i++) { |
332 | struct omap_device_pad *pad = &hmux->pads[i]; | 333 | struct omap_device_pad *pad = &hmux->pads[i]; |
333 | 334 | ||
334 | if (pad->flags & OMAP_DEVICE_PAD_REMUX) { | 335 | if (pad->flags & |
336 | (OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP)) { | ||
335 | pr_debug("%s: pad %s tagged dynamic\n", | 337 | pr_debug("%s: pad %s tagged dynamic\n", |
336 | __func__, pad->name); | 338 | __func__, pad->name); |
337 | hmux->pads_dynamic[nr_pads_dynamic] = pad; | 339 | hmux->pads_dynamic[nr_pads_dynamic] = pad; |