[lkml]   [2011]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [linux-pm] [RFC PATCH V3 4/4] cpuidle: Single/Global registration of idle states
    Trinabh Gupta <> writes:

    > With this patch there is single copy of cpuidle_states structure
    > instead of per-cpu. The statistics needed on per-cpu basis
    > by the governor are kept per-cpu. This simplifies the cpuidle
    > subsystem as state registration is done by single cpu only.
    > Having single copy of cpuidle_states saves memory. Rare case
    > of asymmetric C-states can be handled within the cpuidle driverand
    > architectures such as POWER do not have asymmetric C-states.

    I haven't actually tested this series on OMAP yet, but it currently
    doesn't compile.

    The patch below (on top of your series) is required to compile on OMAP,
    I think it's doing what you intended, but please confirm.


    diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
    index 6641574..ab77ba3 100644
    --- a/arch/arm/mach-omap2/cpuidle34xx.c
    +++ b/arch/arm/mach-omap2/cpuidle34xx.c
    @@ -512,6 +512,7 @@ static int omap3_cpuidle_driver_init(void)
    int i, retval, count = 0;
    struct omap3_processor_cx *cx;
    struct cpuidle_state *state;
    + struct cpuidle_driver *drv = &omap3_idle_driver;

    mpu_pd = pwrdm_lookup("mpu_pwrdm");
    core_pd = pwrdm_lookup("core_pwrdm");
    @@ -532,7 +533,7 @@ static int omap3_cpuidle_driver_init(void)
    state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ?
    omap3_enter_idle_bm : omap3_enter_idle;
    if (cx->type == OMAP3_STATE_C1)
    - dev->safe_state_index = count;
    + drv->safe_state_index = count;
    sprintf(state->name, "C%d", count+1);
    strncpy(state->desc, cx->desc, CPUIDLE_DESC_LEN);

     \ /
      Last update: 2011-04-20 19:41    [W:0.021 / U:5.512 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site