23 Oct, 2019

1 commit

  • :Pull ARM fixes from Russell King:

    - fix for alignment faults under high memory pressure

    - use u32 for ARM instructions in fault handler

    - mark functions that must always be inlined with __always_inline

    - fix for nommu XIP

    - fix ARMv7M switch to handler mode in reboot path

    - fix the recently introduced AMBA reset control error paths

    * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8926/1: v7m: remove register save to stack before svc
    ARM: 8914/1: NOMMU: Fix exc_ret for XIP
    ARM: 8908/1: add __always_inline to functions called from __get_user_check()
    ARM: mm: alignment: use "u32" for 32-bit instructions
    ARM: mm: fix alignment handler faults under memory pressure
    drivers/amba: fix reset control error handling

    Linus Torvalds
     

10 Oct, 2019

1 commit

  • With commit 79bdcb202a35 ("ARM: 8906/1: drivers/amba: add reset control
    to amba bus probe") it is possible for the the amba bus driver to defer
    probing the device for its IDs because the reset driver may be probed
    later.

    However when a subsequent probe occurs, the call to request_resource()
    in the driver returns -EBUSY as the driver has not released the resource
    from the initial probe attempt - or cleaned up any of the preceding
    actions.

    Fix this both for the deferred probe case as well as a failure to get
    the reset.

    Fixes: 79bdcb202a35 ("ARM: 8906/1: drivers/amba: add reset control to amba bus probe")
    Reported-by: Dinh Nguyen
    Tested-by: Dinh Nguyen
    Signed-off-by: Russell King

    Russell King
     

23 Sep, 2019

1 commit

  • Pull ARM updates from Russell King:

    - fix various clang build and cppcheck issues

    - switch ARM to use new common outgoing-CPU-notification code

    - add some additional explanation about the boot code

    - kbuild "make clean" fixes

    - get rid of another "(____ptrval____)", this time for the VDSO code

    - avoid treating cache maintenance faults as a write

    - add a frame pointer unwinder implementation for clang

    - add EDAC support for Aurora L2 cache

    - improve robustness of adjust_lowmem_bounds() finding the bounds of
    lowmem.

    - add reset control for AMBA primecell devices

    * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (24 commits)
    ARM: 8906/1: drivers/amba: add reset control to amba bus probe
    ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer
    ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
    ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address
    ARM: 8891/1: EDAC: armada_xp: Add support for more SoCs
    ARM: 8888/1: EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC
    ARM: 8892/1: EDAC: Add missing debugfs_create_x32 wrapper
    ARM: 8890/1: l2x0: add marvell,ecc-enable property for aurora
    ARM: 8889/1: dt-bindings: document marvell,ecc-enable binding
    ARM: 8886/1: l2x0: support parity-enable/disable on aurora
    ARM: 8885/1: aurora-l2: add defines for parity and ECC registers
    ARM: 8887/1: aurora-l2: add prefix to MAX_RANGE_SIZE
    ARM: 8902/1: l2c: move cache-aurora-l2.h to asm/hardware
    ARM: 8900/1: UNWINDER_FRAME_POINTER implementation for Clang
    ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes
    ARM: 8896/1: VDSO: Don't leak kernel addresses
    ARM: 8895/1: visit mach-* and plat-* directories when cleaning
    ARM: 8894/1: boot: Replace open-coded nop with macro
    ARM: 8893/1: boot: Explain the 8 nops
    ARM: 8876/1: fix O= building with CONFIG_FPE_FASTFPE
    ...

    Linus Torvalds
     

10 Sep, 2019

1 commit

  • The primecell controller on some SoCs, i.e. SoCFPGA, is held in reset
    by default. Until recently, the DMA controller was brought out of reset by the bootloader(i.e. U-Boot). But a recent change in U-Boot, the peripherals that are not used are held in reset and are left to Linux to bring them out of reset.

    Add a mechanism for getting the reset property and de-assert the primecell module from reset if found. This is a not a hard fail if the reset property is not present in the device tree node, so the driver will continue to probe.

    Because there are different variants of the controller that may have
    multiple reset signals, the code will find all reset(s) specified and
    de-assert them.

    Signed-off-by: Dinh Nguyen
    Reviewed-by: Rob Herring
    Reviewed-by: Philipp Zabel
    Reviewed-by: Linus Walleij
    Signed-off-by: Russell King

    DINH L NGUYEN
     

30 Jul, 2019

1 commit

  • Introduce wrappers for {bus/driver/class}_find_device() to
    locate devices by its of_node.

    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: dri-devel@lists.freedesktop.org
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: devicetree@vger.kernel.org
    Cc: Florian Fainelli
    Cc: Frank Rowand
    Cc: Heiko Stuebner
    Cc: Liam Girdwood
    Cc: linux-i2c@vger.kernel.org
    Cc: linux-rockchip@lists.infradead.org
    Cc: linux-spi@vger.kernel.org
    Cc: Mathieu Poirier
    Cc: Rob Herring
    Cc: Srinivas Kandagatla
    Cc: Takashi Iwai
    Cc: Alan Tull
    Cc: linux-fpga@vger.kernel.org
    Cc: Peter Rosin
    Cc: Florian Fainelli
    Cc: Heiner Kallweit
    Cc: "David S. Miller"
    Cc: Andrew Lunn
    Cc: Liam Girdwood
    Cc: "Rafael J. Wysocki"
    Cc: Thor Thayer
    Cc: Jiri Slaby
    Cc: Andrew Lunn
    Cc: Peter Rosin
    Signed-off-by: Suzuki K Poulose
    Acked-by: Lee Jones
    Acked-by: Wolfram Sang # I2C part
    Acked-by: Moritz Fischer # For FPGA part
    Acked-by: Mark Brown
    Link: https://lore.kernel.org/r/20190723221838.12024-3-suzuki.poulose@arm.com
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

13 Jul, 2019

1 commit

  • Pull driver core and debugfs updates from Greg KH:
    "Here is the "big" driver core and debugfs changes for 5.3-rc1

    It's a lot of different patches, all across the tree due to some api
    changes and lots of debugfs cleanups.

    Other than the debugfs cleanups, in this set of changes we have:

    - bus iteration function cleanups

    - scripts/get_abi.pl tool to display and parse Documentation/ABI
    entries in a simple way

    - cleanups to Documenatation/ABI/ entries to make them parse easier
    due to typos and other minor things

    - default_attrs use for some ktype users

    - driver model documentation file conversions to .rst

    - compressed firmware file loading

    - deferred probe fixes

    All of these have been in linux-next for a while, with a bunch of
    merge issues that Stephen has been patient with me for"

    * tag 'driver-core-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (102 commits)
    debugfs: make error message a bit more verbose
    orangefs: fix build warning from debugfs cleanup patch
    ubifs: fix build warning after debugfs cleanup patch
    driver: core: Allow subsystems to continue deferring probe
    drivers: base: cacheinfo: Ensure cpu hotplug work is done before Intel RDT
    arch_topology: Remove error messages on out-of-memory conditions
    lib: notifier-error-inject: no need to check return value of debugfs_create functions
    swiotlb: no need to check return value of debugfs_create functions
    ceph: no need to check return value of debugfs_create functions
    sunrpc: no need to check return value of debugfs_create functions
    ubifs: no need to check return value of debugfs_create functions
    orangefs: no need to check return value of debugfs_create functions
    nfsd: no need to check return value of debugfs_create functions
    lib: 842: no need to check return value of debugfs_create functions
    debugfs: provide pr_fmt() macro
    debugfs: log errors when something goes wrong
    drivers: s390/cio: Fix compilation warning about const qualifiers
    drivers: Add generic helper to match by of_node
    driver_find_device: Unify the match function with class_find_device()
    bus_find_device: Unify the match callback with class_find_device
    ...

    Linus Torvalds
     

24 Jun, 2019

1 commit

  • The driver_find_device() accepts a match function pointer to
    filter the devices for lookup, similar to bus/class_find_device().
    However, there is a minor difference in the prototype for the
    match parameter for driver_find_device() with the now unified
    version accepted by {bus/class}_find_device(), where it doesn't
    accept a "const" qualifier for the data argument. This prevents
    us from reusing the generic match functions for driver_find_device().

    For this reason, change the prototype of the driver_find_device() to
    make the "match" parameter in line with {bus/class}_find_device()
    and adjust its callers to use the const qualifier. Also, we could
    now promote the "data" parameter to const as we pass it down
    as a const parameter to the match functions.

    Cc: Corey Minyard
    Cc: Russell King
    Cc: Thierry Reding
    Cc: Greg Kroah-Hartman
    Cc: "Rafael J. Wysocki"
    Cc: Will Deacon
    Cc: Joerg Roedel
    Cc: Peter Oberparleiter
    Cc: Sebastian Ott
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: Nehal Shah
    Cc: Shyam Sundar S K
    Cc: Lee Jones
    Cc: Christian Borntraeger
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this software is licensed under the terms of the gnu general public
    license version 2 as published by the free software foundation and
    may be copied distributed and modified under those terms this
    program is distributed in the hope that it will be useful but
    without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 285 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


08 May, 2019

1 commit

  • clang warns about an unused variable when CONFIG_PM is disabled, since
    it is only referenced from an #ifdef:

    drivers/amba/tegra-ahb.c:97:18: error: variable 'tegra_ahb_gizmo' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]

    Rather than trying to get the #ifdef right, remove it and use
    __maybe_unused here, which is less error prone.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Thierry Reding

    Arnd Bergmann
     

26 Feb, 2019

1 commit

  • The patches provide an update of amba_device and matching code to handle
    the additional registers required for the Class 0x9 (CoreSight) UCI.

    The *data pointer in the amba_id is used by the driver to provide extended
    ID register values for matching.

    CoreSight components where PID/CID pair is currently sufficient for
    unique identification need not provide this additional information.

    Signed-off-by: Mike Leach
    Reviewed-by: Mathieu Poirier
    Reviewed-by: Suzuki K Poulose
    Tested-by: Sai Prakash Ranjan
    Signed-off-by: Russell King

    Mike Leach
     

07 Jun, 2018

1 commit

  • Pull ARM updates from Russell King:

    - Initial round of Spectre variant 1 and variant 2 fixes for 32-bit ARM

    - Clang support improvements

    - nommu updates for v8 MPU

    - enable ARM_MODULE_PLTS by default to avoid problems loading modules
    with larger kernels

    - vmlinux.lds and dma-mapping cleanups

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (31 commits)
    ARM: spectre-v1: fix syscall entry
    ARM: spectre-v1: add array_index_mask_nospec() implementation
    ARM: spectre-v1: add speculation barrier (csdb) macros
    ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1
    ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
    ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15
    ARM: KVM: invalidate icache on guest exit for Cortex-A15
    ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17
    ARM: spectre-v2: warn about incorrect context switching functions
    ARM: spectre-v2: add firmware based hardening
    ARM: spectre-v2: harden user aborts in kernel space
    ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit
    ARM: spectre-v2: harden branch predictor on context switches
    ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre
    ARM: bugs: add support for per-processor bug checking
    ARM: bugs: hook processor bug checking into SMP and suspend paths
    ARM: bugs: prepare processor bug infrastructure
    ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs
    ARM: 8774/1: remove no-op macro VMLINUX_SYMBOL()
    ARM: 8773/1: amba: Export amba_bustype
    ...

    Linus Torvalds
     

06 Jun, 2018

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the "big" char and misc driver patches for 4.18-rc1.

    It's not a lot of stuff here, but there are some highlights:

    - coreboot driver updates

    - soundwire driver updates

    - android binder updates

    - fpga big sync, mostly documentation

    - lots of minor driver updates

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
    vmw_balloon: fixing double free when batching mode is off
    MAINTAINERS: Add driver-api/fpga path
    fpga: clarify that unregister functions also free
    documentation: fpga: move fpga-region.txt to driver-api
    documentation: fpga: add bridge document to driver-api
    documentation: fpga: move fpga-mgr.txt to driver-api
    Documentation: fpga: move fpga overview to driver-api
    fpga: region: kernel-doc fixes
    fpga: bridge: kernel-doc fixes
    fpga: mgr: kernel-doc fixes
    fpga: use SPDX
    fpga: region: change api, add fpga_region_create/free
    fpga: bridge: change api, don't use drvdata
    fpga: manager: change api, don't use drvdata
    fpga: region: don't use drvdata in common fpga code
    Drivers: hv: vmbus: Removed an unnecessary cast from void *
    ver_linux: Drop redundant calls to system() to test if file is readable
    ver_linux: Move stderr redirection from function parameter to function body
    misc: IBM Virtual Management Channel Driver (VMC)
    rpmsg: Correct support for MODULE_DEVICE_TABLE()
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These include a significant update of the generic power domains
    (genpd) and Operating Performance Points (OPP) frameworks, mostly
    related to the introduction of power domain performance levels,
    cpufreq updates (new driver for Qualcomm Kryo processors, updates of
    the existing drivers, some core fixes, schedutil governor
    improvements), PCI power management fixes, ACPI workaround for
    EC-based wakeup events handling on resume from suspend-to-idle, and
    major updates of the turbostat and pm-graph utilities.

    Specifics:

    - Introduce power domain performance levels into the the generic
    power domains (genpd) and Operating Performance Points (OPP)
    frameworks (Viresh Kumar, Rajendra Nayak, Dan Carpenter).

    - Fix two issues in the runtime PM framework related to the
    initialization and removal of devices using device links (Ulf
    Hansson).

    - Clean up the initialization of drivers for devices in PM domains
    (Ulf Hansson, Geert Uytterhoeven).

    - Fix a cpufreq core issue related to the policy sysfs interface
    causing CPU online to fail for CPUs sharing one cpufreq policy in
    some situations (Tao Wang).

    - Make it possible to use platform-specific suspend/resume hooks in
    the cpufreq-dt driver and make the Armada 37xx DVFS use that
    feature (Viresh Kumar, Miquel Raynal).

    - Optimize policy transition notifications in cpufreq (Viresh Kumar).

    - Improve the iowait boost mechanism in the schedutil cpufreq
    governor (Patrick Bellasi).

    - Improve the handling of deferred frequency updates in the schedutil
    cpufreq governor (Joel Fernandes, Dietmar Eggemann, Rafael Wysocki,
    Viresh Kumar).

    - Add a new cpufreq driver for Qualcomm Kryo (Ilia Lin).

    - Fix and clean up some cpufreq drivers (Colin Ian King, Dmitry
    Osipenko, Doug Smythies, Luc Van Oostenryck, Simon Horman, Viresh
    Kumar).

    - Fix the handling of PCI devices with the DPM_SMART_SUSPEND flag set
    and update stale comments in the PCI core PM code (Rafael Wysocki).

    - Work around an issue related to the handling of EC-based wakeup
    events in the ACPI PM core during resume from suspend-to-idle if
    the EC has been put into the low-power mode (Rafael Wysocki).

    - Improve the handling of wakeup source objects in the PM core (Doug
    Berger, Mahendran Ganesh, Rafael Wysocki).

    - Update the driver core to prevent deferred probe from breaking
    suspend/resume ordering (Feng Kan).

    - Clean up the PM core somewhat (Bjorn Helgaas, Ulf Hansson, Rafael
    Wysocki).

    - Make the core suspend/resume code and cpufreq support the RT patch
    (Sebastian Andrzej Siewior, Thomas Gleixner).

    - Consolidate the PM QoS handling in cpuidle governors (Rafael
    Wysocki).

    - Fix a possible crash in the hibernation core (Tetsuo Handa).

    - Update the rockchip-io Adaptive Voltage Scaling (AVS) driver (David
    Wu).

    - Update the turbostat utility (fixes, cleanups, new CPU IDs, new
    command line options, built-in "Low Power Idle" counters support,
    new POLL and POLL% columns) and add an entry for it to MAINTAINERS
    (Len Brown, Artem Bityutskiy, Chen Yu, Laura Abbott, Matt Turner,
    Prarit Bhargava, Srinivas Pandruvada).

    - Update the pm-graph to version 5.1 (Todd Brandt).

    - Update the intel_pstate_tracer utility (Doug Smythies)"

    * tag 'pm-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (128 commits)
    tools/power turbostat: update version number
    tools/power turbostat: Add Node in output
    tools/power turbostat: add node information into turbostat calculations
    tools/power turbostat: remove num_ from cpu_topology struct
    tools/power turbostat: rename num_cores_per_pkg to num_cores_per_node
    tools/power turbostat: track thread ID in cpu_topology
    tools/power turbostat: Calculate additional node information for a package
    tools/power turbostat: Fix node and siblings lookup data
    tools/power turbostat: set max_num_cpus equal to the cpumask length
    tools/power turbostat: if --num_iterations, print for specific number of iterations
    tools/power turbostat: Add Cannon Lake support
    tools/power turbostat: delete duplicate #defines
    x86: msr-index.h: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
    tools/power turbostat: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
    tools/power turbostat: add POLL and POLL% column
    tools/power turbostat: Fix --hide Pk%pc10
    tools/power turbostat: Build-in "Low Power Idle" counters support
    tools/power turbostat: Don't make man pages executable
    tools/power turbostat: remove blank lines
    tools/power turbostat: a small C-states dump readability immprovement
    ...

    Linus Torvalds
     

19 May, 2018

1 commit

  • This patch is provided in the context of allowing the Coresight driver
    subsystem to be loaded as modules. Coresight uses amba_bus in its call
    to bus_find_device() in of_coresight_get_endpoint_device() when
    searching for a configurable endpoint device. This patch allows
    Coresight to reference amba_bustype when built as a module.

    [original LKML submission here: https://lkml.org/lkml/2018/5/9/520]

    Cc: Mathieu Poirier
    Cc: Alex Williamson
    Cc: Eric Auger
    Cc: Greg Kroah-Hartman
    Cc: Todd Kjos
    Cc: Geert Uytterhoeven
    Cc: Thierry Reding
    Reviewed-by: Robin Murphy
    Signed-off-by: Kim Phillips
    Signed-off-by: Russell King

    Kim Phillips
     

15 May, 2018

1 commit


14 May, 2018

1 commit


03 May, 2018

2 commits

  • With each bus implementing its own DMA configuration callback, there is no
    need for bus to explicitly set the force_dma flag. Modify the
    of_dma_configure function to accept an input parameter which specifies if
    implicit DMA configuration is required when it is not described by the
    firmware.

    Signed-off-by: Nipun Gupta
    Acked-by: Bjorn Helgaas # PCI parts
    Reviewed-by: Rob Herring
    [hch: tweaked the changelog a bit]
    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • ACPI/OF support for configuration of DMA is a bus specific aspect, and
    thus should be configured by the bus. Introduces a 'dma_configure' bus
    method so that busses can control their DMA capabilities.

    Also update the PCI, Platform, ACPI and host1x buses to use the new
    method.

    Suggested-by: Christoph Hellwig
    Signed-off-by: Nipun Gupta
    Acked-by: Bjorn Helgaas # PCI parts
    Acked-by: Thierry Reding
    Reviewed-by: Greg Kroah-Hartman
    [hch: simplified host1x_dma_configure based on a comment from Thierry,
    rewrote changelog]
    Signed-off-by: Christoph Hellwig

    Nipun Gupta
     

26 Apr, 2018

5 commits

  • The driver_override implementation is susceptible to a race condition
    when different threads are reading vs storing a different driver
    override. Add locking to avoid this race condition.

    Cfr. commits 6265539776a0810b ("driver core: platform: fix race
    condition with driver_override") and 9561475db680f714 ("PCI: Fix race
    condition with driver_override").

    Fixes: 3cf385713460eb2b ("ARM: 8256/1: driver coamba: add device binding path 'driver_override'")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Todd Kjos
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • For AMBA devices with unconfigured driver override, the
    "driver_override" sysfs virtual file is empty, while it contains
    "(null)" for platform and PCI devices.

    Make AMBA consistent with other buses by dropping the test for a NULL
    pointer.

    Note that contrary to popular belief, sprintf() handles NULL pointers
    fine; they are printed as "(null)".

    Signed-off-by: Geert Uytterhoeven
    Cc: stable
    Reviewed-by: Todd Kjos
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • This reverts commit 6b614a87f3f477571e319281e84dba11e0ea0a76.

    My backport was incorrect, as Geert pointed out :(

    Reported-by: Geert Uytterhoeven
    Cc: Todd Kjos
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • When printing the driver_override parameter when it is 4095 and 4094
    bytes long, the printing code would access invalid memory because we
    need count + 1 bytes for printing.

    Cfr. commits 4efe874aace57dba ("PCI: Don't read past the end of sysfs
    "driver_override" buffer") and bf563b01c2895a4b ("driver core: platform:
    Don't read past the end of "driver_override" buffer").

    Fixes: 3cf385713460eb2b ("ARM: 8256/1: driver coamba: add device binding path 'driver_override'")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Todd Kjos
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • The driver_override implementation is susceptible to a race condition
    when different threads are reading vs storing a different driver
    override. Add locking to avoid this race condition.

    Cfr. commits 6265539776a0810b ("driver core: platform: fix race
    condition with driver_override") and 9561475db680f714 ("PCI: Fix race
    condition with driver_override").

    Fixes: 3cf385713460eb2b ("ARM: 8256/1: driver coamba: add device binding path 'driver_override'")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Todd Kjos
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     

15 Nov, 2017

1 commit

  • Pull dma-mapping updates from Christoph Hellwig:

    - turn dma_cache_sync into a dma_map_ops instance and remove
    implementation that purely are dead because the architecture doesn't
    support noncoherent allocations

    - add a flag for busses that need DMA configuration (Robin Murphy)

    * tag 'dma-mapping-4.15' of git://git.infradead.org/users/hch/dma-mapping:
    dma-mapping: turn dma_cache_sync into a dma_map_ops method
    sh: make dma_cache_sync a no-op
    xtensa: make dma_cache_sync a no-op
    unicore32: make dma_cache_sync a no-op
    powerpc: make dma_cache_sync a no-op
    mn10300: make dma_cache_sync a no-op
    microblaze: make dma_cache_sync a no-op
    ia64: make dma_cache_sync a no-op
    frv: make dma_cache_sync a no-op
    x86: make dma_cache_sync a no-op
    floppy: consolidate the dummy fd_cacheflush definition
    drivers: flag buses which demand DMA configuration

    Linus Torvalds
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

19 Oct, 2017

1 commit

  • We do not want the common dma_configure() pathway to apply
    indiscriminately to all devices, since there are plenty of buses which
    do not have DMA capability, and if their child devices were used for
    DMA API calls it would only be indicative of a driver bug. However,
    there are a number of buses for which DMA is implicitly expected even
    when not described by firmware - those we whitelist with an automatic
    opt-in to dma_configure(), assuming that the DMA address space and the
    physical address space are equivalent if not otherwise specified.

    Commit 723288836628 ("of: restrict DMA configuration") introduced a
    short-term fix by comparing explicit bus types, but this approach is far
    from pretty, doesn't scale well, and fails to cope at all with bus
    drivers which may be built as modules, like host1x. Let's refine things
    by making that opt-in a property of the bus type, which neatly addresses
    those problems and lets the decision of whether firmware description of
    DMA capability should be optional or mandatory stay internal to the bus
    drivers themselves.

    Signed-off-by: Robin Murphy
    Acked-by: Rob Herring
    Acked-by: Greg Kroah-Hartman
    Acked-by: Thierry Reding
    Signed-off-by: Christoph Hellwig

    Robin Murphy
     

09 Jun, 2017

1 commit


12 Aug, 2016

1 commit


06 May, 2016

1 commit

  • To read pid/cid registers, the probed device need to be properly turned on.
    When it is inside a power domain, the bus code should ensure that the
    given power domain is enabled before trying to access device's registers.
    However in some cases power domain (or clocks) might not be yet available.
    Returning -EPROBE_DEFER is not a solution in such case, because callers
    don't handle this special error code. Instead such devices are added to the
    special list and their registration is retried from periodic worker until
    all resources are available.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Russell King

    Marek Szyprowski
     

24 Nov, 2015

1 commit


02 Apr, 2015

2 commits

  • amba: tegra-ahb: detect and correct bogus base address

    From a hardware SoC integration point of view, the starting address of
    this IP block in the existing Tegra SoC DT files is off by 4 bytes
    from the actual base address. Since we attempt to make old DT files
    forward-compatible with newer kernels, we cannot fix the IP block base
    address in old DT data. This patch works around the problem by
    detecting the four byte base address offset in the driver code, and
    correcting it if it's detected. (In general, IP block base addresses
    almost always have a null low byte.)

    Future SoC DT data for Tegra AHB should use the correct Tegra AHB base
    address, in cases where there is no DT data backward compatibility
    requirement.

    This patch is a revision of the patch originally titled
    "amba: tegra-ahb: use correct base address for future chip support".
    This revision implements changes requested by Russell King:

    http://marc.info/?l=linux-tegra&m=142658851825062&w=2
    http://marc.info/?l=linux-tegra&m=142658873925178&w=2

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Alexandre Courbot
    Cc: Hiroshi DOYU
    Cc: Stephen Warren
    Cc: Thierry Reding
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Stephen Warren
    Signed-off-by: Russell King

    Paul Walmsley
     
  • amba: tegra-ahb: fix register offsets in the macros

    From a hardware SoC integration point of view, the offsets of the
    Tegra AHB registers that are currently defined in tegra-ahb.c macros
    are all off by four bytes. Similarly, the starting address of this IP
    block in our existing DT files is also off by four bytes. Since we
    attempt to make old DT files forward-compatible with newer kernels, we
    cannot fix the IP block base address in old DT data. However, we can
    fix the offsets in the driver so that they are correct with respect to
    the hardware, which is what this patch does. And a subsequent patch
    will allow the offset to be removed for DT 'compatible' strings used
    in future DT files for newer Tegra chips that the kernel does not yet
    support.

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Alexandre Courbot
    Cc: Hiroshi DOYU
    Cc: Stephen Warren
    Cc: Thierry Reding
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Stephen Warren
    Signed-off-by: Russell King

    Paul Walmsley
     

10 Feb, 2015

1 commit

  • As already demonstrated with PCI [1] and the platform bus [2], a
    driver_override property in sysfs can be used to bypass the id
    matching of a device to a AMBA driver. This can be used by VFIO to
    bind to any AMBA device requested by the user.

    [1] http://lists-archives.com/linux-kernel/28030441-pci-introduce-new-device-binding-path-using-pci_dev-driver_override.html
    [2] https://www.redhat.com/archives/libvir-list/2014-April/msg00382.html

    Signed-off-by: Antonios Motakis
    Reviewed-by: Kim Phillips
    Signed-off-by: Russell King

    Antonios Motakis
     

15 Dec, 2014

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver update for 3.19-rc1

    Lots of little things all over the place in different drivers, and a
    new subsystem, "coresight" has been added. Full details are in the
    shortlog"

    * tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
    parport: parport_pc, do not remove parent devices early
    spmi: Remove shutdown/suspend/resume kernel-doc
    carma-fpga-program: drop videobuf dependency
    carma-fpga: drop videobuf dependency
    carma-fpga-program.c: fix compile errors
    i8k: Fix temperature bug handling in i8k_get_temp()
    cxl: Name interrupts in /proc/interrupt
    CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
    coresight-replicator: remove .owner field for driver
    coresight: fixed comments in coresight.h
    coresight: fix typo in comment in coresight-priv.h
    coresight: bindings for coresight drivers
    coresight: Adding ABI documentation
    w1: support auto-load of w1_bq27000 module.
    w1: avoid potential u16 overflow
    cn: verify msg->len before making callback
    mei: export fw status registers through sysfs
    mei: read and print all six FW status registers
    mei: txe: add cherrytrail device id
    mei: kill cached host and me csr values
    ...

    Linus Torvalds
     
  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

13 Dec, 2014

1 commit

  • Pull ARM updates from Russell King:
    "The major updates included in this update are:

    - Clang compatible stack pointer accesses by Behan Webster.
    - SA11x0 updates from Dmitry Eremin-Solenikov.
    - kgdb handling of breakpoints with read-only text/modules
    - Support for Privileged-no-execute feature on ARMv7 to prevent
    userspace code execution by the kernel.
    - AMBA primecell bus handling of irq-safe runtime PM
    - Unwinding support for memset/memzero/memmove/memcpy functions
    - VFP fixes for Krait CPUs and improvements in detecting the VFP
    architecture
    - A number of code cleanups (using pr_*, removing or reducing the
    severity of a couple of kernel messages, splitting ftrace asm code
    out to a separate file, etc.)
    - Add machine name to stack dump output"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (62 commits)
    ARM: 8247/2: pcmcia: sa1100: make use of device clock
    ARM: 8246/2: pcmcia: sa1111: provide device clock
    ARM: 8245/1: pcmcia: soc-common: enable/disable socket clocks
    ARM: 8244/1: fbdev: sa1100fb: make use of device clock
    ARM: 8243/1: sa1100: add a clock alias for sa1111 pcmcia device
    ARM: 8242/1: sa1100: add cpu clock
    ARM: 8221/1: PJ4: allow building in Thumb-2 mode
    ARM: 8234/1: sa1100: reorder IRQ handling code
    ARM: 8233/1: sa1100: switch to hwirq usage
    ARM: 8232/1: sa1100: merge GPIO multiplexer IRQ to "normal" irq domain
    ARM: 8231/1: sa1100: introduce irqdomains support
    ARM: 8230/1: sa1100: shift IRQs by one
    ARM: 8229/1: sa1100: replace irq numbers with names in irq driver
    ARM: 8228/1: sa1100: drop entry-macro.S
    ARM: 8227/1: sa1100: switch to MULTI_IRQ_HANDLER
    ARM: 8241/1: Update processor_modes for hyp and monitor mode
    ARM: 8240/1: MCPM: document mcpm_sync_init()
    ARM: 8239/1: Introduce {set,clear}_pte_bit
    ARM: 8238/1: mm: Refine set_memory_* functions
    ARM: 8237/1: fix flush_pfn_alias
    ...

    Linus Torvalds
     

11 Dec, 2014

1 commit

  • Pull ACPI and power management updates from Rafael Wysocki:
    "This time we have some more new material than we used to have during
    the last couple of development cycles.

    The most important part of it to me is the introduction of a unified
    interface for accessing device properties provided by platform
    firmware. It works with Device Trees and ACPI in a uniform way and
    drivers using it need not worry about where the properties come from
    as long as the platform firmware (either DT or ACPI) makes them
    available. It covers both devices and "bare" device node objects
    without struct device representation as that turns out to be necessary
    in some cases. This has been in the works for quite a few months (and
    development cycles) and has been approved by all of the relevant
    maintainers.

    On top of that, some drivers are switched over to the new interface
    (at25, leds-gpio, gpio_keys_polled) and some additional changes are
    made to the core GPIO subsystem to allow device drivers to manipulate
    GPIOs in the "canonical" way on platforms that provide GPIO
    information in their ACPI tables, but don't assign names to GPIO lines
    (in which case the driver needs to do that on the basis of what it
    knows about the device in question). That also has been approved by
    the GPIO core maintainers and the rfkill driver is now going to use
    it.

    Second is support for hardware P-states in the intel_pstate driver.
    It uses CPUID to detect whether or not the feature is supported by the
    processor in which case it will be enabled by default. However, it
    can be disabled entirely from the kernel command line if necessary.

    Next is support for a platform firmware interface based on ACPI
    operation regions used by the PMIC (Power Management Integrated
    Circuit) chips on the Intel Baytrail-T and Baytrail-T-CR platforms.
    That interface is used for manipulating power resources and for
    thermal management: sensor temperature reporting, trip point setting
    and so on.

    Also the ACPI core is now going to support the _DEP configuration
    information in a limited way. Basically, _DEP it supposed to reflect
    off-the-hierarchy dependencies between devices which may be very
    indirect, like when AML for one device accesses locations in an
    operation region handled by another device's driver (usually, the
    device depended on this way is a serial bus or GPIO controller). The
    support added this time is sufficient to make the ACPI battery driver
    work on Asus T100A, but it is general enough to be able to cover some
    other use cases in the future.

    Finally, we have a new cpufreq driver for the Loongson1B processor.

    In addition to the above, there are fixes and cleanups all over the
    place as usual and a traditional ACPICA update to a recent upstream
    release.

    As far as the fixes go, the ACPI LPSS (Low-power Subsystem) driver for
    Intel platforms should be able to handle power management of the DMA
    engine correctly, the cpufreq-dt driver should interact with the
    thermal subsystem in a better way and the ACPI backlight driver should
    handle some more corner cases, among other things.

    On top of the ACPICA update there are fixes for race conditions in the
    ACPICA's interrupt handling code which might lead to some random and
    strange looking failures on some systems.

    In the cleanups department the most visible part is the series of
    commits targeted at getting rid of the CONFIG_PM_RUNTIME configuration
    option. That was triggered by a discussion regarding the generic
    power domains code during which we realized that trying to support
    certain combinations of PM config options was painful and not really
    worth it, because nobody would use them in production anyway. For
    this reason, we decided to make CONFIG_PM_SLEEP select
    CONFIG_PM_RUNTIME and that lead to the conclusion that the latter
    became redundant and CONFIG_PM could be used instead of it. The
    material here makes that replacement in a major part of the tree, but
    there will be at least one more batch of that in the second part of
    the merge window.

    Specifics:

    - Support for retrieving device properties information from ACPI _DSD
    device configuration objects and a unified device properties
    interface for device drivers (and subsystems) on top of that. As
    stated above, this works with Device Trees and ACPI and allows
    device drivers to be written in a platform firmware (DT or ACPI)
    agnostic way. The at25, leds-gpio and gpio_keys_polled drivers are
    now going to use this new interface and the GPIO subsystem is
    additionally modified to allow device drivers to assign names to
    GPIO resources returned by ACPI _CRS objects (in case _DSD is not
    present or does not provide the expected data). The changes in
    this set are mostly from Mika Westerberg, Rafael J Wysocki, Aaron
    Lu, and Darren Hart with some fixes from others (Fabio Estevam,
    Geert Uytterhoeven).

    - Support for Hardware Managed Performance States (HWP) as described
    in Volume 3, section 14.4, of the Intel SDM in the intel_pstate
    driver. CPUID is used to detect whether or not the feature is
    supported by the processor. If supported, it will be enabled
    automatically unless the intel_pstate=no_hwp switch is present in
    the kernel command line. From Dirk Brandewie.

    - New Intel Broadwell-H ID for intel_pstate (Dirk Brandewie).

    - Support for firmware interface based on ACPI operation regions used
    by the PMIC chips on the Intel Baytrail-T and Baytrail-T-CR
    platforms for power resource control and thermal management (Aaron
    Lu).

    - Limited support for retrieving off-the-hierarchy dependencies
    between devices from ACPI _DEP device configuration objects and
    deferred probing support for the ACPI battery driver based on the
    _DEP information to make that driver work on Asus T100A (Lan
    Tianyu).

    - New cpufreq driver for the Loongson1B processor (Kelvin Cheung).

    - ACPICA update to upstream revision 20141107 which only affects
    tools (Bob Moore).

    - Fixes for race conditions in the ACPICA's interrupt handling code
    and in the ACPI code related to system suspend and resume (Lv Zheng
    and Rafael J Wysocki).

    - ACPI core fix for an RCU-related issue in the ioremap() regions
    management code that slowed down significantly after CPUs had been
    allowed to enter idle states even if they'd had RCU callbakcs
    queued and triggered some problems in certain proprietary graphics
    driver (and elsewhere). The fix replaces synchronize_rcu() in that
    code with synchronize_rcu_expedited() which makes the issue go
    away. From Konstantin Khlebnikov.

    - ACPI LPSS (Low-Power Subsystem) driver fix to handle power
    management of the DMA engine included into the LPSS correctly. The
    problem is that the DMA engine doesn't have ACPI PM support of its
    own and it simply is turned off when the last LPSS device having
    ACPI PM support goes into D3cold. To work around that, the PM
    domain used by the ACPI LPSS driver is redesigned so at least one
    device with ACPI PM support will be on as long as the DMA engine is
    in use. From Andy Shevchenko.

    - ACPI backlight driver fix to avoid using it on "Win8-compatible"
    systems where it doesn't work and where it was used by default by
    mistake (Aaron Lu).

    - Assorted minor ACPI core fixes and cleanups from Tomasz Nowicki,
    Sudeep Holla, Huang Rui, Hanjun Guo, Fabian Frederick, and Ashwin
    Chaugule (mostly related to the upcoming ARM64 support).

    - Intel RAPL (Running Average Power Limit) power capping driver fixes
    and improvements including new processor IDs (Jacob Pan).

    - Generic power domains modification to power up domains after
    attaching devices to them to meet the expectations of device
    drivers and bus types assuming devices to be accessible at probe
    time (Ulf Hansson).

    - Preliminary support for controlling device clocks from the generic
    power domains core code and modifications of the ARM/shmobile
    platform to use that feature (Ulf Hansson).

    - Assorted minor fixes and cleanups of the generic power domains core
    code (Ulf Hansson, Geert Uytterhoeven).

    - Assorted minor fixes and cleanups of the device clocks control code
    in the PM core (Geert Uytterhoeven, Grygorii Strashko).

    - Consolidation of device power management Kconfig options by making
    CONFIG_PM_SLEEP select CONFIG_PM_RUNTIME and removing the latter
    which is now redundant (Rafael J Wysocki and Kevin Hilman). That
    is the first batch of the changes needed for this purpose.

    - Core device runtime power management support code cleanup related
    to the execution of callbacks (Andrzej Hajda).

    - cpuidle ARM support improvements (Lorenzo Pieralisi).

    - cpuidle cleanup related to the CPUIDLE_FLAG_TIME_VALID flag and a
    new MAINTAINERS entry for ARM Exynos cpuidle (Daniel Lezcano and
    Bartlomiej Zolnierkiewicz).

    - New cpufreq driver callback (->ready) to be executed when the
    cpufreq core is ready to use a given policy object and cpufreq-dt
    driver modification to use that callback for cooling device
    registration (Viresh Kumar).

    - cpufreq core fixes and cleanups (Viresh Kumar, Vince Hsu, James
    Geboski, Tomeu Vizoso).

    - Assorted fixes and cleanups in the cpufreq-pcc, intel_pstate,
    cpufreq-dt, pxa2xx cpufreq drivers (Lenny Szubowicz, Ethan Zhao,
    Stefan Wahren, Petr Cvek).

    - OPP (Operating Performance Points) framework modification to allow
    OPPs to be removed too and update of a few cpufreq drivers
    (cpufreq-dt, exynos5440, imx6q, cpufreq) to remove OPPs (added
    during initialization) on driver removal (Viresh Kumar).

    - Hibernation core fixes and cleanups (Tina Ruchandani and Markus
    Elfring).

    - PM Kconfig fix related to CPU power management (Pankaj Dubey).

    - cpupower tool fix (Prarit Bhargava)"

    * tag 'pm+acpi-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (120 commits)
    i2c-omap / PM: Drop CONFIG_PM_RUNTIME from i2c-omap.c
    dmaengine / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    tools: cpupower: fix return checks for sysfs_get_idlestate_count()
    drivers: sh / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    e1000e / igb / PM: Eliminate CONFIG_PM_RUNTIME
    MMC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    MFD / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    media / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    input / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    leds: leds-gpio: Fix multiple instances registration without 'label' property
    iio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hsi / OMAP / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    i2c-hid / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    drm / exynos / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    gpio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hwrandom / exynos / PM: Use CONFIG_PM in #ifdef
    block / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    USB / PM: Drop CONFIG_PM_RUNTIME from the USB core
    PM: Merge the SET*_RUNTIME_PM_OPS() macros
    ...

    Linus Torvalds
     

04 Dec, 2014

1 commit

  • The SET_PM_RUNTIME_PM_OPS() and SET_RUNTIME_PM_OPS() macros are
    identical except that one of them is not empty for CONFIG_PM set,
    while the other one is not empty for CONFIG_PM_RUNTIME set,
    respectively.

    However, after commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if
    PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so one
    of these macros is now redundant.

    For this reason, replace SET_PM_RUNTIME_PM_OPS() with
    SET_RUNTIME_PM_OPS() everywhere and redefine the SET_PM_RUNTIME_PM_OPS
    symbol as SET_RUNTIME_PM_OPS in case new code is starting to use the
    macro being removed here.

    Reviewed-by: Ulf Hansson
    Acked-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki