* Paul Walmsley paul@pwsan.com [111216 04:18]:
From: Rajendra Nayak rnayak@ti.com
An hwmod with a 'HWMOD_INIT_NO_IDLE' flag set, is left in enabled state by the hwmod framework post the initial setup. Once a real user of the device (a driver) tries to enable it at a later point, the hwmod framework throws a WARN() about the device being already in enabled state.
Fix this by introducing a new internal flag '_HWMOD_SKIP_ENABLE' to identify such devices/hwmods. When the device/hwmod is requested to be enabled (the first time) by its driver/user, nothing except the mux-enable is needed. The mux data is board specific and is unavailable during initial enable() of the device, done by the framework as part of setup().
A good example of a such a device is an UART used as debug console. The UART module needs to be kept enabled through the boot, until the UART driver takes control of it, for debug prints to appear on the console.
Acked-by: Kevin Hilman khilman@ti.com Acked-by: Benoit Cousson b-cousson@ti.com Signed-off-by: Rajendra Nayak rnayak@ti.com [paul@pwsan.com: use a flag rather than a state; updated commit message; edited some documentation] Signed-off-by: Paul Walmsley paul@pwsan.com
Thanks I'll apply this into uart branch so I can pull Kevin's changes on top of it.
Regards,
Tony