• Maciej Matraszek's avatar
    PM / Domains: add debugfs listing of struct generic_pm_domain-s · 2bd5306a
    Maciej Matraszek authored
    
    
    Add /sys/kernel/debug/pm_genpd/pm_genpd_summary file, which
    lists power domains in the system, their statuses and attached devices,
    resembling /sys/kernel/debug/clk/clk_summary.
    
    Currently it is impossible to inspect (from userland) whether
    a power domain is on or off. And, if it is on, which device blocks it
    from powering down. This change allows developers working on
    embedded devices power efficiency to list all necessary information
    about generic power domains in one place.
    
    The content of pm_genpd/pm_genpd_summary file is generated by iterating
    over all generic power domain in the system, and, for each,
    over registered devices and over the subdomains, if present.
    
    Example output:
    $ cat  /sys/kernel/debug/pm_genpd/pm_genpd_summary
        domain                      status         slaves
               /device                                      runtime status
    ----------------------------------------------------------------------
    a4su                            off
    a3sg                            off
    a3sm                            on
    a3sp                            on
        /devices/e6600000.pwm                               suspended
        /devices/e6c50000.serial                            active
        /devices/e6850000.sd                                suspended
        /devices/e6bd0000.mmc                               active
    a4s                             on               a3sp, a3sm, a3sg
        /devices/e6900000.irqpin                            unsupported
        /devices/e6900004.irqpin                            unsupported
        /devices/e6900008.irqpin                            unsupported
        /devices/e690000c.irqpin                            unsupported
        /devices/e9a00000.ethernet                          active
    a3rv                            off
    a4r                             off              a3rv
        /devices/fff20000.i2c                               suspended
    a4lc                            off
    c5                              on               a4lc, a4r, a4s, a4su
        /devices/e6050000.pfc                               unsupported
        /devices/e6138000.timer                             active
    
    To enable this feature, compile the kernel with debugfs
    and CONFIG_PM_ADVANCED_DEBUG enabled.
    Signed-off-by: default avatarMaciej Matraszek <m.matraszek@samsung.com>
    Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    2bd5306a
domain.c 60.7 KB