Skip to content

Commit

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

commit 6f0b826da4a33e83501d6c1dc977afa0f5f7166f
Author: Markus Elfring <elfring@users.sourceforge.net>
Date:   Sat Aug 20 07:50:09 2016 +0200

    mlx5/core: Use memdup_user() rather than duplicating its implementation
    
    * Reuse existing functionality from memdup_user() instead of keeping
      duplicate source code.
    
      This issue was detected by using the Coccinelle software.
    
    * Return directly if this copy operation failed.
    
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b9a24bb76bf611a5268ceffe04219e6ad264559b
Author: WANG Cong <xiyou.wangcong@gmail.com>
Date:   Fri Aug 19 12:36:54 2016 -0700

    net_sched: properly handle failure case of tcf_exts_init()
    
    After commit 22dc13c837c3 ("net_sched: convert tcf_exts from list to pointer array")
    we do dynamic allocation in tcf_exts_init(), therefore we need
    to handle the ENOMEM case properly.
    
    Cc: Jamal Hadi Salim <jhs@mojatatu.com>
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit cae750bae4e488c138eb436175201a60943eb3dc
Author: Paul Burton <paul.burton@imgtec.com>
Date:   Fri Aug 19 18:11:19 2016 +0100

    irqchip/mips-gic: Use for_each_set_bit to iterate over IRQs
    
    The MIPS GIC driver has previously iterated over bits set in a bitmap
    representing pending IRQs by calling find_first_bit, clearing that bit
    then calling find_first_bit again until all bits are clear. If multiple
    interrupts are pending then this is wasteful, as find_first_bit will
    have to loop over the whole bitmap from the start. Use the
    for_each_set_bit macro which performs exactly what we need here instead.
    It will use find_next_bit and thus only scan over the relevant part of
    the bitmap, and it makes the intent of the code more clear.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Link: https://lkml.kernel.org/r/20160819171119.28121-1-paul.burton@imgtec.com
    Signed-off-by: Jason Cooper <jason@lakedaemon.net>

commit a10035a9b787a65e2cc9e7d59df6c698ba778c17
Author: Mike Christie <mchristi@redhat.com>
Date:   Thu Aug 18 18:38:45 2016 +0200

    rbd: add force close option
    
    This adds a force close option, so we can force the unmapping
    of a rbd device that is open. If a path/device is blacklisted, apps
    like multipathd can map a new device and then unmap the old one.
    The unmapping cleanup would then be handled by the generic hotunplug
    code paths in multipahd like is done for iSCSI, FC/FCOE, SAS, etc.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 21118df66c198d6ebb23e6827e2e92ab1e148e78
Author: Wei Yongjun <weiyj.lk@gmail.com>
Date:   Sat Aug 20 15:26:28 2016 +0000

    irqchip/jcore-aic: Fix non static symbol warning
    
    Fixes the following sparse warning:
    
    drivers/irqchip/irq-jcore-aic.c:47:12: warning:
     symbol 'aic_irq_of_init' was not declared. Should it be static?
    
    Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com>
    Link: https://lkml.kernel.org/r/1471706788-27587-1-git-send-email-weiyj.lk@gmail.com
    Signed-off-by: Jason Cooper <jason@lakedaemon.net>

commit 04208a24b9d2f46f07f4400a4829d5372d0a3661
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Fri Aug 5 16:55:20 2016 +0200

    arm64: marvell: enable the Marvell PIC driver
    
    This commit makes sure the driver for the Marvell PIC interrupt
    controller (used on Marvell Armada 7K/8K) is enabled.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Link: https://lkml.kernel.org/r/1470408921-447-4-git-send-email-thomas.petazzoni@free-electrons.com
    Signed-off-by: Jason Cooper <jason@lakedaemon.net>

commit a109893bd3e71912b376a731b27de8c45fded9b3
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Fri Aug 5 16:55:19 2016 +0200

    irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC
    
    The Marvell Armada 7K/8K integrates a secondary interrupt controller
    very originally named "PIC". It is connected to the main GIC via a
    PPI. Amongst other things, this PIC is used for the ARM PMU.
    
    This commit adds a simple irqchip driver for this interrupt
    controller. Since this interrupt controller is not needed early at boot
    time, we make the driver a proper platform driver rather than use the
    IRQCHIP_DECLARE() mechanism.
    
    Signed-off-by: Yehuda Yitschak <yehuday@marvell.com>
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Link: https://lkml.kernel.org/r/1470408921-447-3-git-send-email-thomas.petazzoni@free-electrons.com
    Signed-off-by: Jason Cooper <jason@lakedaemon.net>

commit f69f2593c77e981922234369ec157117e7068776
Author: Mike Christie <mchristi@redhat.com>
Date:   Thu Aug 18 18:38:45 2016 +0200

    rbd: add 'config_info' sysfs rbd device attribute
    
    Export the info used to setup the rbd image, so it can be used to remap
    the image.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    [idryomov@gmail.com: do_rbd_add() EH]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit dd86aa3766a11e5d8dfd43940f63b784fc733695
Author: Mike Christie <mchristi@redhat.com>
Date:   Thu Aug 18 18:38:44 2016 +0200

    rbd: add 'snap_id' sysfs rbd device attribute
    
    Export snap id in sysfs, so tools like multipathd can use it in a uuid.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 07f22ac266cb1591aac4679d3462706de0ff7a5d
Author: Mike Christie <mchristi@redhat.com>
Date:   Thu Aug 18 18:38:43 2016 +0200

    rbd: add 'cluster_fsid' sysfs rbd device attribute
    
    Export the cluster fsid, so tools like udev and multipath-tools can use
    it for part of the uuid.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 83a117c50940d5367710a0f00d0d8be693d937f5
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Thu Aug 18 18:38:43 2016 +0200

    rbd: add 'client_addr' sysfs rbd device attribute
    
    Export client addr/nonce, so userspace can check if a image is being
    blacklisted.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    [idryomov@gmail.com: ceph_client_addr(), endianess fix]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit ca7bfe2c8d9f3aee469a3a36110a95ebb511ee20
Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date:   Mon Aug 22 11:04:49 2016 -0300

    docs-rst: add package adjustbox
    
    We need adjustbox to allow adjusting the size of tables that
    are bigger than the line width. There are quite a few of them
    at the media books.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit ba1377fba7047a86c31981363cbd9e65b1ca2763
Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date:   Sun Aug 21 15:23:04 2016 -0300

    docs-rst: Fix an warning when in interactive mode
    
    When XeLaTeX is in interactive mode, it complains that
    py@noticelength already exists. Rename it and declare it
    only once to avoid such messages.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 41cff161fe99d1c6a773becc2250a1dc3ac035ff
Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date:   Sun Aug 21 15:23:03 2016 -0300

    docs-rst: Use better colors for note/warning/attention boxes
    
    Instead of painting the box with gray, let's use a colored
    box. IMHO, that makes easier to warn users about some issue
    pointed by the Sphinx. It also matches to what we do already
    with the HTML output.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit bf1bead585e5a8c21d4ac7a8d7fc860b80c4290a
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Thu Aug 18 18:38:41 2016 +0200

    rbd: print capacity in decimal and features in hex
    
    With exclusive-lock added and more to come, print features into dmesg.
    Change capacity to decimal while at it.
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit aa0336393dc095f2a2eaf543ebbf1dfc0bda40cf
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Fri Aug 12 16:40:02 2016 +0200

    rbd: support for exclusive-lock feature
    
    Add basic support for RBD_FEATURE_EXCLUSIVE_LOCK feature.  Maintenance
    operations (resize, snapshot create, etc) are offloaded to librbd via
    returning -EOPNOTSUPP - librbd should request the lock and execute the
    operation.
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit d7ad7f3c6bc4da00a822bf65f8c677173e7192a2
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Fri Aug 12 16:11:41 2016 +0200

    rbd: retry watch re-registration periodically
    
    Revamp watch code to support retrying watch re-registration:
    
    - add rbd_dev->watch_state for more robust errcb handling
    - store watch cookie separately to avoid dereferencing watch_handle
      which is set to NULL on unwatch
    - move re-register code into a delayed work and retry re-registration
      every second, unless the client is blacklisted
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 885bfa587709736b9081ef2cf2a08c007b798ea5
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Fri Aug 12 15:45:52 2016 +0200

    rbd: introduce a per-device ordered workqueue
    
    This is going to be used for reregistering watch requests and
    exclusive-lock tasks: acquire/request lock, notify-acquired, release
    lock, notify-released.  Some refactoring in the map/unmap paths was
    necessary to give this workqueue a meaningful name: "rbdX-tasks".
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit a926f18ef50a526726d1f9e9249bb455246389e0
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Fri Aug 12 14:59:58 2016 +0200

    libceph: rename ceph_client_id() -> ceph_client_gid()
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 243b6381a3ddafef0f598c825da094fb2aca9c1b
Author: Douglas Fuller <dfuller@redhat.com>
Date:   Wed Jul 22 20:59:52 2015 -0400

    libceph: support for blacklisting clients
    
    Reuse ceph_mon_generic_request infrastructure for sending monitor
    commands.  In particular, add support for 'blacklist add' to prevent
    other, non-responsive clients from making further updates.
    
    Signed-off-by: Douglas Fuller <dfuller@redhat.com>
    [idryomov@gmail.com: refactor, misc fixes throughout]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit c33c690cc42e7e11a694ad2b7721ed37c883c1a3
Author: Douglas Fuller <dfuller@redhat.com>
Date:   Mon Jun 29 16:55:42 2015 -0700

    libceph: support for lock.lock_info
    
    Add an interface for the Ceph OSD lock.lock_info method and associated
    data structures.
    
    Based heavily on code by Mike Christie <michaelc@cs.wisc.edu>.
    
    Signed-off-by: Douglas Fuller <dfuller@redhat.com>
    [idryomov@gmail.com: refactor, misc fixes throughout]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit b3872a9b832154b6051ecfcd81ff315ee1447c36
Author: Douglas Fuller <dfuller@redhat.com>
Date:   Thu Jun 18 13:06:10 2015 -0700

    libceph: support for advisory locking on RADOS objects
    
    This patch adds support for rados lock, unlock and break lock.
    
    Based heavily on code by Mike Christie <michaelc@cs.wisc.edu>.
    
    Signed-off-by: Douglas Fuller <dfuller@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 66b78cbaa9d7f7d6c1e4dee8495db436bcd9cc51
Author: Douglas Fuller <dfuller@redhat.com>
Date:   Wed Jun 17 14:49:45 2015 -0400

    libceph: add ceph_osdc_call() single-page helper
    
    Add a convenience function to osd_client to send Ceph OSD
    'class' ops. The interface assumes that the request and
    reply data each consist of single pages.
    
    Signed-off-by: Douglas Fuller <dfuller@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit ba5eddca49df02a746026725c94965d2e0300cbf
Author: Douglas Fuller <dfuller@redhat.com>
Date:   Fri Jul 17 13:18:07 2015 -0700

    libceph: support for CEPH_OSD_OP_LIST_WATCHERS
    
    Add support for this Ceph OSD op, needed to support the RBD exclusive
    lock feature.
    
    Signed-off-by: Douglas Fuller <dfuller@redhat.com>
    [idryomov@gmail.com: refactor, misc fixes throughout]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit a653fc0abf0f9641c611d9e993c865e75e5de997
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Thu Jun 2 16:45:08 2016 +0200

    libceph: rename ceph_entity_name_encode() -> ceph_auth_entity_name_encode()
    
    Clear up EntityName vs entity_name_t confusion.
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit aa4e37a3d13679dccf7945dd864375b698cf0df9
Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date:   Fri Aug 19 09:49:38 2016 -0300

    docs-rst: conf.py: adjust the size of .. note:: tag
    
    While the current implementation works well when using as a
    paragraph, it doesn't work properly if inside a table. As we
    have quite a few such cases, fix the logic to take the column
    size into account.
    
    PS.: I took the logic there from the latest version of Sphinx.sty
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit d565127d120e9b95ba98549c31eab9cec1cbbbc7
Author: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date:   Thu Aug 18 11:53:39 2016 -0300

    docs-rst: add support for LaTeX output
    
    Sphinx supports LaTeX output. Sometimes, it is interesting to
    call it directly, instead of also generating a PDF. As it comes
    for free, add a target for it.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 9cd3476c91708b4b814f17671597a2708ec195ed
Author: Markus Heiser <markus.heiser@darmarIT.de>
Date:   Mon Aug 15 16:08:28 2016 +0200

    doc-rst: migrate ioctl CEC_DQEVENT to c-domain
    
    This is only one example, demonstrating the benefits of the patch
    series.  The CEC_DQEVENT ioctl is migrated to the sphinx c-domain and
    referred by ":name: CEC_DQEVENT".
    
    With this change the indirection using ":ref:`CEC_DQEVENT` is no longer
    needed, we can refer the ioctl directly with ":c:func:`CEC_DQEVENT`". As
    addition in the index, there is a entry "CEC_DQEVENT (C function)".
    
    Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit aa10a7826646c56eb4553df8fe81b3d23655c91a
Author: Markus Heiser <markus.heiser@darmarIT.de>
Date:   Mon Aug 15 16:08:27 2016 +0200

    doc-rst: Revert "kernel-doc: fix handling of address_space tags"
    
    This reverts commit a88b1672d4ddf9895eb53e6980926d5e960dea8e.
    
    From the origin comit log::
    
      The RST cpp:function handler is very pedantic: it doesn't allow any
      macros like __user on it
    
    Since the kernel-doc parser does NOT make use of the cpp:domain, there
    is no need to change the kernel-doc parser eleminating the address_space
    tags.
    
    Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 556aa6d5d9616ccfc0099c40dc239157f50ee776
Author: Markus Heiser <markus.heiser@darmarIT.de>
Date:   Mon Aug 15 16:08:26 2016 +0200

    doc-rst: moved *duplicate* warnings to nitpicky mode
    
    Moved the *duplicate C object description* warnings for function
    declarations in the nitpicky mode. In nitpick mode, you can suppress
    those warnings (e.g. ioctl) with::
    
      nitpicky = True
      nitpick_ignore = [
          ("c:func", "ioctl"),
      ]
    
    See Sphinx documentation for the config values for ``nitpick`` and
    ``nitpick_ignore`` [1].
    
    With this change all the ".. cpp:function:: int ioctl(..)" descriptions
    (found in the media book) can be migrated to ".. c:function:: int
    ioctl(..)", without getting any warnings. E.g.::
    
      .. cpp:function:: int ioctl( int fd, int request, struct cec_event *argp )
    
      .. c:function:: int ioctl( int fd, int request, struct cec_event *argp )
    
    The main effect, is that we get those *CPP-types* back into Sphinx's C-
    namespace and we need no longer to distinguish between c/cpp references,
    when we refer a function like the ioctl.
    
    [1] http://www.sphinx-doc.org/en/stable/config.html?highlight=nitpick#confval-nitpicky
    
    Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 2c645cd7c4a0d4b35da1e43ec3a5b55a64038157
Author: Markus Heiser <markus.heiser@darmarIT.de>
Date:   Mon Aug 15 16:08:25 2016 +0200

    doc-rst:c-domain: ref-name of a function declaration
    
    Add option 'name' to the "c:function:" directive.  With option 'name'
    the ref-name of a function can be modified. E.g.::
    
        .. c:function:: int ioctl( int fd, int request )
           :name: VIDIOC_LOG_STATUS
    
    The func-name (e.g. ioctl) remains in the output but the ref-name
    changed from ``ioctl`` to ``VIDIOC_LOG_STATUS``. The index entry for
    this function is also changed to ``VIDIOC_LOG_STATUS`` and the function
    can now referenced by::
    
        :c:func:`VIDIOC_LOG_STATUS`
    
    Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit e8f5c617f26626ef4915ffa176f4ae02c9e08531
Author: Markus Heiser <markus.heiser@darmarit.de>
Date:   Mon Aug 22 15:16:21 2016 -0600

    doc-rst: add boilerplate to customize c-domain
    
    Add a sphinx-extension to customize the sphinx c-domain.  No functional
    changes right yet, just the boilerplate code.
    
    Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
    [ jc: coding-style tweak ]
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>

commit 99ff4d3af80caa91eef5a4b709def6b8b362ce8c
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Aug 19 10:03:59 2016 -0700

    Input: jornada720_kbd - switch to using dev_dbg
    
    Switch to using dev_dbg instead of naked printk so that output is uniform
    with the other driver messages in the kernel.
    
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 0f631d87d9a5e3f5f22908b102c8eaad944f390e
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Fri Aug 19 09:41:47 2016 -0700

    Input: jornada720_kbd - get rid of mach/irqs.h include
    
    Switch the jornada720 keyboard driver to obtain its interrupt from the
    platform device, rather than via a hard-coded interrupt number obtained
    from the mach/irqs.h header.
    
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit a8a7bdc598ec0c355491bc1cac75f8f6b8a1740d
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Fri Aug 19 09:40:58 2016 -0700

    Input: jornada720_kbd - switch to devm_* APIs
    
    Switch the jornada720_kbd driver to use the devm_* APIs.  This is in
    preparation to removing the mach/irqs.h include from this driver.
    
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 3f5c5920e627b602db4e13b9010f76ed1d078c54
Author: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Date:   Fri Aug 19 10:15:46 2016 -0700

    Input: max77693-haptic - change Krzysztof Kozlowski's email to kernel.org
    
    Change my email address to kernel.org instead of Samsung one for the
    purpose of any future contact.  The copyrights remain untouched and are
    attributed to Samsung.
    
    Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit e9bf4529d3db9e6291ebfe41be08e6bb76bdf49d
Author: LABBE Corentin <clabbe.montjoie@gmail.com>
Date:   Fri Aug 19 10:18:32 2016 -0700

    Input: pixcir_i2c_ts - remove a useless blank line
    
    This patch fix the following checkpatch report:
    Blank lines aren't necessary after an open brace
    
    Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 5ac82f081ac08c5ca551aa6cfc5d81ff26efdf4e
Author: LABBE Corentin <clabbe.montjoie@gmail.com>
Date:   Fri Aug 19 10:17:18 2016 -0700

    Input: pixcir_i2c_ts - remove text about writing to Free Software Foundation
    
    Checkpatch complains about the text suggesting writing to
    Free Software Foundation for GPLv2 license copy.
    This patch remove that text.
    
    Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 8ffef3cc696e9eff67ec79be349407895bffdfc1
Author: LABBE Corentin <clabbe.montjoie@gmail.com>
Date:   Fri Aug 19 10:16:51 2016 -0700

    Input: pixcir_i2c_ts - simplify code with of_device_get_match_data
    
    The usage of of_device_get_match_data reduce the code size a bit.
    Furthermore, it is better to use a standard function for
    getting the match data.
    
    Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit d18716542d137beafef2859bdf90d4e0c9a25523
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Thu Aug 4 08:21:19 2016 -0700

    Input: remove duplicate ft6236 driver
    
    The new(ish) ft6236 simply re-implements the M09 protocol of the
    (much) older edt-ft5x06.c driver.
    
    This commit removes this duplicate driver and adds the i2c ids and
    dt compatible string to the edt-ft5x06.c driver to keep compatibility.
    
    This commit also adds the standard touchscreen properties as optional
    properties to the edt,ft5x06 binding, these were documented in the
    focaltech,ft6236 bindingi, but were missing from the edt,ft5x06 doc.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit e3a888a4bff0bef0b256d55c58bc32c99fb44ece
Author: Petr Cvek <petr.cvek@tul.cz>
Date:   Fri Aug 19 10:14:29 2016 -0700

    Input: ads7846 - remove redundant regulator_disable call
    
    ADS7846 regulator is disabled twice in a row in ads7846_remove(). Valid
    one is in ads7846_disable().
    
    Removing the ads7846 module causes warning about unbalanced disables.
    
      ...
      WARNING: CPU: 0 PID: 29269 at drivers/regulator/core.c:2251 _regulator_disable+0xf8/0x130
      unbalanced disables for vads7846
      CPU: 0 PID: 29269 Comm: rmmod Tainted: G      D W       4.7.0+ #3
      Hardware name: HTC Magician
      ...
        show_stack+0x10/0x14
        __warn+0xd8/0x100
        warn_slowpath_fmt+0x38/0x48
        _regulator_disable+0xf8/0x130
        regulator_disable+0x34/0x60
        ads7846_remove+0x58/0xd4 [ads7846]
        spi_drv_remove+0x1c/0x34
        __device_release_driver+0x84/0x114
        driver_detach+0x8c/0x90
        bus_remove_driver+0x5c/0xc8
        SyS_delete_module+0x1a0/0x238
        ret_fast_syscall+0x0/0x38
    
    Signed-off-by: Petr Cvek <petr.cvek@tul.cz>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 3e29d6bb6433ebfa4e187b1164b80baf720d58c3
Author: Andrew Duggan <aduggan@synaptics.com>
Date:   Mon Aug 22 11:28:11 2016 -0700

    Input: synaptics-rmi4 - fix register descriptor subpacket map construction
    
    The map_offset variable is specific to the register and needs to be reset
    in the loop. Otherwise, subsequent register's subpacket maps will have
    their bits set at the wrong index.
    
    Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
    Tested-by: Nitin Chaudhary <nitinchaudhary1289@gmail.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit fae16989be77b09bab86c79233e4b511ea769cea
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Mon Aug 22 13:25:56 2016 -0700

    Input: tegra-kbc - fix inverted reset logic
    
    Commit fe6b0dfaba68 ("Input: tegra-kbc - use reset framework")
    accidentally converted _deassert to _assert, so there is no code
    to wake up this hardware.
    
    Fixes: fe6b0dfaba68 ("Input: tegra-kbc - use reset framework")
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 5cab4d84780573afbf5077ae9c3f919b4f305f20
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Aug 22 13:49:59 2016 -0700

    Input: silead - use devm_gpiod_get
    
    The silead code is using devm_foo for everything (and does not free
    any resources). Except that it is using gpiod_get instead of
    devm_gpiod_get (but is not freeing the gpio_desc), change this
    to use devm_gpiod_get so that the gpio will be properly released.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 7ac5d7b1a1254ceb4be19ba93ef7a6ee4e7ac382
Author: Mikko Rapeli <mikko.rapeli@iki.fi>
Date:   Mon Aug 22 20:32:22 2016 +0200

    HSI: hsi_char.h: use __u32 from linux/types.h
    
    Fixes userspace compiler errors like:
    
    linux/hsi/hsi_char.h:51:2: error: unknown type name ‘uint32_t’
    
    Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi>
    Signed-off-by: Sebastian Reichel <sre@kernel.org>

commit 67c52cac0c2427af61590c1dbb993457574be00f
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Tue Jul 5 14:22:15 2016 -0600

    coresight: etm4x: adding configurable start/stop filtering
    
    With this patch we add start/stop filtering as specified on
    the perf cmd line.  When the IP matches the start address
    trace generation gets triggered.  The stop condition is
    achieved when the IP matches the stop address.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 236a79f45fde4997eaadeb11742222fa11ab8c69
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Mon Jul 4 11:42:08 2016 -0600

    coresight: etm4x: adding configurable address range filtering
    
    This patch adds the capability to specify address ranges from
    the perf cmd line using the --filter option.  If the IP
    falls within the range(s) program flow traces are generated.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 6dc9ed33e57d13ea01e429c09b25a8a4fbd440fb
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Wed Jun 29 13:08:47 2016 -0600

    coresight: etm4x: configuring include/exclude function
    
    The include/exclude function of a tracer is applicable to address
    range and start/stop filters.  To avoid duplication and reuse code
    moving the include/exclude configuration to a function of its own.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 9c183490e9443995fb089c96f1574191f59b681e
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Wed Jun 29 11:01:58 2016 -0600

    coresight: etm4x: adding range filter configuration function
    
    Introducing a new function to do address range configuration
    generic enough to work for any address range and any comparator.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 523a338d065deed8578a6660a08e79ae0709bd7f
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Tue Jun 28 15:33:21 2016 -0600

    coresight: etm4x: cleaning up default filter configuration
    
    The default filter configuration was hard to read and included
    some redundancy.  This patch attempts to stream line configuration
    and improve readability.
    
    No change of functionality is included.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit bf36f73716e587da061017ed94fdbb4d50746068
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Tue Jun 28 11:26:33 2016 -0600

    coresight: etm4x: split default and filter configuration
    
    Splitting the steps involved in the configuration of a tracer.
    The first part is generic and can be reused for both sysFS and
    Perf methods.
    
    The second part pertains to the configuration of filters
    themselves where the source of the information used to
    configure the filters will vary depending on the access
    methods.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 333d82a4ec6438da5abeaf15007942269d2c4b4a
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Tue Jun 28 14:13:32 2016 -0600

    coresight: etm-perf: configuring filters from perf core
    
    This patch implements the required API needed to access
    and retrieve range and start/stop filters from the perf core.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 100b0715792ea234a1e49d512f85d01f2f450ac4
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Thu Jun 30 13:04:46 2016 -0600

    coresight: remove duplicated enumeration
    
    Both ETMv3 and ETMv4 drivers are declaring an 'enum etm_addr_type',
    creating reduncancy.
    
    This patch removes the enumeration from the driver files and adds
    it to a common header.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 5a4982d170de64c554bba1c745ed5b50475bb4e4
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Fri Jun 24 15:36:08 2016 -0600

    coresight: etm-perf: pass struct perf_event to source::enable/disable()
    
    With this commit [1] address range filter information is now found
    in the struct hw_perf_event::addr_filters.  As such pass the event
    itself to the coresight_source::enable/disable() functions so that
    both event attribute and filter can be accessible for configuration.
    
    [1] 'commit 375637bc5249 ("perf/core: Introduce address range filtering")'
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit a403cf91f1ea18de671fba7f56edc6cdf5e93d52
Author: Fengguang Wu <fengguang.wu@intel.com>
Date:   Tue Jul 12 07:45:57 2016 -0700

    rcu: Disable RCU_PERF_TEST and RCU_TORTURE_TEST for usermode Linux
    
    Usermode Linux currently does not implement arch_irqs_disabled_flags(),
    which results in a build failure in TASKS_RCU.  Commit 570dd3c74241 ("rcu:
    Disable TASKS_RCU for usermode Linux") attempted to fix this by making
    TASKS_RCU depend on !UML, which does work in production builds.  However,
    test builds that enable either RCU_PERF_TEST or RCU_TORTURE_TEST will
    select TASKS_RCU, defeating the dependency on !UML.  This commit therefore
    makes both RCU_PERF_TEST and RCU_TORTURE_TEST also depend on !UML.
    
    The usermode Linux maintainers expect to merge arch_irqs_disabled_flags()
    into 4.8, at which point this commit may be reverted.
    
    Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit e0d70f18b5d8ace575815c1cc617d8a1512244ea
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Jun 28 19:52:01 2016 -0700

    rcu: First stage expedited documentation
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit becbca8482697b6e9fa850023698df3259babf1b
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Fri Apr 29 14:57:41 2016 -0700

    torture: Affinity waiter tasks away from hotpluggable CPU
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit b7683340e469dc2e0e37a10d57c9c533213e6864
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Fri Apr 29 14:33:30 2016 -0700

    torture: Make waketorture kill test if no hotpluggable CPUs
    
    This commit shuts down the kernel if a shutdown time was specified and
    if there were no hotpluggable CPUs.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit e07b0edd917a714bc8b74e494ec9f5ff665bae01
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Fri Apr 22 06:10:34 2016 -0700

    torture: Make waketorture always hotplug the same CPU
    
    This commit causes waketorture to always hotplug the same CPU,
    namely, the highest-numbered CPU that can be hotplugged.  This
    will be used by later commits to force race conditions with
    higher probability.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 497bd987bed2ea3373292ce54b53a3a55b231633
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Mar 24 16:01:57 2016 -0700

    waketorture: Add hrtimer support
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 8692b0bbb9ad6c7da5b8aa498569bdbd89901950
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Mar 24 12:19:52 2016 -0700

    waketorture: Add utilization measurement
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 77259c23ae05d90d3bbc43d2cc6236ace279ce72
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Wed Mar 23 10:43:23 2016 -0700

    waketorture: Don't kick unless grace period or request
    
    The current code can result in spurious kicks when there are no grace
    periods in progress and no grace-period-related requests.  This is
    sort of OK for a diagnostic aid, but the resulting ftrace-dump messages
    in dmesg are annoying.  This commit therefore avoids spurious kicks
    in the common case.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit c20aae2f71b80a3a2528800d9dfd43c67b961d4a
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Mar 22 15:59:51 2016 -0700

    waketorture: Update scripting to accommodate waketorture
    
    This commit adds the scripting changes to add support for the shiny
    new waketorture kernel module.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 25b5bb1583ab6f553e32d3cf9e37aeb5bc3be525
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Mar 22 15:17:07 2016 -0700

    waketorture: Add a wakeup-torture module
    
    This commit adds a wakeup-torture module to assist tracking down an
    elusive lost-wakeup problem.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit ff84772684d11e0a040cac23485adc7831287fdd
Author: Sudeep Holla <sudeep.holla@arm.com>
Date:   Thu Aug 4 17:22:26 2016 +0100

    coresight: fix handling of ETM trace register access via sysfs
    
    The ETM registers are classified into 2 categories: trace and management.
    The core power domain contains most of the trace unit logic including
    all(except TRCOSLAR and TRCOSLSR) the trace registers. The debug power
    domain contains the external debugger interface including all management
    registers.
    
    This patch adds coresight unit specific function coresight_simple_func
    which can be used for ETM trace registers by providing a ETM specific
    read function which does smp cross call to ensure the trace core is
    powered up before the register is accessed.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 78e9ac29184d1e94ca014fb12afb7f3149d6c4af
Author: Sudeep Holla <sudeep.holla@arm.com>
Date:   Wed Aug 3 17:12:31 2016 +0100

    coresight: etm4x: request to retain power to the trace unit when active
    
    The Coresight ETMv4 architecture provides a way to request to keep the
    power to the trace unit. This might help to collect the traces without
    the need to disable the CPU power management(entering/exiting deeper
    idle states).
    
    Trace PowerDown Control Register provides powerup request bit which when
    set requests the system to retain power to the trace unit and emulate
    the powerdown request.
    
    Typically, a trace unit drives a signal to the power controller to
    request that the trace unit core power domain is powered up. However,
    if the trace unit and the CPU are in the same power domain then the
    implementation might combine the trace unit power up status with a
    signal from the CPU.
    
    This patch requests to retain power to the trace unit when active and
    to remove when inactive. Note this change will only request but the
    behaviour depends on the implementation. However, it matches the
    exact behaviour expected when the external debugger is connected with
    respect to CPU power states.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 9bf184979ecbb9b520b22df70e54aeedf89f341e
Author: Markus Elfring <elfring@users.sourceforge.net>
Date:   Sat Jul 23 20:04:09 2016 +0200

    coresight: tmc: Delete an unnecessary check before the function call "kfree"
    
    The kfree() function tests whether its argument is NULL and then
    returns immediately. Thus the test around the call is not needed.
    
    This issue was detected by using the Coccinelle software.
    
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit badefb02b9f4cc725f0a460d63cc39ab9006b418
Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date:   Tue Jul 19 11:27:21 2016 +0000

    coresight: etm4x: remove duplicated include from coresight-etm4x.c
    
    Remove duplicated include.
    
    Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 66686a0384db093a707c864bf211e2ea246f8267
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Wed Jul 13 17:40:25 2016 +0100

    coresight: Use local coresight_desc instances
    
    Each coresight device prepares a description for coresight_register()
    in struct coresight_desc. Once we register the device, the description is
    useless and can be freed. The coresight_desc is small enough (48bytes on
    64bit)i to be allocated on the stack. Hence use an automatic variable to
    avoid a needless dynamic allocation and wasting the memory(which will only
    be free'd when the device is destroyed).
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Pratik Patel <pratikp@codeaurora.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit b5218e8113f0456ac864c431d500fb164f1a27d9
Author: Peter Chen <peter.chen@nxp.com>
Date:   Tue Jul 5 10:11:04 2016 +0800

    hwtracing: coresight: of_coresight: add missing of_node_put after calling of_parse_phandle
    
    of_node_put needs to be called when the device node which is got
    from of_parse_phandle has finished using.
    
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Peter Chen <peter.chen@nxp.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 470048b468a679f124a82887400ac5b756233a19
Author: Olivier Schonken <olivier.schonken@gmail.com>
Date:   Tue Jul 5 10:05:49 2016 +0200

    coresight-etm3x: Add ARM ETM 3.5 Cortex-A5 peripheral ID
    
    Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 6b95d87c63466a75a1e60e776ef8966ef018485f
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Thu Jun 16 13:04:12 2016 -0600

    coresight: add PM runtime calls to coresight_simple_func()
    
    It is mandatory to enable a coresight block's power domain before
    trying to access management registers.  Otherwise the transaction
    simply stalls, leading to a system hang.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>

commit fc612c88c768a5451233e9aad50ad07f2a11d44d
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date:   Sun Jun 19 11:19:43 2016 -0600

    coresight: delay initialisation when children are missing
    
    Depending on when CoreSight device are discovered it is possible
    that some IP block may be referencing devices that have not been
    added to the bus yet.  The end result is missing nodes in the
    CoreSight topology even when the devices are present and properly
    initialised.
    
    This patch solves the problem by asking the driver core to
    try initialising the device at a later time when the children
    of a CoreSight node are missing.
    
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit a7e592ee55691d7433299cea988fd371a71bbf57
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:54 2016 +0100

    coresight: Add better messages for coresight_timeout
    
    When we encounter a timeout waiting for a status change via
    coresight_timeout, the caller always print the offset which
    was tried. This is pretty much useless as it doesn't specify
    the bit position we wait for. Also, one needs to lookup the
    TRM to figure out, what was wrong. This patch changes all
    such error messages to print something more meaningful.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit d8cd9e64d2fd11d03ac02e5408266464ad8bdf23
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:53 2016 +0100

    coresight: Cleanup TMC status check
    
    Use the defined symbol rather than hardcoding the value to
    check whether the TMC buffer is full.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit f76c97d43e059485517c66bd2dfb3cedf9c32fa4
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:52 2016 +0100

    coresight: etmv4: Fix ETMv4x peripheral ID table
    
    This patch cleans up the peripheral id table for different ETMv4
    implementations.
    
    As per Cortex-A53 TRM, the ETM has following id values:
    
    Peripheral ID0	0x5D	0xFE0
    Peripheral ID1	0xB9	0xFE4
    Peripheral ID2	0x4B	0xFE8
    Peripheral ID3	0x00	0xFEC
    
    where, PID2: has the following format:
    
    [7:4]   Revision
    [3]     JEDEC   0b1     res1. Indicates a JEP106 identity code is used
    [2:0]   DES_1   0b011   ARM Limited. This is bits[6:4] of JEP106 ID code
    
    The existing table entry checks only the bits [1:0], which is not
    sufficient enough. Fix it to match bits [3:0], just like the other
    entries do. While at it, correct the comment for A57 and the A53 entry.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 05d3b4b44aa41e0d03320d9fb098486a3a300e1c
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:51 2016 +0100

    coresight: tmc: Limit the trace to available data
    
    At present the ETF or ETR gives out the entire device
    buffer, even if there is less or even no trace data
    available. This patch limits the trace data given out to
    the actual trace data collected.
    
    Cc: mathieu.poirier@linaro.org
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 02b5b7d1e764d72931f48b4c5159a14182bd1cb8
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:50 2016 +0100

    coresight: Fix csdev connections initialisation
    
    This is a cleanup patch.
    
    coresight_device->conns holds an array to point to the devices
    connected to the OUT ports of a component. Sinks, e.g ETR, do not
    have an OUT port (nr_outport = 0), as it streams the trace to
    memory via AXI.
    
    At coresight_register() we do :
    
    	conns = kcalloc(csdev->nr_outport, sizeof(*conns), GFP_KERNEL);
    	if (!conns) {
    		ret = -ENOMEM;
    		goto err_kzalloc_conns;
    	}
    
    For ETR, since the total size requested for kcalloc is zero, the return
    value is, ZERO_SIZE_PTR ( != NULL). Hence, csdev->conns = ZERO_SIZE_PTR
    which cannot be verified later to contain a valid pointer. The code which
    accesses the csdev->conns is bounded by the csdev->nr_outport check,
    hence we don't try to dereference the ZERO_SIZE_PTR. This patch cleans
    up the csdev->conns initialisation to make sure we initialise it
    properly(i.e, either NULL or valid conns array).
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 8ef9abe100a16badee4c1513fa5d09f78ebb3e78
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:49 2016 +0100

    coresight: Consolidate error handling path for tmc_probe
    
    This patch cleans up the error handling path for tmc_probe
    as a side effect of the removal of the spurious dma_free_coherent().
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 29b7b2d2752c78c6070041c1856700d17af3f4d3
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jun 21 17:10:48 2016 +0100

    coresight: Remove erroneous dma_free_coherent in tmc_probe
    
    commit de5461970b3e9e194 ("coresight: tmc: allocating memory when needed")
    removed the static allocation of buffer for the trace data in ETR mode in
    tmc_probe. However it failed to remove the "devm_free_coherent" in
    tmc_probe when the probe fails due to other reasons. This patch gets
    rid of the incorrect dma_free_coherent() call.
    
    Fixes: commit de5461970b3e9e194 ("coresight: tmc: allocating memory when needed")
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit d44ec31c1965264b243606ea98d517eb3c03b363
Author: Sudeep Holla <sudeep.holla@arm.com>
Date:   Mon Jun 20 15:25:41 2016 +0100

    coresight: always use stashed trace id value in etm4_trace_id
    
    etm4_trace_id is not guaranteed to be executed on the CPU whose ETM is
    being accessed. This leads to exception similar to below one if the
    CPU whose ETM is being accessed is in deeper idle states. So it must
    be executed on the CPU whose ETM is being accessed.
    
    Unhandled fault: synchronous external abort (0x96000210) at 0xffff000008db4040
    Internal error: : 96000210 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 5 PID: 5979 Comm: etm.sh Not tainted 4.7.0-rc3 #159
    Hardware name: ARM Juno development board (r2) (DT)
    task: ffff80096dd34b00 ti: ffff80096dfe4000 task.ti: ffff80096dfe4000
    PC is at etm4_trace_id+0x5c/0x90
    LR is at etm4_trace_id+0x3c/0x90
    Call trace:
     etm4_trace_id+0x5c/0x90
     coresight_id_match+0x78/0xa8
     bus_for_each_dev+0x60/0xa0
     coresight_enable+0xc0/0x1b8
     enable_source_store+0x3c/0x70
     dev_attr_store+0x18/0x28
     sysfs_kf_write+0x48/0x58
     kernfs_fop_write+0x14c/0x1e0
     __vfs_write+0x1c/0x100
     vfs_write+0xa0/0x1b8
     SyS_write+0x44/0xa0
     el0_svc_naked+0x24/0x28
    
    However, TRCTRACEIDR is not guaranteed to hold the previous programmed
    trace id if it enters deeper idle states. Further, the trace id that is
    computed in etm4_init_trace_id is programmed into TRCTRACEIDR only in
    etm4_enable_hw which happens much later in the sequence after
    coresight_id_match is executed from enable_source_store.
    
    This patch simplifies etm4_trace_id by returning the stashed trace id
    value similar to etm4_cpu_id.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit aee3a6dd6566e119fa4ac5dabf382542cff5005b
Author: Chunyan Zhang <zhang.chunyan@linaro.org>
Date:   Tue Jun 21 10:24:36 2016 +0800

    coresight-stm: support mmapping channel regions with mmio_addr
    
    CoreSight STM device allows direct mapping of the channel regions to
    userspace for zero-copy writing. To support this ability, the STM
    framework has provided a hook 'mmio_addr', this patch just implemented
    this hook for CoreSight STM.
    
    This patch also added an item into 'channel_space' to save the physical
    base address of channel region which mmap operation needs to know.
    
    Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 46cbc9300504b0c9ee8d11085517625b56cee0be
Author: Sudeep Holla <sudeep.holla@arm.com>
Date:   Thu Jun 16 11:13:09 2016 +0100

    coresight: access conn->child_name only if it's initialised
    
    If the addition of the coresight devices get deferred, then there's a
    window before child_name is populated by of_get_coresight_platform_data
    from the respective component driver's probe and the attempted to access
    the same from coresight_orphan_match resulting in kernel NULL pointer
    dereference as below:
    
    Unable to handle kernel NULL pointer dereference at virtual address 0x0
    Internal error: Oops: 96000004 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 0 PID: 1038 Comm: kworker/0:1 Not tainted 4.7.0-rc3 #124
    Hardware name: ARM Juno development board (r2) (DT)
    Workqueue: events amba_deferred_retry_func
    PC is at strcmp+0x1c/0x160
    LR is at coresight_orphan_match+0x7c/0xd0
    Call trace:
     strcmp+0x1c/0x160
     bus_for_each_dev+0x60/0xa0
     coresight_register+0x264/0x2e0
     tmc_probe+0x130/0x310
     amba_probe+0xd4/0x1c8
     driver_probe_device+0x22c/0x418
     __device_attach_driver+0xbc/0x158
     bus_for_each_drv+0x58/0x98
     __device_attach+0xc4/0x160
     device_initial_probe+0x10/0x18
     bus_probe_device+0x94/0xa0
     device_add+0x344/0x580
     amba_device_try_add+0x194/0x238
     amba_deferred_retry_func+0x48/0xd0
     process_one_work+0x118/0x378
     worker_thread+0x48/0x498
     kthread+0xd0/0xe8
     ret_from_fork+0x10/0x40
    
    This patch adds a check for non-NULL conn->child_name before accessing
    the same.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

commit 489bb3d252d41392ce52590e49f0ae8782fb016e
Author: SeongJae Park <sj38.park@gmail.com>
Date:   Sun Aug 21 16:54:40 2016 +0900

    torture: TOROUT_STRING(): Insert a space between flag and message
    
    The TOROUT_STRING() macro does not insert a space between the flag and
    the message.  In contrast, other similar torture-test dmesg messages
    consistently supply a single space character.  This difference makes the
    output hard to read and to mechanically parse.  This commit therefore
    adds a space character between flag and message in TOROUT_STRING() output.
    
    Signed-off-by: SeongJae Park <sj38.park@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit a56fefa2605cf8e125ef09451487f30336128028
Author: SeongJae Park <sj38.park@gmail.com>
Date:   Sun Aug 21 16:54:39 2016 +0900

    rcuperf: Consistently insert space between flag and message
    
    A few rcuperf dmesg output messages have no space between the flag and
    the start of the message. In contrast, every other messages consistently
    supplies a single space.  This difference makes rcuperf dmesg output
    hard to read and to mechanically parse.  This commit therefore fixes
    this problem by modifying a pr_alert() call and PERFOUT_STRING() macro
    function to provide that single space.
    
    Signed-off-by: SeongJae Park <sj38.park@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 472213a675e21185416101a77102253f93713fa9
Author: SeongJae Park <sj38.park@gmail.com>
Date:   Sat Aug 13 15:54:35 2016 +0900

    rcutorture: Print out barrier error as document says
    
    Tests for rcu_barrier() were introduced by commit fae4b54f28f0 ("rcu:
    Introduce rcutorture testing for rcu_barrier()").  This commit updated
    the documentation to say that the "rtbe" field in rcutorture's dmesg
    output indicates test failure.  However, the code was not updated, only
    the documentation.  This commit therefore updates the code to match the
    updated documentation.
    
    Signed-off-by: SeongJae Park <sj38.park@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 4ffa66992476c94d8b4d33b2c792d336a400ada2
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Jun 30 11:56:38 2016 -0700

    torture: Add task state to writer-task stall printk()s
    
    This commit adds a dump of the scheduler state for stalled rcutorture
    writer tasks.  This addition provides yet more debug for the intermittent
    "failures to proceed", where grace periods move ahead but the rcutorture
    writer tasks fail to do so.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 31257c3c8b7307f106d67345755d937cb5fb8bd4
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Sat Jun 18 07:45:43 2016 -0700

    torture: Convert torture_shutdown() to hrtimer
    
    Upcoming changes to the timer wheel introduce significant inaccuracy
    and possibly also an ultimate limit on timeout duration.  This is a
    problem for the current implementation of torture_shutdown() because
    (1) shutdown times are user-specified, and can therefore be quite long,
    and (2) the torture scripting will kill a test instance that runs for
    more than a few minutes longer than scheduled.  This commit therefore
    converts the torture_shutdown() timed waits to an hrtimer, thus avoiding
    too-short torture test runs as well as death by scripting.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>

commit f6ac28c367ce61011e346af57ee20f0f23f5d729
Author: Valentin Rothberg <valentinrothberg@gmail.com>
Date:   Sat Aug 20 12:16:10 2016 +0200

    lib/Kconfig.debug: Fix typo in select statement
    
    Commit 484f29c7430b3 ("bug: Provide toggle for BUG on data corruption")
    added a Kconfig select statement on CONFIG_DEBUG_LIST, but the CONFIG_
    prefix is only used in Make and C(PP) syntax.  Remove the CONFIG_ prefix
    to correctly select the Kconfig option DEBUG_LIST.
    
    Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Kees Cook <keescook@chromium.org>

commit acc5ebe5c29d007951e3c1d611569b97c71ffd8d
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 17 14:42:12 2016 -0700

    lkdtm: Add tests for struct list corruption
    
    When building under CONFIG_DEBUG_LIST, list addition and removal will be
    sanity-checked. This validates that the check is working as expected by
    setting up classic corruption attacks against list manipulations, available
    with the new lkdtm tests CORRUPT_LIST_ADD and CORRUPT_LIST_DEL.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Rik van Riel <riel@redhat.com>

commit 40cd725cfc7fec2635a79814398d4d93d5558ac2
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 17 14:42:11 2016 -0700

    bug: Provide toggle for BUG on data corruption
    
    The kernel checks for cases of data structure corruption under some
    CONFIGs (e.g. CONFIG_DEBUG_LIST). When corruption is detected, some
    systems may want to BUG() immediately instead of letting the system run
    with known corruption.  Usually these kinds of manipulation primitives can
    be used by security flaws to gain arbitrary memory write control. This
    provides a new config CONFIG_BUG_ON_DATA_CORRUPTION and a corresponding
    macro CHECK_DATA_CORRUPTION for handling these situations. Notably, even
    if not BUGing, the kernel should not continue processing the corrupted
    structure.
    
    This is inspired by similar hardening by Syed Rameez Mustafa in MSM
    kernels, and in PaX and Grsecurity, which is likely in response to earlier
    removal of the BUG calls in commit 924d9addb9b1 ("list debugging: use
    WARN() instead of BUG()").
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Rik van Riel <riel@redhat.com>

commit 36c956ec858eb4e0bf1730e152f20122c2e8f93d
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 17 14:42:10 2016 -0700

    list: Split list_del() debug checking into separate function
    
    Similar to the list_add() debug consolidation, this commit consolidates
    the debug checking performed during CONFIG_DEBUG_LIST into a new
    __list_del_entry_valid() function, and stops list updates when corruption
    is found.
    
    Refactored from same hardening in PaX and Grsecurity.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Rik van Riel <riel@redhat.com>

commit e5bb62b63ae07e930719b02105103ff1dc3e12d0
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 17 14:42:09 2016 -0700

    rculist: Consolidate DEBUG_LIST for list_add_rcu()
    
    This commit consolidates the debug checking for list_add_rcu() into the
    new single __list_add_valid() debug function.  Notably, this commit fixes
    the sanity check that was added in commit 17a801f4bfeb ("list_debug:
    WARN for adding something already in the list"), which wasn't checking
    RCU-protected lists.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Rik van Riel <riel@redhat.com>

commit c69780bdd841801501cef7efbcce95e1ae6826f9
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 17 14:42:08 2016 -0700

    list: Split list_add() debug checking into separate function
    
    Right now, __list_add() code is repeated either in list.h or in
    list_debug.c, but the only differences between the two versions
    are the debug checks. This commit therefore extracts these debug
    checks into a separate __list_add_valid() function and consolidates
    __list_add(). Additionally this new __list_add_valid() function will stop
    list manipulations if a corruption is detected, instead of allowing for
    further corruption that may lead to even worse conditions.
    
    This is slight refactoring of the same hardening done in PaX and Grsecurity.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Rik van Riel <riel@redhat.com>

commit 0ffd374b2207a1a0cba9f2dbcc799198482391d5
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date:   Thu Aug 18 14:57:22 2016 +0200

    rcutorture: Convert to hotplug state machine
    
    Install the callbacks via the state machine and let the core invoke
    the callbacks on the already online CPUs.
    
    Cc: Josh Triplett <josh@joshtriplett.org>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Lai Jiangshan <jiangshanlai@gmail.com>
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 0c6d4576c45736f829dc3390ac95181b2ed21bc7
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date:   Wed Aug 17 14:21:04 2016 +0200

    cpu/hotplug: Get rid of CPU_STARTING reference
    
    CPU_STARTING is scheduled for removal. There is no use of it in drivers
    and core code uses it only for compatibility with old-style CPU-hotplug
    notifiers.  This patch removes therefore removes CPU_STARTING from an
    RCU-related comment.
    
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 6999aeabbb703a81a204cb6f9f8f151759a99ac4
Author: Wei Yongjun <weiyj.lk@gmail.com>
Date:   Sat Aug 20 15:25:32 2016 +0000

    spi: spi-fsl-dspi: Drop extra spi_master_put in device remove function
    
    The call sequence spi_alloc_master/spi_register_master/spi_unregister_master
    is complete; it reduces the device reference count to zero, which and results
    in device memory being freed. The subsequent call to spi_master_put is
    unnecessary and results in an access to free memory. Drop it.
    
    Fixes: 9298bc727385 ("spi: spi-fsl-dspi: Remove spi-bitbang")
    Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>

commit 7ec99de36f402618ae44147ac7fa9a07e4757a5f
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Jun 30 13:58:26 2016 -0700

    rcu: Provide exact CPU-online tracking for RCU
    
    Up to now, RCU has assumed that the CPU-online process makes it from
    CPU_UP_PREPARE to set_cpu_online() within one jiffy.  Given the recent
    rise of virtualized environments, this assumption is very clearly
    obsolete.  Failing to meet this deadline can result in RCU paying
    attention to an incoming CPU for one jiffy, then ignoring it until the
    grace period following the one in which that CPU sets itself online.
    This situation might prove to be fatally disappointing to any RCU
    read-side critical sections that had the misfortune to execute during
    the time in which RCU was ignoring the slow-to-come-online CPU.
    
    This commit therefore updates RCU's internal CPU state-tracking
    information at notify_cpu_starting() time, thus providing RCU with
    an exact transition of the CPU's state from offline to online.
    
    Note that this means that incoming CPUs must not use RCU read-side
    critical section (other than those of SRCU) until notify_cpu_starting()
    time.  Note also that the CPU_STARTING notifiers -are- allowed to use
    RCU read-side critical sections.  (Of course, CPU-hotplug notifiers are
    rapidly becoming obsolete, so you need to act fast!)
    
    If a given architecture or CPU family needs to use RCU read-side
    critical sections earlier, the call to rcu_cpu_starting() from
    notify_cpu_starting() will need to be architecture-specific, with
    architectures that need early use being required to hand-place
    the call to rcu_cpu_starting() at some point preceding the call to
    notify_cpu_starting().
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit 3563a438f124cb0b8cfd350c86de2f26c63d8837
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Thu Jul 28 09:39:11 2016 -0700

    rcu: Avoid redundant quiescent-state chasing
    
    Currently, __note_gp_changes() checks to see if the CPU has slept through
    multiple grace periods.  If it has, it resynchronizes that CPU's view
    of the grace-period state, which includes whether or not the current
    grace period needs a quiescent state from this CPU.  The fact of this
    need (or lack thereof) needs to be in two places, rdp->cpu_no_qs.b.norm
    and rdp->core_needs_qs.  The former tells RCU's context-switch code to
    go get a quiescent state and the latter says that it needs to be reported.
    The current code unconditionally sets the former to true, but correctly
    sets the latter.
    
    This does not result in failures, but it does unnecessarily increase
    the amount of work done on average at context-switch time.  This commit
    therefore correctly sets both fields.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

commit e77b7041258e11ba198951553d3acf1e371a9053
Author: Paul Gortmaker <paul.gortmaker@windriver.com>
Date:   Fri Jul 15 12:19:41 2016 -0400

    rcu: Don't use modular infrastructure in non-modular code
    
    The Kconfig currently controlling compilation of tree.c is:
    
    init/Kconfig:config TREE_RCU
    init/Kconfig:   bool
    
    ...and update.c and sync.c are "obj-y" meanin…
  • Loading branch information
mmotm auto import authored and hnaz committed Aug 23, 2016
1 parent fbfa092 commit fc79333
Show file tree
Hide file tree
Showing 2,900 changed files with 131,890 additions and 46,258 deletions.
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ Kay Sievers <kay.sievers@vrfy.org>
Kenneth W Chen <kenneth.w.chen@intel.com>
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
Koushik <raghavendra.koushik@neterion.com>
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com>
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski.k@gmail.com>
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Leonid I Ananiev <leonid.i.ananiev@intel.com>
Expand Down
29 changes: 26 additions & 3 deletions Documentation/ABI/testing/sysfs-bus-rbd
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,21 @@ Description:

Being used for adding and removing rbd block devices.

Usage: <mon ip addr> <options> <pool name> <rbd image name> [snap name]
Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>]

$ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add

The snapshot name can be "-" or omitted to map the image read/write. A <dev-id>
will be assigned for any registered block device. If snapshot is used, it will
be mapped read-only.

Removal of a device:
Usage: <dev-id> [force]

$ echo <dev-id> > /sys/bus/rbd/remove
$ echo 2 > /sys/bus/rbd/remove

Optional "force" argument which when passed will wait for running requests and
then unmap the image. Requests sent to the driver after initiating the removal
will be failed. (August 2016, since 4.9.)

What: /sys/bus/rbd/add_single_major
Date: December 2013
Expand All @@ -43,10 +47,25 @@ Description: Available only if rbd module is inserted with single_major
Entries under /sys/bus/rbd/devices/<dev-id>/
--------------------------------------------

client_addr

The ceph unique client entity_addr_t (address + nonce).
The format is <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or
'[1:2:3:4:5:6:7:8]:1234/5678'. (August 2016, since 4.9.)

client_id

The ceph unique client id that was assigned for this specific session.

cluster_fsid

The ceph cluster UUID. (August 2016, since 4.9.)

config_info

The string written into /sys/bus/rbd/add{,_single_major}. (August
2016, since 4.9.)

features

A hexadecimal encoding of the feature bits for this image.
Expand Down Expand Up @@ -92,6 +111,10 @@ current_snap

The current snapshot for which the device is mapped.

snap_id

The current snapshot's id. (August 2016, since 4.9.)

parent

Information identifying the chain of parent images in a layered rbd
Expand Down
8 changes: 4 additions & 4 deletions Documentation/ABI/testing/sysfs-class-power
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Description:
What: /sys/class/power_supply/max14577-charger/device/fast_charge_timer
Date: October 2014
KernelVersion: 3.18.0
Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Contact: Krzysztof Kozlowski <krzk@kernel.org>
Description:
This entry shows and sets the maximum time the max14577
charger operates in fast-charge mode. When the timer expires
Expand All @@ -36,7 +36,7 @@ Description:
What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
Date: January 2015
KernelVersion: 3.19.0
Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Contact: Krzysztof Kozlowski <krzk@kernel.org>
Description:
This entry shows and sets the maximum time the max77693
charger operates in fast-charge mode. When the timer expires
Expand All @@ -50,7 +50,7 @@ Description:
What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
Date: January 2015
KernelVersion: 3.19.0
Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Contact: Krzysztof Kozlowski <krzk@kernel.org>
Description:
This entry shows and sets the charging current threshold for
entering top-off charging mode. When charging current in fast
Expand All @@ -65,7 +65,7 @@ Description:
What: /sys/class/power_supply/max77693-charger/device/top_off_timer
Date: January 2015
KernelVersion: 3.19.0
Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Contact: Krzysztof Kozlowski <krzk@kernel.org>
Description:
This entry shows and sets the maximum time the max77693
charger operates in top-off charge mode. When the timer expires
Expand Down
5 changes: 5 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-wacom
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status0_luminance
Date: August 2014
Contact: linux-input@vger.kernel.org
Description:
<obsoleted by the LED class API now exported by the driver>
Writing to this file sets the status LED luminance (1..127)
when the stylus does not touch the tablet surface, and no
button is pressed on the stylus. This luminance level is
Expand All @@ -33,6 +34,7 @@ What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status1_luminance
Date: August 2014
Contact: linux-input@vger.kernel.org
Description:
<obsoleted by the LED class API now exported by the driver>
Writing to this file sets the status LED luminance (1..127)
when the stylus touches the tablet surface, or any button is
pressed on the stylus.
Expand All @@ -41,6 +43,7 @@ What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led0_select
Date: August 2014
Contact: linux-input@vger.kernel.org
Description:
<obsoleted by the LED class API now exported by the driver>
Writing to this file sets which one of the four (for Intuos 4
and Intuos 5) or of the right four (for Cintiq 21UX2 and Cintiq
24HD) status LEDs is active (0..3). The other three LEDs on the
Expand All @@ -50,6 +53,7 @@ What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led1_select
Date: August 2014
Contact: linux-input@vger.kernel.org
Description:
<obsoleted by the LED class API now exported by the driver>
Writing to this file sets which one of the left four (for Cintiq 21UX2
and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on
the left are always inactive.
Expand Down Expand Up @@ -91,6 +95,7 @@ What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/<serial_number>/r
Date: July 2015
Contact: linux-input@vger.kernel.org
Description:
<obsoleted by the LED class API now exported by the driver>
Reading from this file reports the mode status of the
remote as indicated by the LED lights on the device. If no
reports have been received from the paired device, reading
Expand Down
28 changes: 19 additions & 9 deletions Documentation/CodingStyle
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,13 @@ locations and some common work such as cleanup has to be done. If there is no
cleanup needed then just return directly.

Choose label names which say what the goto does or why the goto exists. An
example of a good name could be "out_buffer:" if the goto frees "buffer". Avoid
using GW-BASIC names like "err1:" and "err2:". Also don't name them after the
goto location like "err_kmalloc_failed:"
example of a good name could be "out_free_buffer:" if the goto frees "buffer".
Avoid using GW-BASIC names like "err1:" and "err2:", as you would have to
renumber them if you ever add or remove exit paths, and they make correctness
difficult to verify anyway.

It is advised to indent labels with a single space (not tab), so that
"diff -p" does not confuse labels with functions.

The rationale for using gotos is:

Expand All @@ -425,20 +429,29 @@ The rationale for using gotos is:
goto out_buffer;
}
...
out_buffer:
out_free_buffer:
kfree(buffer);
return result;
}

A common type of bug to be aware of is "one err bugs" which look like this:

err:
err:
kfree(foo->bar);
kfree(foo);
return ret;

The bug in this code is that on some exit paths "foo" is NULL. Normally the
fix for this is to split it up into two error labels "err_bar:" and "err_foo:".
fix for this is to split it up into two error labels "err_free_bar:" and
"err_free_foo:":

err_free_bar:
kfree(foo->bar);
err_free_foo:
kfree(foo);
return ret;

Ideally you should simulate errors to test all exit paths.


Chapter 8: Commenting
Expand All @@ -461,9 +474,6 @@ When commenting the kernel API functions, please use the kernel-doc format.
See the files Documentation/kernel-documentation.rst and scripts/kernel-doc
for details.

Linux style for comments is the C89 "/* ... */" style.
Don't use C99-style "// ..." comments.

The preferred style for long (multi-line) comments is:

/*
Expand Down
8 changes: 8 additions & 0 deletions Documentation/DocBook/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,15 @@ ifeq ($(DOCBOOKS),)
# Skip DocBook build if the user explicitly requested no DOCBOOKS.
.DEFAULT:
@echo " SKIP DocBook $@ target (DOCBOOKS=\"\" specified)."
else
ifneq ($(SPHINXDIRS),)

# Skip DocBook build if the user explicitly requested a sphinx dir
.DEFAULT:
@echo " SKIP DocBook $@ target (SPHINXDIRS specified)."
else


###
# The build process is as follows (targets):
# (xmldocs) [by docproc]
Expand Down Expand Up @@ -66,6 +72,7 @@ installmandocs: mandocs

# no-op for the DocBook toolchain
epubdocs:
latexdocs:

###
#External programs used
Expand Down Expand Up @@ -221,6 +228,7 @@ silent_gen_xml = :
echo "</programlisting>") > $@

endif # DOCBOOKS=""
endif # SPHINDIR=...

###
# Help targets as used by the top-level makefile
Expand Down
64 changes: 49 additions & 15 deletions Documentation/Makefile.sphinx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
# You can set these variables from the command line.
SPHINXBUILD = sphinx-build
SPHINXOPTS =
SPHINXDIRS = .
_SPHINXDIRS = $(patsubst $(srctree)/Documentation/%/conf.py,%,$(wildcard $(srctree)/Documentation/*/conf.py))
SPHINX_CONF = conf.py
PAPER =
BUILDDIR = $(obj)/output

Expand All @@ -25,38 +28,62 @@ else ifneq ($(DOCBOOKS),)

else # HAVE_SPHINX

# User-friendly check for rst2pdf
HAVE_RST2PDF := $(shell if python -c "import rst2pdf" >/dev/null 2>&1; then echo 1; else echo 0; fi)
# User-friendly check for pdflatex
HAVE_PDFLATEX := $(shell if which xelatex >/dev/null 2>&1; then echo 1; else echo 0; fi)

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
KERNELDOC = $(srctree)/scripts/kernel-doc
KERNELDOC_CONF = -D kerneldoc_srctree=$(srctree) -D kerneldoc_bin=$(KERNELDOC)
ALLSPHINXOPTS = -D version=$(KERNELVERSION) -D release=$(KERNELRELEASE) -d $(BUILDDIR)/.doctrees $(KERNELDOC_CONF) $(PAPEROPT_$(PAPER)) -c $(srctree)/$(src) $(SPHINXOPTS) $(srctree)/$(src)
ALLSPHINXOPTS = $(KERNELDOC_CONF) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

quiet_cmd_sphinx = SPHINX $@
cmd_sphinx = BUILDDIR=$(BUILDDIR) $(SPHINXBUILD) -b $2 $(ALLSPHINXOPTS) $(BUILDDIR)/$2
# commands; the 'cmd' from scripts/Kbuild.include is not *loopable*
loop_cmd = $(echo-cmd) $(cmd_$(1))

# $2 sphinx builder e.g. "html"
# $3 name of the build subfolder / e.g. "media", used as:
# * dest folder relative to $(BUILDDIR) and
# * cache folder relative to $(BUILDDIR)/.doctrees
# $4 dest subfolder e.g. "man" for man pages at media/man
# $5 reST source folder relative to $(srctree)/$(src),
# e.g. "media" for the linux-tv book-set at ./Documentation/media

quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4);
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media all;\
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
$(SPHINXBUILD) \
-b $2 \
-c $(abspath $(srctree)/$(src)) \
-d $(abspath $(BUILDDIR)/.doctrees/$3) \
-D version=$(KERNELVERSION) -D release=$(KERNELRELEASE) \
$(ALLSPHINXOPTS) \
$(abspath $(srctree)/$(src)/$5) \
$(abspath $(BUILDDIR)/$3/$4);

htmldocs:
$(MAKE) BUILDDIR=$(BUILDDIR) -f $(srctree)/Documentation/media/Makefile $@
$(call cmd,sphinx,html)
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))

pdfdocs:
ifeq ($(HAVE_RST2PDF),0)
$(warning The Python 'rst2pdf' module was not found. Make sure you have the module installed to produce PDF output.)
latexdocs:
ifeq ($(HAVE_PDFLATEX),0)
$(warning The 'xelatex' command was not found. Make sure you have it installed and in PATH to produce PDF output.)
@echo " SKIP Sphinx $@ target."
else # HAVE_RST2PDF
$(call cmd,sphinx,pdf)
endif # HAVE_RST2PDF
else # HAVE_PDFLATEX
@$(call loop_cmd,sphinx,latex,.,latex,.)
endif # HAVE_PDFLATEX

pdfdocs: latexdocs
ifneq ($(HAVE_PDFLATEX),0)
$(Q)$(MAKE) PDFLATEX=xelatex LATEXOPTS="-interaction=nonstopmode" -C $(BUILDDIR)/latex
endif # HAVE_PDFLATEX

epubdocs:
$(call cmd,sphinx,epub)
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,epub,$(var),epub,$(var)))

xmldocs:
$(call cmd,sphinx,xml)
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,xml,$(var),xml,$(var)))

# no-ops for the Sphinx toolchain
sgmldocs:
Expand All @@ -72,7 +99,14 @@ endif # HAVE_SPHINX
dochelp:
@echo ' Linux kernel internal documentation in different formats (Sphinx):'
@echo ' htmldocs - HTML'
@echo ' latexdocs - LaTeX'
@echo ' pdfdocs - PDF'
@echo ' epubdocs - EPUB'
@echo ' xmldocs - XML'
@echo ' cleandocs - clean all generated files'
@echo
@echo ' make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2'
@echo ' valid values for SPHINXDIRS are: $(_SPHINXDIRS)'
@echo
@echo ' make SPHINX_CONF={conf-file} [target] use *additional* sphinx-build'
@echo ' configuration. This is e.g. useful to build with nit-picking config.'
24 changes: 10 additions & 14 deletions Documentation/PCI/MSI-HOWTO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,11 @@ has a requirements for a minimum number of vectors the driver can pass a
min_vecs argument set to this limit, and the PCI core will return -ENOSPC
if it can't meet the minimum number of vectors.

The flags argument should normally be set to 0, but can be used to pass the
PCI_IRQ_NOMSI and PCI_IRQ_NOMSIX flag in case a device claims to support
MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in
case the device does not support legacy interrupt lines.

By default this function will spread the interrupts around the available
CPUs, but this feature can be disabled by passing the PCI_IRQ_NOAFFINITY
flag.
The flags argument is used to specify which type of interrupt can be used
by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX).
A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for
any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set,
pci_alloc_irq_vectors() will spread the interrupts around the available CPUs.

To get the Linux IRQ numbers passed to request_irq() and free_irq() and the
vectors, use the following function:
Expand Down Expand Up @@ -131,7 +128,7 @@ larger than the number supported by the device it will automatically be
capped to the supported limit, so there is no need to query the number of
vectors supported beforehand:

nvec = pci_alloc_irq_vectors(pdev, 1, nvec, 0);
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES)
if (nvec < 0)
goto out_err;

Expand All @@ -140,23 +137,22 @@ interrupts it can request a particular number of interrupts by passing that
number to pci_alloc_irq_vectors() function as both 'min_vecs' and
'max_vecs' parameters:

ret = pci_alloc_irq_vectors(pdev, nvec, nvec, 0);
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_ALL_TYPES);
if (ret < 0)
goto out_err;

The most notorious example of the request type described above is enabling
the single MSI mode for a device. It could be done by passing two 1s as
'min_vecs' and 'max_vecs':

ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
if (ret < 0)
goto out_err;

Some devices might not support using legacy line interrupts, in which case
the PCI_IRQ_NOLEGACY flag can be used to fail the request if the platform
can't provide MSI or MSI-X interrupts:
the driver can specify that only MSI or MSI-X is acceptable:

nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_NOLEGACY);
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX);
if (nvec < 0)
goto out_err;

Expand Down
Loading

0 comments on commit fc79333

Please sign in to comment.