Skip to content
  1. Oct 05, 2018
  2. Sep 29, 2018
  3. Sep 28, 2018
    • Guenter Roeck's avatar
      of: unittest: Disable interrupt node tests for old world MAC systems · da08d8cb
      Guenter Roeck authored
      On systems with OF_IMAP_OLDWORLD_MAC set in of_irq_workarounds, the
      devicetree interrupt parsing code is different, causing unit tests of
      devicetree interrupt nodes to fail. Due to a bug in unittest code, which
      tries to dereference an uninitialized pointer, this results in a crash.
      
      OF: /testcase-data/phandle-tests/consumer-a: arguments longer than property
      Unable to handle kernel paging request for data at address 0x00bc616e
      Faulting instruction address: 0xc08e9468
      Oops: Kernel access of bad area, sig: 11 [#1]
      BE PREEMPT PowerMac
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.72-rc1-yocto-standard+ #1
      task: cf8e0000 task.stack: cf8da000
      NIP:  c08e9468 LR: c08ea5bc CTR: c08ea5ac
      REGS: cf8dbb50 TRAP: 0300   Not tainted  (4.14.72-rc1-yocto-standard+)
      MSR:  00001032 <ME,IR,DR,RI>  CR: 82004044  XER: 00000000
      DAR: 00bc616e DSISR: 40000000
      GPR00: c08ea5bc cf8dbc00 cf8e0000 c13ca517 c13ca517 c13ca8a0 00000066 00000002
      GPR08: 00000063 00bc614e c0b05865 000affff 82004048 00000000 c00047f0 00000000
      GPR16: c0a80000 c0a9cc34 c13ca517 c0ad1134 05ffffff 000affff c0b05860 c0abeef8
      GPR24: cecec278 cecec278 c0a8c4d0 c0a885e0 c13ca8a0 05ffffff c13ca8a0 c13ca517
      
      NIP [c08e9468] device_node_gen_full_name+0x30/0x15c
      LR [c08ea5bc] device_node_string+0x190/0x3c8
      Call Trace:
      [cf8dbc00] [c007f670] trace_hardirqs_on_caller+0x118/0x1fc (unreliable)
      [cf8dbc40] [c08ea5bc] device_node_string+0x190/0x3c8
      [cf8dbcb0] [c08eb794] pointer+0x25c/0x4d0
      [cf8dbd00] [c08ebcbc] vsnprintf+0x2b4/0x5ec
      [cf8dbd60] [c08ec00c] vscnprintf+0x18/0x48
      [cf8dbd70] [c008e268] vprintk_store+0x4c/0x22c
      [cf8dbda0] [c008ecac] vprintk_emit+0x94/0x130
      [cf8dbdd0] [c008ff54] printk+0x5c/0x6c
      [cf8dbe10] [c0b8ddd4] of_unittest+0x2220/0x26f8
      [cf8dbea0] [c0004434] do_one_initcall+0x4c/0x184
      [cf8dbf00] [c0b4534c] kernel_init_freeable+0x13c/0x1d8
      [cf8dbf30] [c0004814] kernel_init+0x24/0x118
      [cf8dbf40] [c0013398] ret_from_kernel_thread+0x5c/0x64
      
      The problem was observed when running a qemu test for the g3beige machine
      with devicetree unittests enabled.
      
      Disable interrupt node tests on affected systems to avoid both false
      unittest failures and the crash.
      
      With this patch in place, unittest on the affected system passes with
      the following message.
      
      	dt-test ### end of unittest - 144 passed, 0 failed
      
      Fixes: 53a42093
      
       ("of: Add device tree selftests")
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarFrank Rowand <frank.rowand@sony.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      da08d8cb
  4. Sep 27, 2018
  5. Sep 21, 2018
    • Rob Herring's avatar
      scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 · f858927f
      Rob Herring authored
      
      
      Major changes are I2C and SPI bus checks, YAML output format (for
      future validation), some new libfdt functions, and more libfdt
      validation of dtbs.
      
      The YAML addition adds an optional dependency on libyaml. pkg-config is
      used to test for it and pkg-config became a kconfig dependency in 4.18.
      
      This adds the following commits from upstream:
      
      c86da84d30e4 Add support for YAML encoded output
      361b5e7d8067 Make type_marker_length helper public
      bfbfab047e45 pylibfdt: Add a means to add and delete notes
      9005f4108e7c pylibfdt: Allow delprop() to return errors
      b94c056b137e Make valgrind optional
      fd06c54d4711 tests: Better testing of dtc -I fs mode
      c3f50c9a86d9 tests: Allow dtbs_equal_unordered to ignore mem reserves
      0ac9fdee37c7 dtc: trivial '-I fs -O dts' test
      0fd1c8c783f3 pylibfdt: fdt_get_mem_rsv returns 2 uint64_t values
      04853cad18f4 pylibfdt: Don't incorrectly / unnecessarily override uint64_t typemap
      9619c8619c37 Kill bogus TYPE_BLOB marker type
      ac68ff92ae20 parser: add TYPE_STRING marker to path references
      90a190eb04d9 checks: add SPI bus checks
      53a1bd546905 checks: add I2C bus checks
      88f18909db73 dtc: Bump version to v1.4.7
      85bce8b2f06d tests: Correction to vg_prepare_blob()
      57f7f9e7bc7c tests: Don't call memcmp() with NULL arguments
      c12b2b0c20eb libfdt: fdt_address_cells() and fdt_size_cells()
      3fe0eeda0b7f livetree: Set phandle properties type to uint32
      853649acceba pylibfdt: Support the sequential-write interface
      9b0e4fe26093 tests: Improve fdt_resize() tests
      1087504bb3e8 libfdt: Add necessary header padding in fdt_create()
      c72fa777e613 libfdt: Copy the struct region in fdt_resize()
      32b9c6130762 Preserve datatype markers when emitting dts format
      6dcb8ba408ec libfdt: Add helpers for accessing unaligned words
      42607f21d43e tests: Fix incorrect check name 'prop_name_chars'
      9d78c33bf8a1 tests: fix grep for checks error messages
      b770f3d1c13f pylibfdt: Support setting the name of a node
      2f0d07e678e0 pylibfdt: Add functions to set and get properties as strings
      354d3dc55939 pylibfdt: Update the bytearray size with pack()
      3c374d46acce pylibfdt: Allow reading integer values from properties
      49d32ce40bb4 pylibfdt: Use an unsigned type for fdt32_t
      481246a0c13a pylibfdt: Avoid accessing the internal _fdt member in tests
      9aafa33d99ed pylibfdt: Add functions to update properties
      5a598671fdbf pylibfdt: Support device-tree creation/expansion
      483e170625e1 pylibfdt: Add support for reading the memory reserve map
      29bb05aa4200 pylibfdt: Add support for the rest of the header functions
      582a7159a5d0 pylibfdt: Add support for fdt_next_node()
      f0f8c9169819 pylibfdt: Reorder functions to match libfdt.h
      64a69d123935 pylibfdt: Return string instead of bytearray from getprop()
      4d09a83420df fdtput: Add documentation
      e617cbe1bd67 fdtget: Add documentation
      180a93924014 Use <inttypes.h> format specifiers in a bunch of places we should
      b9af3b396576 scripts/dtc: Fixed format mismatch in fprintf
      4b8fcc3d015c libfdt: Add fdt_check_full() function
      c14223fb2292 tests: Use valgrind client requests for better checking
      5b67d2b955a3 tests: Better handling of valgrind errors saving blobs
      e2556aaeb506 tests: Remove unused #define
      fb9c6abddaa8 Use size_t for blob lengths in utilfdt_read*
      0112fda03bf6 libfdt: Add fdt_header_size()
      6473a21d8bfe Consolidate utilfdt_read_len() variants
      d5db5382c5e5 libfdt: Safer access to memory reservations
      719d582e98ec libfdt: Propagate name errors in fdt_getprop_by_offset()
      70166d62a27f libfdt: Safer access to strings section
      eb890c0f77dc libfdt: Make fdt_check_header() more thorough
      899d6fad93f3 libfdt: Improve sequential write state checking
      04b5b4062ccd libfdt: Clean up header checking functions
      44d3efedc816 Preserve datatype information when parsing dts
      f0be81bd8de0 Make Property a subclass of bytearray
      24b1f3f064d4 pylibfdt: Add a method to access the device tree directly
      
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      f858927f
  6. Sep 20, 2018
    • Rob Herring's avatar
      scripts/dtc: Add yamltree.c to dtc sources · c36d5a6c
      Rob Herring authored
      
      
      dtc has a new source file, yamltree.c, that needs to be copied when
      syncing dtc sources.
      
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      c36d5a6c
    • Rob Herring's avatar
      libfdt: Ensure INT_MAX is defined in libfdt_env.h · 53dd9dce
      Rob Herring authored
      
      
      The next update of libfdt has a new dependency on INT_MAX. Update the
      instances of libfdt_env.h in the kernel to either include the necessary
      header with the definition or define it locally.
      
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      53dd9dce
    • Rob Herring's avatar
      of/unittest: Fix I2C bus unit-address error · 62287dce
      Rob Herring authored
      
      
      dtc has new checks for I2C buses. Fix the warnings in unit-addresses in
      the unittests.
      
      drivers/of/unittest-data/testcases.dtb: Warning (i2c_bus_reg): /testcase-data/overlay-node/test-bus/i2c-test-bus/test-unittest14/i2c@0/test-mux-dev: I2C bus unit address format error, expected "20"
      drivers/of/unittest-data/overlay_15.dtb: Warning (i2c_bus_reg): /fragment@0/__overlay__/test-unittest15/i2c@0/test-mux-dev: I2C bus unit address format error, expected "20"
      
      Cc: Frank Rowand <frowand.list@gmail.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      62287dce
    • Rob Herring's avatar
      Merge branch 'dt/linus' into HEAD · 362ce2b8
      Rob Herring authored
      362ce2b8