• Rajendra Nayak's avatar
    ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init · aacf0941
    Rajendra Nayak authored
    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: default avatarKevin Hilman <khilman@ti.com>
    Acked-by: default avatarBenoit Cousson <b-cousson@ti.com>
    Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
    [paul@pwsan.com: use a flag rather than a state; updated commit message;
     edited some documentation]
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    aacf0941
omap_hwmod.c 71.7 KB