Merge tag 'omap-fixes-a-for-3.5rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes

From Paul Walmsley (as per Tony Lindgren's request):
"Some uncontroversial OMAP clock, hwmod, and compiler warning fixes for 3.5-rc"

* tag 'omap-fixes-a-for-3.5rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled
ARM: OMAP2+: mux: fix sparse warning
ARM: OMAP2+: CM: increase the module disable timeout
ARM: OMAP4: clock data: add clockdomains for clocks used as main clocks
ARM: OMAP4: hwmod data: fix 32k sync timer idle modes
ARM: OMAP4+: hwmod: fix issue causing IPs not going back to Smart-Standby
ARM: OMAP: PM: Lock clocks list while generating summary

+28 -5
+5
arch/arm/mach-omap2/clock44xx_data.c
··· 84 84 85 85 static struct clk sys_32k_ck = { 86 86 .name = "sys_32k_ck", 87 + .clkdm_name = "prm_clkdm", 87 88 .rate = 32768, 88 89 .ops = &clkops_null, 89 90 }; ··· 513 512 .name = "ddrphy_ck", 514 513 .parent = &dpll_core_m2_ck, 515 514 .ops = &clkops_null, 515 + .clkdm_name = "l3_emif_clkdm", 516 516 .fixed_div = 2, 517 517 .recalc = &omap_fixed_divisor_recalc, 518 518 }; ··· 771 769 static struct clk dpll_mpu_m2_ck = { 772 770 .name = "dpll_mpu_m2_ck", 773 771 .parent = &dpll_mpu_ck, 772 + .clkdm_name = "cm_clkdm", 774 773 .clksel = dpll_mpu_m2_div, 775 774 .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_MPU, 776 775 .clksel_mask = OMAP4430_DPLL_CLKOUT_DIV_MASK, ··· 1152 1149 static struct clk l3_div_ck = { 1153 1150 .name = "l3_div_ck", 1154 1151 .parent = &div_core_ck, 1152 + .clkdm_name = "cm_clkdm", 1155 1153 .clksel = l3_div_div, 1156 1154 .clksel_reg = OMAP4430_CM_CLKSEL_CORE, 1157 1155 .clksel_mask = OMAP4430_CLKSEL_L3_MASK, ··· 2828 2824 static struct clk trace_clk_div_ck = { 2829 2825 .name = "trace_clk_div_ck", 2830 2826 .parent = &pmd_trace_clk_mux_ck, 2827 + .clkdm_name = "emu_sys_clkdm", 2831 2828 .clksel = trace_clk_div_div, 2832 2829 .clksel_reg = OMAP4430_CM_EMU_DEBUGSS_CLKCTRL, 2833 2830 .clksel_mask = OMAP4430_CLKSEL_PMD_TRACE_CLK_MASK,
+11
arch/arm/mach-omap2/cm.h
··· 22 22 */ 23 23 #define MAX_MODULE_READY_TIME 2000 24 24 25 + /* 26 + * MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for 27 + * the PRCM to request that a module enter the inactive state in the 28 + * case of OMAP2 & 3. In the case of OMAP4 this is the max duration 29 + * in microseconds for the module to reach the inactive state from 30 + * a functional state. 31 + * XXX FSUSB on OMAP4430 takes ~4ms to idle after reset during 32 + * kernel init. 33 + */ 34 + #define MAX_MODULE_DISABLE_TIME 5000 35 + 25 36 #endif
+2 -2
arch/arm/mach-omap2/cminst44xx.c
··· 313 313 314 314 omap_test_timeout((_clkctrl_idlest(part, inst, cdoffs, clkctrl_offs) == 315 315 CLKCTRL_IDLEST_DISABLED), 316 - MAX_MODULE_READY_TIME, i); 316 + MAX_MODULE_DISABLE_TIME, i); 317 317 318 - return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; 318 + return (i < MAX_MODULE_DISABLE_TIME) ? 0 : -EBUSY; 319 319 } 320 320 321 321 /**
+1
arch/arm/mach-omap2/mux.c
··· 41 41 #include "control.h" 42 42 #include "mux.h" 43 43 #include "prm.h" 44 + #include "common.h" 44 45 45 46 #define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */ 46 47 #define OMAP_MUX_BASE_SZ 0x5ca
+1 -1
arch/arm/mach-omap2/omap_hwmod.c
··· 530 530 if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) 531 531 _set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART, v); 532 532 if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP) 533 - _set_master_standbymode(oh, HWMOD_IDLEMODE_SMART_WKUP, v); 533 + _set_master_standbymode(oh, HWMOD_IDLEMODE_SMART, v); 534 534 535 535 /* XXX test pwrdm_get_wken for this hwmod's subsystem */ 536 536
+6 -2
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
··· 393 393 .rev_offs = 0x0000, 394 394 .sysc_offs = 0x0004, 395 395 .sysc_flags = SYSC_HAS_SIDLEMODE, 396 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 397 - SIDLE_SMART_WKUP), 396 + .idlemodes = (SIDLE_FORCE | SIDLE_NO), 398 397 .sysc_fields = &omap_hwmod_sysc_type1, 399 398 }; 400 399 ··· 853 854 .name = "dss_hdmi", 854 855 .class = &omap44xx_hdmi_hwmod_class, 855 856 .clkdm_name = "l3_dss_clkdm", 857 + /* 858 + * HDMI audio requires to use no-idle mode. Hence, 859 + * set idle mode by software. 860 + */ 861 + .flags = HWMOD_SWSUP_SIDLE, 856 862 .mpu_irqs = omap44xx_dss_hdmi_irqs, 857 863 .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs, 858 864 .main_clk = "dss_48mhz_clk",
+2
arch/arm/plat-omap/clock.c
··· 461 461 struct clk *c; 462 462 struct clk *pa; 463 463 464 + mutex_lock(&clocks_mutex); 464 465 seq_printf(s, "%-30s %-30s %-10s %s\n", 465 466 "clock-name", "parent-name", "rate", "use-count"); 466 467 ··· 470 469 seq_printf(s, "%-30s %-30s %-10lu %d\n", 471 470 c->name, pa ? pa->name : "none", c->rate, c->usecount); 472 471 } 472 + mutex_unlock(&clocks_mutex); 473 473 474 474 return 0; 475 475 }