28 Jun, 2013

1 commit

  • * pm-assorted:
    PM / QoS: Add pm_qos and dev_pm_qos to events-power.txt
    PM / QoS: Add dev_pm_qos_request tracepoints
    PM / QoS: Add pm_qos_request tracepoints
    PM / QoS: Add pm_qos_update_target/flags tracepoints
    PM / QoS: Update Documentation/power/pm_qos_interface.txt
    PM / Sleep: Print last wakeup source on failed wakeup_count write
    PM / QoS: correct the valid range of pm_qos_class
    PM / wakeup: Adjust messaging for wake events during suspend
    PM / Runtime: Update .runtime_idle() callback documentation
    PM / Runtime: Rework the "runtime idle" helper routine
    PM / Hibernate: print physical addresses consistently with other parts of kernel

    Rafael J. Wysocki
     

04 Jun, 2013

2 commits

  • The "index" field of struct cpufreq_frequency_table was never an
    index and isn't used at all by the cpufreq core. It only is useful
    for cpufreq drivers for their internal purposes.

    Many people nowadays blindly set it in ascending order with the
    assumption that the core will use it, which is a mistake.

    Rename it to "driver_data" as that's what its purpose is. All of its
    users are updated accordingly.

    [rjw: Changelog]
    Signed-off-by: Viresh Kumar
    Acked-by: Simon Horman
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     
  • The "runtime idle" helper routine, rpm_idle(), currently ignores
    return values from .runtime_idle() callbacks executed by it.
    However, it turns out that many subsystems use
    pm_generic_runtime_idle() which checks the return value of the
    driver's callback and executes pm_runtime_suspend() for the device
    unless that value is not 0. If that logic is moved to rpm_idle()
    instead, pm_generic_runtime_idle() can be dropped and its users
    will not need any .runtime_idle() callbacks any more.

    Moreover, the PCI, SCSI, and SATA subsystems' .runtime_idle()
    routines, pci_pm_runtime_idle(), scsi_runtime_idle(), and
    ata_port_runtime_idle(), respectively, as well as a few drivers'
    ones may be simplified if rpm_idle() calls rpm_suspend() after 0 has
    been returned by the .runtime_idle() callback executed by it.

    To reduce overall code bloat, make the changes described above.

    Tested-by: Mika Westerberg
    Tested-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Kevin Hilman
    Reviewed-by: Ulf Hansson
    Acked-by: Alan Stern

    Rafael J. Wysocki
     

30 Jan, 2013

1 commit

  • …s into next/sh-pinmux

    From Simon Horman. Based on agreement between me, Paul Mundt, Linus
    Walleij and Simon, we're mergning this large branch of pinctrl conversion
    through arm-soc, even though it contains the corresponding conversions
    for arch/sh. Main reason for this is tight dependencies (that will now
    mostly be broken) between the arch/sh and mach-shmobile implementations.

    There will be more of this in 3.10 to do device-tree bindings, but this is
    the initial conversion.

    * 'pfc' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (80 commits)
    sh-pfc: Move sh_pfc.h from include/linux/ to driver directory
    sh-pfc: Remove pinmux_info definition
    sh: Remove unused sh_pfc_register_info() function
    sh: shx3: pinmux: Use driver-provided pinmux info
    sh: sh7786: pinmux: Use driver-provided pinmux info
    sh: sh7785: pinmux: Use driver-provided pinmux info
    sh: sh7757: pinmux: Use driver-provided pinmux info
    sh: sh7734: pinmux: Use driver-provided pinmux info
    sh: sh7724: pinmux: Use driver-provided pinmux info
    sh: sh7723: pinmux: Use driver-provided pinmux info
    sh: sh7722: pinmux: Use driver-provided pinmux info
    sh: sh7720: pinmux: Use driver-provided pinmux info
    sh: sh7269: pinmux: Use driver-provided pinmux info
    sh: sh7264: pinmux: Use driver-provided pinmux info
    sh: sh7203: pinmux: Use driver-provided pinmux info
    ARM: shmobile: sh73a0: Use driver-provided pinmux info
    ARM: shmobile: sh7372: Use driver-provided pinmux info
    ARM: shmobile: r8a7779: Use driver-provided pinmux info
    ARM: shmobile: r8a7740: Use driver-provided pinmux info
    sh-pfc: Add shx3 pinmux support
    ...

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

25 Jan, 2013

16 commits


11 Jan, 2013

1 commit


04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

13 Nov, 2012

3 commits


08 Nov, 2012

1 commit


15 Oct, 2012

1 commit


02 Oct, 2012

1 commit

  • Pull ARM soc multiplatform enablement from Olof Johansson:
    "This is a pretty significant branch. It's the introduction of the
    first multiplatform support on ARM, and with this (and the later
    branch) merged, it is now possible to build one kernel that contains
    support for highbank, vexpress, mvebu, socfpga, and picoxcell. More
    platforms will be convered over in the next few releases.

    Two critical last things had to be done for this to be practical and
    possible:
    * Today each platform has its own include directory under
    mach-/include/mach/*, and traditionally that is where a lot
    of driver/platform shared definitions have gone, such as platform
    data structures. They now need to move out to a common location
    instead, and this branch moves a large number of those out to
    include/linux/platform_data.
    * Each platform used to list the device trees to compile for its
    boards in mach-/Makefile.boot.

    Both of the above changes will mean that there are some merge
    conflicts to come (and some to resolve here). It's a one-time move
    and once it settles in, we should be good for quite a while. Sorry
    for the overhead."

    Fix conflicts as per Olof.

    * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
    ARM: add v7 multi-platform defconfig
    ARM: msm: Move core.h contents into common.h
    ARM: highbank: call highbank_pm_init from .init_machine
    ARM: dtb: move all dtb targets to common Makefile
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: vexpress: convert to multi-platform
    ARM: initial multiplatform support
    ARM: mvebu: move armada-370-xp.h in mach dir
    ARM: vexpress: remove dependency on mach/* headers
    ARM: picoxcell: remove dependency on mach/* headers
    ARM: move all dtb targets out of Makefile.boot
    ARM: picoxcell: move debug macros to include/debug
    ARM: socfpga: move debug macros to include/debug
    ARM: mvebu: move debug macros to include/debug
    ARM: vexpress: move debug macros to include/debug
    ARM: highbank: move debug macros to include/debug
    ARM: move debug macros to common location
    ARM: make mach/gpio.h headers optional
    ...

    Linus Torvalds
     

25 Sep, 2012

1 commit

  • Some drivers need to switch pin states between GPIO and pin function at
    runtime, which was inadvertently broken in the pinctrl driver for GPIOs
    being bound to a specific direction.

    This fixes up the request path to ensure that previously configured GPIOs
    don't cause us to inadvertently error out with an unsupported mux on
    reconfig, which in practice is primarily aimed at trapping pull-up/down
    users that have yet to be implemented under the new API.

    Fixes up regressions in the TPU PWM driver, amongst others.

    Reported-by: Laurent Pinchart
    Tested-by: Laurent Pinchart
    Signed-off-by: Paul Mundt

    Paul Mundt
     

18 Sep, 2012

1 commit


14 Sep, 2012

1 commit


20 Aug, 2012

1 commit


09 Aug, 2012

1 commit

  • Presently it's assumed that the irqdomain code handles the irq_desc
    allocation for us, but this isn't necessarily the case when we've
    pre-allocated IRQs via sparseirq. Previously we had a -EEXIST check in
    the code that attempted to trap these cases and simply update them
    in-place, but this behaviour was inadvertently lost in the transition to
    irqdomains.

    This simply restores the previous behaviour, first attempting to let the
    irqdomain core fetch the allocation for us, and falling back to an
    in-place domain association in the extant IRQ case. Fixes up regressions
    on platforms that pre-allocate legacy IRQs (specifically ARM-based
    SH-Mobile platforms, as SH stopped pre-allocating vectors some time ago).

    Reported-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Paul Mundt
     

01 Aug, 2012

3 commits

  • Paul Mundt
     
  • Trivial support for irq domains, using either a linear map or radix tree
    depending on the vector layout.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Commit ca5481c68e9fbcea62bb3c78ae6cccf99ca8fb73 ("sh: pfc: Rudimentary
    pinctrl-backed GPIO support.") introduced a regression for platforms that
    were doing early GPIO API calls (from arch_initcall() or earlier),
    leading to a situation where our two-stage registration logic would trip
    itself up and we'd -ENODEV out of the pinctrl registration path,
    resulting in endless -EPROBE_DEFER errors. Further lack of checking any
    sort of errors from gpio_request() resulted in boot time warnings,
    tripping on the FLAG_REQUESTED test-and-set in gpio_ensure_requested().

    As it turns out there's no particular need to bother with the two-stage
    registration, as the platform bus is already available at the point that
    we have to start caring. As such, it's easiest to simply fold these
    together in to a single init path, the ordering of which is ensured
    through the platform's mux registration, as usual.

    Reported-by: Rafael J. Wysocki
    Reported-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Paul Mundt
     

25 Jul, 2012

1 commit


20 Jul, 2012

3 commits