24 Dec, 2010

2 commits

  • basic-pm-debugging.txt is located in Documentation/power/ not
    Documents/power/. Change the references in
    Documentation/power/drivers-testing.txt to reflect the location.

    Signed-off-by: Jon Mason
    Signed-off-by: Rafael J. Wysocki

    Jon Mason
     
  • This patch (as1431c) makes the synchronous runtime-PM interface
    suitable for use in interrupt handlers. Subsystems can call the new
    pm_runtime_irq_safe() function to tell the PM core that a device's
    runtime_suspend and runtime_resume callbacks should be invoked with
    interrupts disabled and the spinlock held. This permits the
    pm_runtime_get_sync() and the new pm_runtime_put_sync_suspend()
    routines to be called from within interrupt handlers.

    When a device is declared irq-safe in this way, the PM core increments
    the parent's usage count, so the parent will never be runtime
    suspended. This prevents difficult situations in which an irq-safe
    device can't resume because it is forced to wait for its non-irq-safe
    parent.

    Signed-off-by: Alan Stern
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     

17 Dec, 2010

1 commit

  • There are some situations (e.g. in __pm_generic_call()), where
    pm_runtime_suspended() is used to decide whether or not to execute
    a device's (system) ->suspend() callback. The callback is not
    executed if pm_runtime_suspended() returns true, but it does so
    for devices that don't even support runtime PM, because the
    power.disable_depth device field is ignored by it. This leads to
    problems (i.e. devices are not suspened when they should), so rework
    pm_runtime_suspended() so that it returns false if the device's
    power.disable_depth field is different from zero.

    Signed-off-by: Rafael J. Wysocki
    Cc: stable@kernel.org

    Rafael J. Wysocki
     

11 Nov, 2010

1 commit


17 Oct, 2010

6 commits

  • SoCs have a standard set of tuples consisting of frequency and
    voltage pairs that the device will support per voltage domain. These
    are called Operating Performance Points or OPPs. The actual
    definitions of OPP varies over silicon versions. For a specific domain,
    we can have a set of {frequency, voltage} pairs. As the kernel boots
    and more information is available, a default set of these are activated
    based on the precise nature of device. Further on operation, based on
    conditions prevailing in the system (such as temperature), some OPP
    availability may be temporarily controlled by the SoC frameworks.

    To implement an OPP, some sort of power management support is necessary
    hence this library depends on CONFIG_PM.

    Contributions include:
    Sanjeev Premi for the initial concept:
    http://patchwork.kernel.org/patch/50998/
    Kevin Hilman for converting original design to device-based.
    Kevin Hilman and Paul Walmsey for cleaning up many of the function
    abstractions, improvements and data structure handling.
    Romit Dasgupta for using enums instead of opp pointers.
    Thara Gopinath, Eduardo Valentin and Vishwanath BS for fixes and
    cleanups.
    Linus Walleij for recommending this layer be made generic for usage
    in other architectures beyond OMAP and ARM.
    Mark Brown, Andrew Morton, Rafael J. Wysocki, Paul E. McKenney for
    valuable improvements.

    Discussions and comments from:
    http://marc.info/?l=linux-omap&m=126033945313269&w=2
    http://marc.info/?l=linux-omap&m=125482970102327&w=2
    http://marc.info/?t=125809247500002&r=1&w=2
    http://marc.info/?l=linux-omap&m=126025973426007&w=2
    http://marc.info/?t=128152609200064&r=1&w=2
    http://marc.info/?t=128468723000002&r=1&w=2
    incorporated.

    v1: http://marc.info/?t=128468723000002&r=1&w=2

    Signed-off-by: Nishanth Menon
    Signed-off-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki

    Nishanth Menon
     
  • If the device which fails to resume is part of a loadable kernel module
    it won't be checked at startup against the magic number stored in the
    RTC.

    Add a read-only sysfs attribute /sys/power/pm_trace_dev_match which
    contains a list of newline separated devices (usually just the one)
    which currently match the last magic number. This allows the device
    which is failing to resume to be found after the modules are loaded
    again.

    Signed-off-by: James Hogan
    Signed-off-by: Rafael J. Wysocki

    James Hogan
     
  • This patch (as1427) implements the "autosuspend" facility for runtime
    PM. A few new fields are added to the dev_pm_info structure and
    several new PM helper functions are defined, for telling the PM core
    whether or not a device uses autosuspend, for setting the autosuspend
    delay, and for marking periods of device activity.

    Drivers that do not want to use autosuspend can continue using the
    same helper functions as before; their behavior will not change. In
    addition, drivers supporting autosuspend can also call the old helper
    functions to get the old behavior.

    The details are all explained in Documentation/power/runtime_pm.txt
    and Documentation/ABI/testing/sysfs-devices-power.

    Signed-off-by: Alan Stern
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • Some devices, such as USB interfaces, cannot be power-managed
    independently of their parents, i.e., they cannot be put in low power
    while the parent remains at full power. This patch (as1425) creates a
    new "no_callbacks" flag, which tells the PM core not to invoke the
    runtime-PM callback routines for the such devices but instead to
    assume that the callbacks always succeed. In addition, the
    non-debugging runtime-PM sysfs attributes for the devices are removed,
    since they are pretty much meaningless.

    The advantage of this scheme comes not so much from avoiding the
    callbacks themselves, but rather from the fact that without the need
    for a process context in which to run the callbacks, more work can be
    done in interrupt context.

    Signed-off-by: Alan Stern
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • The default hibernation image size is currently hard coded and euqal
    to 500 MB, which is not a reasonable default on many contemporary
    systems. Make it equal 2/5 of the total RAM size (this is slightly
    below the maximum, i.e. 1/2 of the total RAM size, and seems to be
    generally suitable).

    Signed-off-by: Rafael J. Wysocki
    Tested-by: M. Vefa Bicakci

    Rafael J. Wysocki
     
  • Compress hibernation image with LZO in order to save on I/O and
    therefore time to hibernate/thaw.

    [rjw: Added hibernate=nocompress command line option instead of just
    nocompress which would be confusing, fixed a couple of compiler
    warnings, fixed kerneldoc comments, minor cleanups.]

    Signed-off-by: Bojan Smojver
    Signed-off-by: Rafael J. Wysocki

    Bojan Smojver
     

01 Sep, 2010

1 commit


04 Aug, 2010

1 commit

  • Below you will find an updated version from the original series bunching all patches into one big patch
    updating broken web addresses that are located in Documentation/*
    Some of the addresses date as far far back as 1995 etc... so searching became a bit difficult,
    the best way to deal with these is to use web.archive.org to locate these addresses that are outdated.
    Now there are also some addresses pointing to .spec files some are located, but some(after searching
    on the companies site)where still no where to be found. In this case I just changed the address
    to the company site this way the users can contact the company and they can locate them for the users.

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Thomas Weber
    Signed-off-by: Mike Frysinger
    Cc: Paulo Marques
    Cc: Randy Dunlap
    Cc: Michael Neuling
    Signed-off-by: Jiri Kosina

    Justin P. Mattock
     

19 Jul, 2010

1 commit


22 May, 2010

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (36 commits)
    PCI: hotplug: pciehp: Removed check for hotplug of display devices
    PCI: read memory ranges out of Broadcom CNB20LE host bridge
    PCI: Allow manual resource allocation for PCI hotplug bridges
    x86/PCI: make ACPI MCFG reserved error messages ACPI specific
    PCI hotplug: Use kmemdup
    PM/PCI: Update PCI power management documentation
    PCI: output FW warning in pci_read/write_vpd
    PCI: fix typos pci_device_dis/enable to pci_dis/enable_device in comments
    PCI quirks: disable msi on AMD rs4xx internal gfx bridges
    PCI: Disable MSI for MCP55 on P5N32-E SLI
    x86/PCI: irq and pci_ids patch for additional Intel Cougar Point DeviceIDs
    PCI: aerdrv: trivial cleanup for aerdrv_core.c
    PCI: aerdrv: trivial cleanup for aerdrv.c
    PCI: aerdrv: introduce default_downstream_reset_link
    PCI: aerdrv: rework find_aer_service
    PCI: aerdrv: remove is_downstream
    PCI: aerdrv: remove magical ROOT_ERR_STATUS_MASKS
    PCI: aerdrv: redefine PCI_ERR_ROOT_*_SRC
    PCI: aerdrv: rework do_recovery
    PCI: aerdrv: rework get_e_source()
    ...

    Linus Torvalds
     

21 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)
    vlynq: make whole Kconfig-menu dependant on architecture
    add descriptive comment for TIF_MEMDIE task flag declaration.
    EEPROM: max6875: Header file cleanup
    EEPROM: 93cx6: Header file cleanup
    EEPROM: Header file cleanup
    agp: use NULL instead of 0 when pointer is needed
    rtc-v3020: make bitfield unsigned
    PCI: make bitfield unsigned
    jbd2: use NULL instead of 0 when pointer is needed
    cciss: fix shadows sparse warning
    doc: inode uses a mutex instead of a semaphore.
    uml: i386: Avoid redefinition of NR_syscalls
    fix "seperate" typos in comments
    cocbalt_lcdfb: correct sections
    doc: Change urls for sparse
    Powerpc: wii: Fix typo in comment
    i2o: cleanup some exit paths
    Documentation/: it's -> its where appropriate
    UML: Fix compiler warning due to missing task_struct declaration
    UML: add kernel.h include to signal.c
    ...

    Linus Torvalds
     

19 May, 2010

1 commit

  • I power management document, Documentation/power/pci.txt, is
    outdated and partially inaccurate. It also is missing some important
    information about the power management of PCI device. Rewrite it to
    make it more up to date and more complete.

    Reviewed-by: Randy Dunlap
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

11 May, 2010

4 commits

  • This patch changes the string based list management to a handle base
    implementation to help with the hot path use of pm-qos, it also renames
    much of the API to use "request" as opposed to "requirement" that was
    used in the initial implementation. I did this because request more
    accurately represents what it actually does.

    Also, I added a string based ABI for users wanting to use a string
    interface. So if the user writes 0xDDDDDDDD formatted hex it will be
    accepted by the interface. (someone asked me for it and I don't think
    it hurts anything.)

    This patch updates some documentation input I got from Randy.

    Signed-off-by: markgross
    Signed-off-by: Rafael J. Wysocki

    Mark Gross
     
  • Opening and closing /dev/snapshot causes the kernel to carry out
    some hibernate preparations that should be documented.

    [rjw: Added the changelog.]

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Pavel Machek
     
  • Improve the device power management document after it's been
    updated by the previous patch.

    Signed-off-by: Alan Stern
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • The device PM document, Documentation/power/devices.txt, is badly
    outdated and requires total rework to fit the current design of the
    PM framework. Make it more up to date.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Randy Dunlap

    Rafael J. Wysocki
     

23 Apr, 2010

1 commit


08 Mar, 2010

1 commit


07 Mar, 2010

2 commits

  • There are subsystems whose power management callbacks only need to
    invoke the callbacks provided by device drivers. Still, their system
    sleep PM callbacks should play well with the runtime PM callbacks,
    so that devices suspended at run time can be left in that state for
    a system sleep transition.

    Provide a set of generic PM callbacks for such subsystems and
    define convenience macros for populating dev_pm_ops structures.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • The power.runtime_auto device flag and the helper functions
    pm_runtime_allow() and pm_runtime_forbid() used to modify it are a
    part of the run-time power management framework and therefore they
    should be described in Documentation/power/runtime_pm.txt.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

05 Feb, 2010

1 commit


23 Dec, 2009

2 commits

  • This patch (as1318) updates the runtime PM documentation, adding a
    section discussing the interaction between runtime PM and system sleep.

    [rjw: Rebased and made it agree with the other updates better.]

    Signed-off-by: Alan Stern
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • The power management of some devices is handled through device types
    and device classes rather than through bus types. Since these
    devices may also benefit from using the run-time power management
    core, extend it so that the device type and device class run-time PM
    callbacks can be taken into consideration by it if the bus type
    callback is not defined.

    Update the run-time PM core documentation to reflect this change.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

10 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

06 Dec, 2009

2 commits


04 Dec, 2009

1 commit


24 Sep, 2009

1 commit

  • * git://git.infradead.org/battery-2.6:
    power_supply: Add driver for the PMU on WM831x PMICs
    ds2760_battery: Fix integer overflow for time_to_empty_now
    wm97xx_battery: Convert to dev_pm_ops
    wm97xx_battery: Use irq to detect charger state
    wm97xx_battery: Use platform_data
    wm97xx-core: Pass platform_data to battery
    ds2760_battery: implement set_charged() feature
    power_supply: get_by_name and set_charged functionality
    power_supply: EXPORT_SYMBOL cleanups
    ds2760_battery: add current_accum module parameter
    ds2760_battery: handle full_active_uAh == 0 case correctly
    ds2760_battery: add rated_capacity module parameter
    ds2760_battery: export more features
    ds2760_battery: delay power supply registration
    wm8350_power: Implement charge type property
    power_supply: Add a charge_type property, and use it for olpc driver
    olpc_battery: Add an 'error' sysfs device that displays raw errors
    Revert "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL"

    Linus Torvalds
     

23 Sep, 2009

2 commits


22 Sep, 2009

3 commits


23 Aug, 2009

1 commit

  • Introduce a core framework for run-time power management of I/O
    devices. Add device run-time PM fields to 'struct dev_pm_info'
    and device run-time PM callbacks to 'struct dev_pm_ops'. Introduce
    a run-time PM workqueue and define some device run-time PM helper
    functions at the core level. Document all these things.

    Special thanks to Alan Stern for his help with the design and
    multiple detailed reviews of the pereceding versions of this patch
    and to Magnus Damm for testing feedback.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Magnus Damm

    Rafael J. Wysocki
     

02 Jul, 2009

1 commit


01 Jul, 2009

1 commit

  • This reverts commit 8efe444038a205e79b38b7ad03878824901849a8 and
    4cbc76eadf56399cd11fb736b33c53aec9caab8c.

    Richard@laptop.org was apparently using CAPACITY_LEVEL for debugging
    battery/EC problems, and was upset that it was removed. This readds it.

    Conflicts:

    Documentation/power_supply_class.txt

    Signed-off-by: Andres Salomon
    Signed-off-by: Anton Vorontsov

    Andres Salomon