09 Nov, 2011

1 commit

  • Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

    [The semantic patch that makes this change is available
    in scripts/coccinelle/api/err_cast.cocci.

    More information about semantic patching is available at
    http://coccinelle.lip6.fr/]

    Signed-off-by: Thomas Meyer
    Signed-off-by: Rafael J. Wysocki

    Thomas Meyer
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

05 Nov, 2011

2 commits

  • Originally, the runtime PM core would send an idle notification
    whenever a suspend attempt failed. The idle callback routine could
    then schedule a delayed suspend for some time later.

    However this behavior was changed by commit
    f71648d73c1650b8b4aceb3856bebbde6daa3b86 (PM / Runtime: Remove idle
    notification after failing suspend). No notifications were sent, and
    there was no clear mechanism to retry failed suspends.

    This caused problems for the usbhid driver, because it fails
    autosuspend attempts as long as a key is being held down. Therefore
    this patch (as1492) adds a mechanism for retrying failed
    autosuspends. If the callback routine updates the last_busy field so
    that the next autosuspend expiration time is in the future, the
    autosuspend will automatically be rescheduled.

    Signed-off-by: Alan Stern
    Tested-by: Henrik Rydberg
    Cc:
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • With delta type being int, its value is made zero
    for all values of now > 0x80000000.
    Hence fixing it.

    Signed-off-by: venu byravarasu
    Signed-off-by: Rafael J. Wysocki

    venu byravarasu
     

01 Nov, 2011

5 commits


25 Oct, 2011

4 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
    PM / Clocks: Remove redundant NULL checks before kfree()
    PM / Documentation: Update docs about suspend and CPU hotplug
    ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
    ARM: mach-shmobile: sh7372 A4R support (v4)
    ARM: mach-shmobile: sh7372 A3SP support (v4)
    PM / Sleep: Mark devices involved in wakeup signaling during suspend
    PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
    PM / Hibernate: Do not initialize static and extern variables to 0
    PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
    PM / Hibernate: Add resumedelay kernel param in addition to resumewait
    MAINTAINERS: Update linux-pm list address
    PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
    PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
    PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
    PM / Hibernate: Fix typo in a kerneldoc comment
    PM / Hibernate: Freeze kernel threads after preallocating memory
    PM: Update the policy on default wakeup settings
    PM / VT: Cleanup #if defined uglyness and fix compile error
    PM / Suspend: Off by one in pm_suspend()
    PM / Hibernate: Include storage keys in hibernation image on s390
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://opensource.wolfsonmicro.com/regmap: (62 commits)
    mfd: Enable rbtree cache for wm831x devices
    regmap: Support some block operations on cached devices
    regmap: Allow caches for devices with no defaults
    regmap: Ensure rbtree syncs registers set to zero properly
    regmap: Allow rbtree to cache zero default values
    regmap: Warn on raw I/O as well as bulk reads that bypass cache
    regmap: Return a sensible error code if we fail to read the cache
    regmap: Use bsearch() to search the register defaults
    regmap: Fix doc comment
    regmap: Optimize the lookup path to use binary search
    regmap: Ensure we scream if we enable cache bypass/only at the same time
    regmap: Implement regcache_cache_bypass helper function
    regmap: Save/restore the bypass state upon syncing
    regmap: Lock the sync path, ensure we use the lockless _regmap_write()
    regmap: Fix apostrophe usage
    regmap: Make _regmap_write() global
    regmap: Fix lock used for regcache_cache_only()
    regmap: Grab the lock in regcache_cache_only()
    regmap: Modify map->cache_bypass directly
    regmap: Fix regcache_sync generic implementation
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)
    dp83640: free packet queues on remove
    dp83640: use proper function to free transmit time stamping packets
    ipv6: Do not use routes from locally generated RAs
    |PATCH net-next] tg3: add tx_dropped counter
    be2net: don't create multiple RX/TX rings in multi channel mode
    be2net: don't create multiple TXQs in BE2
    be2net: refactor VF setup/teardown code into be_vf_setup/clear()
    be2net: add vlan/rx-mode/flow-control config to be_setup()
    net_sched: cls_flow: use skb_header_pointer()
    ipv4: avoid useless call of the function check_peer_pmtu
    TCP: remove TCP_DEBUG
    net: Fix driver name for mdio-gpio.c
    ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT
    rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces
    ipv4: fix ipsec forward performance regression
    jme: fix irq storm after suspend/resume
    route: fix ICMP redirect validation
    net: hold sock reference while processing tx timestamps
    tcp: md5: add more const attributes
    Add ethtool -g support to virtio_net
    ...

    Fix up conflicts in:
    - drivers/net/Kconfig:
    The split-up generated a trivial conflict with removal of a
    stale reference to Documentation/networking/net-modules.txt.
    Remove it from the new location instead.
    - fs/sysfs/dir.c:
    Fairly nasty conflicts with the sysfs rb-tree usage, conflicting
    with Eric Biederman's changes for tagged directories.

    Linus Torvalds
     
  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)
    mm: memory hotplug: Check if pages are correctly reserved on a per-section basis
    Revert "memory hotplug: Correct page reservation checking"
    Update email address for stable patch submission
    dynamic_debug: fix undefined reference to `__netdev_printk'
    dynamic_debug: use a single printk() to emit messages
    dynamic_debug: remove num_enabled accounting
    dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions
    uio: Support physical addresses >32 bits on 32-bit systems
    sysfs: add unsigned long cast to prevent compile warning
    drivers: base: print rejected matches with DEBUG_DRIVER
    memory hotplug: Correct page reservation checking
    memory hotplug: Refuse to add unaligned memory regions
    remove the messy code file Documentation/zh_CN/SubmitChecklist
    ARM: mxc: convert device creation to use platform_device_register_full
    new helper to create platform devices with dma mask
    docs/driver-model: Update device class docs
    docs/driver-model: Document device.groups
    kobj_uevent: Ignore if some listeners cannot handle message
    dynamic_debug: make netif_dbg() call __netdev_printk()
    dynamic_debug: make netdev_dbg() call __netdev_printk()
    ...

    Linus Torvalds
     

22 Oct, 2011

3 commits

  • Since kfree() checks it its argument is not NULL, it is not necessary
    to duplicate this check in __pm_clk_remove().

    [rjw: Added the changelog.]

    Signed-off-by: Jonghwan Choi
    Signed-off-by: Rafael J. Wysocki

    Jonghwan Choi
     
  • * pm-domains:
    ARM: mach-shmobile: sh7372 A4R support (v4)
    ARM: mach-shmobile: sh7372 A3SP support (v4)
    PM / Sleep: Mark devices involved in wakeup signaling during suspend

    Rafael J. Wysocki
     
  • The generic PM domains code in drivers/base/power/domain.c has
    to avoid powering off domains that provide power to wakeup devices
    during system suspend. Currently, however, this only works for
    wakeup devices directly belonging to the given domain and not for
    their children (or the children of their children and so on).
    Thus, if there's a wakeup device whose parent belongs to a power
    domain handled by the generic PM domains code, the domain will be
    powered off during system suspend preventing the device from
    signaling wakeup.

    To address this problem introduce a device flag, power.wakeup_path,
    that will be set during system suspend for all wakeup devices,
    their parents, the parents of their parents and so on. This way,
    all wakeup paths in the device hierarchy will be marked and the
    generic PM domains code will only need to avoid powering off
    domains containing devices whose power.wakeup_path is set.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

20 Oct, 2011

1 commit


19 Oct, 2011

2 commits

  • (Resending as I am not seeing it in -next so maybe it got lost)

    mm: memory hotplug: Check if pages are correctly reserved on a per-section basis

    It is expected that memory being brought online is PageReserved
    similar to what happens when the page allocator is being brought up.
    Memory is onlined in "memory blocks" which consist of one or more
    sections. Unfortunately, the code that verifies PageReserved is
    currently assuming that the memmap backing all these pages is virtually
    contiguous which is only the case when CONFIG_SPARSEMEM_VMEMMAP is set.
    As a result, memory hot-add is failing on those configurations with
    the message;

    kernel: section number XXX page number 256 not reserved, was it already online?

    This patch updates the PageReserved check to lookup struct page once
    per section to guarantee the correct struct page is being checked.

    [Check pages within sections properly: rientjes@google.com]
    [original patch by: nfont@linux.vnet.ibm.com]
    Signed-off-by: Mel Gorman
    Acked-by: KAMEZAWA Hiroyuki
    Tested-by: Nathan Fontenot
    Signed-off-by: Greg Kroah-Hartman

    Mel Gorman
     
  • This reverts commit 54f23eb7ba7619de85d8edca6e5336bc33072dbd.

    Turns out this patch is wrong, another correct one will follow it.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Oct, 2011

5 commits

  • This patch (as1485) documents a change to the kernel's default wakeup
    policy. Devices that forward wakeup requests between buses should be
    enabled for wakeup by default.

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

    Alan Stern
     
  • Record S3 failure time about each reason and the latest two failed
    devices' names in S3 progress.
    We can check it through 'suspend_stats' entry in debugfs.

    The motivation of the patch:

    We are enabling power features on Medfield. Comparing with PC/notebook,
    a mobile enters/exits suspend-2-ram (we call it s3 on Medfield) far
    more frequently. If it can't enter suspend-2-ram in time, the power
    might be used up soon.

    We often find sometimes, a device suspend fails. Then, system retries
    s3 over and over again. As display is off, testers and developers
    don't know what happens.

    Some testers and developers complain they don't know if system
    tries suspend-2-ram, and what device fails to suspend. They need
    such info for a quick check. The patch adds suspend_stats under
    debugfs for users to check suspend to RAM statistics quickly.

    If not using this patch, we have other methods to get info about
    what device fails. One is to turn on CONFIG_PM_DEBUG, but users
    would get too much info and testers need recompile the system.

    In addition, dynamic debug is another good tool to dump debug info.
    But it still doesn't match our utilization scenario closely.
    1) user need write a user space parser to process the syslog output;
    2) Our testing scenario is we leave the mobile for at least hours.
    Then, check its status. No serial console available during the
    testing. One is because console would be suspended, and the other
    is serial console connecting with spi or HSU devices would consume
    power. These devices are powered off at suspend-2-ram.

    Signed-off-by: ShuoX Liu
    Signed-off-by: Rafael J. Wysocki

    ShuoX Liu
     
  • * pm-runtime:
    PM / Runtime: Handle .runtime_suspend() failure correctly
    PM / Runtime: Fix kerneldoc comment for rpm_suspend()
    PM / Runtime: Update document about callbacks

    Rafael J. Wysocki
     
  • If .runtime_suspend() returns -EAGAIN or -EBUSY, the device should
    still be in ACTIVE state, so it is not necessary to send an idle
    notification to its parent. If .runtime_suspend() returns other
    fatal failure, it doesn't make sense to send idle notification to
    its parent.

    Skip parent idle notification when failure is returned from
    .runtime_suspend() and update comments in rpm_suspend() to reflect
    that change.

    [rjw: Modified the subject and changelog slightly.]

    Signed-off-by: Ming Lei
    Signed-off-by: Rafael J. Wysocki

    Ming Lei
     
  • This patch fix kerneldoc comments for rpm_suspend():

    - 'Cancel a pending idle notification' should be put before, also
    should be changed to 'Cancel a pending idle notification,
    autosuspend or suspend'.

    - idle notification for the device after succeeding suspend has
    been removed, so update the comment accordingly.

    [rjw: Modified the subject and changelog slightly.]

    Signed-off-by: Ming Lei
    Signed-off-by: Rafael J. Wysocki

    Ming Lei
     

13 Oct, 2011

1 commit


10 Oct, 2011

5 commits


09 Oct, 2011

1 commit


08 Oct, 2011

4 commits

  • * pm-devfreq:
    PM / devfreq: Add basic governors
    PM / devfreq: Add common sysfs interfaces
    PM: Introduce devfreq: generic DVFS framework with device-specific OPPs
    PM / OPP: Add OPP availability change notifier.

    Rafael J. Wysocki
     
  • * pm-qos:
    PM / QoS: Update Documentation for the pm_qos and dev_pm_qos frameworks
    PM / QoS: Add function dev_pm_qos_read_value() (v3)
    PM QoS: Add global notification mechanism for device constraints
    PM QoS: Implement per-device PM QoS constraints
    PM QoS: Generalize and export constraints management code
    PM QoS: Reorganize data structs
    PM QoS: Code reorganization
    PM QoS: Minor clean-ups
    PM QoS: Move and rename the implementation files

    Rafael J. Wysocki
     
  • * pm-domains:
    PM / Domains: Split device PM domain data into base and need_restore
    ARM: mach-shmobile: sh7372 sleep warning fixes
    ARM: mach-shmobile: sh7372 A3SM support
    ARM: mach-shmobile: sh7372 generic suspend/resume support
    PM / Domains: Preliminary support for devices with power.irq_safe set
    PM: Move clock-related definitions and headers to separate file
    PM / Domains: Use power.sybsys_data to reduce overhead
    PM: Reference counting of power.subsys_data
    PM: Introduce struct pm_subsys_data
    ARM / shmobile: Make A3RV be a subdomain of A4LC on SH7372
    PM / Domains: Rename argument of pm_genpd_add_subdomain()
    PM / Domains: Rename GPD_STATE_WAIT_PARENT to GPD_STATE_WAIT_MASTER
    PM / Domains: Allow generic PM domains to have multiple masters
    PM / Domains: Add "wait for parent" status for generic PM domains
    PM / Domains: Make pm_genpd_poweron() always survive parent removal
    PM / Domains: Do not take parent locks to modify subdomain counters
    PM / Domains: Implement subdomain counters as atomic fields

    Rafael J. Wysocki
     
  • * pm-runtime:
    PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set
    PM / Runtime: Replace dev_dbg() with trace_rpm_*()
    PM / Runtime: Introduce trace points for tracing rpm_* functions
    PM / Runtime: Don't run callbacks under lock for power.irq_safe set
    USB: Add wakeup info to debugging messages
    PM / Runtime: pm_runtime_idle() can be called in atomic context
    PM / Runtime: Add macro to test for runtime PM events
    PM / Runtime: Add might_sleep() to runtime PM functions

    Rafael J. Wysocki
     

05 Oct, 2011

1 commit

  • To read the current PM QoS value for a given device we need to
    make sure that the device's power.constraints object won't be
    removed while we're doing that. For this reason, put the
    operation under dev->power.lock and acquire the lock
    around the initialization and removal of power.constraints.

    Moreover, since we're using the value of power.constraints to
    determine whether or not the object is present, the
    power.constraints_state field isn't necessary any more and may be
    removed. However, dev_pm_qos_add_request() needs to check if the
    device is being removed from the system before allocating a new
    PM QoS constraints object for it, so make it use the
    power.power_state field of struct device for this purpose.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

03 Oct, 2011

2 commits


01 Oct, 2011

1 commit

  • The patch enables to register notifier_block for an OPP-device in order
    to get notified for any changes in the availability of OPPs of the
    device. For example, if a new OPP is inserted or enable/disable status
    of an OPP is changed, the notifier is executed.

    This enables the usage of opp_add, opp_enable, and opp_disable to
    directly take effect with any connected entities such as cpufreq or
    devfreq.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Reviewed-by: Mike Turquette
    Reviewed-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki

    MyungJoo Ham
     

30 Sep, 2011

1 commit