09 Jan, 2012

1 commit

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     

22 Dec, 2011

1 commit


22 Nov, 2011

1 commit

  • This patch adds the necessary support in file2alias.c to define
    suitable aliases based on the amba_id table in AMBA driver modules.

    This should be sufficient to allow such modules to be auto-loaded
    via udev. The AMBA bus driver's uevent hotplug code is also
    modified to pass an approriate MODALIAS string in the event.

    For simplicity, the AMBA ID is treated an an opaque 32-bit numeber.
    Module alises use patterns as appropriate to describe the value-
    mask pairs described in the driver's amba_id list.

    The proposed alias format is (extended regex):

    ^amba:d(HEX){8}$

    Where HEX is a single upper-case HEX digit or a pattern (? or []
    expression) matching a single upper-case HEX digit, as expected by
    udev.

    "d" is short for "device", following existing alias naming
    conventions for other device types. This adds some flexibility for
    unambiguously extending the alias format in the future by adding
    additional leading and trailing fields, if this turns out to be
    necessary.

    Signed-off-by: Dave Martin
    Acked-by: Pawel Moll

    Dave Martin
     

27 Sep, 2011

1 commit


22 Sep, 2011

1 commit

  • Add runtime PM support to the core Primecell driver, following the PCI
    model of how this is done.

    Rather than having every driver fiddle about with enabling runtime PM,
    that's dealt with in the core and instead, drivers just do a put() in
    their probe and a balancing get() in their remove function to activate
    runtime PM for the device.

    As we're dealing with enabling runtime PM in the core, fix up spi-pl022
    as it must not enable and disable runtime PM itself anymore.

    Tested-by: Linus Walleij
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Russell King

    Russell King
     

26 May, 2011

1 commit

  • This makes a hardcoded periphid from the platform override any
    magic number found in the hardware. This shall henceforth be used
    when the information found in the hardware is either missing,
    i.e. not encoding the CID with the magic cookie 0xb105f00d, or
    incorrect such that the revision number should have been bumped in
    hardware, but the silicon designer has failed to do so.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

12 Apr, 2011

1 commit

  • Xen save/restore is going to use hibernate device callbacks for
    quiescing devices and putting them back to normal operations and it
    would need to select CONFIG_HIBERNATION for this purpose. However,
    that also would cause the hibernate interfaces for user space to be
    enabled, which might confuse user space, because the Xen kernels
    don't support hibernation. Moreover, it would be wasteful, as it
    would make the Xen kernels include a substantial amount of code that
    they would never use.

    To address this issue introduce new power management Kconfig option
    CONFIG_HIBERNATE_CALLBACKS, such that it will only select the code
    that is necessary for the hibernate device callbacks to work and make
    CONFIG_HIBERNATION select it. Then, Xen save/restore will be able to
    select CONFIG_HIBERNATE_CALLBACKS without dragging the entire
    hibernate code along with it.

    Signed-off-by: Rafael J. Wysocki
    Tested-by: Shriram Rajagopalan

    Rafael J. Wysocki
     

31 Mar, 2011

1 commit


24 Feb, 2011

3 commits


26 Nov, 2010

1 commit

  • On some contemporary sub-micron SoCs, peripherals on the chip have
    power domain switches, i.e. the voltage to the core may be turned
    off to conserve power. In the Ux500 we have this for out PrimeCell
    derivates.

    This patch makes it possible to specify an (optional) regulator to
    handle the voltage domain switch on AMBA PrimeCells, modeled very
    similar to how block clocks are handled.

    Additional amba_vcore_[enable|disable] calls are supplied to make
    it possible introduce optional powering off of the core voltage.
    Using this will require code to spool/unspool any core HW state.

    Cc: Rabin Vincent
    Cc: Bengt Jonsson
    Cc: Jonas Aaberg
    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

08 Oct, 2010

1 commit

  • This make four macros for the PrimeCell ID register available to
    drivers that use them witout using the PrimeCell/AMBA bus
    abstraction and struct amba_device. It also moves the magic
    PrimeCell CID "B105F00D" to the bus.h header file.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

31 Jul, 2010

1 commit

  • Some platforms gate the pclk (APB - the bus - clock) to the peripherals
    for power saving, along with the functional clock. When devices are
    accessed without pclk enabled, the kernel will oops.

    This gives them two options:

    1. Leave all clocks on all the time.
    2. Attempt to gate pclk along with the functional clock.

    (With some hardware, pclk and the functional clock are gated by a single
    bit in a register.)

    (1) has the disadvantage that it causes increased power usage, which is
    bad news for battery operated devices. (2) can lead to kernel oops if
    registers are accessed without the functional clock being enabled.

    So, introduce the apb_pclk signal in such a way existing drivers don't
    need to be updated. Essentially, this means we guarantee that:

    1. pclk will be enabled whenever the driver is bound to a device -
    from probe() to remove() time.
    2. pclk will also be enabled when reading the primecell IDs from the device.

    In order to allow drivers to be incrementally updated to achieve greater
    power savings, we provide two additional calls to allow drivers to
    manage the pclk - amba_pclk_enable()/amba_pclk_disable().

    Signed-off-by: Russell King

    Russell King
     

12 Sep, 2009

1 commit


02 Sep, 2009

1 commit


06 Jul, 2009

1 commit

  • AMBA device resources were being reported as:

    10004000-10004fff :

    This is because dev_name() was returning NULL prior to device_register.
    Ensure that the struct device is properly initialized, and the name is
    set before adding it to the device tree.

    Signed-off-by: Russell King

    Russell King
     

25 Mar, 2009

1 commit


09 Jan, 2009

1 commit

  • arch/arm/mach-realview/platsmp.c:140: error: 'jiffies' undeclared (first use in this function)
    drivers/amba/bus.c:246: error: 'NO_IRQ' undeclared (first use in this function)

    Signed-off-by: Russell King

    Russell King
     

13 Oct, 2007

1 commit

  • This changes the uevent buffer functions to use a struct instead of a
    long list of parameters. It does no longer require the caller to do the
    proper buffer termination and size accounting, which is currently wrong
    in some places. It fixes a known bug where parts of the uevent
    environment are overwritten because of wrong index calculations.

    Many thanks to Mathieu Desnoyers for finding bugs and improving the
    error handling.

    Signed-off-by: Kay Sievers
    Cc: Mathieu Desnoyers
    Cc: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

28 Apr, 2007

1 commit


30 Nov, 2006

1 commit


28 Jun, 2006

1 commit


09 Jan, 2006

1 commit


07 Jan, 2006

1 commit