aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index e4c934bd25b3..43aa894174fa 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -902,17 +902,15 @@ static struct omap_hwmod *_lookup(const char *name)
902 * @data: not used; pass NULL 902 * @data: not used; pass NULL
903 * 903 *
904 * Called by omap_hwmod_setup_all() (after omap2_clk_init()). 904 * Called by omap_hwmod_setup_all() (after omap2_clk_init()).
905 * Resolves all clock names embedded in the hwmod. Returns -EINVAL if 905 * Resolves all clock names embedded in the hwmod. Returns 0 on
906 * the omap_hwmod has not yet been registered or if the clocks have 906 * success, or a negative error code on failure.
907 * already been initialized, 0 on success, or a non-zero error on
908 * failure.
909 */ 907 */
910static int _init_clocks(struct omap_hwmod *oh, void *data) 908static int _init_clocks(struct omap_hwmod *oh, void *data)
911{ 909{
912 int ret = 0; 910 int ret = 0;
913 911
914 if (!oh || (oh->_state != _HWMOD_STATE_REGISTERED)) 912 if (oh->_state != _HWMOD_STATE_REGISTERED)
915 return -EINVAL; 913 return 0;
916 914
917 pr_debug("omap_hwmod: %s: looking up clocks\n", oh->name); 915 pr_debug("omap_hwmod: %s: looking up clocks\n", oh->name);
918 916
@@ -1351,14 +1349,16 @@ static int _shutdown(struct omap_hwmod *oh)
1351 * @oh: struct omap_hwmod * 1349 * @oh: struct omap_hwmod *
1352 * 1350 *
1353 * Writes the CLOCKACTIVITY bits @clockact to the hwmod @oh 1351 * Writes the CLOCKACTIVITY bits @clockact to the hwmod @oh
1354 * OCP_SYSCONFIG register. Returns -EINVAL if the hwmod is in the 1352 * OCP_SYSCONFIG register. Returns 0.
1355 * wrong state or returns 0.
1356 */ 1353 */
1357static int _setup(struct omap_hwmod *oh, void *data) 1354static int _setup(struct omap_hwmod *oh, void *data)
1358{ 1355{
1359 int i, r; 1356 int i, r;
1360 u8 postsetup_state; 1357 u8 postsetup_state;
1361 1358
1359 if (oh->_state != _HWMOD_STATE_CLKS_INITED)
1360 return 0;
1361
1362 /* Set iclk autoidle mode */ 1362 /* Set iclk autoidle mode */
1363 if (oh->slaves_cnt > 0) { 1363 if (oh->slaves_cnt > 0) {
1364 for (i = 0; i < oh->slaves_cnt; i++) { 1364 for (i = 0; i < oh->slaves_cnt; i++) {
@@ -1621,6 +1621,9 @@ int __init omap_hwmod_register(struct omap_hwmod **ohs)
1621 */ 1621 */
1622static int __init _populate_mpu_rt_base(struct omap_hwmod *oh, void *data) 1622static int __init _populate_mpu_rt_base(struct omap_hwmod *oh, void *data)
1623{ 1623{
1624 if (oh->_state != _HWMOD_STATE_REGISTERED)
1625 return 0;
1626
1624 if (oh->_int_flags & _HWMOD_NO_MPU_PORT) 1627 if (oh->_int_flags & _HWMOD_NO_MPU_PORT)
1625 return 0; 1628 return 0;
1626 1629