1. 06 Dec, 2022 13 commits
  2. 11 Nov, 2022 2 commits
  3. 10 Nov, 2022 1 commit
    • Rob Herring's avatar
      scripts/dtc: Update to upstream version v1.6.1-63-g55778a03df61 · ea3723a5
      Rob Herring authored
      It's been a while since the last sync and Lee needs commit 73590342fc85
      ("libfdt: prevent integer overflow in fdt_next_tag").
      
      This adds the following commits from upstream:
      
      55778a03df61 libfdt: tests: add get_next_tag_invalid_prop_len
      73590342fc85 libfdt: prevent integer overflow in fdt_next_tag
      035fb90d5375 libfdt: add fdt_get_property_by_offset_w helper
      98a07006c48d Makefile: fix infinite recursion by dropping non-existent `%.output`
      a036cc7b0c10 Makefile: limit make re-execution to avoid infinite spin
      c6e92108bcd9 libdtc: remove duplicate judgments
      e37c25677dc9 Don't generate erroneous fixups from reference to path
      50454658f2b5 libfdt: Don't mask fdt_get_name() returned error
      e64a204196c9 manual.txt: Follow README.md and remove Jon
      f508c83fe6f0 Update README in MANIFEST.in and setup.py to README.md
      c2ccf8a77dd2 Add description of Signed-off-by lines
      90b9d9de42ca Split out information for contributors to CONTRIBUTING.md
      0ee1d479b23a Remove Jon Loeliger from maintainers list
      b33a73c62c1c Convert README to README.md
      7ad60734b1c1 Allow static building with meson
      fd9b8c96c780 Allow static building with make
      fda71da26e7f libfdt: Handle failed get_name() on BEGIN_NODE
      c7c7f17a83d5 Fix test script to run also on dash shell
      01f23ffe1679 Add missing relref_merge test to meson test list
      ed310803ea89 pylibfdt: add FdtRo.get_path()
      c001fc01a43e pylibfdt: fix swig build in install
      26c54f840d23 tests: add test cases for label-relative path references
      ec7986e682cf dtc: introduce label relative path references
      651410e54cb9 util: introduce xstrndup helper
      4048aed12b81 setup.py: fix out of tree build
      ff5afb96d0c0 Handle integer overflow in check_property_phandle_args()
      ca7294434309 README: Explain how to add a new API function
      c0c2e115f82e Fix a UB when fdt_get_string return null
      cd5f69cbc0d4 tests: setprop_inplace: use xstrdup instead of unchecked strdup
      a04f69025003 pylibfdt: add Property.as_*int*_array()
      83102717d7c4 pylibfdt: add Property.as_stringlist()
      d152126bb029 Fix Python crash on getprop deallocation
      17739b7ef510 Support 'r' format for printing raw bytes with fdtget
      45f3d1a095dd libfdt: overlay: make overlay_get_target() public
      c19a4bafa514 libfdt: fix an incorrect integer promotion
      1cc41b1c969f pylibfdt: Add packaging metadata
      db72398cd437 README: Update pylibfdt install instructions
      383e148b70a4 pylibfdt: fix with Python 3.10
      23b56cb7e189 pylibfdt: Move setup.py to the top level
      69a760747d8d pylibfdt: Split setup.py author name and email
      0b106a77dbdc pylibfdt: Use setuptools_scm for the version
      c691776ddb26 pylibfdt: Use setuptools instead of distutils
      5216f3f1bbb7 libfdt: Add static lib to meson build
      4eda2590f481 CI: Cirrus: bump used FreeBSD from 12.1 to 13.0
      
      Link: https://lore.kernel.org/r/20221101181427.1808703-1-robh@kernel.org/Signed-off-by: default avatarRob Herring <robh@kernel.org>
      ea3723a5
  4. 31 Oct, 2022 2 commits
    • Rafał Miłecki's avatar
      dt-bindings: nvmem: u-boot,env: add Broadcom's variant binding · 6b0584c1
      Rafał Miłecki authored
      Broadcom uses U-Boot for a lot of their bcmbca familiy chipsets. U-Boot
      stores its configuration in an environment data block.
      
      Such blocks are usually stored on flash as a separated partition at
      hardcoded address. Broadcom however decided to:
      1. Store env data block inside U-Boot partition
      2. Avoid sticking to hardcoded offsets
      3. Use custom header with "uEnv" magic and env data length
      
      Example (length 0x4000):
      $ hexdump -n 32 -C -s 0x40000 /dev/mtdblock0
      00040000  76 6e 45 75 00 40 00 00  34 89 7a 82 49 4d 41 47  |vnEu.@..4.z.IMAG|
      00040010  45 3d 4e 41 4e 44 3a 31  4d 2c 31 30 32 34 4d 00  |E=NAND:1M,1024M.|
      (0x40000 offset is unit specific and can change)
      
      Starting with the commit 118f3fbe ("dt-bindings: mtd: partitions:
      support label/name only partition") DT can describe partitions matching
      them by a name (without specifying actual address). With that feature
      and this binding change it's possible to:
      1. Specify DT node for Broadcom's U-Boot env data subpartition
      2. Add nodes for specific environment data variables
      3. Reference them as NVMEM cells
      
      This binding is unlikely to help Broadcom's U-Boot. U-Boot SPL needs to
      find environment data early (before it accesses DTB) and it does that by
      looking for an "uEnv" magic. Dirty way.
      
      This binding can however be used by operating systems. It allows
      describing cleanly U-Boot, its env data and variables. It tells
      operating system about Broadcom-specific env data so it can parse it.
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Link: https://lore.kernel.org/r/20221018154202.4634-2-zajec5@gmail.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      6b0584c1
    • Rafał Miłecki's avatar
      dt-bindings: mtd: partitions: u-boot: allow dynamic subpartitions · 4862a4d7
      Rafał Miłecki authored
      U-Boot partition may contain subpartitions. For example Broadcom
      includes environment data block in the middle of its U-Boot partition.
      
      This allows describing Broadcom's U-Boot env data and will allow
      referencing its NVMEM cell in the future.
      
      Ref: 118f3fbe ("dt-bindings: mtd: partitions: support label/name only partition")
      Ref: dd638202 ("dt-bindings: mtd: partitions: add additional example for qcom,smem-part")
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Link: https://lore.kernel.org/r/20221018154202.4634-1-zajec5@gmail.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      4862a4d7
  5. 30 Oct, 2022 1 commit
  6. 26 Oct, 2022 5 commits
  7. 21 Oct, 2022 3 commits
  8. 20 Oct, 2022 1 commit
  9. 18 Oct, 2022 4 commits
  10. 16 Oct, 2022 8 commits
    • Christian Göttsche's avatar
      of: declare string literals const · 91924d9b
      Christian Göttsche authored
      of_overlay_action_name() returns a string literal from a function local
      array.  Modifying string literals is undefined behavior which usage of
      const pointer can avoid.  of_overlay_action_name() is currently only
      used once in overlay_notify() to print the returned value.
      
      While on it declare the data array const as well.
      
      Reported by Clang:
      
          In file included from arch/x86/kernel/asm-offsets.c:22:
          In file included from arch/x86/kernel/../kvm/vmx/vmx.h:5:
          In file included from ./include/linux/kvm_host.h:19:
          In file included from ./include/linux/msi.h:23:
          In file included from ./arch/x86/include/asm/msi.h:5:
          In file included from ./arch/x86/include/asm/irqdomain.h:5:
          In file included from ./include/linux/irqdomain.h:35:
          ./include/linux/of.h:1555:3: error: initializing 'char *' with an expression of type 'const char[5]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                          "init",
                          ^~~~~~
          ./include/linux/of.h:1556:3: error: initializing 'char *' with an expression of type 'const char[10]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                          "pre-apply",
                          ^~~~~~~~~~~
          ./include/linux/of.h:1557:3: error: initializing 'char *' with an expression of type 'const char[11]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                          "post-apply",
                          ^~~~~~~~~~~~
          ./include/linux/of.h:1558:3: error: initializing 'char *' with an expression of type 'const char[11]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                          "pre-remove",
                          ^~~~~~~~~~~~
          ./include/linux/of.h:1559:3: error: initializing 'char *' with an expression of type 'const char[12]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                          "post-remove",
                          ^~~~~~~~~~~~~
      Signed-off-by: default avatarChristian Göttsche <cgzones@googlemail.com>
      Reviewed-by: default avatarFrank Rowand <frowand.list@gmail.com>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Link: https://lore.kernel.org/r/20221012174622.45006-1-cgzones@googlemail.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      91924d9b
    • Yang Yingliang's avatar
      of/platform: use of_address_count() helper · 32e8f9b3
      Yang Yingliang authored
      Use of_address_count() to instead of open-coding it.
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Link: https://lore.kernel.org/r/20221008115617.3583890-3-yangyingliang@huawei.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      32e8f9b3
    • Yang Yingliang's avatar
      of/address: introduce of_address_count() helper · 16988c74
      Yang Yingliang authored
      Introduce of_address_count() helper to count the IO resources
      instead of open-coding it.
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Link: https://lore.kernel.org/r/20221008115617.3583890-2-yangyingliang@huawei.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
      16988c74
    • Linus Torvalds's avatar
      Linux 6.1-rc1 · 9abf2313
      Linus Torvalds authored
      9abf2313
    • Linus Torvalds's avatar
      Merge tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · f1947d7c
      Linus Torvalds authored
      Pull more random number generator updates from Jason Donenfeld:
       "This time with some large scale treewide cleanups.
      
        The intent of this pull is to clean up the way callers fetch random
        integers. The current rules for doing this right are:
      
         - If you want a secure or an insecure random u64, use get_random_u64()
      
         - If you want a secure or an insecure random u32, use get_random_u32()
      
           The old function prandom_u32() has been deprecated for a while
           now and is just a wrapper around get_random_u32(). Same for
           get_random_int().
      
         - If you want a secure or an insecure random u16, use get_random_u16()
      
         - If you want a secure or an insecure random u8, use get_random_u8()
      
         - If you want secure or insecure random bytes, use get_random_bytes().
      
           The old function prandom_bytes() has been deprecated for a while
           now and has long been a wrapper around get_random_bytes()
      
         - If you want a non-uniform random u32, u16, or u8 bounded by a
           certain open interval maximum, use prandom_u32_max()
      
           I say "non-uniform", because it doesn't do any rejection sampling
           or divisions. Hence, it stays within the prandom_*() namespace, not
           the get_random_*() namespace.
      
           I'm currently investigating a "uniform" function for 6.2. We'll see
           what comes of that.
      
        By applying these rules uniformly, we get several benefits:
      
         - By using prandom_u32_max() with an upper-bound that the compiler
           can prove at compile-time is ≤65536 or ≤256, internally
           get_random_u16() or get_random_u8() is used, which wastes fewer
           batched random bytes, and hence has higher throughput.
      
         - By using prandom_u32_max() instead of %, when the upper-bound is
           not a constant, division is still avoided, because
           prandom_u32_max() uses a faster multiplication-based trick instead.
      
         - By using get_random_u16() or get_random_u8() in cases where the
           return value is intended to indeed be a u16 or a u8, we waste fewer
           batched random bytes, and hence have higher throughput.
      
        This series was originally done by hand while I was on an airplane
        without Internet. Later, Kees and I worked on retroactively figuring
        out what could be done with Coccinelle and what had to be done
        manually, and then we split things up based on that.
      
        So while this touches a lot of files, the actual amount of code that's
        hand fiddled is comfortably small"
      
      * tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        prandom: remove unused functions
        treewide: use get_random_bytes() when possible
        treewide: use get_random_u32() when possible
        treewide: use get_random_{u8,u16}() when possible, part 2
        treewide: use get_random_{u8,u16}() when possible, part 1
        treewide: use prandom_u32_max() when possible, part 2
        treewide: use prandom_u32_max() when possible, part 1
      f1947d7c
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.1-2-2022-10-16' of... · 8636df94
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.1-2-2022-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Use BPF CO-RE (Compile Once, Run Everywhere) to support old kernels
         when using bperf (perf BPF based counters) with cgroups.
      
       - Support HiSilicon PCIe Performance Monitoring Unit (PMU), that
         monitors bandwidth, latency, bus utilization and buffer occupancy.
      
         Documented in Documentation/admin-guide/perf/hisi-pcie-pmu.rst.
      
       - User space tasks can migrate between CPUs, so when tracing selected
         CPUs, system-wide sideband is still needed, fix it in the setup of
         Intel PT on hybrid systems.
      
       - Fix metricgroups title message in 'perf list', it should state that
         the metrics groups are to be used with the '-M' option, not '-e'.
      
       - Sync the msr-index.h copy with the kernel sources, adding support for
         using "AMD64_TSC_RATIO" in filter expressions in 'perf trace' as well
         as decoding it when printing the MSR tracepoint arguments.
      
       - Fix program header size and alignment when generating a JIT ELF in
         'perf inject'.
      
       - Add multiple new Intel PT 'perf test' entries, including a jitdump
         one.
      
       - Fix the 'perf test' entries for 'perf stat' CSV and JSON output when
         running on PowerPC due to an invalid topology number in that arch.
      
       - Fix the 'perf test' for arm_coresight failures on the ARM Juno
         system.
      
       - Fix the 'perf test' attr entry for PERF_FORMAT_LOST, adding this
         option to the or expression expected in the intercepted
         perf_event_open() syscall.
      
       - Add missing condition flags ('hs', 'lo', 'vc', 'vs') for arm64 in the
         'perf annotate' asm parser.
      
       - Fix 'perf mem record -C' option processing, it was being chopped up
         when preparing the underlying 'perf record -e mem-events' and thus
         being ignored, requiring using '-- -C CPUs' as a workaround.
      
       - Improvements and tidy ups for 'perf test' shell infra.
      
       - Fix Intel PT information printing segfault in uClibc, where a NULL
         format was being passed to fprintf.
      
      * tag 'perf-tools-for-v6.1-2-2022-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (23 commits)
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet
        perf auxtrace arm64: Add support for HiSilicon PCIe Tune and Trace device driver
        perf auxtrace arm: Refactor event list iteration in auxtrace_record__init()
        perf tests stat+json_output: Include sanity check for topology
        perf tests stat+csv_output: Include sanity check for topology
        perf intel-pt: Fix system_wide dummy event for hybrid
        perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc
        perf test: Fix attr tests for PERF_FORMAT_LOST
        perf test: test_intel_pt.sh: Add 9 tests
        perf inject: Fix GEN_ELF_TEXT_OFFSET for jit
        perf test: test_intel_pt.sh: Add jitdump test
        perf test: test_intel_pt.sh: Tidy some alignment
        perf test: test_intel_pt.sh: Print a message when skipping kernel tracing
        perf test: test_intel_pt.sh: Tidy some perf record options
        perf test: test_intel_pt.sh: Fix return checking again
        perf: Skip and warn on unknown format 'configN' attrs
        perf list: Fix metricgroups title message
        perf mem: Fix -C option behavior for perf mem record
        perf annotate: Add missing condition flags for arm64
        ...
      8636df94
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.1' of... · 2df76606
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y compile error for the
         combination of Clang >= 14 and GAS <= 2.35.
      
       - Drop vmlinux.bz2 from the rpm package as it just annoyingly increased
         the package size.
      
       - Fix modpost error under build environments using musl.
      
       - Make *.ll files keep value names for easier debugging
      
       - Fix single directory build
      
       - Prevent RISC-V from selecting the broken DWARF5 support when Clang
         and GAS are used together.
      
      * tag 'kbuild-fixes-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5
        kbuild: fix single directory build
        kbuild: add -fno-discard-value-names to cmd_cc_ll_c
        scripts/clang-tools: Convert clang-tidy args to list
        modpost: put modpost options before argument
        kbuild: Stop including vmlinux.bz2 in the rpm's
        Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
        Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5
      2df76606
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 2fcd8f10
      Linus Torvalds authored
      Pull more clk updates from Stephen Boyd:
       "This is the final part of the clk patches for this merge window.
      
        The clk rate range series needed another week to fully bake. Maxime
        fixed the bug that broke clk notifiers and prevented this from being
        included in the first pull request. He also added a unit test on top
        to make sure it doesn't break so easily again. The majority of the
        series fixes up how the clk_set_rate_*() APIs work, particularly
        around when the rate constraints are dropped and how they move around
        when reparenting clks. Overall it's a much needed improvement to the
        clk rate range APIs that used to be pretty broken if you looked
        sideways.
      
        Beyond the core changes there are a few driver fixes for a compilation
        issue or improper data causing clks to fail to register or have the
        wrong parents. These are good to get in before the first -rc so that
        the system actually boots on the affected devices"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (31 commits)
        clk: tegra: Fix Tegra PWM parent clock
        clk: at91: fix the build with binutils 2.27
        clk: qcom: gcc-msm8660: Drop hardcoded fixed board clocks
        clk: mediatek: clk-mux: Add .determine_rate() callback
        clk: tests: Add tests for notifiers
        clk: Update req_rate on __clk_recalc_rates()
        clk: tests: Add missing test case for ranges
        clk: qcom: clk-rcg2: Take clock boundaries into consideration for gfx3d
        clk: Introduce the clk_hw_get_rate_range function
        clk: Zero the clk_rate_request structure
        clk: Stop forwarding clk_rate_requests to the parent
        clk: Constify clk_has_parent()
        clk: Introduce clk_core_has_parent()
        clk: Switch from __clk_determine_rate to clk_core_round_rate_nolock
        clk: Add our request boundaries in clk_core_init_rate_req
        clk: Introduce clk_hw_init_rate_request()
        clk: Move clk_core_init_rate_req() from clk_core_round_rate_nolock() to its caller
        clk: Change clk_core_init_rate_req prototype
        clk: Set req_rate on reparenting
        clk: Take into account uncached clocks in clk_set_rate_range()
        ...
      2fcd8f10