13 Sep, 2017

1 commit

  • Pull dma-mapping updates from Christoph Hellwig:

    - removal of the old dma_alloc_noncoherent interface

    - remove unused flags to dma_declare_coherent_memory

    - restrict OF DMA configuration to specific physical busses

    - use the iommu mailing list for dma-mapping questions and patches

    * tag 'dma-mapping-4.14' of git://git.infradead.org/users/hch/dma-mapping:
    dma-coherent: fix dma_declare_coherent_memory() logic error
    ARM: imx: mx31moboard: Remove unused 'dma' variable
    dma-coherent: remove an unused variable
    MAINTAINERS: use the iommu list for the dma-mapping subsystem
    dma-coherent: remove the DMA_MEMORY_MAP and DMA_MEMORY_IO flags
    dma-coherent: remove the DMA_MEMORY_INCLUDES_CHILDREN flag
    of: restrict DMA configuration
    dma-mapping: remove dma_alloc_noncoherent and dma_free_noncoherent
    i825xx: switch to switch to dma_alloc_attrs
    au1000_eth: switch to dma_alloc_attrs
    sgiseeq: switch to dma_alloc_attrs
    dma-mapping: reduce dma_mapping_error inline bloat

    Linus Torvalds
     

08 Sep, 2017

1 commit

  • Pull DeviceTree updates from Rob Herring:
    "There's a few orphans in the conversion to %pOF printf specifiers
    included here that no one else picked up.

    Summary:

    - Convert more DT code to use of_property_read_* API.

    - Improve DT overlay support when adding multiple overlays

    - Convert printk's to %pOF format specifiers. Most went via subsystem
    trees, but picked up the remaining orphans

    - Correct unittests to use preferred "okay" for "status" property
    value

    - Add a KASLR seed property

    - Vendor prefixes for Mellanox, Theobroma System, Adaptrum, Moxa

    - Fix modalias buffer handling

    - Clean-up of include paths for building dtbs

    - Add bindings for amc6821, isl1208, tsl2x7x, srf02, and srf10
    devices

    - Add nvmem bindings for MediaTek MT7623 and MT7622 SoC

    - Add compatible string for Allwinner H5 Mali-450 GPU

    - Fix links to old OpenFirmware docs with new mirror on
    devicetree.org

    - Remove status property from binding doc examples"

    * tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits)
    devicetree: Adjust status "ok" -> "okay" under drivers/of/
    dt-bindings: Remove "status" from examples
    dt-bindings: pinctrl: sh-pfc: Use generic node name
    dt-bindings: Add vendor Mellanox
    dt-binding: net/phy: fix interrupts description
    virt: Convert to using %pOF instead of full_name
    macintosh: Convert to using %pOF instead of full_name
    ide: pmac: Convert to using %pOF instead of full_name
    microblaze: Convert to using %pOF instead of full_name
    dt-bindings: usb: musb: Grammar s/the/to/, s/is/are/
    of: Use PLATFORM_DEVID_NONE definition
    of/device: Fix of_device_get_modalias() buffer handling
    of/device: Prevent buffer overflow in of_device_modalias()
    dt-bindings: add amc6821, isl1208 trivial bindings
    dt-bindings: add vendor prefix for Theobroma Systems
    of: search scripts/dtc/include-prefixes path for both CPP and DTC
    of: remove arch/$(SRCARCH)/boot/dts from include search path for CPP
    of: remove drivers/of/testcase-data from include search path for CPP
    of: return of_get_cpu_node from of_cpu_device_node_get if CPUs are not registered
    iio: srf08: add device tree binding for srf02 and srf10
    ...

    Linus Torvalds
     

07 Sep, 2017

1 commit

  • Pull networking updates from David Miller:

    1) Support ipv6 checksum offload in sunvnet driver, from Shannon
    Nelson.

    2) Move to RB-tree instead of custom AVL code in inetpeer, from Eric
    Dumazet.

    3) Allow generic XDP to work on virtual devices, from John Fastabend.

    4) Add bpf device maps and XDP_REDIRECT, which can be used to build
    arbitrary switching frameworks using XDP. From John Fastabend.

    5) Remove UFO offloads from the tree, gave us little other than bugs.

    6) Remove the IPSEC flow cache, from Florian Westphal.

    7) Support ipv6 route offload in mlxsw driver.

    8) Support VF representors in bnxt_en, from Sathya Perla.

    9) Add support for forward error correction modes to ethtool, from
    Vidya Sagar Ravipati.

    10) Add time filter for packet scheduler action dumping, from Jamal Hadi
    Salim.

    11) Extend the zerocopy sendmsg() used by virtio and tap to regular
    sockets via MSG_ZEROCOPY. From Willem de Bruijn.

    12) Significantly rework value tracking in the BPF verifier, from Edward
    Cree.

    13) Add new jump instructions to eBPF, from Daniel Borkmann.

    14) Rework rtnetlink plumbing so that operations can be run without
    taking the RTNL semaphore. From Florian Westphal.

    15) Support XDP in tap driver, from Jason Wang.

    16) Add 32-bit eBPF JIT for ARM, from Shubham Bansal.

    17) Add Huawei hinic ethernet driver.

    18) Allow to report MD5 keys in TCP inet_diag dumps, from Ivan
    Delalande.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1780 commits)
    i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq
    i40e: avoid NVM acquire deadlock during NVM update
    drivers: net: xgene: Remove return statement from void function
    drivers: net: xgene: Configure tx/rx delay for ACPI
    drivers: net: xgene: Read tx/rx delay for ACPI
    rocker: fix kcalloc parameter order
    rds: Fix non-atomic operation on shared flag variable
    net: sched: don't use GFP_KERNEL under spin lock
    vhost_net: correctly check tx avail during rx busy polling
    net: mdio-mux: add mdio_mux parameter to mdio_mux_init()
    rxrpc: Make service connection lookup always check for retry
    net: stmmac: Delete dead code for MDIO registration
    gianfar: Fix Tx flow control deactivation
    cxgb4: Ignore MPS_TX_INT_CAUSE[Bubble] for T6
    cxgb4: Fix pause frame count in t4_get_port_stats
    cxgb4: fix memory leak
    tun: rename generic_xdp to skb_xdp
    tun: reserve extra headroom only when XDP is set
    net: dsa: bcm_sf2: Configure IMP port TC2QOS mapping
    net: dsa: bcm_sf2: Advertise number of egress queues
    ...

    Linus Torvalds
     

06 Sep, 2017

1 commit

  • Pull device properties framework updates from Rafael Wysocki:
    "These introduce fwnode operations for all of the separate types of
    'firmware nodes' that can be handled by the device properties
    framework, make the framework use const fwnode arguments all over, add
    a helper for the consolidated handling of node references and switch
    over the framework to the new UUID API.

    Specifics:

    - Introduce fwnode operations for all of the separate types of
    'firmware nodes' that can be handled by the device properties
    framework and drop the type field from struct fwnode_handle (Sakari
    Ailus, Arnd Bergmann).

    - Make the device properties framework use const fwnode arguments
    where possible (Sakari Ailus).

    - Add a helper for the consolidated handling of node references to
    the device properties framework (Sakari Ailus).

    - Switch over the ACPI part of the device properties framework to the
    new UUID API (Andy Shevchenko)"

    * tag 'devprop-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: device property: Switch to use new generic UUID API
    device property: export irqchip_fwnode_ops
    device property: Introduce fwnode_property_get_reference_args
    device property: Constify fwnode property API
    device property: Constify argument to pset fwnode backend
    ACPI: Constify internal fwnode arguments
    ACPI: Constify acpi_bus helper functions, switch to macros
    ACPI: Prepare for constifying acpi_get_next_subnode() fwnode argument
    device property: Get rid of struct fwnode_handle type field
    ACPI: Use IS_ERR_OR_NULL() instead of non-NULL check in is_acpi_data_node()

    Linus Torvalds
     

05 Sep, 2017

1 commit


01 Sep, 2017

1 commit

  • Moving DMA configuration to happen later at driver probe time had the
    unnoticed side-effect that we now perform DMA configuration for *every*
    device represented in DT, rather than only those explicitly created by
    the of_platform and PCI code.

    As Christoph points out, this is not really the best thing to do. Whilst
    there may well be other DMA-capable buses that can benefit from having
    their children automatically configured after the bridge has probed,
    there are also plenty of others like USB, MDIO, etc. that definitely do
    not support DMA and should not be indiscriminately processed.

    The good news is that in most cases the DT "dma-ranges" property serves
    as an appropriate indicator - per a strict interpretation of the spec,
    anything lacking a "dma-ranges" property should be considered not to
    have a mapping of DMA address space from its children to its parent,
    thus anything for which of_dma_get_range() does not succeed does not
    need DMA configuration. Certain bus types have a general expectation of
    DMA capability and carry a well-established precedent that an absent
    "dma-ranges" implies the same as the empty property, so we automatically
    opt those in to DMA configuration regardless, to avoid regressing most
    existing platforms.

    Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices")
    Reported-by: Christoph Hellwig
    Signed-off-by: Robin Murphy
    Acked-by: Rob Herring
    Signed-off-by: Christoph Hellwig

    Robin Murphy
     

25 Aug, 2017

3 commits

  • Use dedicated definition instead of plain -1 where it's appropriate.

    No functional change intended.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Rob Herring

    Andy Shevchenko
     
  • of_device_request_module() calls of_device_get_modalias() with "len" 0,
    to calculate the size of the buffer needed to store the result, but due
    to integer promotion the ssize_t "len" will be compared as unsigned with
    strlen(compat) and the loop will generally never break. This results in
    a call to snprintf() with a negative len, which triggers below warning,
    followed by a dereference of a invalid pointer:

    [ 3.060067] WARNING: CPU: 0 PID: 51 at lib/vsprintf.c:2122 vsnprintf+0x348/0x6d8
    ...
    [ 3.060301] [] vsnprintf+0x348/0x6d8
    [ 3.060308] [] snprintf+0x48/0x50
    [ 3.060316] [] of_device_get_modalias+0x108/0x160
    [ 3.060322] [] of_device_request_module+0x20/0x88
    ...

    Further more of_device_get_modalias() is supposed to return the number
    of bytes needed to store the entire modalias, so the loop needs to
    continue accumulate the total size even though the buffer is full.

    Finally the function is not expected to ensure space for the NUL, nor
    include it in the returned size, so only 1 should be added to the length
    of "compat" in the loop (to account for the character 'C').

    Fixes: bc575064d688 ("of/device: use of_property_for_each_string to parse compatible strings")
    Cc: Rob Herring
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Rob Herring

    Bjorn Andersson
     
  • As of_device_get_modalias() returns the number of bytes that would have
    been written to the target string, regardless of how much did fit in the
    buffer, it's possible that the returned index points beyond the buffer
    passed to of_device_modalias() - causing memory beyond the buffer to be
    null terminated.

    Fixes: 0634c2958927 ("of: Add function for generating a DT modalias with a newline")
    Cc: Rob Herring
    Cc: stable@vger.kernel.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Rob Herring

    Bjorn Andersson
     

22 Aug, 2017

1 commit


17 Aug, 2017

1 commit

  • Historically, DMA masks have suffered some ambiguity between whether
    they represent the range of physical memory a device can access, or the
    address bits a device is capable of driving, particularly since on many
    platforms the two are equivalent. Whilst there are some stragglers left
    (dma_max_pfn(), I'm looking at you...), the majority of DMA code has
    been cleaned up to follow the latter definition, not least since it is
    the only one which makes sense once IOMMUs are involved.

    In this respect, of_dma_configure() has always done the wrong thing in
    how it generates initial masks based on "dma-ranges". Although rounding
    down did not affect the TI Keystone platform where dma_addr + size is
    already a power of two, in any other case it results in a mask which is
    at best unnecessarily constrained and at worst unusable.

    BCM2837 illustrates the problem nicely, where we have a DMA base of 3GB
    and a size of 1GB - 16MB, giving dma_addr + size = 0xff000000 and a
    resultant mask of 0x7fffffff, which is then insufficient to even cover
    the necessary offset, effectively making all DMA addresses out-of-range.
    This has been hidden until now (mostly because we don't yet prevent
    drivers from simply overwriting this initial mask later upon probe), but
    due to recent changes elsewhere now shows up as USB being broken on
    Raspberry Pi 3.

    Make it right by rounding up instead of down, such that the mask
    correctly correctly describes all possisble bits the device needs to
    emit.

    Fixes: 9a6d7298b083 ("of: Calculate device DMA masks based on DT dma-range size")
    Reported-by: Stefan Wahren
    Reported-by: Andreas Färber
    Reported-by: Hans Verkuil
    Signed-off-by: Robin Murphy
    Acked-by: Rob Herring
    Signed-off-by: Christoph Hellwig

    Robin Murphy
     

15 Aug, 2017

1 commit


14 Aug, 2017

1 commit

  • Looks like gcc isn't always able to figure out that 3 *if* branches in
    of_phy_register_fixed_link() calling fixed_phy_register() at their ends
    are similar enough and thus can be merged. The "manual" merge saves 40
    bytes of the object code (AArch64 gcc 4.8.5), and still saves 12 bytes
    even if gcc was able to merge the branch tails (ARM gcc 4.8.5)...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     

08 Aug, 2017

2 commits

  • The "fixed-link" prop support predated of_property_read_u32_array(), so
    basically had to open-code it. Using the modern API saves 24 bytes of the
    object code (ARM gcc 4.8.5); the only behavior change would be that the
    prop length check is now less strict (however the strict pre-check done
    in of_phy_is_fixed_link() is left intact anyway)...

    Signed-off-by: Sergei Shtylyov
    Reviewed-by: Andrew Lunn
    Reviewed-by: Rob Herring
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     
  • Saeed Mahameed says:

    ====================
    mlx5-shared-2017-08-07

    This series includes some mlx5 updates for both net-next and rdma trees.

    From Saeed,
    Core driver updates to allow selectively building the driver with
    or without some large driver components, such as
    - E-Switch (Ethernet SRIOV support).
    - Multi-Physical Function Switch (MPFs) support.
    For that we split E-Switch and MPFs functionalities into separate files.

    From Erez,
    Delay mlx5_core events when mlx5 interfaces, namely mlx5_ib, registration
    is taking place and until it completes.

    From Rabie,
    Increase the maximum supported flow counters.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

02 Aug, 2017

3 commits


01 Aug, 2017

2 commits

  • …6', 'asoc/fix/multi-pcm', 'asoc/fix/of-graph' and 'asoc/fix/pxa' into asoc-linus

    Mark Brown
     
  • Fix inconsistent use of of_graph_get_port_parent() where
    asoc_simple_card_parse_graph_dai() does of_node_get() before
    calling it while other callers do not. We can fix this by
    not trashing the node passed to of_graph_get_port_parent().

    Let's also make sure the callers have correct refcounts and remove
    related incorrect of_node_put() calls for of_for_each_phandle
    as that's done by of_phandle_iterator_next() except when
    we break out of the loop early.

    Let's fix both issues with a single patch to avoid kobject
    refcounts getting messed up more if two patches are merged
    separately.

    Otherwise strange issues can happen caused by memory corruption
    caused by too many kobject_del() calls such as:

    BUG: sleeping function called from invalid context at
    kernel/locking/mutex.c:747
    ...
    (___might_sleep)
    (__mutex_lock)
    (mutex_lock_nested)
    (kernfs_remove)
    (kobject_del)
    (kobject_put)
    (of_get_next_parent)
    (of_graph_get_port_parent)
    (asoc_simple_card_parse_graph_dai [snd_soc_simple_card_utils])
    (asoc_graph_card_probe [snd_soc_audio_graph_card])

    Fixes: 0ef472a973eb ("of_graph: add of_graph_get_port_parent()")
    Fixes: 2692c1c63c29 ("ASoC: add audio-graph-card support")
    Fixes: 1689333f8311 ("ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai()")
    Signed-off-by: Tony Lindgren
    Reviewed-by: Rob Herring
    Tested-by: Antonio Borneo
    Tested-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Tony Lindgren
     

25 Jul, 2017

1 commit

  • of_phy_register_fixed_link() declares the 'err' variable to hold the result
    of of_property_read_string() but only uses it once after that, while that
    function can be called directly from the *if* statement...

    Remove that variable and move/regroup 'link_gpio' and 'len' variables in
    order to sort the declarations in the reverse Xmas tree order -- to please
    DaveM. ;-)

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     

24 Jul, 2017

4 commits

  • of_pci_get_devfn() and of_pci_parse_bus_range() somehow didn't use
    of_property_read_u32_array() though it was long available, basically
    open-coding it. Using the modern DT API saves several bytes and
    also adds some prop sanity checks as a bonus...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     
  • of_get_pci_domain_nr() somehow didn't use of_property_read_u32() though it
    was long available, basically open-coding it. Using the modern DT API saves
    several LoCs/bytes and also adds some prop sanity checks as a bonus...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     
  • of_alias_scan() can use of_property_read_string() -- using the modern DT API
    adds some prop sanity checks as a bonus; it does add couple LoCs but only
    because the original code violated the 80-column limit...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     
  • of_n_{addr|size}_cells() predate of_property_read_u32(), so they have to
    basically open-code it. Using the modern DT API saves several LoCs and also
    adds some prop sanity checks as a bonus...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     

22 Jul, 2017

4 commits

  • The new fwnode_property_get_reference_args() interface amends the fwnode
    property API with the functionality of both of_parse_phandle_with_args()
    and __acpi_node_get_property_reference().

    The semantics is slightly different: the cells property is ignored on ACPI
    as the number of arguments can be explicitly obtained from the firmware
    interface.

    Signed-off-by: Sakari Ailus
    Signed-off-by: Rafael J. Wysocki

    Sakari Ailus
     
  • Make fwnode arguments to the fwnode property API const.

    Signed-off-by: Sakari Ailus
    Reviewed-by: Rob Herring
    Signed-off-by: Rafael J. Wysocki

    Sakari Ailus
     
  • Instead of relying on the struct fwnode_handle type field, define
    fwnode_operations structs for all separate types of fwnodes. To find out
    the type, compare to the ops field to relevant ops structs.

    This change has two benefits:

    1. it avoids adding the type field to each and every instance of struct
    fwnode_handle, thus saving memory and

    2. makes the ops field the single factor that defines both the types of
    the fwnode as well as defines the implementation of its operations,
    decreasing the possibility of bugs when developing code dealing with
    fwnode internals.

    Suggested-by: Rob Herring
    Signed-off-by: Sakari Ailus
    Reviewed-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Sakari Ailus
     
  • of_irq_to_resource() has recently been fixed to return negative error #'s
    along with 0, however of_irq_to_resource_table() still only regards 0 as
    invalid IRQ -- fix it up.

    Fixes: 7a4228bbff76 ("of: irq: use of_irq_get() in of_irq_to_resource()")
    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     

21 Jul, 2017

3 commits

  • It was never used and could be removed, otherwise
    we could see a warning:

    drivers/of/address.c: In function 'of_pci_range_parser_one':
    drivers/of/address.c:277:14: warning: variable 'pci_space' set but not
    used [-Wunused-but-set-variable]

    Signed-off-by: Shawn Lin
    Signed-off-by: Rob Herring

    Shawn Lin
     
  • The DT interrupt parsing code predates of_property_read_u32(), so it has to
    basically open-code it. Using the modern DT API saves several LoCs and also
    adds some prop sanity checks as a bonus...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     
  • The "interrupt-controller" property is boolean, i.e. has no value. The DT
    interrupt parsing code predates of_property_read_bool(), so it uses either
    of_get_property() or of_find_property() -- the former isn't quite correct
    for the boolean props (but works somehow). Use the modern boolean prop API
    instead.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Rob Herring

    Sergei Shtylyov
     

20 Jul, 2017

3 commits

  • Add overlay __symbols__ properties to live tree when an overlay
    is added to the live tree so that the symbols are available to
    subsequent overlays.

    Expected test result is new __symbols__ entries for labels from
    the overlay after this commit.

    Before this commit:

    Console error message near end of unittest:
    ### dt-test ### FAIL of_unittest_overlay_high_level():2296 Adding overlay 'overlay_bad_symbol' failed
    ### dt-test ### end of unittest - 190 passed, 1 failed

    The new unittest "fails" because the expected result of loading the
    new overlay is an error instead of success.

    $ # node hvac-medium-2 exists because the overlay loaded
    $ # since the duplicate symbol was not detected
    $ cd /proc/device-tree/testcase-data-2/substation@100/
    $ ls
    compatible hvac-medium-2 motor-8 reg
    hvac-large-1 linux,phandle name status
    hvac-medium-1 motor-1 phandle

    $ cd /proc/device-tree/__symbols__/
    $ ls
    electric_1 lights_1 name rides_1 spin_ctrl_2
    hvac_1 lights_2 retail_1 spin_ctrl_1

    After this commit:

    Previous console error message no longer occurs, but expected error
    occurs:
    OF: overlay: Failed to apply prop @/__symbols__/hvac_1
    OF: overlay: apply failed '/__symbols__'
    ### dt-test ### end of unittest - 191 passed, 0 failed

    $ # node hvac-medium-2 does not exist because the overlay
    $ # properly failed to load due to the duplicate symbol
    $ cd /proc/device-tree/testcase-data-2/substation@100/
    $ ls
    compatible hvac-medium-1 motor-1 name reg
    hvac-large-1 linux,phandle motor-8 phandle status

    $ cd /proc/device-tree/__symbols__/
    $ ls
    electric_1 lights_1 retail_1 ride_200_right spin_ctrl_2
    hvac_1 lights_2 ride_200 rides_1
    hvac_2 name ride_200_left spin_ctrl_1
    $ cat ride_200; echo
    /testcase-data-2/fairway-1/ride@200
    $ cat ride_200_left ; echo
    /testcase-data-2/fairway-1/ride@200/track@10
    $ cat ride_200_right ; echo
    /testcase-data-2/fairway-1/ride@200/track@20

    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring

    Frank Rowand
     
  • Correct existing node name detection when overlay node name has
    a unit-address.

    Expected test result is overlay will update the nodes and properties
    for /testcase-data-2/fairway-1/ride@100/ after this commit.

    Before this commit:

    Console error message near end of unittest:
    OF: Duplicate name in fairway-1, renamed to "ride@100#1"

    $ cd /proc/device-tree/testcase-data-2/fairway-1/
    $ # extra node: ride@100#1
    $ ls
    #address-cells linux,phandle phandle ride@200
    #size-cells name ride@100 status
    compatible orientation ride@100#1
    $ cd /proc/device-tree/testcase-data-2/fairway-1/ride@100/
    $ ls track@30/incline-up
    ls: track@30/incline-up: No such file or directory
    $ ls track@40/incline-up
    ls: track@40/incline-up: No such file or directory

    After this commit:

    Console error message no longer occurs

    $ cd /proc/device-tree/testcase-data-2/fairway-1/
    $ # no extra node: ride@100#1
    $ ls
    #address-cells compatible name phandle ride@200
    #size-cells linux,phandle orientation ride@100 status
    $ cd /proc/device-tree/testcase-data-2/fairway-1/ride@100/
    $ ls track@30/incline-up
    track@30/incline-up
    $ ls track@40/incline-up
    track@40/incline-up

    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring

    Frank Rowand
     
  • Add nodes and properties to overlay_base and overlay dts files to
    test for
    - incorrect existing node name detection when overlay node name
    has a unit-address
    - adding overlay __symbols__ properties to live tree when an
    overlay is added to the live tree

    The following console messages will appear near the end of unittest
    until the code errors are corrected:

    OF: Duplicate name in fairway-1, renamed to "ride@100#1"

    ### dt-test ### FAIL of_unittest_overlay_high_level():2296 Adding overlay 'overlay_bad_symbol' failed

    ### dt-test ### end of unittest - 190 passed, 1 failed

    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring

    Frank Rowand
     

19 Jul, 2017

1 commit


11 Jul, 2017

1 commit

  • Pull device properties framework updates from Rafael Wysocki:
    "These mostly rearrange the device properties core code and add a few
    helper functions to it as a foundation for future work.

    Specifics:

    - Rearrange the core device properties code by moving the code
    specific to each supported platform configuration framework (ACPI,
    DT and build-in) into a separate file (Sakari Ailus).

    - Add helper functions for accessing device properties in a
    firmware-agnostic way (Sakari Ailus, Kieran Bingham)"

    * tag 'devprop-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: Add fwnode_graph_get_port_parent
    device property: Add FW type agnostic fwnode_graph_get_remote_node
    device property: Introduce fwnode_device_is_available()
    device property: Move fwnode graph ops to firmware specific locations
    device property: Move FW type specific functionality to FW specific files
    ACPI: Constify argument to acpi_device_is_present()

    Linus Torvalds
     

09 Jul, 2017

1 commit

  • Pull PCI updates from Bjorn Helgaas:

    - add sysfs max_link_speed/width, current_link_speed/width (Wong Vee
    Khee)

    - make host bridge IRQ mapping much more generic (Matthew Minter,
    Lorenzo Pieralisi)

    - convert most drivers to pci_scan_root_bus_bridge() (Lorenzo
    Pieralisi)

    - mutex sriov_configure() (Jakub Kicinski)

    - mutex pci_error_handlers callbacks (Christoph Hellwig)

    - split ->reset_notify() into ->reset_prepare()/reset_done()
    (Christoph Hellwig)

    - support multiple PCIe portdrv interrupts for MSI as well as MSI-X
    (Gabriele Paoloni)

    - allocate MSI/MSI-X vector for Downstream Port Containment (Gabriele
    Paoloni)

    - fix MSI IRQ affinity pre/post/min_vecs issue (Michael Hernandez)

    - test INTx masking during enumeration, not at run-time (Piotr Gregor)

    - avoid using device_may_wakeup() for runtime PM (Rafael J. Wysocki)

    - restore the status of PCI devices across hibernation (Chen Yu)

    - keep parent resources that start at 0x0 (Ard Biesheuvel)

    - enable ECRC only if device supports it (Bjorn Helgaas)

    - restore PRI and PASID state after Function-Level Reset (CQ Tang)

    - skip DPC event if device is not present (Keith Busch)

    - check domain when matching SMBIOS info (Sujith Pandel)

    - mark Intel XXV710 NIC INTx masking as broken (Alex Williamson)

    - avoid AMD SB7xx EHCI USB wakeup defect (Kai-Heng Feng)

    - work around long-standing Macbook Pro poweroff issue (Bjorn Helgaas)

    - add Switchtec "running" status flag (Logan Gunthorpe)

    - fix dra7xx incorrect RW1C IRQ register usage (Arvind Yadav)

    - modify xilinx-nwl IRQ chip for legacy interrupts (Bharat Kumar
    Gogada)

    - move VMD SRCU cleanup after bus, child device removal (Jon Derrick)

    - add Faraday clock handling (Linus Walleij)

    - configure Rockchip MPS and reorganize (Shawn Lin)

    - limit Qualcomm TLP size to 2K (hardware issue) (Srinivas Kandagatla)

    - support Tegra MSI 64-bit addressing (Thierry Reding)

    - use Rockchip normal (not privileged) register bank (Shawn Lin)

    - add HiSilicon Kirin SoC PCIe controller driver (Xiaowei Song)

    - add Sigma Designs Tango SMP8759 PCIe controller driver (Marc
    Gonzalez)

    - add MediaTek PCIe host controller support (Ryder Lee)

    - add Qualcomm IPQ4019 support (John Crispin)

    - add HyperV vPCI protocol v1.2 support (Jork Loeser)

    - add i.MX6 regulator support (Quentin Schulz)

    * tag 'pci-v4.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (113 commits)
    PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support
    PCI: Add DT binding for Sigma Designs Tango PCIe controller
    PCI: rockchip: Use normal register bank for config accessors
    dt-bindings: PCI: Add documentation for MediaTek PCIe
    PCI: Remove __pci_dev_reset() and pci_dev_reset()
    PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done()
    PCI: xilinx: Make of_device_ids const
    PCI: xilinx-nwl: Modify IRQ chip for legacy interrupts
    PCI: vmd: Move SRCU cleanup after bus, child device removal
    PCI: vmd: Correct comment: VMD domains start at 0x10000, not 0x1000
    PCI: versatile: Add local struct device pointers
    PCI: tegra: Do not allocate MSI target memory
    PCI: tegra: Support MSI 64-bit addressing
    PCI: rockchip: Use local struct device pointer consistently
    PCI: rockchip: Check for clk_prepare_enable() errors during resume
    MAINTAINERS: Remove Wenrui Li as Rockchip PCIe driver maintainer
    PCI: rockchip: Configure RC's MPS setting
    PCI: rockchip: Reconfigure configuration space header type
    PCI: rockchip: Split out rockchip_pcie_cfg_configuration_accesses()
    PCI: rockchip: Move configuration accesses into rockchip_pcie_cfg_atu()
    ...

    Linus Torvalds
     

08 Jul, 2017

1 commit

  • Pull DeviceTree updates from Rob Herring:

    - vsprintf format specifier %pOF for device_node's. This will enable us
    to stop storing the full node names. Conversion of users will happen
    next cycle.

    - Update documentation to point to DT specification instead of ePAPR.

    - Split out graph and property functions to a separate file.

    - New of-graph functions for ALSA

    - Add vendor prefixes for RISC-V, Linksys, iWave Systems, Roofull,
    Itead, and BananaPi.

    - Improve dtx_diff utility filename printing.

    * tag 'devicetree-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (32 commits)
    of: document /sys/firmware/fdt
    dt-bindings: Add RISC-V vendor prefix
    vsprintf: Add %p extension "%pOF" for device tree
    of: find_node_by_full_name rewrite to compare each level
    of: use kbasename instead of open coding
    dt-bindings: thermal: add file extension to brcm,ns-thermal
    of: update ePAPR references to point to Devicetree Specification
    scripts/dtc: dtx_diff - Show real file names in diff header
    of: detect invalid phandle in overlay
    of: be consistent in form of file mode
    of: make __of_attach_node() static
    of: address.c header comment typo
    of: fdt.c header comment typo
    of: make of_fdt_is_compatible() static
    dt-bindings: display-timing.txt convert non-ascii characters to ascii
    Documentation: remove overlay-notes reference to non-existent file
    dt-bindings: usb: exynos-usb: Add missing required VDD properties
    dt-bindings: Add vendor prefix for Linksys
    MAINTAINERS: add device tree ABI documentation file
    of: Add vendor prefix for iWave Systems Technologies Pvt. Ltd
    ...

    Linus Torvalds
     

07 Jul, 2017

1 commit

  • Pull sound updates from Takashi Iwai:
    "This development cycle resulted in a fair amount of changes in both
    core and driver sides. The most significant change in ALSA core is
    about PCM. Also the support of of-graph card and the new DAPM widget
    for DSP are noteworthy changes in ASoC core. And there're lots of
    small changes splat over the tree, as you can see in diffstat.

    Below are a few highlights:

    ALSA core:
    - Removal of set_fs() hackery from PCM core stuff, and the code
    reorganization / optimization thereafter
    - Improved support of PCM ack ops, and a new ABI for improved
    control/status mmap handling
    - Lots of constifications in various codes

    ASoC core:
    - The support of of-graph card, which may work as a better generic
    device for a replacement of simple-card
    - New widget types intended mainly for use with DSPs

    ASoC drivers:
    - New drivers for Allwinner V3s SoCs
    - Ensonic ES8316 codec support
    - More Intel SKL and KBL works
    - More device support for Intel SST Atom (mostly for cheap tablets
    and 2-in-1 devices)
    - Support for Rockchip PDM controllers
    - Support for STM32 I2S and S/PDIF controllers
    - Support for ZTE AUD96P22 codecs

    HD-audio:
    - Support of new Realtek codecs (ALC215/ALC285/ALC289), more quirks
    for HP and Dell machines
    - A few more fixes for i915 component binding"

    * tag 'sound-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (418 commits)
    ALSA: hda - Fix unbalance of i915 module refcount
    ASoC: Intel: Skylake: Remove driver debugfs exit
    ASoC: Intel: Skylake: explicitly add the headers sst-dsp.h
    ALSA: hda/realtek - Remove GPIO_MASK
    ALSA: hda/realtek - Fix typo of pincfg for Dell quirk
    ALSA: pcm: add a documentation for tracepoints
    ALSA: atmel: ac97c: fix error return code in atmel_ac97c_probe()
    ALSA: x86: fix error return code in hdmi_lpe_audio_probe()
    ASoC: Intel: Skylake: Add support to read firmware registers
    ASoC: Intel: Skylake: Add sram address to sst_addr structure
    ASoC: Intel: Skylake: Debugfs facility to dump module config
    ASoC: Intel: Skylake: Add debugfs support
    ASoC: fix semicolon.cocci warnings
    ASoC: rt5645: Add quirk override by module option
    ASoC: rsnd: make arrays path and cmd_case static const
    ASoC: audio-graph-card: add widgets and routing for external amplifier support
    ASoC: audio-graph-card: update bindings for amplifier support
    ASoC: rt5665: calibration should be done before jack detection
    ASoC: rsnd: constify dev_pm_ops structures.
    ASoC: nau8825: change crosstalk-bypass property to bool type
    ...

    Linus Torvalds