08 Jun, 2016

13 commits

  • Add ACPI support for GPIO controller on Broadcom Vulcan ARM64.
    ACPI ID for this device is BRCM9006.

    Signed-off-by: Kamlakant Patel
    Signed-off-by: Linus Walleij

    Kamlakant Patel
     
  • irq_alloc_descs need not be called in case of Vulcan, where we use
    a dynamic IRQ range for GPIO interrupt numbers.

    Update code not to call irq_alloc_descs and pass 0 as irq_base in
    case of Vulcan.

    Signed-off-by: Kamlakant Patel
    Signed-off-by: Linus Walleij

    Kamlakant Patel
     
  • Since board support for the CLPS711X platform was removed,
    remove the board support from the driver.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Linus Walleij

    Alexander Shiyan
     
  • This patch changes the compatibility string to match with the smallest
    supported chip (EP7209). Since the DT-support for this CPU is not yet
    announced, this change is safe.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Linus Walleij

    Alexander Shiyan
     
  • This patch changes the compatibility string to match with the smallest
    supported chip (EP7209). Since the DT-support for this CPU is not yet
    announced, this change is safe.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Linus Walleij

    Alexander Shiyan
     
  • Add function to set multiple GPIO of the same chip at the same time
    and register it

    Signed-off-by: Iban Rodriguez
    Signed-off-by: Linus Walleij

    Iban Rodriguez
     
  • The commit 9b8e3ec34318 ("gpio: pca953x: Use correct u16 value for register
    word write") fixed regression in pca953x_write_regs(). At the same time the
    solution introduced a sparse warning:

    drivers/gpio/gpio-pca953x.c:168:39: warning: incorrect type in argument 3 (different base types)
    drivers/gpio/gpio-pca953x.c:168:39: expected unsigned short [unsigned] [usertype] value
    drivers/gpio/gpio-pca953x.c:168:39: got restricted __le16 [usertype]

    Fix the code by enforcing the type of i2c_smbus_write_word_data() parameter.

    Cc: Yong Li
    Cc: Phil Reid
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Andy Shevchenko
     
  • This symbols is not needed to get access to selecting the
    GPIOLIB anymore: any arch can select GPIOLIB.

    Cc: Michael Büsch
    Cc: Michal Simek
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This symbols is not needed to get access to selecting the
    GPIOLIB anymore: any arch can select GPIOLIB.

    Cc: Michael Büsch
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: linux-ia64@vger.kernel.org
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Replace "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB"
    as this can now be selected directly.

    Cc: Michael Büsch
    Cc: Guan Xuetao
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This replaces:

    - "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB" as this can
    now be selected directly.

    - "select ARCH_WANT_OPTIONAL_GPIOLIB" with no dependency: GPIOLIB
    is now selectable by everyone, so we need not declare our
    intent to select it.

    When ordering the symbols the following rationale was used:
    if the selects were in alphabetical order, I moved select GPIOLIB
    to be in alphabetical order, but if the selects were not
    maintained in alphabetical order, I just replaced
    "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB".

    Cc: Michael Büsch
    Cc: Yoshinori Sato
    Cc: Rich Felker
    Cc: linux-sh@vger.kernel.org
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This replaces:

    - "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB" as this can
    now be selected directly.

    - "select ARCH_WANT_OPTIONAL_GPIOLIB" with no dependency: GPIOLIB
    is now selectable by everyone, so we need not declare our
    intent to select it.

    When ordering the symbols the following rationale was used:
    if the selects were in alphabetical order, I moved select GPIOLIB
    to be in alphabetical order, but if the selects were not
    maintained in alphabetical order, I just replaced
    "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB".

    Cc: Michael Büsch
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Replace "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB"
    as this can now be selected directly.

    Cc: Michael Büsch
    Cc: Jonas Bonn
    Cc: linux@lists.openrisc.net
    Signed-off-by: Linus Walleij

    Linus Walleij
     

07 Jun, 2016

12 commits

  • Avoid a gpiochip_free() and use standard functions.

    Cc: John Crispin
    Cc: Pramod Gurav
    Cc: Martin Schiller
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • There are few redundant assignments of ret variable which is updated anyway.
    Remove them for good.

    While here, correct indentation of the constant definition and remove one empty
    line.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Andy Shevchenko
     
  • The symbol that will be selected when GPIO is implemented
    for Hexagon will be GPIOLIB, we have removed
    ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB.

    Cc: Michael Büsch
    Cc: Richard Kuo
    Cc: linux-hexagon@vger.kernel.org
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • The reset values for all the PCF lines are high and hence on
    shutdown we should drive all the lines high in order to
    bring it to the reset state.

    This is actually required since PCF doesn't have a reset
    line and even after warm reset (by invoking "reboot" in
    prompt) the PCF lines maintains it's previous programmed
    state. This becomes a problem if the boards are designed to
    work with the default initial state.

    DRA7XX_evm uses PCF8575 and one of the PCF output lines
    feeds to MMC/SD VDD and this line should be driven high in order
    for the MMC/SD to be detected. This line is modelled as
    regulator and the hsmmc driver takes care of enabling and
    disabling it. In the case of 'reboot', during shutdown path
    as part of it's cleanup process the hsmmc driver disables
    this regulator. This makes MMC *boot* not functional.

    Fix it by driving all the pcf lines high.

    This patch was sent long back
    (https://patchwork.ozlabs.org/patch/420382/)
    But there was a concern that contention might occur if the
    PCF shutdown handler is invoked before the shutdown handler
    of the PCF's consumers. In that case PCF shutdown handler can't
    drive all the pcf lines high without knowing if the PCF
    consumers are still active.

    However commit 52cdbdd4985 ("driver core: correct device's
    shutdown order") will make sure shutdown handler of PCF's
    consumers are invoked before invoking the shutdown
    handler of PCF. So it should be safe to merge this now.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Sekhar Nori
    Signed-off-by: Linus Walleij

    Kishon Vijay Abraham I
     
  • A platform_driver need not set an owner since it will be populated
    by platform_driver_register().
    Likewise for mcb_driver (gpio-menz127.c).

    Signed-off-by: Masahiro Yamada
    Acked-by: Charles Keepax
    Signed-off-by: Linus Walleij

    Masahiro Yamada
     
  • As the comment block of of_parse_phandle_with_fixed_args() says,
    the caller is responsible to call of_node_put() on the returned
    node when done.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Linus Walleij

    Masahiro Yamada
     
  • The MAX77620 have a GPIO pins which can act as open drain or
    push pull mode. Implement support for controlling this from GPIO
    descriptor tables or other hardware descriptions such as
    device tree by implementing the .set_single_ended() callback.

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Linus Walleij

    Laxman Dewangan
     
  • The GPIO sub modules of MAX77620 offers to configure the GPIO
    interrupt trigger level as RISING and FALLING edge.

    Pass this information to regmap-irg when registering for GPIO
    interrupts.

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Linus Walleij

    Laxman Dewangan
     
  • This implements the .get_direction() callback for the STMPE
    expander GPIO.

    Cc: Patrice Chotard
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • TI PCA9536 is 4-Bit I2C GPIO expander without interrupt support[1].
    Add support for the same.

    [1] TRM: http://www.ti.com/lit/ds/symlink/pca9536.pdf

    Signed-off-by: Vignesh R
    Acked-by: Rob Herring
    Signed-off-by: Linus Walleij

    Vignesh R
     
  • MAXIM Semiconductor's PMIC, MAX77620/MAX20024 has 8 GPIO
    pins. It also supports interrupts from these pins.

    Add GPIO driver for these pins to control via GPIO APIs.

    Signed-off-by: Laxman Dewangan
    Reviewed-by: Linus Walleij
    Signed-off-by: Linus Walleij

    Laxman Dewangan
     
  • Maxim Semiconductor's PMIC MAX77620/MAX20024 has 8 GPIO pins
    which act as GPIO as well as special function mode.

    Add DT binding document to support these pins in GPIO
    mode via GPIO framework.

    Signed-off-by: Laxman Dewangan
    Acked-by: Rob Herring
    Signed-off-by: Linus Walleij

    Laxman Dewangan
     

06 Jun, 2016

4 commits

  • Linus Torvalds
     
  • Pull parisc fixes from Helge Deller:

    - Fix printk time stamps on SMP systems which got wrong due to a patch
    which was added during the merge window

    - Fix two bugs in the stack backtrace code: Races in module unloading
    and possible invalid accesses to memory due to wrong instruction
    decoding (Mikulas Patocka)

    - Fix userspace crash when syscalls access invalid unaligned userspace
    addresses. Those syscalls will now return EFAULT as expected.
    (tagged for stable kernel series)

    * 'parisc-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Move die_if_kernel() prototype into traps.h header
    parisc: Fix pagefault crash in unaligned __get_user() call
    parisc: Fix printk time during boot
    parisc: Fix backtrace on PA-RISC

    Linus Torvalds
     
  • Pull key handling update from James Morris:
    "This alters a new keyctl function added in the current merge window to
    allow for a future extension planned for the next merge window"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    KEYS: Add placeholder for KDF usage with DH

    Linus Torvalds
     
  • The /dev/ptmx device node is changed to lookup the directory entry "pts"
    in the same directory as the /dev/ptmx device node was opened in. If
    there is a "pts" entry and that entry is a devpts filesystem /dev/ptmx
    uses that filesystem. Otherwise the open of /dev/ptmx fails.

    The DEVPTS_MULTIPLE_INSTANCES configuration option is removed, so that
    userspace can now safely depend on each mount of devpts creating a new
    instance of the filesystem.

    Each mount of devpts is now a separate and equal filesystem.

    Reserved ttys are now available to all instances of devpts where the
    mounter is in the initial mount namespace.

    A new vfs helper path_pts is introduced that finds a directory entry
    named "pts" in the directory of the passed in path, and changes the
    passed in path to point to it. The helper path_pts uses a function
    path_parent_directory that was factored out of follow_dotdot.

    In the implementation of devpts:
    - devpts_mnt is killed as it is no longer meaningful if all mounts of
    devpts are equal.
    - pts_sb_from_inode is replaced by just inode->i_sb as all cached
    inodes in the tty layer are now from the devpts filesystem.
    - devpts_add_ref is rolled into the new function devpts_ptmx. And the
    unnecessary inode hold is removed.
    - devpts_del_ref is renamed devpts_release and reduced to just a
    deacrivate_super.
    - The newinstance mount option continues to be accepted but is now
    ignored.

    In devpts_fs.h definitions for when !CONFIG_UNIX98_PTYS are removed as
    they are never used.

    Documentation/filesystems/devices.txt is updated to describe the current
    situation.

    This has been verified to work properly on openwrt-15.05, centos5,
    centos6, centos7, debian-6.0.2, debian-7.9, debian-8.2, ubuntu-14.04.3,
    ubuntu-15.10, fedora23, magia-5, mint-17.3, opensuse-42.1,
    slackware-14.1, gentoo-20151225 (13.0?), archlinux-2015-12-01. With the
    caveat that on centos6 and on slackware-14.1 that there wind up being
    two instances of the devpts filesystem mounted on /dev/pts, the lower
    copy does not end up getting used.

    Signed-off-by: "Eric W. Biederman"
    Cc: Greg KH
    Cc: Peter Hurley
    Cc: Peter Anvin
    Cc: Andy Lutomirski
    Cc: Al Viro
    Cc: Serge Hallyn
    Cc: Willy Tarreau
    Cc: Aurelien Jarno
    Cc: One Thousand Gnomes
    Cc: Jann Horn
    Cc: Jiri Slaby
    Cc: Florian Weimer
    Cc: Konstantin Khlebnikov
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

05 Jun, 2016

11 commits

  • Signed-off-by: Helge Deller

    Helge Deller
     
  • One of the debian buildd servers had this crash in the syslog without
    any other information:

    Unaligned handler failed, ret = -2
    clock_adjtime (pid 22578): Unaligned data reference (code 28)
    CPU: 1 PID: 22578 Comm: clock_adjtime Tainted: G E 4.5.0-2-parisc64-smp #1 Debian 4.5.4-1
    task: 000000007d9960f8 ti: 00000001bde7c000 task.ti: 00000001bde7c000

    YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
    PSW: 00001000000001001111100000001111 Tainted: G E
    r00-03 000000ff0804f80f 00000001bde7c2b0 00000000402d2be8 00000001bde7c2b0
    r04-07 00000000409e1fd0 00000000fa6f7fff 00000001bde7c148 00000000fa6f7fff
    r08-11 0000000000000000 00000000ffffffff 00000000fac9bb7b 000000000002b4d4
    r12-15 000000000015241c 000000000015242c 000000000000002d 00000000fac9bb7b
    r16-19 0000000000028800 0000000000000001 0000000000000070 00000001bde7c218
    r20-23 0000000000000000 00000001bde7c210 0000000000000002 0000000000000000
    r24-27 0000000000000000 0000000000000000 00000001bde7c148 00000000409e1fd0
    r28-31 0000000000000001 00000001bde7c320 00000001bde7c350 00000001bde7c218
    sr00-03 0000000001200000 0000000001200000 0000000000000000 0000000001200000
    sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000

    IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000402d2e84 00000000402d2e88
    IIR: 0ca0d089 ISR: 0000000001200000 IOR: 00000000fa6f7fff
    CPU: 1 CR30: 00000001bde7c000 CR31: ffffffffffffffff
    ORIG_R28: 00000002369fe628
    IAOQ[0]: compat_get_timex+0x2dc/0x3c0
    IAOQ[1]: compat_get_timex+0x2e0/0x3c0
    RP(r2): compat_get_timex+0x40/0x3c0
    Backtrace:
    [] compat_SyS_clock_adjtime+0x40/0xc0
    [] syscall_exit+0x0/0x14

    This means the userspace program clock_adjtime called the clock_adjtime()
    syscall and then crashed inside the compat_get_timex() function.
    Syscalls should never crash programs, but instead return EFAULT.

    The IIR register contains the executed instruction, which disassebles
    into "ldw 0(sr3,r5),r9".
    This load-word instruction is part of __get_user() which tried to read the word
    at %r5/IOR (0xfa6f7fff). This means the unaligned handler jumped in. The
    unaligned handler is able to emulate all ldw instructions, but it fails if it
    fails to read the source e.g. because of page fault.

    The following program reproduces the problem:

    #define _GNU_SOURCE
    #include
    #include
    #include

    int main(void) {
    /* allocate 8k */
    char *ptr = mmap(NULL, 2*4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
    /* free second half (upper 4k) and make it invalid. */
    munmap(ptr+4096, 4096);
    /* syscall where first int is unaligned and clobbers into invalid memory region */
    /* syscall should return EFAULT */
    return syscall(__NR_clock_adjtime, 0, ptr+4095);
    }

    To fix this issue we simply need to check if the faulting instruction address
    is in the exception fixup table when the unaligned handler failed. If it
    is, call the fixup routine instead of crashing.

    While looking at the unaligned handler I found another issue as well: The
    target register should not be modified if the handler was unsuccessful.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org

    Helge Deller
     
  • Avoid showing invalid printk time stamps during boot.

    Signed-off-by: Helge Deller
    Reviewed-by: Aaro Koskinen

    Helge Deller
     
  • This patch fixes backtrace on PA-RISC

    There were several problems:

    1) The code that decodes instructions handles instructions that subtract
    from the stack pointer incorrectly. If the instruction subtracts the
    number X from the stack pointer the code increases the frame size by
    (0x100000000-X). This results in invalid accesses to memory and
    recursive page faults.

    2) Because gcc reorders blocks, handling instructions that subtract from
    the frame pointer is incorrect. For example, this function
    int f(int a)
    {
    if (__builtin_expect(a, 1))
    return a;
    g();
    return a;
    }
    is compiled in such a way, that the code that decreases the stack
    pointer for the first "return a" is placed before the code for "g" call.
    If we recognize this decrement, we mistakenly believe that the frame
    size for the "g" call is zero.

    To fix problems 1) and 2), the patch doesn't recognize instructions that
    decrease the stack pointer at all. To further safeguard the unwind code
    against nonsense values, we don't allow frame size larger than
    Total_frame_size.

    3) The backtrace is not locked. If stack dump races with module unload,
    invalid table can be accessed.

    This patch adds a spinlock when processing module tables.

    Note, that for correct backtrace, you need recent binutils.
    Binutils 2.18 from Debian 5 produce garbage unwind tables.
    Binutils 2.21 work better (it sometimes forgets function frames, but at
    least it doesn't generate garbage).

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Helge Deller

    Mikulas Patocka
     
  • Pull drm fixes from Dave Airlie:
    "A bunch of ARM drivers got into the fixes vibe this time around, so
    this contains a bunch of fixes for imx, atmel hlcdc, arm hdlcd (only
    so many combos of hlcd), mediatek and omap drm.

    Other than that there is one mgag200 fix and a few core drm regression
    fixes"

    * tag 'drm-fixes-for-v4.7-rc2' of git://people.freedesktop.org/~airlied/linux: (34 commits)
    drm/omap: fix unused variable warning.
    drm: hdlcd: Add information about the underlying framebuffers in debugfs
    drm: hdlcd: Cleanup the atomic plane operations
    drm/hdlcd: Fix up crtc_state->event handling
    drm: hdlcd: Revamp runtime power management
    drm/mediatek: mtk_dsi: Remove spurious drm_connector_unregister
    drm/mediatek: mtk_dpi: remove invalid error message
    drm: atmel-hlcdc: fix a NULL check
    drm: atmel-hlcdc: fix atmel_hlcdc_crtc_reset() implementation
    drm/mgag200: Black screen fix for G200e rev 4
    drm: Wrap direct calls to driver->gem_free_object from CMA
    drm: fix fb refcount issue with atomic modesetting
    drm: make drm_atomic_set_mode_prop_for_crtc() more reliable
    drm/sti: remove extra mode fixup
    drm: add missing drm_mode_set_crtcinfo call
    drm/omap: include gpio/consumer.h where needed
    drm/omap: include linux/seq_file.h where needed
    Revert "drm/omap: no need to select OMAP2_DSS"
    drm/omap: Remove regulator API abuse
    OMAPDSS: HDMI5: Change DDC timings
    ...

    Linus Torvalds
     
  • Pull VFIO fixes from Alex Williamson:
    "Fix irqfd shutdown ordering, build warning, and VPD short read"

    * tag 'vfio-v4.7-rc2' of git://github.com/awilliam/linux-vfio:
    vfio/pci: Allow VPD short read
    vfio/type1: Fix build warning
    vfio/pci: Fix ordering of eventfd vs virqfd shutdown

    Linus Torvalds
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC core:
    - Fix/restore behaviour when selecting bus width for (e)MMC

    MMC host:
    - sunxi: Fix eMMC HS-DDR modes on Allwinner A80"

    * tag 'mmc-v4.7-rc1-2' of git://git.linaro.org/people/ulf.hansson/mmc:
    mmc: sunxi: Re-enable eMMC HS-DDR modes on Allwinner A80
    mmc: sunxi: Fix DDR MMC timings for A80
    mmc: fix mmc mode selection for HS-DDR and higher

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "The important part of this pull is Filipe's set of fixes for btrfs
    device replacement. Filipe fixed a few issues seen on the list and a
    number he found on his own"

    * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: deal with duplciates during extent_map insertion in btrfs_get_extent
    Btrfs: fix race between device replace and read repair
    Btrfs: fix race between device replace and discard
    Btrfs: fix race between device replace and chunk allocation
    Btrfs: fix race setting block group back to RW mode during device replace
    Btrfs: fix unprotected assignment of the left cursor for device replace
    Btrfs: fix race setting block group readonly during device replace
    Btrfs: fix race between device replace and block group removal
    Btrfs: fix race between readahead and device replace/removal

    Linus Torvalds
     
  • Pull Ceph fixes from Sage Weil:
    "We have a few follow-up fixes for the libceph refactor from Ilya, and
    then some cephfs + fscache fixes from Zheng.

    The first two FS-Cache patches are acked by David Howells and deemed
    trivial enough to go through our tree. The rest fix some issues with
    the ceph fscache handling (disable cache for inodes opened for write,
    and simplify the revalidation logic accordingly, dropping the
    now-unnecessary work queue)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    ceph: use i_version to check validity of fscache
    ceph: improve fscache revalidation
    ceph: disable fscache when inode is opened for write
    ceph: avoid unnecessary fscache invalidation/revlidation
    ceph: call __fscache_uncache_page() if readpages fails
    FS-Cache: make check_consistency callback return int
    FS-Cache: wake write waiter after invalidating writes
    libceph: use %s instead of %pE in dout()s
    libceph: put request only if it's done in handle_reply()
    libceph: change ceph_osdmap_flag() to take osdc

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "Two fixes for problems introduced recently (ACPICA and the ACPI
    backlight driver) and one fix for an older issue that prevents at
    least one system from booting.

    Specifics:

    - Fix an incorrect check introduced by recent ACPICA changes which
    causes problems with booting KVM guests to happen, among other
    things (Lv Zheng).

    - Fix a backlight issue introduced by recent changes to the ACPI
    video driver (Aaron Lu).

    - Fix the ACPI processor initialization which attempts to register an
    IO region without checking if that really is necessary and
    sometimes prevents drivers loaded subsequently from registering
    their resources which leads to boot issues (Rafael Wysocki)"

    * tag 'acpi-4.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / processor: Avoid reserving IO regions too early
    ACPICA / Hardware: Fix old register check in acpi_hw_get_access_bit_width()
    ACPI / Thermal / video: fix max_level incorrect value

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "Two fixes for problems introduced recently in the cpufreq core and the
    intel_pstate driver.

    Specifics:

    - Fix a silly mistake related to the clamp_val() usage in a function
    added by a recent commit (Rafael Wysocki).

    - Reduce the log level of an annoying message added to intel_pstate
    during the recent merge window (Srinivas Pandruvada)"

    * tag 'pm-4.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: Fix clamp_val() usage in cpufreq_driver_fast_switch()
    cpufreq: intel_pstate: Downgrade print level for _PPC

    Linus Torvalds