Skip to content

Commit

Permalink
linux-next
Browse files Browse the repository at this point in the history
GIT c00d5a6ebd165ac9708dd76514ce7cd437714ec4

commit e3d8ecb70e16412b14fb11c1b68ecb533bd4ea64
Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date:   Mon May 11 15:57:31 2015 +0200

    netns: return RTM_NEWNSID instead of RTM_GETNSID on a get
    
    Usually, RTM_NEWxxx is returned on a get (same as a dump).
    
    Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids")
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ff284f37fc0e6f3b51ede85c5944d571b640ac0f
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Wed May 13 00:44:14 2015 +0200

    Revert "ACPICA: Permanently set _REV to the value '2'."
    
    Revert commit b1ef29725865 (ACPICA: Permanently set _REV to the value
    '2'.) as it causes a sound regression to happen on Dell XPS 13 (2015).
    
    Reported-by: Dominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

commit 4ceec22d6d89360ff7ebbf53dd3ab4e29e3d8a09
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:09 2015 -0700

    switchdev: bring documentation up-to-date
    
    Much need updated of switchdev documentation to cover what's been
    implmented to-date.  There are some XXX comments in the text for
    unimplemented or broken items.  I'd like to keep these in there (poor-man's
    TODO list) and update the document once each issue is resolved.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4725ceb9b70115b210a01d73318ce4430e4f0125
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:08 2015 -0700

    rocker: make checkpatch -f clean
    
    Well almost clean: ignore the CHECKs for space after cast operator and some
    longer-than-80 char cases where for readability it's better to keep as-is.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7889cbee8357aaed85898d028829dfb4f75bae2c
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:07 2015 -0700

    switchdev: remove NETIF_F_HW_SWITCH_OFFLOAD feature flag
    
    Roopa said remove the feature flag for this series and she'll work on
    bringing it back if needed at a later date.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 58c2cb16b116d7feace621bd6b647bbabacfa225
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:06 2015 -0700

    switchdev: convert fib_ipv4_add/del over to switchdev_port_obj_add/del
    
    The IPv4 FIB ops convert nicely to the switchdev objs and we're left with
    only four switchdev ops: port get/set and port add/del.  Other objs will
    follow, such as FDB.  So go ahead and convert IPv4 FIB over to switchdev
    obj for consistency, anticipating more objs to come.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 85fdb956726ff2af609e2f6ea7be781e4db74a07
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:05 2015 -0700

    switchdev: cut over to new switchdev_port_bridge_getlink
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8793d0a664a8a2c5e18e929c1f995c784c105705
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:04 2015 -0700

    switchdev: add new switchdev_port_bridge_getlink
    
    Like bridge_setlink, add switchdev wrapper to handle bridge_getlink and
    call into port driver to get port attrs.  For now, only BR_LEARNING and
    BR_LEARNING_SYNC are returned.  To add more, we'll probably want to break
    away from ndo_dflt_bridge_getlink() and build the netlink skb directly in
    the switchdev code.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8508025c598bdee33d9afa153e9c00c7771e7d63
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:03 2015 -0700

    bridge: revert br_dellink change back to original
    
    This is revert of:
    
    commit 68e331c785b8 ("bridge: offload bridge port attributes to switch asic
    if feature flag set")
    
    Restore br_dellink back to original and don't call into SELF port driver.
    rtnetlink.c:bridge_dellink() already does a call into port driver for SELF.
    
    bridge vlan add/del cmd defaults to MASTER.  From man page for bridge vlan
    add/del cmd:
    
           self   the vlan is configured on the specified physical device.
                  Required if the device is the bridge device.
    
           master the vlan is configured on the software bridge (default).
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 87a5dae59e7abaad911ab719caa5548dd6df5557
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:02 2015 -0700

    switchdev: remove unused switchdev_port_bridge_dellink
    
    Now we can remove old wrappers for dellink.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 54ba5a0bbc739ae77a217d7340149e6f35934c4b
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:01 2015 -0700

    switchdev: cut over to new switchdev_port_bridge_dellink
    
    Rocker, bonding and team and switch over to the new
    switchdev_port_bridge_dellink to avoid duplicating code in each driver.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5c34e0221423aeabc0b085adc5fccda3f91e2c49
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:48:00 2015 -0700

    switchdev: add new switchdev_port_bridge_dellink
    
    Same change as setlink.  Provide the wrapper op for SELF ndo_bridge_dellink
    and call into the switchdev driver to delete afspec VLANs.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 41c498b9359e360f08723b7605ec0c40926ec415
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:59 2015 -0700

    bridge: restore br_setlink back to original
    
    This is revert of:
    
    commit 68e331c785b8 ("bridge: offload bridge port attributes to switch asic
    if feature flag set")
    
    Restore br_setlink back to original and don't call into SELF port driver.
    rtnetlink.c:bridge_setlink() already does a call into port driver for SELF.
    
    bridge set link cmd defaults to MASTER.  From man page for bridge link set
    cmd:
    
           self   link setting is configured on specified physical device
    
           master link setting is configured on the software bridge (default)
    
    The link setting has two values: the device-side value and the software
    bridge-side value.  These are independent and settable using the bridge
    link set cmd by specifying some combination of [master] | [self].
    Furthermore, the device-side and bridge-side settings have their own
    initial value, viewable from bridge -d link show cmd.
    
    Restoring br_setlink back to original makes rocker (the only in-kernel user
    of SELF link settings) work as first implement: two-sided values.
    
    It's true that when both MASTER and SELF are specified from the command,
    two netlink notifications are generated, one for each side of the settings.
    The user-space app can distiquish between the two notifications by
    observing the MASTER or SELF flag.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e71f220b342d78cfb8ee9f1b60f1351f7183f2a5
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:58 2015 -0700

    switchdev: remove old switchdev_port_bridge_setlink
    
    New attr-based bridge_setlink can recurse lower devs and recover on err, so
    remove old wrapper (including ndo_dflt_switchdev_port_bridge_setlink).
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fc8f40d8644f15f0fd5fbc49012802a00f36ad55
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:57 2015 -0700

    switchdev: cut over to new switchdev_port_bridge_setlink
    
    Rocker, bonding, and team can now use the switchdev bridge setlink to parse
    raw netlink; no need to duplicate this code in each driver.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 47f8328bb1a4115413e35b9b20d04b061ed544f8
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:56 2015 -0700

    switchdev: add new switchdev bridge setlink
    
    Add new switchdev_port_bridge_setlink that can be used by drivers
    implementing .ndo_bridge_setlink to set switchdev bridge attributes.
    Basically turn the raw rtnl_bridge_setlink netlink into switchdev attr
    sets.  Proper netlink attr policy checking is done on the protinfo part of
    the netlink msg.
    
    Currently, for protinfo, only bridge port attrs BR_LEARNING and
    BR_LEARNING_SYNC are parsed and passed to port driver.
    
    For afspec, VLAN objs are passed so switchdev driver can set VLANs assigned
    to SELF.  To illustrate with iproute2 cmd, we have:
    
    	bridge vlan add vid 10 dev sw1p1 self master
    
    To add VLAN 10 to port sw1p1 for both the bridge (master) and the device
    (self).
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6004c86718998aee1337efd3b087d6e17284632d
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:55 2015 -0700

    switchdev: add bridge port flags attr
    
    rocker: use switchdev get/set attr for bridge port flags
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9228ad26abeec99caf139e6d641e0199c95fd677
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:54 2015 -0700

    rocker: use switchdev add/del obj for bridge port vlans
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6fc3016da7c1587aa59e71f8c4dbc4cf1343eab2
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:53 2015 -0700

    switchdev: add port vlan obj
    
    VLAN obj has flags (PVID and untagged) as well as start and end vid ranges.
    The switchdev driver can optimize programing the device using the ranges.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 491d0f1533ac750260406dbf84cdad44fd3d8a29
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:52 2015 -0700

    switchdev: introduce switchdev add/del obj ops
    
    Like switchdev attr get/set, add new switchdev obj add/del.  switchdev objs
    will be things like VLANs or FIB entries, so add/del fits better for
    objects than get/set used for attributes.
    
    Use same two-phase prepare-commit transaction model as in attr set.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3563606258cf3b8f02eabddb1cb45a94c44d9611
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:51 2015 -0700

    switchdev: convert STP update to switchdev attr set
    
    STP update is just a settable port attribute, so convert
    switchdev_port_stp_update to an attr set.
    
    For DSA, the prepare phase is skipped and STP updates are only done in the
    commit phase.  This is because currently the DSA drivers don't need to
    allocate any memory for STP updates and the STP update will not fail to HW
    (unless something horrible goes wrong on the MDIO bus, in which case the
    prepare phase wouldn't have been able to predict anyway).
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c4f20321d9680760a291991d77bc5b6d0eb2ed78
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:50 2015 -0700

    rocker: support prepare-commit transaction model
    
    For rocker, support prepare-commit transaction model for setting attributes
    (and for adding objects).  This requires rocker to preallocate memory
    needed for the commit up front in the prepare phase.  Since rtnl_lock is
    held between prepare-commit, store the allocated memory on a queue hanging
    off of the rocker_port.  Also, in prepare phase, do everything right up to
    calling into HW.  The same code paths are tranversed in the driver for both
    prepare and commit phases.  In some cases, any state modified in the
    prepare phase must be reverted before returning so the commit phase makes
    the same decisions.
    
    As a consequence of holding rtnl_lock in process context for all attr sets
    (and obj adds), all memory is GFP_KERNEL allocated and we don't need to
    busy spin waiting for the device to complete the command.  So the bulk of
    this patch is simplifying the memory allocations to only use GFP_KERNEL and
    to remove the nowait flag and busy spin loop.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f8e20a9f87d33865cc1d67f13da0db8d457fc3c9
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:49 2015 -0700

    switchdev: convert parent_id_get to switchdev attr get
    
    Switch ID is just a gettable port attribute.  Convert switchdev op
    switchdev_parent_id_get to a switchdev attr.
    
    Note: for sysfs and netlink interfaces, SWITCHDEV_ATTR_PORT_PARENT_ID is
    called with SWITCHDEV_F_NO_RECUSE to limit switch ID user-visiblity to only
    port netdevs.  So when a port is stacked under bond/bridge, the user can
    only query switch id via the switch ports, but not via the upper devices
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3094333d9089d43e8b8f0418676fa6ae06c27b51
Author: Scott Feldman <sfeldma@gmail.com>
Date:   Sun May 10 09:47:48 2015 -0700

    switchdev: introduce get/set attrs ops
    
    Add two new swdev ops for get/set switch port attributes.  Most swdev
    interactions on a port are gets or sets on port attributes, so rather than
    adding ops for each attribute, let's define clean get/set ops for all
    attributes, and then we can have clear, consistent rules on how attributes
    propagate on stacked devs.
    
    Add the basic algorithms for get/set attr ops.  Use the same recusive algo
    to walk lower devs we've used for STP updates, for example.  For get,
    compare attr value for each lower dev and only return success if attr
    values match across all lower devs.  For sets, set the same attr value for
    all lower devs.  We'll use a two-phase prepare-commit transaction model for
    sets.  In the first phase, the driver(s) are asked if attr set is OK.  If
    all OK, the commit attr set in second phase.  A driver would NACK the
    prepare phase if it can't set the attr due to lack of resources or support,
    within it's control.  RTNL lock must be held across both phases because
    we'll recurse all lower devs first in prepare phase, and then recurse all
    lower devs again in commit phase.  If any lower dev fails the prepare
    phase, we need to abort the transaction for all lower devs.
    
    If lower dev recusion isn't desired, allow a flag SWITCHDEV_F_NO_RECURSE to
    indicate get/set only work on port (lowest) device.
    
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9d47c0a2d958e06322c88245749278633d333cca
Author: Jiri Pirko <jiri@resnulli.us>
Date:   Sun May 10 09:47:47 2015 -0700

    switchdev: s/swdev_/switchdev_/
    
    Turned out that "switchdev" sticks. So just unify all related terms to use
    this prefix.
    
    Signed-off-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
    Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ebb9a03a590e2325f747be43c8db450e92509501
Author: Jiri Pirko <jiri@resnulli.us>
Date:   Sun May 10 09:47:46 2015 -0700

    switchdev: s/netdev_switch_/switchdev_/ and s/NETDEV_SWITCH_/SWITCHDEV_/
    
    Turned out that "switchdev" sticks. So just unify all related terms to use
    this prefix.
    
    Signed-off-by: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: Scott Feldman <sfeldma@gmail.com>
    Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
    Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a3eb95f891d6130b1fc03dd07a8b54cf0a5c8ab8
Author: David Ward <david.ward@ll.mit.edu>
Date:   Sat May 9 22:01:46 2015 -0400

    net_sched: gred: add TCA_GRED_LIMIT attribute
    
    In a GRED qdisc, if the default "virtual queue" (VQ) does not have drop
    parameters configured, then packets for the default VQ are not subjected
    to RED and are only dropped if the queue is larger than the net_device's
    tx_queue_len. This behavior is useful for WRED mode, since these packets
    will still influence the calculated average queue length and (therefore)
    the drop probability for all of the other VQs. However, for some drivers
    tx_queue_len is zero. In other cases the user may wish to make the limit
    the same for all VQs (including the default VQ with no drop parameters).
    
    This change adds a TCA_GRED_LIMIT attribute to set the GRED queue limit,
    in bytes, during qdisc setup. (This limit is in bytes to be consistent
    with the drop parameters.) The default limit is the same as for a bfifo
    queue (tx_queue_len * psched_mtu). If the drop parameters of any VQ are
    configured with a smaller limit than the GRED queue limit, that VQ will
    still observe the smaller limit instead.
    
    Signed-off-by: David Ward <david.ward@ll.mit.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 24e737c1ebacf0a19cb1d2671949de12b3361f4d
Author: Nicolas Schichan <nschichan@freebox.fr>
Date:   Thu May 7 15:00:13 2015 +0200

    ARM: net: add JIT support for loads from struct seccomp_data.
    
    Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 27b6952fda71768fa7ffe17a3fe88cf124f32ad7
Author: Joshua Kinard <kumba@gentoo.org>
Date:   Sun Apr 19 21:45:25 2015 -0400

    MIPS: IP32: Fix build errors in reset code in DS1685 platform hook.
    
    Fix two build errors in reset code introduced in DS1685 platform hook patch.
    
    Signed-off-by: Joshua Kinard <kumba@gentoo.org>
    Fixes: 15beb694c661: "mips: ip32: add platform data hooks to use DS1685 driver"
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: LKML <linux-kernel@vger.kernel.org>
    Cc: rtc-linux@googlegroups.com
    Cc: Linux MIPS List <linux-mips@linux-mips.org>
    Patchwork: https://patchwork.linux-mips.org/patch/9787/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 5f508c43a7648baa892528922402f1e13f258bd4
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Fri May 8 17:38:52 2015 +0200

    MIPS: KVM: Fix unused variable build warning
    
    As kvm_mips_complete_mmio_load() did not yet modify PC at this point
    as James Hogans <james.hogan@imgtec.com> explained the curr_pc variable
    and the comments along with it can be dropped.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Link: http://lkml.org/lkml/2015/5/8/422
    Cc: Gleb Natapov <gleb@kernel.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: kvm@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9993/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 207c505c6a2771e0a16d478b9b52b0a839437e29
Author: Petri Gynther <pgynther@google.com>
Date:   Fri May 8 15:10:10 2015 -0700

    MIPS: traps: print Exception Code in __show_regs()
    
    Print Exception Code when printing the Cause register.
    
    Signed-off-by: Petri Gynther <pgynther@google.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9998/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 2d2ec2f7c9560aa12417e5d8c26fe159cfdd3827
Author: Petri Gynther <pgynther@google.com>
Date:   Fri May 8 15:10:00 2015 -0700

    MIPS: traps: remove extra Tainted: line from __show_regs() output
    
    __show_regs() calls show_regs_print_info(), which already outputs
    the Tainted: information. So, no need to output it twice.
    
    Signed-off-by: Petri Gynther <pgynther@google.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9997/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 73d8f99ce42c7da97822faed6aa14578a708b19d
Author: Aaro Koskinen <aaro.koskinen@iki.fi>
Date:   Mon May 11 23:37:05 2015 +0300

    MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1
    
    GCC 5.1 defines __REGISTER_PREFIX__ to $. This will break sparse
    command line (and build fails with: /bin/sh: syntax error:
    unexpected "(") since make tries to expand starting with the dollar
    sign with a make variable. Prevent that by using double dollar sign.
    
    Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10025/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit c6d94e9354139e8a0ef3bd3286b2a5ac30f8f6aa
Author: Rafał Miłecki <zajec5@gmail.com>
Date:   Tue May 12 13:05:18 2015 +0200

    MIPS: BCM47xx: Read board info for all bcma buses
    
    Extra bcma buses may be totally different models, see following dump:
    boardtype=0x0646
    pci/1/1/boardtype=0x0545
    pci/2/1/boardtype=0x62b
    We need to detect them properly to allow drivers apply some board
    specific hacks.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Patchwork: https://patchwork.linux-mips.org/patch/10028/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit f391caa84c3cd09be9012bc5d383235a854ce646
Author: Rafał Miłecki <zajec5@gmail.com>
Date:   Tue May 12 11:54:48 2015 +0200

    MIPS: BCM47xx: Extract info about et2 interface
    
    New devices may have more than 1 Ethernet core (device). We should
    extract info about them to make it available to Ethernet drivers.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Cc: Hante Meuleman <meuleman@broadcom.com>
    Cc: Ian Kent <raven@themaw.net>
    Patchwork: https://patchwork.linux-mips.org/patch/10027/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit b7be0a04d0457f7fec7abcf0149b8ce5c56bad7e
Author: Rafał Miłecki <zajec5@gmail.com>
Date:   Tue May 12 11:31:02 2015 +0200

    MIPS: BCM47xx: Extract all boardflags to new u32 fields
    
    For years we planned to get rid of old u16 fields, let's start doing it
    with MIPS code. This process will take some time, it requires doing the
    same in ssb/bcma and then switching all drivers to new fields. This will
    be handled in separated patches submitted to appropriate trees.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Patchwork: https://patchwork.linux-mips.org/patch/10026/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 03dce595270f22d59a6f37e9170287c1afd94bc2
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date:   Tue May 12 15:20:57 2015 +0100

    MIPS: Fix a preemption issue with thread's FPU defaults
    
    Fix "BUG: using smp_processor_id() in preemptible" reported in accesses
    to thread's FPU defaults: the value to initialise FSCR to at program
    startup, the FCSR r/w mask and the contents of FIR in full FPU
    emulation, removing a regression introduced with 9b26616c [MIPS: Respect
    the ISA level in FCSR handling] and f6843626 [MIPS: math-emu: Set FIR
    feature flags for full emulation].
    
    Use `boot_cpu_data' to obtain the data from, following the approach that
    `cpu_has_*' macros take and avoiding the call to `smp_processor_id' made
    in the reference to `current_cpu_data'.  The contents of FSCR have to be
    consistent across processors in an SMP system, the settings there must
    not change as a thread is migrated across processors.  And the contents
    of FIR are guaranteed to be consistent in FPU emulation, by definition.
    
    Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
    Tested-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
    Tested-by: Paul Martin <paul.martin@codethink.co.uk>
    Cc: Markos Chandras <Markos.Chandras@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10030/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit 28837bc3e732610ebc7c88ce205dbe43245b1cb8
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue May 12 23:03:16 2015 +0200

    arm-soc: document merges
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit 45e8a10a15b2a99ba046b6d4d85603e8b59b7e62
Author: Rafał Miłecki <zajec5@gmail.com>
Date:   Tue May 12 18:46:12 2015 +0200

    MIPS: BCM47XX: Simplify function looking for NVRAM entry
    
    First of all it shouldn't modify copied NVRAM just to make sure it can
    loop over all entries. It's enough to just compare current position
    pointer with the end of buffer address.
    Secondly buffer is guaranteed to be \0 ended, so we don't need strnchr.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Cc: Hante Meuleman <meuleman@broadcom.com>
    Cc: Ian Kent <raven@themaw.net>
    Patchwork: https://patchwork.linux-mips.org/patch/10032/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit ee59b98bb1821e2234453e48218dff5ae28fe55c
Author: Rafał Miłecki <zajec5@gmail.com>
Date:   Tue May 12 18:46:11 2015 +0200

    MIPS: BCM47XX: Make sure NVRAM buffer ends with \0
    
    This will simplify reading its contents.
    
    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Cc: Hante Meuleman <meuleman@broadcom.com>
    Cc: Ian Kent <raven@themaw.net>
    Patchwork: https://patchwork.linux-mips.org/patch/10031/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

commit f6505fbabc426b9e293da5bb702ace2eb1ccf87d
Author: Feng Kan <fkan@apm.com>
Date:   Fri Apr 24 15:17:50 2015 -0700

    i2c: add SLIMpro I2C device driver on APM X-Gene platform
    
    Add SLIMpro I2C device driver on APM X-Gene platform. This I2C
    device driver use the SLIMpro Mailbox driver to tunnel message to
    the SLIMpro coprocessor to do the work of accessing I2C components.
    
    Signed-off-by: Feng Kan <fkan@apm.com>
    Signed-off-by: Hieu Le <hnle@apm.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 7b57472fb6cbd87a8b10209897636df3c7bff087
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon May 11 12:06:38 2015 +0200

    ARM: multi_v7_defconfig: enable asm and NEON accelerated crypto modules
    
    Enable all drivers under CONFIG_ARM_CRYPTO as modules. Enable
    CONFIG_KERNEL_MODE_NEON as well so that the modules that either
    contain a NEON alternative or consist solely of a NEON (or ARMv8
    crypto extensions) accelerated implementation are enabled fully as
    well.
    
    Note that the ARMv8 modules will only be built if the detected
    toolchain version is recent enough (binutils 2.23 or higher).
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit d045c77c1a69703143a36169c224429c48b9eecd
Author: Helge Deller <deller@gmx.de>
Date:   Mon May 11 22:01:27 2015 +0200

    parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures
    
    On architectures where the stack grows upwards (CONFIG_STACK_GROWSUP=y,
    currently parisc and metag only) stack randomization sometimes leads to crashes
    when the stack ulimit is set to lower values than STACK_RND_MASK (which is 8 MB
    by default if not defined in arch-specific headers).
    
    The problem is, that when the stack vm_area_struct is set up in fs/exec.c, the
    additional space needed for the stack randomization (as defined by the value of
    STACK_RND_MASK) was not taken into account yet and as such, when the stack
    randomization code added a random offset to the stack start, the stack
    effectively got smaller than what the user defined via rlimit_max(RLIMIT_STACK)
    which then sometimes leads to out-of-stack situations and crashes.
    
    This patch fixes it by adding the maximum possible amount of memory (based on
    STACK_RND_MASK) which theoretically could be added by the stack randomization
    code to the initial stack size. That way, the user-defined stack size is always
    guaranteed to be at minimum what is defined via rlimit_max(RLIMIT_STACK).
    
    This bug is currently not visible on the metag architecture, because on metag
    STACK_RND_MASK is defined to 0 which effectively disables stack randomization.
    
    The changes to fs/exec.c are inside an "#ifdef CONFIG_STACK_GROWSUP"
    section, so it does not affect other platformws beside those where the
    stack grows upwards (parisc and metag).
    
    Signed-off-by: Helge Deller <deller@gmx.de>
    Cc: linux-parisc@vger.kernel.org
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: linux-metag@vger.kernel.org
    Cc: stable@vger.kernel.org # v3.16+

commit ddcad7e9068ebc6526728df1f34f1dde4b7dbbab
Author: Michael Welling <mwelling@ieee.org>
Date:   Tue May 12 12:38:57 2015 -0500

    spi: omap2-mcspi: Fix native cs with new set_cs
    
    GPIO chip select patch series appears to have broken the native chip select
    support. This patch pulls the manual native chip select toggling out of
    the transfer_one routine and adds a set_cs routine.
    
    Tested natively on AM3354 with SPI serial flash on spi0cs0.
    
    Reported-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Michael Welling <mwelling@ieee.org>
    Tested-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 9dcb0e7b999db6c420c70fd32497a979a044fcdf
Author: Felipe Balbi <balbi@ti.com>
Date:   Wed May 6 11:50:27 2015 -0500

    i2c: omap: implement bus recovery
    
    implement bus recovery methods for i2c-omap
    so we can recover from situations where SCL/SDA
    are stuck low.
    
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 7a8c78675f3c81760cde8ef31a9fcb0cb9ace231
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:21 2015 +0800

    ASoC: wm8960: add 32 bit word length support
    
    According to referance manual, right justify mode can't
    support 32 bit word length.
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 0e50b51aa22fea0b6762f9d932541ec6f922928f
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:08 2015 +0800

    ASoC: wm8960: Let wm8960 driver configure its bit clock and frame clock
    
    wm8960 codec driver missing configure its bit clock and frame clock for codec
    master mode, so add support for it. It will calculate a appropriate frequency
    dividing ratio according to the system clock, bit clock and frame clock, then
    set the corresponding registers.
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 17fc2e0a3db11889e942c5ab15a1fcb876638f25
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:50 2015 +0800

    ASoC: wm8994: correct BCLK DIV 348 to 384
    
    According to the RM of wm8958, BCLK DIV 348 doesn't exist, correct it
    to 384.
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org

commit 85e36a1f4a735d991ba5106781ea48e89a0b8901
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:36 2015 +0800

    ASoC: wm8960: fix "RINPUT3" audio route error
    
    It should be "RINPUT3" instead of "LINPUT3" route to "Right Input
    Mixer".
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org

commit 05a9b46a718f664fce5d236abe72bffb8200d616
Author: John Lin <john.lin@realtek.com>
Date:   Tue May 12 20:43:05 2015 +0800

    ASoC: rt5645: fix jack type detect error
    
    rt5645_jack_detect doesn't report the correct jack type consistently.
    It mistakes OMTP type headset to CTIA type in particular HW design.
    Register changes are needed for this issue. This patch can make it
    more stable.
    
    Signed-off-by: John Lin <john.lin@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit b7f22478c01dbb44545f7b8192a6111d5e992a59
Author: John Lin <john.lin@realtek.com>
Date:   Tue May 12 20:43:04 2015 +0800

    ASoC: rt5645: fix IRQ error in jack detection
    
    IRQ of jack and button detection is abnormal if "LDO2" and
    "Mic Det Power" power disable in rt5645_jack_detect.
    This patch make these two power keep enabled until jack out.
    
    Signed-off-by: John Lin <john.lin@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 47ba5bb295431c7d2bd0e48b63b4cdce600248d3
Author: John Lin <john.lin@realtek.com>
Date:   Tue May 12 20:43:03 2015 +0800

    ASoC: rt5645: remove unnecessary power in JD function
    
    The power of "micbias1" and "micbias2" are unnecessary for jack detection.
    So, we remove it in rt5645_set_jack_detect function.
    
    Signed-off-by: John Lin <john.lin@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit d12d6c4ef252dd2c40786860c859ab09e0311857
Author: John Lin <john.lin@realtek.com>
Date:   Tue May 12 20:43:02 2015 +0800

    ASoC: rt5645: improve headphone depop function
    
    We add a calibration function and call it at the beginning of i2c_probe.
    The calibration value will be kept until codec is shutdown. We will reset
    the codec after the calibration is finished. So, we set cache_bypass in
    the calibration function. The benefit is we can shorter the delay time
    in headphone depop.
    
    We also change the register setting in the depop sequence which will
    reduce the pop noise in headphone playback.
    
    Signed-off-by: John Lin <john.lin@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 908f47190584c400357a8f9c1482d9ef0ceea8fe
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon May 11 13:55:47 2015 -0700

    rcutorture: Allow repetition factors in Kconfig-fragment lists
    
    Although it is currently possible to run the same test in parallel,
    '--config "TINY01 TINY01 TINY01"' can get a bit verbose, especially
    if you want to run 48 instances of TINY01 in parallel.  This commit
    therefore allows prefixing the Kconfig fragment with a repeat count,
    for example, '--config "48*TINY01"' to run 48 instances in parallel.
    At least assuming that you have 48 CPUs and also gave '--cpus 48'.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 24b18006e763ca6ad807c77ef4c6707c32b001d1
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Apr 23 12:55:54 2015 -0700

    rcutorture: Display "make oldconfig" errors
    
    The current rcutorture scripting fails to dump out errors from
    "make oldconfig", so this commit addresses this issue.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 30ad6624ccb82d2e0367b9e86468948faa6743bd
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Wed Apr 22 07:20:51 2015 -0700

    rcutorture: Update TREE_RCU-kconfig.txt
    
    This commit updates TREE_RCU-kconfig.txt to reflect changes in RCU's
    Kconfig setup.  This commit also updates rcutorture's Kconfig fragments
    to account for Kconfig parameters that are now driven directly off of
    other Kconfig parameters.
    
    Reported-by: Pranith Kumar <bobby.prani@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit f543280228cbbe9cda8f683edb5ef906e235eaf9
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 12:36:10 2015 -0700

    rcutorture: Make rcutorture scripts force RCU_EXPERT
    
    This commit causes the rcutorture scripts to force RCU_EXPERT so that
    these scripts can cause rcutorture to torture RCU in the various required
    configurations.  However, SRCU-P, TASKS03, and TREE09 retain !RCU_EXPERT
    in order to ensure testing of the vanilla configuration.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 5631a4bb5261eee3d2191adca52ea7e87bea6c6b
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 10:41:13 2015 -0700

    rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact
    
    This commit updates rcutortures configuration-fragment files to account
    for the move from the CONFIG_RCU_FANOUT_EXACT Kconfig parameter to the
    new rcutree.rcu_fanout_exact= boot parameter.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit ca638da52218068f958484c644d409fdf40c39e5
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 06:12:16 2015 -0700

    rcutorture: TASKS_RCU set directly, so don't explicitly set it
    
    The TASKS01, TASKS02, and TASKS03 rcutorture config fragments currently
    set CONFIG_TASKS_RCU.  However, now that the value of this Kconfig
    parameter is set via "select" statements, it is no longer necessary to
    set it explicitly.  This commit therefore removes it from the Kconfig
    fragments.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 93beaff5843b91d5c6251276c0306fdbddd11cdc
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Apr 14 12:28:22 2015 -0700

    rcutorture: Test SRCU cleanup code path
    
    The current rcutorture testing does not do any cleanup operations.
    This works because the srcu_struct is statically allocated, but it
    does represent a memory leak of the associated dynamically allocated
    ->per_cpu_ref per-CPU variables.  However, rcutorture currently uses
    a statically allocated srcu_struct, which cannot legally be passed to
    cleanup_srcu_struct().  Therefore, this commit adds a second form
    of srcu (called srcud) that dynamically allocates and frees the
    associated per-CPU variables.  This commit also adds a ->cleanup()
    member to rcu_torture_ops that is invoked at the end of the test,
    after ->cb_barriers().  This ->cleanup() pointer is NULL for all
    existing tests, and thus only used for scrud.  Finally, the SRCU-P
    torture-test configuration selects scrud instead of srcu, with SRCU-N
    continuing to use srcu, thereby testing both static and dynamic
    srcu_struct structures.
    
    Reported-by: "Ahmed, Iftekhar" <ahmedi@onid.oregonstate.edu>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 67c31e24621a9d8e4dbc9a8a88d89eb795acf312
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 13 11:58:08 2015 -0700

    rcutorture: Replace barriers with smp_store_release() and smp_load_acquire()
    
    The rcutorture.c file uses several explicit memory barriers that can
    easily be converted to smp_store_release() and smp_load_acquire(), which
    improves maintainability and also improves performance a bit.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit b7a5523004befeb45c250229a53e9fc25ef7b04b
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Wed Apr 1 08:42:27 2015 -0700

    locktorture: Change longdelay_us to longdelay_ms
    
    The locktorture long delays are in milliseconds rather than microseconds,
    so this commit changes the name of the corresponding variable from
    longdelay_us to longdelay_ms.
    
    Reported-by: Ben Goodwyn <bgoodwyn@softnas.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>

commit 80e81928a1d9528c5b43a8430fa85de0d3e4ba7c
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Mar 12 13:55:48 2015 -0700

    rcutorture: Allow negative values of nreaders to oversubscribe
    
    By default, with rcutorture.nreaders equal to -1, rcutorture provisions
    N-1 reader kthreads, where N is the number of CPUs.  This avoids
    rcutorture-induced stalls, but also avoids heavier levels of torture.
    This commit therefore allows negative values of rcutorture.nreaders
    to specify larger numbers of reader kthreads, so that for example
    rcutorture.nreaders=-2 provisions N kthreads and rcutorture.nreaders=-5
    provisions N+3 kthreads.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 67f58ecc17d77f64ae476974fdb2813124b6f5a1
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Mar 12 11:42:48 2015 -0700

    rcutorture: Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug
    
    TREE03 has been especially effective at finding bugs lately.  This commit
    makes it even more effective by speeding up its CPU hotplug testing and
    increasing its NR_CPUs from 8 to 16.  TREE08's NR_CPUS is decreased from
    16 to 8 in order to maintain the same test duration.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit b74874a95163379617c6ec59f445cbe3008bc4f3
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Wed Mar 11 15:25:53 2015 -0700

    rcutorture: Exchange TREE03 and TREE04 geometries
    
    Given that the combination of PREEMPT_RCU and HOTPLUG_CPU is producing the
    most bugs lately, this commit swaps the TREE03 and TREE04 rcu_node-tree
    geometries so that the test exercising PREEMPT_RCU and HOTPLUG_CPU has
    three-level rather than two-level rcu_node trees.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 69a4a73c8d14aef587dcf25830195b1f3498a3d2
Author: Alexey Kodanev <alexey.kodanev@oracle.com>
Date:   Sat Mar 7 03:06:53 2015 +0300

    locktorture: fix deadlock in 'rw_lock_irq' type
    
    torture_rwlock_read_unlock_irq() must use read_unlock_irqrestore()
    instead of write_unlock_irqrestore().
    
    Use read_unlock_irqrestore() instead of write_unlock_irqrestore().
    
    Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit e5cbec617f1791256197ebaca8b04c0eb96fc574
Author: Julien Grall <julien.grall@citrix.com>
Date:   Wed May 13 03:49:04 2015 +0900

    ARM: EXYNOS: Don't try to initialize suspend on old DT
    
    Since commit 8b283c025443 ("ARM: exynos4/5: convert pmu wakeup to
    stacked domains"), a suspend/resume is not supported on old DT.
    
    Although, rather than printing a warning and continue to boot, the
    kernel will segfault just after:
    
    ------------[ cut here ]------------
    
    WARNING: CPU: 1 PID: 1 at arch/arm/mach-exynos/suspend.c:726 exynos_pm_init+0x4c/0xc8()
    Modules linked in:
    CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.1.0-rc3 #1
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    [<c02181c4>] (unwind_backtrace) from [<c0213b2c>] (show_stack+0x10/0x14)
    [<c0213b2c>] (show_stack) from [<c0949890>] (dump_stack+0x70/0x8c)
    [<c0949890>] (dump_stack) from [<c024f0b0>] (warn_slowpath_common+0x74/0xac)
    [<c024f0b0>] (warn_slowpath_common) from [<c024f104>] (warn_slowpath_null+0x1c/0x24)
    [<c024f104>] (warn_slowpath_null) from [<c0cf1d28>] (exynos_pm_init+0x4c/0xc8)
    [<c0cf1d28>] (exynos_pm_init) from [<c0ceaae8>] (init_machine_late+0x1c/0x28)
    [<c0ceaae8>] (init_machine_late) from [<c020aa64>] (do_one_initcall+0x80/0x1d0)
    [<c020aa64>] (do_one_initcall) from [<c0ce8d4c>] (kernel_init_freeable+0x10c/0x1d8)
    [<c0ce8d4c>] (kernel_init_freeable) from [<c0944a2c>] (kernel_init+0x8/0xe4)
    [<c0944a2c>] (kernel_init) from [<c0210e60>] (ret_from_fork+0x14/0x34)
    ---[ end trace 335bd937d409f3c7 ]---
    Outdated DT detected, suspend/resume will NOT work
    Unable to handle kernel NULL pointer dereference at virtual address 00000608
    pgd = c0204000
    [00000608] *pgd=00000000
    Internal error: Oops: 5 [#1] SMP ARM
    Modules linked in:
    CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W       4.1.0-rc3 #1
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    task: db06c000 ti: db05a000 task.ti: db05a000
    PC is at exynos_pm_init+0x6c/0xc8
    LR is at exynos_pm_init+0x54/0xc8
    pc : [<c0cf1d48>]    lr : [<c0cf1d30>]    psr: 60000113
    sp : db05bee8  ip : 00000000  fp : 00000000
    r10: 00000116  r9 : c0dab2d4  r8 : d8d5f440
    r7 : c0db7ad8  r6 : c0db7ad8  r5 : 00000000  r4 : c0ceaacc
    r3 : c0eb2aec  r2 : c0951e40  r1 : 00000000  r0 : c0eb2acc
    Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    Control: 10c5387d  Table: 6020406a  DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xdb05a220)
    Stack: (0xdb05bee8 to 0xdb05c000)
    bee0:                   c0db7ad8 c0d8fe34 c0cf17c8 c0ceaae8 00000000 c020aa64
    bf00: 00000033 c09580b8 db04fd00 c0ed79a4 c0eb1000 c0ce8588 c0ca2bc4 c0353fcc
    bf20: 00000000 c0df358c 60000113 00000000 dbfffba4 00000000 c0ca2bc4 c026654c
    bf40: c0b80134 c0ca1a64 00000007 00000007 c0df3554 c0d6c2f4 00000007 c0d6c2d4
    bf60: c0eb1000 c0ce8588 c0dab2d4 00000116 00000000 c0ce8d4c 00000007 00000007
    bf80: c0ce8588 c0944a24 00000000 c0944a24 00000000 00000000 00000000 00000000
    bfa0: 00000000 c0944a2c 00000000 c0210e60 00000000 00000000 00000000 00000000
    bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [<c0cf1d48>] (exynos_pm_init) from [<c0ceaae8>] (init_machine_late+0x1c/0x28)
    [<c0ceaae8>] (init_machine_late) from [<c020aa64>] (do_one_initcall+0x80/0x1d0)
    [<c020aa64>] (do_one_initcall) from [<c0ce8d4c>] (kernel_init_freeable+0x10c/0x1d8)
    [<c0ce8d4c>] (kernel_init_freeable) from [<c0944a2c>] (kernel_init+0x8/0xe4)
    [<c0944a2c>] (kernel_init) from [<c0210e60>] (ret_from_fork+0x14/0x34)
    Code: e59f005c e59220c0 e5901000 e5832000 (e591e608)
    ---[ end trace 335bd937d409f3c8 ]---
    
    This is happening because pmu_base_addr is only initialized when the
    PMU is an interrupt controller. It's not the case on old DT.
    
    Signed-off-by: Julien Grall <julien.grall@citrix.com>
    Signed-off-by: Kukjin Kim <kgene@kernel.org>

commit 16f0acd0ca5dd6103df5b789553da86ff3d5c505
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 12 01:23:00 2015 -0300

    ASoC: max98095: Pass the IRQF_ONESHOT flag
    
    Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.
    
    So pass the IRQF_ONESHOT flag in this case.
    
    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 208ba89b402d4f63a1352ae289fb8428cb92e7ec
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 12 01:22:59 2015 -0300

    ASoC: twl6040: Pass the IRQF_ONESHOT flag
    
    Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.
    
    So pass the IRQF_ONESHOT flag in this case.
    
    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit d78395ce7825a74c4cbd1aebdd6cc6912d834f47
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 12 01:22:58 2015 -0300

    ASoC: wm8994: Pass the IRQF_ONESHOT flag
    
    Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.
    
    So pass the IRQF_ONESHOT flag in this case.
    
    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 3d907cc30d072829b6682fda791005de5768f34e
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 12 01:22:57 2015 -0300

    ASoC: wm5100: Pass the IRQF_ONESHOT flag
    
    Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.
    
    So pass the IRQF_ONESHOT flag in this case.
    
    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit b6b4aae7a75457877abe77afba30aa2301815808
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon May 11 11:13:05 2015 -0700

    rcu: Correctly handle non-empty Tiny RCU callback list with none ready
    
    If, at the time __rcu_process_callbacks() is invoked,  there are callbacks
    in Tiny RCU's callback list, but none of them are ready to be invoked,
    the current list-management code will knit the non-ready callbacks out
    of the list.  This can result in hangs and possibly worse.  This commit
    therefore inserts a check for there being no callbacks that can be
    invoked immediately.
    
    This bug is unlikely to occur -- you have to get a new callback between
    the time rcu_sched_qs() or rcu_bh_qs() was called, but before we get to
    __rcu_process_callbacks().  It was detected by the addition of RCU-bh
    testing to rcutorture, which in turn was instigated by Iftekhar Ahmed's
    mutation testing.  Although this bug was made much more likely by
    915e8a4fe45e (rcu: Remove fastpath from __rcu_process_callbacks()), this
    did not cause the bug, but rather made it much more probable.   That
    said, it takes more than 40 hours of rcutorture testing, on average,
    for this bug to appear, so this fix cannot be considered an emergency.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: <stable@vger.kernel.org>

commit 22c758f3936008b4bc438a92dc5266dc43432e19
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Apr 21 12:11:23 2015 -0700

    rcutorture: Test both RCU-sched and RCU-bh for Tiny RCU
    
    Reported-by: "Ahmed, Iftekhar" <ahmedi@onid.oregonstate.edu>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 9322c6e07d5ec4972e480df10476ce955f606acb
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Apr 21 11:15:30 2015 -0700

    rcu: Further shrink Tiny RCU by making empty functions static inlines
    
    The Tiny RCU counterparts to rcu_idle_enter(), rcu_idle_exit(),
    rcu_irq_enter(), and rcu_irq_exit() are empty functions, but each
    has EXPORT_SYMBOL_GPL(), which, in kernels built with module support,
    needlessly consumes some memory.  This commit therefore moves these
    functions to static inlines in rcutiny.h, removing the need for
    exports.
    
    This won't affect the size of the tiniest kernels, which are likely
    built without module support, but might help semi-tiny kernels that
    might include module support.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit ed043aebe6ece3e13a02b6574447f150c3557378
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 12 01:22:56 2015 -0300

    ASoC: wm8996: Pass the IRQF_ONESHOT flag
    
    Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.
    
    So pass the IRQF_ONESHOT flag in this case.
    
    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit e4dcfe3a648b436c713a7a4eb6b501af2eac3f25
Author: Patrick Marlier <patrick.marlier@gmail.com>
Date:   Tue Mar 24 11:21:05 2015 +0100

    netfilter: Fix list_entry_rcu usage
    
    Signed-off-by: Patrick Marlier <patrick.marlier@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit d51f746961ec896ce23c0fb8b3ce7e873ef14648
Author: Markus Reichl <m.reichl@fivetechno.de>
Date:   Wed May 13 03:45:22 2015 +0900

    ARM: dts: Add HS400 support for exynos5422-odroidxu3
    
    HS400 timing values are added for exynos5422-odroidxu3 board.
    
    Signed-off-by: Markus Reichl <m.reichl@fivetechno.de>
    Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
    Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: Kukjin Kim <kgene@kernel.org>

commit 8af36ed0474f21f6b29bf091192e6245c424639a
Author: Patrick Marlier <patrick.marlier@gmail.com>
Date:   Tue Mar 24 11:22:10 2015 +0100

    md/bitmap: Fix list_entry_rcu usage
    
    Signed-off-by: Patrick Marlier <patrick.marlier@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 65ca9a4f70e67ee95d6355c8abb13454349cb62b
Author: Patrick Marlier <patrick.marlier@gmail.com>
Date:   Tue Mar 24 11:16:55 2015 +0100

    rculist: Fix list_entry_rcu to read ptr with rcu_dereference_raw
    
    Change to read effectively ptr with rcu_dereference_raw and not the
    __ptr variable on the stack.
    
    Signed-off-by: Patrick Marlier <patrick.marlier@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit eba012dcdabbe29d9d62c5dc300689fa2b68b246
Author: Ying Xue <ying.xue@windriver.com>
Date:   Thu Mar 26 13:27:08 2015 +0800

    rculist: Fix another sparse warning
    
    This fixes the following sparse warnings:
    
    make C=1 CF=-D__CHECK_ENDIAN__ net/tipc/name_table.o
    net/tipc/name_table.c:977:17: error: incompatible types in comparison expression (different address spaces)
    net/tipc/name_table.c:977:17: error: incompatible types in comparison expression (different address spaces)
    
    To silence these spare complaints, an RCU annotation should be added to
    "next" pointer of hlist_node structure through hlist_next_rcu() macro
    when iterating over a hlist with hlist_for_each_entry_from_rcu().
    
    Signed-off-by: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit c5f4823babfd5e1b34494310e0a9f7cab44cadb9
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Mon May 11 18:24:43 2015 +0800

    ASoC: fsl_sai: add 12kHz, 24kHz, 176.4kHz and 192kHz sample rate support
    
    Normally we don't support 12kHz, 24kHz in audio driver, alsa didn't
    have formal definition of 12kHz, 24kHz, but alsa supply a way to
    support these sample rates. And add 176.4kHz and 192kHz support.
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 9e8aa513222973d2b22d875eaddcedf90499bd9a
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue May 5 23:04:22 2015 -0700

    rcu: Conditionally compile RCU's eqs warnings
    
    This commit applies some warning-omission micro-optimizations to RCU's
    various extended-quiescent-state functions, which are on the kernel/user
    hotpath for CONFIG_NO_HZ_FULL=y.
    
    Reported-by: Rik van Riel <riel@redhat.com>
    Reported by: Mike Galbraith <umgwanakikbuti@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit f4bf39ae153987f07f1f7cf543344bd99f5d6e2d
Author: Pranith Kumar <bobby.prani@gmail.com>
Date:   Tue Apr 21 17:29:42 2015 -0400

    rcu: Remove prompt for RCU implementation
    
    The RCU implementation is chosen based on PREEMPT and SMP config options
    and is not really a user-selectable choice.  This commit removes the
    menu entry, given that there is not much point in calling something a
    choice when there is in fact no choice..  The TINY_RCU, TREE_RCU, and
    PREEMPT_RCU Kconfig options continue to be selected based solely on the
    values of the PREEMPT and SMP options.
    
    Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 0b920085c1ddec4b295ce6a73de3af343ac86d50
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Apr 21 09:22:14 2015 -0700

    rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO
    
    This commit updates the initialization of the kthread_prio boot parameter
    so that RCU will build even when CONFIG_RCU_KTHREAD_PRIO is undefined.
    The kthread_prio boot parameter is set to CONFIG_RCU_KTHREAD_PRIO if
    that is defined, otherwise to 1 if CONFIG_RCU_BOOST is defined and
    to zero otherwise.  This commit then makes CONFIG_RCU_KTHREAD_PRIO
    depend on CONFIG_RCU_EXPERT, so that Kconfig users won't be asked about
    CONFIG_RCU_KTHREAD_PRIO unless they want to be.
    
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 75cc99a0162030476c5dcacdef96eaabf109dfd2
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Apr 21 09:12:13 2015 -0700

    rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF
    
    This commit introduces an RCU_FANOUT_LEAF C-preprocessor macro so
    that RCU will build even when CONFIG_RCU_FANOUT_LEAF is undefined.
    The RCU_FANOUT_LEAF macro is set to the value of CONFIG_RCU_FANOUT_LEAF
    when defined, otherwise it is set to 32 for 32-bit systems and 64 for
    64-bit systems.  This commit then makes CONFIG_RCU_FANOUT_LEAF depend
    on CONFIG_RCU_EXPERT, so that Kconfig users won't be asked about
    CONFIG_RCU_FANOUT_LEAF unless they want to be.
    
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 372b4ad2c36081e92a033a380e99d08fa1fa0e5e
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 14:27:43 2015 -0700

    rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT
    
    This commit introduces an RCU_FANOUT C-preprocessor macro so that RCU will
    build even when CONFIG_RCU_FANOUT is undefined.  The RCU_FANOUT macro is
    set to the value of CONFIG_RCU_FANOUT when defined, otherwise it is set
    to 32 for 32-bit systems and 64 for 64-bit systems.  This commit then
    makes CONFIG_RCU_FANOUT depend on CONFIG_RCU_EXPERT, so that Kconfig
    users won't be asked about CONFIG_RCU_FANOUT unless they want to be.
    
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 634c66b0c7bcb769fb0887c92deaa60d0a15779d
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 18:27:54 2015 -0700

    rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT
    
    RCU_FANOUT_LEAF's range and default values depend on the value of
    RCU_FANOUT, which at the time seemed like a cute way to save two lines
    of Kconfig code.  However, adding a dependency from both of these
    Kconfig parameters on RCU_EXPERT requires that RCU_FANOUT_LEAF operate
    correctly even if RCU_FANOUT is undefined.  This commit therefore
    allows RCU_FANOUT_LEAF to take on the full range of permitted values,
    even in cases where RCU_FANOUT is undefined.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    [ paulmck: Eliminate redundant "default" as suggested by Pranith Kumar. ]
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 9e2b8d1031f9cb2454b173a5d788254091210eda
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 12:19:45 2015 -0700

    rcu: Create RCU_EXPERT Kconfig and hide booleans behind it
    
    This commit creates an RCU_EXPERT Kconfig and hides the independent
    boolean RCU-related user-visible Kconfig parameters behind it, namely
    RCU_FAST_NO_HZ and RCU_BOOST.  This prevents Kconfig from asking about
    these parameters unless the user really wants to be asked.
    
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 55cb0b70a4383bb75084c27df2ac8a6511690aba
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 11:40:50 2015 -0700

    rcu: Enable diagnostic dump of rcu_node combining tree
    
    The purpose of this commit is to make it easier to verify that RCU's
    combining tree is set up correctly, which is useful to have when making
    changes in how that tree is initialized.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>
    [ paulmck: Fold fix found by Fengguang's 0-day test robot. ]

commit ea4736e4a00c965b8cd79f75f0bf702b9bd5dfd6
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 10:27:15 2015 -0700

    rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter
    
    The CONFIG_RCU_FANOUT_EXACT Kconfig parameter is used primarily (and
    perhaps only) by rcutorture to verify that RCU works correctly in specific
    rcu_node combining-tree configurations.  It therefore does not make
    much sense have this as a question to people attempting to configure
    their kernels.  So this commit creates an rcutree.rcu_fanout_exact=
    boot parameter that rcutorture can use, and eliminates the original
    CONFIG_RCU_FANOUT_EXACT Kconfig parameter.
    
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>

commit 548e691de6ec85a1143a2323c357573390b30cbe
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon Apr 20 06:17:15 2015 -0700

    rcu: Directly drive RCU_USER_QS from Kconfig
    
    Currently, Kconfig will ask the user whether RCU_USER_QS should be set.
  …
  • Loading branch information
mmotm auto import authored and hnaz committed May 14, 2015
1 parent bb5b9a5 commit 7692606
Show file tree
Hide file tree
Showing 3,315 changed files with 171,776 additions and 69,650 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 0 additions & 5 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -3219,11 +3219,6 @@ N: Dipankar Sarma
E: dipankar@in.ibm.com
D: RCU

N: Yoshinori Sato
E: ysato@users.sourceforge.jp
D: uClinux for Renesas H8/300 (H8300)
D: http://uclinux-h8.sourceforge.jp/

N: Hannu Savolainen
E: hannu@opensound.com
D: Maintainer of the sound drivers until 2.1.x days.
Expand Down
3 changes: 3 additions & 0 deletions Documentation/ABI/testing/ima_policy
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ Description:
# SECURITYFS_MAGIC
dont_measure fsmagic=0x73636673
dont_appraise fsmagic=0x73636673
# NSFS_MAGIC
dont_measure fsmagic=0x6e736673
dont_appraise fsmagic=0x6e736673

measure func=BPRM_CHECK
measure func=FILE_MMAP mask=MAY_EXEC
Expand Down
11 changes: 11 additions & 0 deletions Documentation/ABI/testing/sysfs-ata
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,17 @@ gscr
130: SATA_PMP_GSCR_SII_GPIO
Only valid if the device is a PM.

trim

Shows the DSM TRIM mode currently used by the device. Valid
values are:
unsupported: Drive does not support DSM TRIM
unqueued: Drive supports unqueued DSM TRIM only
queued: Drive supports queued DSM TRIM
forced_unqueued: Drive's queued DSM support is known to be
buggy and only unqueued TRIM commands
are sent

spdn_cnt

Number of time libata decided to lower the speed of link due to errors.
Expand Down
11 changes: 11 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-iio
Original file line number Diff line number Diff line change
Expand Up @@ -1364,3 +1364,14 @@ Description:
hwfifo_watermak_min but not equal to any of the values in this
list, the driver will chose an appropriate value for the
hardware fifo watermark level.

What: /sys/bus/iio/devices/iio:deviceX/in_temp_calibemissivity
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_calibemissivity
What: /sys/bus/iio/devices/iio:deviceX/in_temp_object_calibemissivity
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibemissivity
KernelVersion: 4.1
Contact: linux-iio@vger.kernel.org
Description:
The emissivity ratio of the surface in the field of view of the
contactless temperature sensor. Emissivity varies from 0 to 1,
with 1 being the emissivity of a black body.
8 changes: 8 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-pci-drivers-janz-cmodio
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
What: /sys/bus/pci/drivers/janz-cmodio/.../modulbus_number
Date: May 2010
KernelVersion: 2.6.35
Contact: Ira W. Snyder <ira.snyder@gmail.com>
Description:
Value representing the HEX switch S2 of the janz carrier board CMOD-IO or CAN-PCI2

Read-only: value of the configuration switch (0..15)
19 changes: 19 additions & 0 deletions Documentation/ABI/testing/sysfs-class-net
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,25 @@ Description:
Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MAC
address.

What: /sys/class/net/<bridge iface>/bridge/group_fwd_mask
Date: January 2012
KernelVersion: 3.2
Contact: netdev@vger.kernel.org
Description:
Bitmask to allow forwarding of link local frames with address
01-80-C2-00-00-0X on a bridge device. Only values that set bits
not matching BR_GROUPFWD_RESTRICTED in net/bridge/br_private.h
allowed.
Default value 0 does not forward any link local frames.

Restricted bits:
0: 01-80-C2-00-00-00 Bridge Group Address used for STP
1: 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE
2: 01-80-C2-00-00-02 (Link Aggregation) 802.3ad

Any values not setting these bits can be used. Take special
care when forwarding control frames e.g. 802.1X-PAE or LLDP.

What: /sys/class/net/<iface>/broadcast
Date: April 2005
KernelVersion: 2.6.12
Expand Down
19 changes: 19 additions & 0 deletions Documentation/ABI/testing/sysfs-class-net-janz-ican3
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
What: /sys/class/net/<iface>/termination
Date: May 2010
KernelVersion: 2.6.35
Contact: Ira W. Snyder <ira.snyder@gmail.com>
Description:
Value representing the can bus termination

Default: 1 (termination active)
Reading: get actual termination state
Writing: set actual termination state (0=no termination, 1=termination active)

What: /sys/class/net/<iface>/fwinfo
Date: May 2015
KernelVersion: 3.19
Contact: Andreas Gröger <andreas24groeger@gmail.com>
Description:
Firmware stamp of ican3 module
Read-only: 32 byte string identification of the ICAN3 module
(known values: "JANZ-ICAN3 ICANOS 1.xx", "JANZ-ICAN3 CAL/CANopen 1.xx")
8 changes: 4 additions & 4 deletions Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
What: /sys/module/hid_logitech/drivers/hid:logitech/<dev>/range.
What: /sys/bus/hid/drivers/logitech/<dev>/range
Date: July 2011
KernelVersion: 3.2
Contact: Michal Malý <madcatxster@gmail.com>
Contact: Michal Malý <madcatxster@devoid-pointer.net>
Description: Display minimum, maximum and current range of the steering
wheel. Writing a value within min and max boundaries sets the
range of the wheel.

What: /sys/bus/hid/drivers/logitech/<dev>/alternate_modes
Date: Feb 2015
KernelVersion: 4.1
Contact: Michal Malý <madcatxster@gmail.com>
Contact: Michal Malý <madcatxster@devoid-pointer.net>
Description: Displays a set of alternate modes supported by a wheel. Each
mode is listed as follows:
Tag: Mode Name
Expand Down Expand Up @@ -45,7 +45,7 @@ Description: Displays a set of alternate modes supported by a wheel. Each
What: /sys/bus/hid/drivers/logitech/<dev>/real_id
Date: Feb 2015
KernelVersion: 4.1
Contact: Michal Malý <madcatxster@gmail.com>
Contact: Michal Malý <madcatxster@devoid-pointer.net>
Description: Displays the real model of the wheel regardless of any
alternate mode the wheel might be switched to.
It is a read-only value.
Expand Down
20 changes: 20 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-toshiba_haps
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/protection_level
Date: August 16, 2014
KernelVersion: 3.17
Contact: Azael Avalos <coproscefalo@gmail.com>
Description: This file controls the built-in accelerometer protection level,
valid values are:
* 0 -> Disabled
* 1 -> Low
* 2 -> Medium
* 3 -> High
The default potection value is set to 2 (Medium).
Users: KToshiba

What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS620A:00/reset_protection
Date: August 16, 2014
KernelVersion: 3.17
Contact: Azael Avalos <coproscefalo@gmail.com>
Description: This file turns off the built-in accelerometer for a few
seconds and then restore normal operation. Accepting 1 as the
only parameter.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
What: /sys/firmware/dmi/
What: /sys/firmware/dmi/entries/
Date: February 2011
Contact: Mike Waychison <mikew@google.com>
Description:
Expand Down
22 changes: 22 additions & 0 deletions Documentation/ABI/testing/sysfs-firmware-dmi-tables
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
What: /sys/firmware/dmi/tables/
Date: April 2015
Contact: Ivan Khoronzhuk <ivan.khoronzhuk@globallogic.com>
Description:
The firmware provides DMI structures as a packed list of
data referenced by a SMBIOS table entry point. The SMBIOS
entry point contains general information, like SMBIOS
version, DMI table size, etc. The structure, content and
size of SMBIOS entry point is dependent on SMBIOS version.
The format of SMBIOS entry point and DMI structures
can be read in SMBIOS specification.

The dmi/tables provides raw SMBIOS entry point and DMI tables
through sysfs as an alternative to utilities reading them
from /dev/mem. The raw SMBIOS entry point and DMI table are
presented as binary attributes and are accessible via:

/sys/firmware/dmi/tables/smbios_entry_point
/sys/firmware/dmi/tables/DMI

The complete DMI information can be obtained using these two
tables.
2 changes: 1 addition & 1 deletion Documentation/CodingStyle
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,7 @@ functions:
typeof(x) ret; \
ret = calc_ret(x); \
(ret); \
)}
})

ret is a common name for a local variable - __foo_ret is less likely
to collide with an existing variable.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/DocBook/drm.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -4067,7 +4067,7 @@ int num_ioctls;</synopsis>
<title>DPIO</title>
!Pdrivers/gpu/drm/i915/i915_reg.h DPIO
<table id="dpiox2">
<title>Dual channel PHY (VLV/CHV)</title>
<title>Dual channel PHY (VLV/CHV/BXT)</title>
<tgroup cols="8">
<colspec colname="c0" />
<colspec colname="c1" />
Expand Down Expand Up @@ -4118,7 +4118,7 @@ int num_ioctls;</synopsis>
</tgroup>
</table>
<table id="dpiox1">
<title>Single channel PHY (CHV)</title>
<title>Single channel PHY (CHV/BXT)</title>
<tgroup cols="4">
<colspec colname="c0" />
<colspec colname="c1" />
Expand Down
4 changes: 2 additions & 2 deletions Documentation/DocBook/media/v4l/controls.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4863,15 +4863,15 @@ interface and may change in the future.</para>
</note>

<para>
The Image Source control class is intended for low-level control of
The Image Process control class is intended for low-level control of
image processing functions. Unlike
<constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant>, the controls in
this class affect processing the image, and do not control capturing
of it.
</para>

<table pgwide="1" frame="none" id="image-process-control-id">
<title>Image Source Control IDs</title>
<title>Image Process Control IDs</title>

<tgroup cols="4">
<colspec colname="c1" colwidth="1*" />
Expand Down
2 changes: 1 addition & 1 deletion Documentation/DocBook/media/v4l/media-func-open.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
<para>To open a media device applications call <function>open()</function>
with the desired device name. The function has no side effects; the device
configuration remain unchanged.</para>
<para>When the device is opened in read-only mode, attemps to modify its
<para>When the device is opened in read-only mode, attempts to modify its
configuration will result in an error, and <varname>errno</varname> will be
set to <errorcode>EBADF</errorcode>.</para>
</refsect1>
Expand Down
7 changes: 7 additions & 0 deletions Documentation/DocBook/media/v4l/vidioc-g-edid.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,13 @@
<para>If blocks have to be retrieved from the sink, then this call will block until they
have been read.</para>

<para>If <structfield>start_block</structfield> and <structfield>blocks</structfield> are
both set to 0 when <constant>VIDIOC_G_EDID</constant> is called, then the driver will
set <structfield>blocks</structfield> to the total number of available EDID blocks
and it will return 0 without copying any data. This is an easy way to discover how many
EDID blocks there are. Note that if there are no EDID blocks available at all, then
the driver will set <structfield>blocks</structfield> to 0 and it returns 0.</para>

<para>To set the EDID blocks of a receiver the application has to fill in the <structfield>pad</structfield>,
<structfield>blocks</structfield> and <structfield>edid</structfield> fields and set
<structfield>start_block</structfield> to 0. It is not possible to set part of an EDID,
Expand Down
2 changes: 1 addition & 1 deletion Documentation/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
subdir-y := accounting auxdisplay blackfin connector \
filesystems filesystems ia64 laptops mic misc-devices \
filesystems filesystems ia64 kdbus laptops mic misc-devices \
networking pcmcia prctl ptp spi timers vDSO video4linux \
watchdog
20 changes: 16 additions & 4 deletions Documentation/RCU/arrayRCU.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,19 @@ also be used to protect arrays. Three situations are as follows:

3. Resizeable Arrays

Each of these situations are discussed below.
Each of these three situations involves an RCU-protected pointer to an
array that is separately indexed. It might be tempting to consider use
of RCU to instead protect the index into an array, however, this use
case is -not- supported. The problem with RCU-protected indexes into
arrays is that compilers can play way too many optimization games with
integers, which means that the rules governing handling of these indexes
are far more trouble than they are worth. If RCU-protected indexes into
arrays prove to be particularly valuable (which they have not thus far),
explicit cooperation from the compiler will be required to permit them
to be safely used.

That aside, each of the three RCU-protected pointer situations are
described in the following sections.


Situation 1: Hash Tables
Expand All @@ -36,9 +48,9 @@ Quick Quiz: Why is it so important that updates be rare when
Situation 3: Resizeable Arrays

Use of RCU for resizeable arrays is demonstrated by the grow_ary()
function used by the System V IPC code. The array is used to map from
semaphore, message-queue, and shared-memory IDs to the data structure
that represents the corresponding IPC construct. The grow_ary()
function formerly used by the System V IPC code. The array is used
to map from semaphore, message-queue, and shared-memory IDs to the data
structure that represents the corresponding IPC construct. The grow_ary()
function does not acquire any locks; instead its caller must hold the
ids->sem semaphore.

Expand Down
10 changes: 0 additions & 10 deletions Documentation/RCU/lockdep.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,6 @@ checking of rcu_dereference() primitives:
Use explicit check expression "c" along with
srcu_read_lock_held()(). This is useful in code that
is invoked by both SRCU readers and updaters.
rcu_dereference_index_check(p, c):
Use explicit check expression "c", but the caller
must supply one of the rcu_read_lock_held() functions.
This is useful in code that uses RCU-protected arrays
that is invoked by both RCU readers and updaters.
rcu_dereference_raw(p):
Don't check. (Use sparingly, if at all.)
rcu_dereference_protected(p, c):
Expand All @@ -64,11 +59,6 @@ checking of rcu_dereference() primitives:
but retain the compiler constraints that prevent duplicating
or coalescsing. This is useful when when testing the
value of the pointer itself, for example, against NULL.
rcu_access_index(idx):
Return the value of the index and omit all barriers, but
retain the compiler constraints that prevent duplicating
or coalescsing. This is useful when when testing the
value of the index itself, for example, against -1.

The rcu_dereference_check() check expression can be any boolean
expression, but would normally include a lockdep expression. However,
Expand Down
38 changes: 17 additions & 21 deletions Documentation/RCU/rcu_dereference.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,6 @@ o You must use one of the rcu_dereference() family of primitives
for an example where the compiler can in fact deduce the exact
value of the pointer, and thus cause misordering.

o Do not use single-element RCU-protected arrays. The compiler
is within its right to assume that the value of an index into
such an array must necessarily evaluate to zero. The compiler
could then substitute the constant zero for the computation, so
that the array index no longer depended on the value returned
by rcu_dereference(). If the array index no longer depends
on rcu_dereference(), then both the compiler and the CPU
are within their rights to order the array access before the
rcu_dereference(), which can cause the array access to return
garbage.

o Avoid cancellation when using the "+" and "-" infix arithmetic
operators. For example, for a given variable "x", avoid
"(x-x)". There are similar arithmetic pitfalls from other
Expand Down Expand Up @@ -76,14 +65,15 @@ o Do not use the results from the boolean "&&" and "||" when
dereferencing. For example, the following (rather improbable)
code is buggy:

int a[2];
int index;
int force_zero_index = 1;
int *p;
int *q;

...

r1 = rcu_dereference(i1)
r2 = a[r1 && force_zero_index]; /* BUGGY!!! */
p = rcu_dereference(gp)
q = &global_q;
q += p != &oom_p1 && p != &oom_p2;
r1 = *q; /* BUGGY!!! */

The reason this is buggy is that "&&" and "||" are often compiled
using branches. While weak-memory machines such as ARM or PowerPC
Expand All @@ -94,14 +84,15 @@ o Do not use the results from relational operators ("==", "!=",
">", ">=", "<", or "<=") when dereferencing. For example,
the following (quite strange) code is buggy:

int a[2];
int index;
int flip_index = 0;
int *p;
int *q;

...

r1 = rcu_dereference(i1)
r2 = a[r1 != flip_index]; /* BUGGY!!! */
p = rcu_dereference(gp)
q = &global_q;
q += p > &oom_p;
r1 = *q; /* BUGGY!!! */

As before, the reason this is buggy is that relational operators
are often compiled using branches. And as before, although
Expand Down Expand Up @@ -193,6 +184,11 @@ o Be very careful about comparing pointers obtained from
pointer. Note that the volatile cast in rcu_dereference()
will normally prevent the compiler from knowing too much.

However, please note that if the compiler knows that the
pointer takes on only one of two values, a not-equal
comparison will provide exactly the information that the
compiler needs to deduce the value of the pointer.

o Disable any value-speculation optimizations that your compiler
might provide, especially if you are making use of feedback-based
optimizations that take data collected from prior runs. Such
Expand Down
Loading

0 comments on commit 7692606

Please sign in to comment.