Merge (part of) tag 'omap-for-v3.19/hwmod-and-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
SoC related changes for omaps including hwmod clean-up for DSS, and hwmod data for more UARTs and ADC. Also few defconfig changes to enable devices found on am335x and am437x. [arnd: I removed the defconfig changes from the branch in order to cherry-pick them onto the next/defconfig branch, but I did not change the other commits] * commit '29c4ce17bcad': ARM: dts: cm-t3x30: add keypad support ARM: OMAP2+: hwmod: AM43x: add hwmod support for ADC on AM43xx ARM: DRA7: hwmod data: Add missing UART hwmod data ARM: dts: omap4.dtsi: remove dss_fck ARM: OMAP4: fix RFBI iclk ARM: OMAP4: hwmod: use MODULEMODE properly ARM: OMAP4: hwmod: set DSS submodule parent hwmods ARM: OMAP5: hwmod: set DSS submodule parent hwmods ARM: OMAP2+: hwmod: add parent_hwmod support Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -2635,11 +2635,33 @@ static int __init _setup(struct omap_hwmod *oh, void *data)
|
||||
if (oh->_state != _HWMOD_STATE_INITIALIZED)
|
||||
return 0;
|
||||
|
||||
if (oh->parent_hwmod) {
|
||||
int r;
|
||||
|
||||
r = _enable(oh->parent_hwmod);
|
||||
WARN(r, "hwmod: %s: setup: failed to enable parent hwmod %s\n",
|
||||
oh->name, oh->parent_hwmod->name);
|
||||
}
|
||||
|
||||
_setup_iclk_autoidle(oh);
|
||||
|
||||
if (!_setup_reset(oh))
|
||||
_setup_postsetup(oh);
|
||||
|
||||
if (oh->parent_hwmod) {
|
||||
u8 postsetup_state;
|
||||
|
||||
postsetup_state = oh->parent_hwmod->_postsetup_state;
|
||||
|
||||
if (postsetup_state == _HWMOD_STATE_IDLE)
|
||||
_idle(oh->parent_hwmod);
|
||||
else if (postsetup_state == _HWMOD_STATE_DISABLED)
|
||||
_shutdown(oh->parent_hwmod);
|
||||
else if (postsetup_state != _HWMOD_STATE_ENABLED)
|
||||
WARN(1, "hwmod: %s: unknown postsetup state %d! defaulting to enabled\n",
|
||||
oh->parent_hwmod->name, postsetup_state);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user