)]}'
{
  "log": [
    {
      "commit": "66e1201c3775716607c28afd2bbb2b3afb08b695",
      "tree": "ad284ce5eef54ba05c71527edfa28300c8b53cdd",
      "parents": [
        "214372a27398121f8266cf9bb9592561508c4c0f"
      ],
      "author": {
        "name": "Tom Rini",
        "email": "trini@konsulko.com",
        "time": "Tue May 26 14:30:22 2026 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Jun 17 15:31:29 2026 +1000"
      },
      "message": "libfdt: fdt_check_full: Add can_assume(PERFECT) check\n\nIn this function from fdt_check.c we have (reasonably and as the name\nimplies) a number of checks on the DTB. However, there are cases where\nwe may wish to assume that we have been given a perfect DTB already and\ndo nothing here. Add a test for can_assume(PERFECT) as the first check\nin this function and if true, perform no checks.\n\nSigned-off-by: Tom Rini \u003ctrini@konsulko.com\u003e\nMessage-ID: \u003c20260526203022.4006434-1-trini@konsulko.com\u003e\nReviewed-by: Simon Glass \u003csjg@chromium.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "214372a27398121f8266cf9bb9592561508c4c0f",
      "tree": "efbac3ad00d2a1197774db26e613bae36ee1b5ca",
      "parents": [
        "4df9ca4c8ddb83c40900bf13916b42914a25caf4"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun Jun 14 16:30:42 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun Jun 14 17:43:39 2026 +1000"
      },
      "message": "tests: Replace trees.S/dumptrees with treegen for making test dtbs\n\nSwitch the build system to use treegen instead of trees.S + dumptrees\nfor generating the test DTB files.  treegen produces byte-identical\noutput without requiring a GNU assembler.\n\nRemove the old tree.S, dumptrees.c and associated pieces.\n\nThis also removes the need for the ASM_CONST_LL macro and separated\nvalues for the high and low halves of 64-bit values: those only\nexisted so the same constants could be embedded in both C and\nassembly.  Remove those from testdata.h, and the copies in\npylibfdt_tests.py.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "4df9ca4c8ddb83c40900bf13916b42914a25caf4",
      "tree": "8371f875a30ff6cbf0a5a295d6b82f426114844a",
      "parents": [
        "f116f4800edce6cd58f680a36fbaed656018d528"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 20:47:36 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun Jun 14 15:59:18 2026 +1000"
      },
      "message": "tests: Add treegen, a pure C replacement for trees.S + dumptrees\n\nFor tests, we need some example dtbs that are generated without using dtc\nor libfdt.  This is for two reasons:\n  * We want to check exact byte-for-byte properties independently of the\n    main code - we don\u0027t want bugs in one to mask bugs in the other\n  * We need to generate some deliberately malformed trees to test error\n    handling\n\nCurrently, these are generated (somewhat oddly) using the assembler -\nwe use assembler macros in trees.S which constructs them \"in memory\", then\ndumptrees.c links against that and dumps them out as files.  This is\narguably an abuse of the assembler, and it\u0027s fairly fragile.  Platforms\nwith unusual symbol naming conventions can cause it to break, and some\nassembler versions (e.g. the one on MacOS) don\u0027t work with it.\n\nThis replaces it with a bespoke C code, with a structure to at least\nsomewhat maintain the readability of the examples.  Output is byte for\nbyte identical with the previous version. For now we add tests that check\nthe new code generates (byte for byte) identical output, but still use\nthe old version in our other tests.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "f116f4800edce6cd58f680a36fbaed656018d528",
      "tree": "630671c11aa9dd7de72b233b51ea4e0b9b713f1f",
      "parents": [
        "9b53b9a4c2f953a37d8f68d72f5910b20cf5aee0"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 20:07:37 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 20:55:07 2026 +1000"
      },
      "message": "tests: Dont have test cases link directly against example dtb data\n\nSeveral tests (truncated_property, truncated_string, truncated_memrsv and\nunterminated_memrsv), rather than loading their example dtb from a file,\ninstead link directly to trees.o and get the data from directly in their\nown data segment.  This was a clever trick once, but it\u0027s kind of awkward,\nand makes it harder to generalise how we generate those trees.\n\nChange them to load their example data from file, like most of the tests\nalready do.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "9b53b9a4c2f953a37d8f68d72f5910b20cf5aee0",
      "tree": "6f57efd3403151ee4fb1244c6de7a129b57f44c5",
      "parents": [
        "5f919a25d71b3fe066020685a4ce15fc4309553b"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 19:58:25 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 20:49:01 2026 +1000"
      },
      "message": "tests: Add missing unterminated_memrsv to dumptrees\n\nunterminated_memrsv is defined in trees.S and has a test program, but\nwas never included in the dumptrees table, so no .dtb file was\ngenerated for it.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "5f919a25d71b3fe066020685a4ce15fc4309553b",
      "tree": "1787d2af6da5210815e6410a5518341527317f85",
      "parents": [
        "6c1426dfa963374f6134b4e63b1330320c8f1a54"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:38:00 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:49:40 2026 +1000"
      },
      "message": "ci: Merge make and meson jobs using build matrix\n\nCombine build-make/build-meson into build-linux and\nbuild-freebsd-make/build-freebsd-meson into build-freebsd, each with\na build: [make, meson] matrix dimension.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "6c1426dfa963374f6134b4e63b1330320c8f1a54",
      "tree": "9d994488447d2edbc0eed0a90ed58ec1aa9ade19",
      "parents": [
        "23fd89bc8ed875467bcdc7901a545f155a088270"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:29:35 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:48:54 2026 +1000"
      },
      "message": "ci: Add macOS support to install-deps.sh\n\nUse brew install --quiet to suppress warnings about already-installed\npackages on the GitHub Actions runner.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "23fd89bc8ed875467bcdc7901a545f155a088270",
      "tree": "6fe81dd7595bb48a14e85d6d98b1db810db848de",
      "parents": [
        "3ad5ebbdd9d525dc5b10d86dcd3532cfab8b6200"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 14:56:12 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:48:29 2026 +1000"
      },
      "message": "ci: Move FreeBSD CI from Cirrus CI to GitHub Actions\n\nCirrus CI shut down on 2026-06-01.  Replace it with\ncross-platform-actions/action which runs FreeBSD in a QEMU VM on\nGitHub Actions runners.  This preserves the same test matrix: FreeBSD\n13.5 and 14.3 with both make and meson build systems.\n\nExplicitly set shell to sh, since FreeBSD 13.x defaults to csh which\ndoesn\u0027t understand POSIX if/then/fi syntax.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "3ad5ebbdd9d525dc5b10d86dcd3532cfab8b6200",
      "tree": "67b286ec704e2c48dc0ecdbdff2c284b837eccdb",
      "parents": [
        "4ad496846a1214ee55428ea39731bbc4055ac551"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:10:46 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 15:47:11 2026 +1000"
      },
      "message": "ci: Upgrade actions/checkout v4 to v6 for Node.js 24 support\n\nNode.js 20 actions are deprecated and will be forced to Node.js 24 on\nJune 16, 2026.  actions/checkout@v6 has native Node.js 24 support.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "4ad496846a1214ee55428ea39731bbc4055ac551",
      "tree": "8af77829ab72796ce312391d1e7a6a5c7d7b4797",
      "parents": [
        "c0e1d0fd58d4524a3667e29a51d2aa7dead57527"
      ],
      "author": {
        "name": "Yedaya Katsman",
        "email": "yedaya.ka@gmail.com",
        "time": "Wed May 27 17:24:33 2026 +0300"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 14:29:32 2026 +1000"
      },
      "message": "Set default permissions for workflows\n\nOld github repositories created before 2023 run jobs with a GITHUB_TOKEN\nthat has write permissions by default for PRs from inside the repo (not\na fork), unless set otherwise in the repository.[0][1]\n\n[0] https://github.blog/changelog/2023-02-02-github-actions-updating-the-default-github_token-permissions-to-read-only/\n[1] https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/\n\nSet it explicitly so there won\u0027t be a chance that a compromise of an action\nwill be able to modify anything in the repository.\n\nPointed out by zizmor[2]\n[2] https://github.com/zizmorcore/zizmor\n\nSigned-off-by: Yedaya Katsman \u003cyedaya.ka@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "c0e1d0fd58d4524a3667e29a51d2aa7dead57527",
      "tree": "70c712f68c7d7dfbffbef5a6d016773f8cf50591",
      "parents": [
        "d245851f0629ab5cbf3e6caad7d2c3ce753ac23c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jun 08 18:33:05 2026 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jun 13 14:29:32 2026 +1000"
      },
      "message": "livetree: Fix a comparison of integers with different signedness\n\nOn some architectures we have:\n\n\tlivetree.c: In function \u0027fixup_phandles\u0027:\n\tlivetree.c:1237:54: error: comparison of integer expressions of different signedness: \u0027long int\u0027 and \u0027unsigned int\u0027 [-Werror\u003dsign-compare]\n\t 1237 |                         if (offset \u003c 0 || offset + 4 \u003e p-\u003eval.len) {\n\t      |                                                      ^\n\tcc1: all warnings being treated as errors\n\tmake: *** [Makefile:307: livetree.o] Error 1\n\nFixes: a26ef6400bd8 (\"Restore phandle references from __fixups__ node\")\nCloses: https://github.com/dgibson/dtc/issues/186\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nReported-by: Michael Olbrich \u003cm.olbrich@pengutronix.de\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "d245851f0629ab5cbf3e6caad7d2c3ce753ac23c",
      "tree": "8d6dda779f18e9ed9cb47613124beda1d7ba7cdf",
      "parents": [
        "a74b952f94c85a1b522f93e4cefc4e385f879061"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 15:31:00 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 15:42:51 2026 +1000"
      },
      "message": "tests: Avoid -Wconstant-logical-operand warnings in integer-expressions.c\n\nOur examples trip this warning new in gcc 17, but we still want them.\n\nReported-by: Ahmad Fatoum\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "a74b952f94c85a1b522f93e4cefc4e385f879061",
      "tree": "b6c7efcffc9f069e7074768c5d66e8f146b6a1dd",
      "parents": [
        "d320877b07d14b479eb45f6ebba80105d888231e"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 20:13:33 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 14:04:59 2026 +1000"
      },
      "message": "tests: Fix mkdir() call for Windows compatibility\n\nWindows mkdir() takes only one argument (no mode parameter).\nGuard the two-argument POSIX form with #ifndef _WIN32.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "d320877b07d14b479eb45f6ebba80105d888231e",
      "tree": "ef60d7e3e5da30d42132af30d242fd72a346f5a0",
      "parents": [
        "84d13508d59db724770e18af89a9033643a7f991"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 19:57:14 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 13:55:51 2026 +1000"
      },
      "message": "tests: More portable installation of SIGINT handler\n\nOur tests install SIGINT handlers using sigaction(), but that isn\u0027t\navailable on Windows / mingw, blocking use of the tests there.  Use the\nmore portable signal() instead - it\u0027s good enough for our needs.  Avoid\nstrsignal() for the same reason.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "84d13508d59db724770e18af89a9033643a7f991",
      "tree": "d9102c6b1c4a0e57bc873a5d95d61a9e3d4f1712",
      "parents": [
        "8f48565e5cfedc74d3f7512f1e0188e9d85dc1de"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 20:47:02 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 13:52:55 2026 +1000"
      },
      "message": "tests: Remove unused cleanup() mechanism from tests\n\nThe cleanup() function is defined as a weak symbol in testutils.c, and\ncalled from the various helpers which exit a test.  The idea is that\neach test can override it to perform test specific cleanup.  However,\nnothing actually uses it.  Furthermore the use of ((weak)) means we can\u0027t\nrun the tests on Windows / mingw.  Just remove it for now.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "8f48565e5cfedc74d3f7512f1e0188e9d85dc1de",
      "tree": "bf074fb822c6c54a969f93dfdcd2abc4c8910ebc",
      "parents": [
        "25a368100a98213119a06085f9c7f535521721da"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 12:13:02 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 12:40:45 2026 +1000"
      },
      "message": "Bump version to v1.8.1\n\nPrepare for a new release.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "25a368100a98213119a06085f9c7f535521721da",
      "tree": "41b580907d767ea3a317f0d50768ca1a2e55470c",
      "parents": [
        "040c1f7e29e25785d2d84044b1a766aa819d527a"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 19:32:39 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 12:12:38 2026 +1000"
      },
      "message": "docs: Improvements to release creation tooling\n\nIntroduce prepare-release for the deterministic parts of preparing a\nrelease.  Update AGENTS.md to use that, rather than using an LLM for\ndeterministic steps.\n\nfinalize-release now pushes the release commit and tag after signing, and\nprepares a release announcement mail.\n\nAssisted-by: Claude:claude-opus-4-6i\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "040c1f7e29e25785d2d84044b1a766aa819d527a",
      "tree": "8cd5303ae2dbba2255c10536879102534355d5ec",
      "parents": [
        "b1337df19598b27efd8f90023b071e0aae7933db"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 11:20:07 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 28 11:52:59 2026 +1000"
      },
      "message": "libfdt: Revert accidental ABI breakage\n\nCommit bdca8612 introduced the new fdt_setprop_namelen() and\nfdt_setprop_placeholder_namelen() functions, making the existing\nfdt_setprop() and fdt_setprop_placeholder() trivial inline wrappers around\nthem.  I failed to realise that replacing the existing functions with\n(static) inlines breaks the library ABI.\n\nTheoretically it\u0027s possible to have the functions available as both an\ninline and a \"real\" symbol.  However, because they do need to call strlen()\nbefore the lower level fdt function, these wrappers aren\u0027t quite as\ntrivial as they appear (inlining may not be zero cost).  So, instead revert\nand keep the old functions as true functions.\n\nReported-by: David Runge \u003cdave@sleepmap.de\u003e\nFixes: bdca8612 (\"libfdt: Add fdt_setprop_namelen()\")\nLink: https://github.com/dgibson/dtc/issues/184\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "b1337df19598b27efd8f90023b071e0aae7933db",
      "tree": "158f5218c0728f69a47a2460687f125ec28d7ca5",
      "parents": [
        "83cdc93ca900e61b203e07198740668cb07a5f06"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 18:03:58 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 18:50:56 2026 +1000"
      },
      "message": "Bump version to v1.8.0\n\nPrepare for a new release.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "83cdc93ca900e61b203e07198740668cb07a5f06",
      "tree": "8413e75e9fa5cfc59d69e036c6b0ab2533a3170c",
      "parents": [
        "1aaa44849b9a695ed107e6e8a88c1348db68f7d0"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 15:41:25 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 17:52:08 2026 +1000"
      },
      "message": "ci: Add macOS build to GitHub Actions\n\nThe codebase already has macOS support (dylib flags in the Makefile,\nmacOS linker handling in meson.build), but CI only tests Linux,\nWindows, and FreeBSD.  This means macOS regressions go unnoticed\nuntil a user reports them.\n\nAdd a build-macos job that tests both Make and Meson builds on\nmacos-latest.  The runner ships with clang, flex, bison, python3,\nand git; only libyaml, swig, meson, ninja, and pkg-config are\ninstalled via Homebrew.\n\nApple Clang uses -Wsign-compare by default, which trips on some lex\ngenerated code.  Suppress the warning for the two flex-generated\nobjects.\n\nWe skip tests for now, because trees.S doesn\u0027t work with the MacOS\nassembler.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "1aaa44849b9a695ed107e6e8a88c1348db68f7d0",
      "tree": "33c73653c7e7638be496cc7627ad0a3410f8eb36",
      "parents": [
        "dd1c7f1a919ee014fb836ba2c7e6958999fdced3"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 15:53:57 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 17:50:54 2026 +1000"
      },
      "message": "ci: Skip swig install for mingw32 Windows build\n\nMSYS2 has dropped the mingw-w64-i686-swig package, causing the mingw32\nCI job to fail during setup.  Since the Windows build doesn\u0027t enable\nPython bindings anyway, conditionally install swig and\npython-setuptools-scm only for the 64-bit subsystems.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "dd1c7f1a919ee014fb836ba2c7e6958999fdced3",
      "tree": "a10fbba5790b86aea9d7d7be40fdae64ca2870fb",
      "parents": [
        "7fdf750154e900c1c8d8dcf6a49b102c86fc3edf"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 15:45:28 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 17:50:29 2026 +1000"
      },
      "message": "docs: Add CLAUDE.md referencing AGENTS.md\n\nClaude Code auto-loads CLAUDE.md at session start but does not look\nfor AGENTS.md.  Without this file, a fresh session misses the\nproject\u0027s AI contribution policy (attribution format, DCO rules,\nbuild instructions) unless the user explicitly points it there.\n\nInclude a note pinning the Assisted-by agent name to \"Claude\" for\nconsistency — previous sessions have used varying formats\n(claude-code, Claude Code, Claude).\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "7fdf750154e900c1c8d8dcf6a49b102c86fc3edf",
      "tree": "16706601ef66d52c10f0d442fdacab15dd19c15c",
      "parents": [
        "5c35036b2c83f08121001a9f54a85585161dc5c0"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 15:20:10 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 15:21:32 2026 +1000"
      },
      "message": "docs: Add release tagging procedure and finalize-release script\n\nDocument the release workflow in AGENTS.md, splitting it into\nagent-preparable draft steps and human-only finalization.  Add\nscripts/finalize-release which amends the version bump commit with\nSigned-off-by, creates a signed tag, and optionally invokes kup-dtc\nfor upload.  Remove the now-redundant dist and kup targets from the\nMakefile.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "5c35036b2c83f08121001a9f54a85585161dc5c0",
      "tree": "d27fda39af2e8af239e55d2ce8ce994d19052973",
      "parents": [
        "f57e7df35df4a301961cbbf9433ba4e85c2ee5ed"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 16:03:08 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue May 26 13:23:55 2026 +1000"
      },
      "message": "docs: Add AI contribution guidelines\n\nAdd AI coding assistant policy to CONTRIBUTING.md, modelled on the\nLinux kernel\u0027s coding-assistants.rst.  Covers DCO/Signed-off-by\nrestrictions, licensing requirements, and the Assisted-by attribution\nformat.\n\nAdd AGENTS.md with codebase guidance for AI coding assistants.\n\nAssisted-by: Claude:claude-opus-4-6\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "f57e7df35df4a301961cbbf9433ba4e85c2ee5ed",
      "tree": "5362fb904569873d7e43829571d5df34cbd2dd03",
      "parents": [
        "2164019f84832099643acc2ff7d296daacbee236"
      ],
      "author": {
        "name": "Oleksii Kurochko",
        "email": "oleksii.kurochko@gmail.com",
        "time": "Tue May 19 17:45:43 2026 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed May 20 11:35:03 2026 +1000"
      },
      "message": "libfdt: fix UBSAN null pointer in fdt_property()\n\nfdt_property() unconditionally calls memcpy(ptr, val, len) even when\nlen is zero and val is NULL.  This is a legitimate calling convention\nfor adding empty FDT properties such as \"interrupt-controller\", which\ncarry no payload.\n\nHowever, compilers that treat memcpy as nonnull on its pointer arguments\nwill fire UBSAN before observing that len is zero.\n\nGuard the memcpy() with a check on len so it is skipped entirely when\nthere is no payload to copy, bringing the code in line with the\nnonnull contract.\n\nSigned-off-by: Oleksii Kurochko \u003coleksii.kurochko@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "2164019f84832099643acc2ff7d296daacbee236",
      "tree": "fb14c594150fe5181bcd4ae9668073317eb958c9",
      "parents": [
        "47d7c01ba8a1241e919ab56dd01ba245b38fef8e"
      ],
      "author": {
        "name": "Aristo Chen",
        "email": "aristo.chen@canonical.com",
        "time": "Tue May 12 15:23:14 2026 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat May 16 16:31:39 2026 +1000"
      },
      "message": "checks: Add missing phandle_references prereq to interrupts_property\n\nThe WARNING macro signature is (name, fn, data, ...prereqs), but\ninterrupts_property was registered with \u0026phandle_references in the data\nslot instead of as a prereq.  Since c-\u003edata is const void *, the misuse\ncompiled silently and the check has been running with num_prereqs \u003d\u003d 0.\n\nThe bug is normally masked: many other checks (interrupt_map,\ngpios_property, omit_unused_nodes, and the *_property checks generated\nby WARNING_PROPERTY_PHANDLE_CELLS) correctly list phandle_references as\na prereq, and run_check recurses into prereqs unconditionally.  As long\nas any one of them is enabled, fixup_phandle_references is pulled in\ntransitively and the parser\u0027s 0xffffffff placeholder is replaced with\nthe real phandle before check_interrupts_property reads it.\n\nThe bug becomes visible when every other consumer of phandle_references\nis silenced (-Eno-phandle_references plus -Wno- for the *_property,\ngpios_property and interrupt_map checks).  In that case the placeholder\nremains and interrupts_property falsely reports \"Invalid phandle\" /\n\"Missing interrupt-parent\" on a valid tree.  Reordering check_table[]\ncould also expose it under default flags.\n\nAdd the missing NULL so \u0026phandle_references lands in the prereq slot.\n\nSigned-off-by: Aristo Chen \u003caristo.chen@canonical.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "47d7c01ba8a1241e919ab56dd01ba245b38fef8e",
      "tree": "5d4ffff8b9da1c2170d1664356cb3bc07b17c35a",
      "parents": [
        "f551be7b39c83d6c0515906bf3fc44f4c0cf16ce"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Apr 17 20:36:42 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Apr 17 21:21:16 2026 +1000"
      },
      "message": "libfdt: Fix bugs with unchecked usage of fdt_num_mem_rsv()\n\nfdt_num_mem_rsv() can return an error if the memory reservation block\nis not properly terminated with a (0, 0) entry.  However several other\nplaces in libfdt called it without checking for error returns, and could\ntherefore return strange results, or in the case of fdt_open_into()\ncrash.\n\nFix this by always checking the return value.  Add some addition tests to\ncatch this bug.\n\nReported-by: Moshe Strauss \u003cmoshestrauss10@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "f551be7b39c83d6c0515906bf3fc44f4c0cf16ce",
      "tree": "3f3dbaf01930227dd5c146b527ccb65b511bf0f3",
      "parents": [
        "53373d135579b05ba255b072539f25f0fe1edee9"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Apr 17 16:23:35 2026 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Apr 17 16:23:35 2026 +1000"
      },
      "message": "libfdt: Standardise returns annotation in function documentation\n\nlibfdt.h is divided in when it uses \"Return:\" and when it uses \"returns:\"\nto describe the return value in function documentation comments.\n\nStandardise on \"returns:\" since it is more prevalent (74 vs 19\noccurrences).\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "53373d135579b05ba255b072539f25f0fe1edee9",
      "tree": "939b67759052f242076e2da37a2321ea0fe4c3c7",
      "parents": [
        "caf7465c5d60a56e00ea8c6b6eeb4e443371f815"
      ],
      "author": {
        "name": "Nathan Chancellor",
        "email": "nathan@kernel.org",
        "time": "Wed Mar 25 17:13:44 2026 -0700"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Mar 27 20:20:54 2026 +1100"
      },
      "message": "dtc: Remove unused dts_version in dtc-lexer.l\n\nA recent strengthening of -Wunused-but-set-variable (enabled with -Wall)\nin clang under a new subwarning, -Wunused-but-set-global, points out an\nunused static global variable in dtc-lexer.l:\n\n  ../dtc-lexer.l:42:12: error: variable \u0027dts_version\u0027 set but not used [-Werror,-Wunused-but-set-global]\n     42 | static int dts_version \u003d 1;\n        |            ^\n\nThis variable has been unused since commit 4e1a0a0 (\"Remove support for\nthe legacy DTS source file format.\"). Remove it to clear up the warning.\n\nSigned-off-by: Nathan Chancellor \u003cnathan@kernel.org\u003e\nMessage-ID: \u003c20260325-dtc-lexer-remove-dts_version-v1-1-0b5d64903bbb@kernel.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "caf7465c5d60a56e00ea8c6b6eeb4e443371f815",
      "tree": "60be80a932f762f1c7e73b8d59a6c2ac90515107",
      "parents": [
        "5976c4a6609829861093af7c56ffd90fb8925cae"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Tue Feb 10 18:33:35 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 04 19:26:24 2026 +1100"
      },
      "message": "libfdt: fdt_check_full: Handle FDT_NOP when FDT_END is expected\n\nfdt_check_full() makes the assumption that a FDT_END tag is present\nimmediately after the FDT_END_NODE tag related to the root node.\n\nThis assumption is not correct. Indeed, FDT_NOP tags can be present\nbetween this FDT_END_NODE tag and the FDT_END tag.\n\nHandle those possible FDT_NOP tags.\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260210173349.636766-8-herve.codina@bootlin.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "5976c4a6609829861093af7c56ffd90fb8925cae",
      "tree": "a77286ae55f03a61b8bdafd9dbdde299affcc5f2",
      "parents": [
        "5bb5bedd347dee5d3928d71e568405b2d449f02d"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Tue Feb 10 18:33:32 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Feb 24 17:00:38 2026 +1100"
      },
      "message": "libfdt: fdt_rw: Introduce fdt_downgrade_version()\n\nCurrent code perform a version downgrade at one place only, the end of\nfdt_rw_probe_().\n\nIn order to offer a finer grain and choose to downgrade or not depending\non the exact writes done, introduce fdt_downgrade_version() to perform\nthe downgrade operation.\n\nThe modification doesn\u0027t introduce any functional changes.\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260210173349.636766-5-herve.codina@bootlin.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "5bb5bedd347dee5d3928d71e568405b2d449f02d",
      "tree": "835d20a96974b5193cbcb36b8ee52f568fa37025",
      "parents": [
        "68b960e299f7a31c986d6e5c6244a31f3dd4b8fd"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Tue Feb 10 18:33:31 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Feb 24 16:52:47 2026 +1100"
      },
      "message": "fdtdump: Return an error code on wrong tag value\n\nfdtdump prints a message on stderr when it encounters a wrong tag and\nstop its processing without returning an error code.\n\nHaving a wrong tag is really a failure. Indeed, the processing cannot\ncontinue.\n\nBe more strict. Stop the processing, print a message and return an\nerror code. In other words, call die().\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260210173349.636766-4-herve.codina@bootlin.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "68b960e299f7a31c986d6e5c6244a31f3dd4b8fd",
      "tree": "efc43b0e2f2aaab5e574fc6e61d9c0d251cee846",
      "parents": [
        "adba02caf554a213ed900e5eebb4141c6a7a830a"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Tue Feb 10 18:33:30 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Feb 14 13:03:18 2026 +1100"
      },
      "message": "fdtdump: Remove dtb version check\n\nfdtdump checks the dtb version and simply failed if the dtb version is\nnewer than the last version supported by fdtdump.\n\nThis check is not needed and too restrictive. Indeed, fdtdump does\nread-only operations on the dtb provided and should rely only the\nlast_comp_version header field to know whether or not it can read the\ndtb.\n\nThe current check also avoid the use of fdtdump in tests checking for\nthe libfdt behavior when an new (future) dtb version is used.\n\nRelax fdtdump checks removing the check of the dtb version header field.\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260210173349.636766-3-herve.codina@bootlin.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "adba02caf554a213ed900e5eebb4141c6a7a830a",
      "tree": "c0314bc179fb7900ab6a4413261e791a7035a45a",
      "parents": [
        "8d15a63e84ff62fd31e8278088fa1176f2735eef"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Tue Feb 10 18:33:29 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Feb 13 16:27:22 2026 +1100"
      },
      "message": "dtc: Use a consistent type for basenamelen\n\nThe basenamelen member in the node structure is set in all cases to\na positive value, the length of the basename string. Also it is used as\nparameters on function expecting a size_t type.\n\nFurther more an implicit cast of strspn() returned value from size_t to\nint is needed in checks.c to avoid a signed/unsigned compilation warning\nwhen this value is checked.\n\nThis member has no reason to be a signed integer and its obvious type is\nsize_t.\n\nBe consistent and fix its type.\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260210173349.636766-2-herve.codina@bootlin.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "8d15a63e84ff62fd31e8278088fa1176f2735eef",
      "tree": "bf7050e7e63508ec5ca1844f6f037f5a9c48aae2",
      "parents": [
        "a26ef6400bd845beb6e7f369809ca1c42d856904"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Jan 28 12:03:52 2026 +1100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Jan 28 12:14:09 2026 +1100"
      },
      "message": "libfdt: Verify alignment of sub-blocks in dtb\n\nA dtb is considered malformed if its structural elements (not things within\nproperty values) are not naturally aligned.  This means that the structure\nblock must be aligned to a 32-bit boundary, the reserve map must be aligned\nto  64-bit boundary and the whole thing must be loaded at a 64-bit aligned\naddress.  We currently verify that lasat condition in fdt_check_header()\nbut not the other cases.\n\nReported-by: Owen Sanzas (Ze Sheng) 盛泽 \u003czesheng@tamu.edu\u003e\nLink: https://github.com/dgibson/dtc/issues/178\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "a26ef6400bd845beb6e7f369809ca1c42d856904",
      "tree": "de432394fa7dca560cf973984d21f173e10b1551",
      "parents": [
        "05c524db44ff5412c6b954c6122a18c45216e950"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:19 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 13:45:59 2026 +1100"
      },
      "message": "Restore phandle references from __fixups__ node\n\nThe __fixups__ node contains information about labels. Parse its\nproperties to create phandle markers which improve the resulting dts\nwhen decompiling a device tree blob.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-14-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "05c524db44ff5412c6b954c6122a18c45216e950",
      "tree": "4252ca26f7dddac467af0dab4ae1dea3d6674f51",
      "parents": [
        "db65a3a3f4f0cc301acff39de33347991da6ef1d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:18 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 13:45:12 2026 +1100"
      },
      "message": "Restore phandle references from __local_fixups__ node\n\nThe __local_fixups__ node contains information about phandles. Parse it\nto improve the result when decompiling a device tree blob.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-13-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "db65a3a3f4f0cc301acff39de33347991da6ef1d",
      "tree": "931220478c71c1c24fa725d4550597bbbdb28938",
      "parents": [
        "64330c682cac532ae3eba2e5902e5bbaffa65ee2"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:17 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 13:37:35 2026 +1100"
      },
      "message": "Restore labels from __symbols__ node\n\nIf the input has a __symbols__ node, restore the named labels for the\nrespective nodes.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-12-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "64330c682cac532ae3eba2e5902e5bbaffa65ee2",
      "tree": "8ab2fa005fb60e7330d9ac23d470c90a5eea8c56",
      "parents": [
        "cbb48690c697fe927a1b1c421f78ecfd3f32e54d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:16 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 13:33:45 2026 +1100"
      },
      "message": "Improve type guessing when compiling to dts format\n\nIn the presence of (non-type) markers guess the type of each chunk\nbetween markers individually instead of only once for the whole\nproperty.\n\nNote that this only gets relevant with the next few commits that restore\nlabels and phandles. Note further that this rework is necessary with\nthese further changes, because phandle markers are currently not\nconsidered for type guessing and so a phandle at an offset that isn\u0027t a\nmultiple of 4 triggers an assertion if the property was guessed to have\ntype TYPE_UINT32.\n\nNow that guess_value_type() is only called for data chunks without\nmarkers, the function can be simplified a bit.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-11-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "cbb48690c697fe927a1b1c421f78ecfd3f32e54d",
      "tree": "987a12dcc7ece07d1d8dec3832d4be988198178b",
      "parents": [
        "ef3b1baf63707ee6775857c86100ae4e90fbb3d7"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:15 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 12:02:30 2026 +1100"
      },
      "message": "Set DTSF_PLUGIN if needed when compiling from dtb\n\nThe need for the plugin flag is determined by the existence of __fixups__\nor __local_fixups__.\n\nThis is a bit simplifying because if __fixups__ or __local_fixups__\nexist but don\u0027t have properties, the plugin flag isn\u0027t needed. But in\npractise the test should be good enough such that this corner case\ndoesn\u0027t matter.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-10-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "ef3b1baf63707ee6775857c86100ae4e90fbb3d7",
      "tree": "dec5d3ec79816f982b7c1065461e2b0fecd12441",
      "parents": [
        "7c78c8542d73eefafff9f9eccb38c986af82394c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 19 11:29:14 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 12:02:30 2026 +1100"
      },
      "message": "Emit /plugin/ when compiling to .dts with DTSF_PLUGIN set\n\nThis fixes `dtc -I dts -O dts` to make the file a plugin if the source\nfile is one.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003c20250919092912.663304-9-u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "7c78c8542d73eefafff9f9eccb38c986af82394c",
      "tree": "4fa110e6668807d0945e859fe66dba316d042e37",
      "parents": [
        "14dd76b96732ee7ffd1c42b1ff5922ccca902503"
      ],
      "author": {
        "name": "Maldus512",
        "email": "mattia512maldini@gmail.com",
        "time": "Wed Jan 14 14:24:05 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 16 11:51:53 2026 +1100"
      },
      "message": "Added empty node name check\n\nThe Devicetree specification states that a node name shall be of form\n`node-name@unit-address` and that the `node-name` component cannot be\nempty.\n\nHowever, the `dtc` parser considers a node name as a non-empty\nsequences of the allowed characters plus the @ character, and\nunit-address extraction is processed after parsing.\n\nThis has the side effect of considering an empty name plus an address\nas a valid node name (e.g. `@0`).  I\u0027ve added the node_name_not_empty\ncheck, verifying that the `node-\u003ebasenamelen` is not zero (unless it\u0027s\nthe root node).\n\nSigned-off-by: Mattia Maldini \u003cmattia512maldini@gmail.com\u003e\n[dwg: Re-wrap commit message]\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "14dd76b96732ee7ffd1c42b1ff5922ccca902503",
      "tree": "d9a91e5d7aee09fa7807f9657b68da3482ef6e0b",
      "parents": [
        "9a1c801a1a3c102bf95c5339c9e985b26b823a21"
      ],
      "author": {
        "name": "Herve Codina",
        "email": "herve.codina@bootlin.com",
        "time": "Mon Jan 12 15:18:55 2026 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Jan 15 11:26:20 2026 +1100"
      },
      "message": "fdtdump: Change FDT_PROP prob handling to ease future addition\n\nIn order to ease future tags addition, perform operation related to\nFDT_PROP when the tag is explicitly FDT_PROP instead of relying to a\nkind of default value case.\n\nHandle the FDT_PROP tag exactly in the same way as it is done for\nother tags.\n\nNo functional modification.\n\nSigned-off-by: Herve Codina \u003cherve.codina@bootlin.com\u003e\nMessage-ID: \u003c20260112142009.1006236-6-herve.codina@bootlin.com\u003e\nReviewed-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "9a1c801a1a3c102bf95c5339c9e985b26b823a21",
      "tree": "4b622bb3d449a06cddae8bf125625004ec4c97f0",
      "parents": [
        "194ac9422ac956e7b1f0dd43649a169bbbf86c58"
      ],
      "author": {
        "name": "Stephen Gallagher",
        "email": "sgallagh@redhat.com",
        "time": "Tue Jan 06 14:19:30 2026 -0500"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sat Jan 10 18:55:38 2026 +1100"
      },
      "message": "Fix discarded const qualifiers\n\nIt\u0027s unsafe to implicitly discard the const qualifier on a pointer. In\noverlay_fixup_phandle(), this was probably just an oversight, and making\nthe \"sep\" variable a const char * is sufficient to fix it.\n\nIn create_node(), however, the \"p\" variable is directly modifying the\nbuffer pointed to by \"const char* node_name\". To fix this, we need to\nactually make a duplicate of the buffer and operate on that instead.\n\nThis introduces a malloc()/free()  and an unbounded strdup() into the\noperation, but fdtput isn\u0027t a long-running service and the node_name\nargument comes directly from argv, so this shouldn\u0027t introduce a\nsignificant performance impact.\n\nSigned-off-by: Stephen Gallagher \u003csgallagh@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "194ac9422ac956e7b1f0dd43649a169bbbf86c58",
      "tree": "ba9d37774edaaaa30e0402d2f37aa01b300c1b4a",
      "parents": [
        "39cae0bd0031e31a7b027cefbfb0bf7ff1201b52"
      ],
      "author": {
        "name": "Tom Rini",
        "email": "trini@konsulko.com",
        "time": "Tue Dec 09 15:50:53 2025 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Dec 10 17:47:45 2025 +1100"
      },
      "message": "libfdt: fdt_get_name: Add can_assume(VALID_DTB) check\n\nIn this function from fdt_ro.c we have (reasonably) some checks of the\nDTB before we begin work. However, we do this in a way that we cannot\nmake use of the normal FDT_RO_PROBE macro and instead have a direct call\nto fdt_ro_probe_(). Add a test for !can_assume(VALID_DTB) here first so\nthat in cases where we are assuming a valid DTB we can omit the checks.\n\nSigned-off-by: Tom Rini \u003ctrini@konsulko.com\u003e\nMessage-ID: \u003c20251210022002.3004223-4-trini@konsulko.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "39cae0bd0031e31a7b027cefbfb0bf7ff1201b52",
      "tree": "7ad278caafb833d3b8403f3e4de77dfd3c3dcf7e",
      "parents": [
        "b126924732983f60ddc6bdcf6157083982ef32f0"
      ],
      "author": {
        "name": "Tom Rini",
        "email": "trini@konsulko.com",
        "time": "Tue Dec 09 15:50:52 2025 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Dec 10 17:46:08 2025 +1100"
      },
      "message": "libfdt: Improve size savings in FDT_RO_PROBE slightly\n\nIn the case where we have set FDT_ASSUME_MASK to disable\nASSUME_VALID_DTB checks, we can improve the FDT_RO_PROBE macro slightly.\nThe first thing that fdt_ro_probe_() does when we can_assume(VALID_DTB)\nis true is to return whatever the contents of the totalsize field of the\nDTB is. Since the FDT_RO_PROBE macro only cares about a negative value\nthere, we can optimize this check such that we are to assume it\u0027s a\nvalid DTB, we don\u0027t need to do anything here.\n\nSigned-off-by: Tom Rini \u003ctrini@konsulko.com\u003e\nMessage-ID: \u003c20251210022002.3004223-3-trini@konsulko.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "b126924732983f60ddc6bdcf6157083982ef32f0",
      "tree": "59358e9ababe036bb3d390cf67b2b5f69259208e",
      "parents": [
        "7f3184a6c550bb8fb59e93c9901d75dced889dcf"
      ],
      "author": {
        "name": "Tom Rini",
        "email": "trini@konsulko.com",
        "time": "Tue Dec 09 15:50:51 2025 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Dec 10 17:40:17 2025 +1100"
      },
      "message": "libfdt: libfdt_internal.h correct final comment in ASSUME block\n\nThe value \"ASSUME_SANE\" was never used in the project here, only\nASSUME_PERFECT was used. Update the comment to reflect the correct name.\n\nFixes: 464962489dcc (\"Add a way to control the level of checks in the code\")\nSigned-off-by: Tom Rini \u003ctrini@konsulko.com\u003e\nMessage-ID: \u003c20251210022002.3004223-2-trini@konsulko.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "7f3184a6c550bb8fb59e93c9901d75dced889dcf",
      "tree": "46d93a74886897687e3265f72fad167dcd31b483",
      "parents": [
        "9197f1ccd95c9475006677aa97bf39727c1e8aa5"
      ],
      "author": {
        "name": "Adam Lackorzynski",
        "email": "adam@l4re.org",
        "time": "Mon Sep 29 15:51:25 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Sep 30 12:03:03 2025 +1000"
      },
      "message": "libfdt: Remove old MacOS strnlen workaround\n\nThe check for the MacOS X version (10.7) is problematic, because it\nfails unless _DARWIN_C_SOURCE is defined if also _POSIX_C_SOURCE or\n_XOPEN_SOURCE is defined, as then the Darwin version defines are not\ndefined.  We cannot force _DARWIN_C_SOURCE reliably in the header\neither, because we cannot be sure that the libfdt_env.h has not already\nbeen included by another source before.\n\nThe check is also only for very old versions of Mac OS X. In the\ninterest of not replacing strnlen arbitrarily for sources using\nlibfdt and considering that the last version of OS X 10.6 was\nreleased in 2011 I propose to remove the workaround for that system.\n\nWe noticed as compiling fdt_strnlen in C++ environments fails\n(missing cast for memchr).\n\nSigned-off-by: Adam Lackorzynski \u003cadam@l4re.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "9197f1ccd95c9475006677aa97bf39727c1e8aa5",
      "tree": "c7c2f8e8ffd5ed5c6ec58843212e04343a2f253e",
      "parents": [
        "e1284ee5dc20f94097bc6424ede9c3e433dba77d"
      ],
      "author": {
        "name": "Andrew Davis",
        "email": "afd@ti.com",
        "time": "Fri Aug 22 12:10:38 2025 -0500"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Aug 25 11:39:08 2025 +1000"
      },
      "message": "checks: Do not check overlays for alias paths\n\nThe path given as an alias inside an overlay can be a path to a node\nin the base DT. The path check searches only the overlay as that is\nthe only tree available leading to false check failures.\n\nSkip this check when checking an overlay.\n\nSigned-off-by: Andrew Davis \u003cafd@ti.com\u003e\nMessage-ID: \u003c20250822171038.190122-1-afd@ti.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "e1284ee5dc20f94097bc6424ede9c3e433dba77d",
      "tree": "b8f6610715f3b15a007b7c847b374bb2c7347a40",
      "parents": [
        "cba90ce82064ad1e6d25f20d8eaa940bd2fc97ed"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Aug 18 12:35:46 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Aug 20 21:34:05 2025 +1000"
      },
      "message": "livetree: Add only new data to fixup nodes instead of complete regeneration\n\nRemoving the complete __fixups__ and __local_fixups__ tree might delete\ndata that should better be retained. See the added test for a situation\nthat was broken before.\n\nNote that without removing /__fixups__ and /__local_fixups__ in\ngenerate_fixups_tree() and generate_local_fixups_tree() respectively\ncalling build_and_name_child_node() isn\u0027t safe as the nodes might\nalready exist and then a duplicate would be added. So build_root_node()\nhas to be used which copes correctly here.\n\nFixes: 915daadbb62d (\"Start with empty __local_fixups__ and __fixups__ nodes\")\nCloses: https://github.com/dgibson/dtc/issues/170\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003cb061ee57157fafbb9d5b9b0b86af760d13a04eda.1755512759.git.u.kleine-koenig@baylibre.com\u003e\n[dwg: Use -1 instead of 1 as an error return]\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "cba90ce82064ad1e6d25f20d8eaa940bd2fc97ed",
      "tree": "2b6b76fac5333809f937b2c573517f6f6fac04df",
      "parents": [
        "763c6ab4189c16cb61b5878dddcbd46d76535e67"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund+renesas@ragnatech.se",
        "time": "Sun Aug 17 15:37:33 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Aug 19 09:33:15 2025 +1000"
      },
      "message": "checks: Remove check for graph child addresses\n\nThe dtc graph_child_address check can\u0027t distinguish between bindings\nwhere there can only be a single endpoint, and cases where there can be\nmultiple endpoints.\n\nIn cases where the bindings allow for multiple endpoints but only one is\ndescribed false warnings about unnecessary #address-cells/#size-cells\ncan be generated, but only if the endpoint described have an address of\n0 (A), for single endpoints with a non-zero address (B) no warnings are\ngenerated.\n\nA)\n    ports {\n\t#address-cells \u003d \u003c1\u003e;\n\t#size-cells \u003d \u003c0\u003e;\n\n\tport@0 {\n\t    #address-cells \u003d \u003c1\u003e;\n\t    #size-cells \u003d \u003c0\u003e;\n\n\t    sourceA: endpoint@0 {\n\t\treg \u003d \u003c0\u003e\n\t    };\n\t};\n    };\n\nB)\n    ports {\n\t#address-cells \u003d \u003c1\u003e;\n\t#size-cells \u003d \u003c0\u003e;\n\n\tport@0 {\n\t    #address-cells \u003d \u003c1\u003e;\n\t    #size-cells \u003d \u003c0\u003e;\n\n\t    sourceB: endpoint@1 {\n\t\treg \u003d \u003c1\u003e\n\t    };\n\t};\n    };\n\nRemove the check as it is somewhat redundant now that we can use schemas\nto validate the full node.\n\nSigned-off-by: Niklas Söderlund \u003cniklas.soderlund+renesas@ragnatech.se\u003e\nReviewed-by: Rob Herring (Arm) \u003crobh@kernel.org\u003e\nMessage-ID: \u003c20250817133733.3483922-1-niklas.soderlund+renesas@ragnatech.se\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "763c6ab4189c16cb61b5878dddcbd46d76535e67",
      "tree": "f4432241ae45523d978b46a8da341b41d720ee0f",
      "parents": [
        "739403f222420a2fade2f939d001f51da473b6af"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Aug 18 12:35:45 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Aug 19 09:24:37 2025 +1000"
      },
      "message": "livetree: Simplify append_to_property()\n\nThe two if branches are quite similar. Build the property first (in case\nit doesn\u0027t exist) and then the common parts can be done outside the if\nblock.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nMessage-ID: \u003ceef88e559f5b9818c4c2311fa8a75ab6fd4508d5.1755512759.git.u.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "739403f222420a2fade2f939d001f51da473b6af",
      "tree": "e0976b99f75042acc71f08db279d967211ed08a8",
      "parents": [
        "1c6c51e51b29a1c7204cb0e2085709ae7caa57af"
      ],
      "author": {
        "name": "Rob Herring (Arm)",
        "email": "robh@kernel.org",
        "time": "Mon Aug 11 08:04:16 2025 -0500"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Aug 13 11:09:10 2025 +1000"
      },
      "message": "libfdt: Drop including string.h from libfdt_internal.h\n\nCommit 0f69cedc08fc (\"libfdt_internal: fdt_find_string_len_()\") added a\nstring.h include to libfdt_internal.h which introduces a libc dependency\nwhich cannot be overridden. Environments without libc (e.g. Linux\nkernel) use a custom libfdt_env.h. string.h is already indirectly\nincluded in libfdt_env.h, so it can be dropped from libfdt_internal.h.\n\nFixes: 0f69cedc08fc (\"libfdt_internal: fdt_find_string_len_()\")\nSigned-off-by: Rob Herring (Arm) \u003crobh@kernel.org\u003e\nMessage-ID: \u003c20250811130416.2653959-1-robh@kernel.org\u003e\nReviewed-by: Simon Glass \u003csjg@chromium.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "1c6c51e51b29a1c7204cb0e2085709ae7caa57af",
      "tree": "d76056125ac787e508e262a67545c5ae896da6fd",
      "parents": [
        "617f3d9b60f7c52473c52caf7c197718e80c912b"
      ],
      "author": {
        "name": "Colin Finck",
        "email": "mail@colinfinck.de",
        "time": "Wed Aug 06 15:52:31 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Aug 07 21:42:42 2025 +1000"
      },
      "message": "Consider drive letters when checking for absolute paths on Windows.\n\nThis still requires you to specify paths with forward slashes instead of\nbackslashes on Windows, due to many hardcoded checks for \u0027/\u0027.\nFortunately, the Windows user APIs all support forward slashes too.\n\nSigned-off-by: Colin Finck \u003cmail@colinfinck.de\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "617f3d9b60f7c52473c52caf7c197718e80c912b",
      "tree": "f43d2d9bc625d89239d7bd3eb76505febb05c0d8",
      "parents": [
        "04f948e83fef8d010dc043fc0208ac9d8c5f52d5"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:35:46 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:48:27 2025 +1000"
      },
      "message": "ci: Add Cirrus CI configuration for FreeBSD testing\n\nAdd FreeBSD test coverage with builds on FreeBSD 13.5 and 14.3 using\nboth make and meson build systems.\n\nGenerated-by: Claude Code 1.0.65 (claude-sonnet-4@20250514)\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "04f948e83fef8d010dc043fc0208ac9d8c5f52d5",
      "tree": "0e9b09a163ff7dba5d7c2ec7699a78b59e28f2ca",
      "parents": [
        "e896802631374ab74547e3d8395f384839e60064"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:35:21 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:46:48 2025 +1000"
      },
      "message": "ci: Add GitLab CI configuration for Linux builds\n\nAdd GitLab CI with Linux builds on Alpine, Arch, Fedora, and Ubuntu using\nboth make and meson build systems.\n\nGenerated-by: Claude Code 1.0.65 (claude-sonnet-4@20250514)\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "e896802631374ab74547e3d8395f384839e60064",
      "tree": "01b8d8652fe1cc6ba57c445c3ab311c6d5a4aa78",
      "parents": [
        "2ad738722b79dbfccd4ddbe7408720bac3dba3d6"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:35:31 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:45:58 2025 +1000"
      },
      "message": "ci: Tweaks to GitHub Actions setup\n\nRemove some unnecessary package dependencies.  Also include testing of the\n\u0027ci\u0027 branch (so as to test in-progress changes to the CI configuration\nitself).\n\nGenerated-by: Claude Code 1.0.65 (claude-sonnet-4@20250514)\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "2ad738722b79dbfccd4ddbe7408720bac3dba3d6",
      "tree": "5254a23ed356ce0de899b5904c921793cb2090f8",
      "parents": [
        "4132ac08ba95713316e604e4bd09923c0d14ffd7"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:35:06 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 15:43:21 2025 +1000"
      },
      "message": "build: Add FreeBSD and non-GNU linker compatibility\n\nAdd compatibility fixes for non-GNU compilers and linkers by testing\nversions before using certain flags.  In particular this fixes make build\nproblems on FreeBSD.\n\nGenerated-by: Claude Code 1.0.65 (claude-sonnet-4@20250514)\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "4132ac08ba95713316e604e4bd09923c0d14ffd7",
      "tree": "20647488174ac165c1274f1528423fb0d966c6f3",
      "parents": [
        "33e66ec845b8914ad45f559a275673a2a2881576"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 11:34:18 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Aug 01 11:34:18 2025 +1000"
      },
      "message": "libfdt: Document most remaining functions\n\nLargely an experiment using an AI assistant.  Used Claude to generate\ndocumentation comments for most of the functions in libfdt.h which\ncurrently lack them.  Then hand reviewed and edited.\n\nOr, as Claude describes it:\n\nAdd detailed documentation comments for core libfdt functions including:\n- Low-level functions (fdt_offset_ptr, fdt_next_tag, fdt_check_full)\n- Sequential write functions (fdt_resize, fdt_add_reservemap_entry,\n  fdt_finish_reservemap, fdt_begin_node, fdt_property, fdt_end_node, fdt_finish)\n- Read-write functions (fdt_create_empty_tree, fdt_open_into, fdt_pack)\n- Error handling (fdt_strerror)\n\nDocumentation includes parameter descriptions, return value meanings,\nand usage notes for proper API usage.\n\nGenerated-by: Claude 1.0.64 (claude-sonnet-4@20250514)\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "33e66ec845b8914ad45f559a275673a2a2881576",
      "tree": "ca92824d4c152abb7fc0072f5dee4dca1b932c60",
      "parents": [
        "a0dd7b608102bb04de414b47933f776827cf5427"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Jul 24 13:26:31 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Jul 28 16:54:31 2025 +1000"
      },
      "message": "tests: Add compatibility with uutils\n\nIn some places run_tsets.sh needs to get the size of files, which it does\nwith stat(1).  However the syntax to do this is different between GNU\ncoreutils stat(1) and BSD\u0027s stat(1).  We have some logic that looks for\n\"GNU\" in the version string to figure out the correct version.\n\nThis will break upcoming Ubuntu versions which are now using uutils, a Rust\nreimplementation of coreutils.  These support the same GNU syntax, but\ndon\u0027t have the \"GNU\" in the version string.\n\nUpdate the detection to simply try the GNU version and otherwise assume\nBSD.\n\nLink: https://github.com/dgibson/dtc/issues/166\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "a0dd7b608102bb04de414b47933f776827cf5427",
      "tree": "7c34e9d88bab7c72d050392c16c26069216dfa3f",
      "parents": [
        "5b71660724d7399db52a2ce65da7dacb6e662468"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Jul 28 16:42:34 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Jul 28 16:42:34 2025 +1000"
      },
      "message": "fdtput: Use strtol() in preference to sscanf()\n\nI find the exact semantics of scanf() always confusing, and mostly we use\nstrtol() and similar functions instead.  Switch fdtput to using strtol and\nsimilar functions instead of sscanf().\n\nAs well as being more in keeping with what we do in other places, this\nworks around a FreeBSD bug[0], where sscanf(), but not strtol() parses\n\"003\" as having value 0.\n\n[0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id\u003d288440\n\nLink: https://github.com/dgibson/dtc/issues/165\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "5b71660724d7399db52a2ce65da7dacb6e662468",
      "tree": "3a923152d4b1f2efd2127130058518261d2068a4",
      "parents": [
        "52f07dcca47cb88aec51b85663f95f46b7e41457"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jul 25 13:01:41 2025 +1000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jul 25 13:01:41 2025 +1000"
      },
      "message": "tests: Work around limitation in FreeBSD\u0027s printf(1)\n\nSome of our testcases check fdtget retreiving string list properties that\ninclude internal \\0 characters.  We use printf(1) to generate the expected\nvalue for comparison.\n\nHowever, on FreeBSD, printf(1)\u0027s %b format option can\u0027t handle \\0: it will\nterminate that argument ignoring it and everything after.  Curiously,\ninternal \\0 *is* ok in the main format string.  So avoid using %b and use\nthe format string directly instead.\n\nLink: https:/https://github.com/dgibson/dtc/issues/165\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n\n"
    },
    {
      "commit": "52f07dcca47cb88aec51b85663f95f46b7e41457",
      "tree": "72be40413e64ff49bb2206ac4d804a13523c8985",
      "parents": [
        "9cabae6b0351dff7eb634ebcdcabf06a276c1222"
      ],
      "author": {
        "name": "Vivian Wang",
        "email": "wangruikang@iscas.ac.cn",
        "time": "Fri Jul 04 18:15:20 2025 +0800"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Jul 14 18:32:02 2025 +1000"
      },
      "message": "dtc: Add informative error for stray identifier\n\nWhen a DTS is preprocessed, sometimes the user fails to include the\ncorrect header files, or make a spelling mistake on a macro name. This\nleads to a stray identifier in the DTS, like:\n\n  property \u003d \u003c1 2 FOO BAR(3, 4)\u003e;\n\nGive a more helpful error message than \"syntax error\" by recognizing and\nreporting the identifier, like this:\n\n  Lexical error: \u003cstdin\u003e:2.21-24 Unexpected \u0027FOO\u0027\n\nAlso, treat that identifier as literal, which often helps the parser go\nfurther and may generate more helpful error messages.\n\nSigned-off-by: Vivian Wang \u003cwangruikang@iscas.ac.cn\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "9cabae6b0351dff7eb634ebcdcabf06a276c1222",
      "tree": "e84489359fd6ce3fbc7fde41a04e9356468d945f",
      "parents": [
        "605dc044c3fef39fe5404d40f2b5569d77916339"
      ],
      "author": {
        "name": "Jon Hunter",
        "email": "jonathanh@nvidia.com",
        "time": "Wed Jul 09 15:24:52 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Jul 10 19:09:39 2025 +1000"
      },
      "message": "checks: Fix detection of \u0027i2c-bus\u0027 node\n\nIf an I2C controller has a \u0027i2c-bus\u0027 child node, then the function\ncheck_i2c_bus_bridge() does not detect this as expected and warnings\nsuch as the following are observed:\n\n Warning (i2c_bus_bridge): /example-0/i2c@7000c000: \\\n     incorrect #address-cells for I2C bus\n Warning (i2c_bus_bridge): /example-0/i2c@7000c000: \\\n     incorrect #size-cells for I2C bus\n\nThese warnings occur because the \u0027#address-cells\u0027 and \u0027#size-cells\u0027 are\nnot directly present under the I2C controller node but the \u0027i2c-bus\u0027\nchild node. The function check_i2c_bus_bridge() does not detect this\nbecause it is using the parent node\u0027s \u0027basenamelen\u0027 and not the child\nnode\u0027s \u0027basenamelen\u0027 when comparing the child node name with \u0027i2c-bus\u0027.\nThe parent node\u0027s \u0027basenamelen\u0027 is shorter (\u0027i2c\u0027) than \u0027i2c-bus\u0027 and so\nthe strprefixeq() test fails. Fix this by using the child node\n\u0027basenamelen\u0027 when comparing the child node name.\n\nFixes: 53a1bd546905 (\"checks: add I2C bus checks\")\nSigned-off-by: Jon Hunter \u003cjonathanh@nvidia.com\u003e\nMessage-ID: \u003c20250709142452.249492-1-jonathanh@nvidia.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "605dc044c3fef39fe5404d40f2b5569d77916339",
      "tree": "dbd2ddd07d274b99bb33fe719e1cce203d46a457",
      "parents": [
        "7da5d106c7400fc02b0b5bee1b565b07895f5132"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jan 14 11:09:29 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Jul 02 15:46:47 2025 +1000"
      },
      "message": "New helper to add markers\n\nThe add_marker() function is used to create a new marker and add it at\nthe right spot to the relevant marker list. Use it in the\nadd_string_markers() helper (which gets slightly quicker by it).\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "7da5d106c7400fc02b0b5bee1b565b07895f5132",
      "tree": "07f34f2554353f9685f7ef32b73a40d049a02d95",
      "parents": [
        "53c63dd421d79dbd81e1b608c9b807a463d124a0"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 01 11:54:00 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jul 01 20:47:15 2025 +1000"
      },
      "message": "fdtput: Fix documentation about existing nodes\n\nThe documentation claims that `-c` would \"Create nodes if they don\u0027t\nalready exist\". This is true, but suggests that trying to create a node\nthat already exists is not an error. fdtput however errors out in that\ncase. Similar `fdtput -d` errors out when called for a non-existing\nnode.\n\nDrop the \"if they [don\u0027t] already exist\" to make that clearer.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "53c63dd421d79dbd81e1b608c9b807a463d124a0",
      "tree": "887ce20548637db8579e05f87b4406391a08c291",
      "parents": [
        "84d9dd2fcbc865a35d7f04d9b465b05ef286d281"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jan 14 11:58:28 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jul 01 20:42:22 2025 +1000"
      },
      "message": "dtdiff: Use input format dtb for dtbo files\n\nThe file ending .dtbo is typically used for device tree overlays. These\nare in the dtb input format, too. So assume this input format for *.dtbo\nas is already done for *.dtb.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "84d9dd2fcbc865a35d7f04d9b465b05ef286d281",
      "tree": "bd71c5df5ae24e669c95590a8c256a0b6fffc8b7",
      "parents": [
        "97011d1f4e98ecb07ff6aadb14d218a8265b4799"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Jun 05 16:18:07 2025 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Jun 12 16:37:31 2025 +1000"
      },
      "message": "dtc: Add data_insert_data function\n\nAdd helper function to insert a data struct into another.\n\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20250605-previous-value-v3-2-0983d0733a07@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "97011d1f4e98ecb07ff6aadb14d218a8265b4799",
      "tree": "496fb73e30deb5405288facf778f8606be6c49ec",
      "parents": [
        "b841391bbd08e101b76cb6cddb26bf8faaee6203"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu Jun 12 07:38:29 2025 +0200"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Jun 12 15:55:00 2025 +1000"
      },
      "message": "meson: use override_find_program/override_dependency\n\nAllow projects that use dtc as a subproject to find the tools and\nlibrary via find_program() and dependency().  This way, for those\nprojects there is no different between system dtc and subproject dtc.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nMessage-ID: \u003c20250612053829.1037412-1-pbonzini@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "b841391bbd08e101b76cb6cddb26bf8faaee6203",
      "tree": "e0461a63c19d82ab560e8dbc8056045fbc8c650f",
      "parents": [
        "e0b7749c26a9ea28a480bca4a87d238e284ac68f"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Jun 05 16:18:06 2025 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Jun 09 22:27:00 2025 +1000"
      },
      "message": "srcpos: Define srcpos_free\n\nsrcpos can be chained together using srcpos_extend. However, in such\ncases, we need to free all the chained nodes.\n\nsrcpos_free is a helper to recursively free all the linked srcpos.\n\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20250605-previous-value-v3-1-0983d0733a07@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "e0b7749c26a9ea28a480bca4a87d238e284ac68f",
      "tree": "8a17cfc069283e3e11716de321b4b72e01bbb0d8",
      "parents": [
        "ecb21febfdd32fa9e0cbd9517f9e92cc9c703ffb"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Tue Mar 11 21:05:37 2025 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed May 28 15:12:50 2025 +1000"
      },
      "message": "Add alloc_marker\n\n- Add helper to allocate new marker\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20250311-previous-value-v2-1-e4a8611e956f@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "ecb21febfdd32fa9e0cbd9517f9e92cc9c703ffb",
      "tree": "4482ba028f8b7c8ff267b430b98ee90fd37ba1b7",
      "parents": [
        "7ebfcac8520e7e1d22a7d1e98ffeb16a141b9cb4"
      ],
      "author": {
        "name": "Eli Schwartz",
        "email": "eschwartz93@gmail.com",
        "time": "Wed Apr 30 11:25:26 2025 -0400"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 01 19:27:10 2025 +0700"
      },
      "message": "meson: port python bindings to build natively via meson and meson-python\n\nWe get full build parallelism and fewer confusing ancient distutils\npaths. The python wheels build fully standalone, including linking\nlibfdt as a static library.\n\nFor convenience, when running pip install a meson option is passed that\nprevents building tools or installing headers/pkgconfig files.\nmeson-python would otherwise include them in the wheel itself, in case\nthey are needed, but this is essentially a bit useless so don\u0027t bother.\n\nThe old setuptools-based build is now redundant and goes away.\n\nSigned-off-by: Eli Schwartz \u003ceschwartz@gentoo.org\u003e\nMessage-ID: \u003c20250430152601.43554-3-eschwartz@gentoo.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "7ebfcac8520e7e1d22a7d1e98ffeb16a141b9cb4",
      "tree": "47e99e205ff431331dbeff2151f11cf3e62f7064",
      "parents": [
        "f4c53f4ebf7809a07666bf728c823005e1f1a612"
      ],
      "author": {
        "name": "Eli Schwartz",
        "email": "eschwartz93@gmail.com",
        "time": "Wed Apr 30 11:25:25 2025 -0400"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu May 01 19:27:10 2025 +0700"
      },
      "message": "Makefile: deprecate in favor of Meson\n\nBuilding the python bindings is complicated and not very practical to do\nin a Makefile. The setuptools invocations previously used are confusing\nand don\u0027t work very well compared to Meson. Having two build systems\nthat do different things is also confusing though.\n\nSince Meson can do everything that Make can do, but the reverse is not\ntrue, we deprecate the latter and warn when you use it.\n\nGNU Make can emit a $(warning) on every Makefile run, which is a bit\nnoisy but means we don\u0027t need to have every target depend on a PHONY\ntarget (preventing built targets from being seen as up to date).\n\nSigned-off-by: Eli Schwartz \u003ceschwartz@gentoo.org\u003e\nMessage-ID: \u003c20250430152601.43554-2-eschwartz@gentoo.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "f4c53f4ebf7809a07666bf728c823005e1f1a612",
      "tree": "2c092a574523d338f21162f67a040aed71b2d4a0",
      "parents": [
        "205fbef17b7b2f410e34ac79aa1559a8d492b66c"
      ],
      "author": {
        "name": "Thomas Huth",
        "email": "thuth@redhat.com",
        "time": "Thu Mar 13 20:27:18 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Mar 14 13:51:31 2025 +1100"
      },
      "message": "Use __ASSEMBLER__ instead of __ASSEMBLY__\n\nBoth, Clang and GCC define __ASSEMBLER__ automatically when\ncompiling .S files, so this macro is a much better fit for\nfdt.h - programs that want to use it from .S files don\u0027t have\nto manually #define __ASSEMBLY__ that way.\nWhile we\u0027re at it, also change it in testdata.h, then we don\u0027t\nhave to define __ASSEMBLY__ in the Makefile / meson.build file\nanymore.\n\nSigned-off-by: Thomas Huth \u003cthuth@redhat.com\u003e\nMessage-ID: \u003c20250313192718.1561683-1-thuth@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "205fbef17b7b2f410e34ac79aa1559a8d492b66c",
      "tree": "330192d3c27e6b7a8c6240b62503718f2b57f323",
      "parents": [
        "da85f91931e52c0f9661cff83fe0a5e83f6cc845"
      ],
      "author": {
        "name": "Thomas Huth",
        "email": "thuth@redhat.com",
        "time": "Thu Mar 13 20:16:07 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Mar 14 13:50:32 2025 +1100"
      },
      "message": "Fix some typos\n\nDiscovered with the \"codespell\" utility.\n\nSigned-off-by: Thomas Huth \u003cthuth@redhat.com\u003e\nMessage-ID: \u003c20250313191607.1556384-1-thuth@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "da85f91931e52c0f9661cff83fe0a5e83f6cc845",
      "tree": "0794c002402b51b52873d9f90c07a089340c3c14",
      "parents": [
        "dd1b3e532d228ed75d34480ee539f71b76a4fa89"
      ],
      "author": {
        "name": "Thomas Huth",
        "email": "thuth@redhat.com",
        "time": "Thu Mar 13 20:05:27 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Mar 14 13:48:10 2025 +1100"
      },
      "message": "Remove duplicated words in documentation and comments\n\nLet\u0027s avoid repeating single words here!\n\nSigned-off-by: Thomas Huth \u003cthuth@redhat.com\u003e\nMessage-ID: \u003c20250313190527.1556019-1-thuth@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "dd1b3e532d228ed75d34480ee539f71b76a4fa89",
      "tree": "1a5d4fdba4b002d7cd8688668a243fd68101d44f",
      "parents": [
        "1ccd232709d409798aac93f45b2a2e1c43e98ec4"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@gmail.com",
        "time": "Thu Mar 06 20:30:47 2025 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Mar 13 16:19:27 2025 +1100"
      },
      "message": "meson: support building libfdt without static library\n\nSome packaging systems like NixOS don\u0027t support compiling static\nlibraries. However libfdt\u0027s meson.build uses `both_library()` which\nforces the build to always compile shared and static libraries. Removing\n`both_library()` will make packaging easier.\n\nlibfdt uses `both_libraries()` to support the \u0027static-build\u0027 option.\nBut we do not need the \u0027static-build\u0027 option as Meson can natively\nbuild static using\n\n\u003e meson setup builddir/ -Dc_link_args\u003d\u0027-static\u0027 --prefer-static --default-library\u003dstatic\n\nSo drop \u0027static-build\u0027 and then replace `both_libraries()` with\n`library()`.\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "1ccd232709d409798aac93f45b2a2e1c43e98ec4",
      "tree": "2487c6f020080062aecbabf435e7c99d3a1ff789",
      "parents": [
        "ce1d8588880aecd7af264e422a16a8b33617cef7"
      ],
      "author": {
        "name": "Eli Schwartz",
        "email": "eschwartz93@gmail.com",
        "time": "Sun Mar 02 17:28:26 2025 -0500"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Mar 03 12:46:55 2025 +1100"
      },
      "message": "meson: don\u0027t build test programs by default\n\nThey are only used when running tests, and are included as depedencies\nof the test cases themselves already. Marking them to not build by\ndefault, means that 291 compile edges can be skipped when only running\n\n```\nmeson setup builddir/\nninja -C builddir/\nmeson install -C builddir/\n```\n\nresulting in an overall much faster build. Instead they will be compiled\non-demand by `meson test`, only for users that actually run the tests.\n\nSigned-off-by: Eli Schwartz \u003ceschwartz@gentoo.org\u003e\nMessage-ID: \u003c20250302222839.2256985-1-eschwartz@gentoo.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "ce1d8588880aecd7af264e422a16a8b33617cef7",
      "tree": "86f161f9afab9a4f30ad0573d168ebae60969a81",
      "parents": [
        "915daadbb62d68bc49c5a14a360d1c39e0131f97"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Feb 05 13:39:43 2025 +1100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Feb 05 13:39:43 2025 +1100"
      },
      "message": "tests: When building .so from -O asm output mark as non-executable stack\n\nFor certain tests, we take the output from dtc -O asm and build it into\na .so shared library which we then dlopen() for further tests.  Because we\ndon\u0027t mark it otherwise, it\u0027s treated as requiring an executable stack,\nwhich dlopen() refuses to open as of glibc-2.41.\n\nOf course, the library is pure data, no code, so it certainly doesn\u0027t need\nan executable stack.  Add the -znoexecstack linker option to avoid the\nerror.\n\nFixes: https://github.com/dgibson/dtc/issues/163\n\nReported-by: Xi Ruoyao \u003cxry111@xry111.site\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.a\u003e\n\n"
    },
    {
      "commit": "915daadbb62d68bc49c5a14a360d1c39e0131f97",
      "tree": "54017cb12291b054a6c67d0688e45fbd9463b777",
      "parents": [
        "4ea851f5a44dabb5f1f8f9d4adacd1e0ae5a033d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jan 13 22:43:11 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 24 14:15:35 2025 +1100"
      },
      "message": "Start with empty __local_fixups__ and __fixups__ nodes\n\nWhen the meta nodes __local_fixups__ and __fixups__ are generated, and\none of these (or both) already exist, the information contained there\nis duplicated at best and stale otherwise. So remove the nodes before\nstarting to fill them.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "4ea851f5a44dabb5f1f8f9d4adacd1e0ae5a033d",
      "tree": "e032550164d746352f15fd3e8fa517e3c9a67fce",
      "parents": [
        "175d2a564c473530397b6ff2d9f3581708b03a80"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jan 13 22:35:41 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 24 14:14:02 2025 +1100"
      },
      "message": "Let get_subnode() not return deleted nodes\n\nBoth current callers actually don\u0027t want deleted nodes returned by\nget_subnode(). So change semantics of this function to only return\n\"live\" nodes.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "175d2a564c473530397b6ff2d9f3581708b03a80",
      "tree": "6d853cb1cfbd8191cee5deb19b51baea35f6ba4c",
      "parents": [
        "18f4f305fdd7e14c8941658a29c7b85c27d41de4"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jan 13 22:29:11 2025 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Jan 24 14:12:53 2025 +1100"
      },
      "message": "Use build_root_node() instead of open-coding it\n\nbuild_root_node() does error checking (which is good!) but otherwise\nbehaves exactly as the code replaced here.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "18f4f305fdd7e14c8941658a29c7b85c27d41de4",
      "tree": "2e8fd8716626ffecd7e0f27807e582b3406b7af3",
      "parents": [
        "267efc7d469477927baa5c0e540d91cb51ca25bf"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Mon Nov 11 15:07:12 2024 +0400"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Dec 18 16:12:59 2024 +1100"
      },
      "message": "build: fix -Dtools\u003dfalse build\n\nWhen configuring the project, meson fails with:\ntests/meson.build:107:27: ERROR: Unknown variable \"util_dep\"\n\nDeclare the util_dep dependency regardless if \u0027tools\u0027 are enabled, so\ntests can be built with it.\n\nFixes: bdc5c8793a1 (\"meson: allow disabling tests\")\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "267efc7d469477927baa5c0e540d91cb51ca25bf",
      "tree": "37b2e2979056ab6c26656affbf279f7d0d8b4c5c",
      "parents": [
        "755db115355b101dea144eca5c272fdfa15e900f"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "treding@nvidia.com",
        "time": "Fri Dec 13 15:14:38 2024 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Dec 18 15:56:51 2024 +1100"
      },
      "message": "checks: Warn about missing #address-cells for interrupt parents\n\nThe device tree specification (v0.4) suggests that #address-cells is\nmandatory for interrupt parent nodes. If this property is missing, Linux\nwill default to the value of 0.\n\nA number of device tree files rely on Linux\u0027 fallback and don\u0027t specify\nan explicit #address-cells as suggested by the specification. This can\ncause issues when these device trees are passed to software with a more\npedantic interpretation of the DT spec.\n\nAdd a warning when this case is detected so that device tree files can\nbe fixed.\n\nReported-by: Brad Griffis \u003cbgriffis@nvidia.com\u003e\nSigned-off-by: Thierry Reding \u003ctreding@nvidia.com\u003e\nReviewed-by: Rob Herring (Arm) \u003crobh@kernel.org\u003e\nMessage-ID: \u003c20241213141438.3616902-1-thierry.reding@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "755db115355b101dea144eca5c272fdfa15e900f",
      "tree": "88be9f16fabc83fff73545270aa13aebe397b930",
      "parents": [
        "bdca8612009ec723af26beaa26e39138b948c87f"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Dec 05 10:21:06 2024 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Dec 06 16:42:25 2024 +1100"
      },
      "message": "libfdt: Add fdt_setprop_namelen_string()\n\nMacro using fdt_setprop_namelen() internally similar to\n`fdt_setprop_string()`.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20241205-setprop-namelen-v2-4-0d85a3d2e7b1@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "bdca8612009ec723af26beaa26e39138b948c87f",
      "tree": "f8f7c6e7e6b2e1f6d0a4266657fb87fc81246db6",
      "parents": [
        "0f69cedc08fca505c89b46eb669cc94757c74b58"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Dec 05 10:21:05 2024 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Dec 06 16:42:25 2024 +1100"
      },
      "message": "libfdt: Add fdt_setprop_namelen()\n\nAllow specifying name length in setprop similar to\n`fdt_get_property_namelen` functions.\n\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20241205-setprop-namelen-v2-3-0d85a3d2e7b1@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "0f69cedc08fca505c89b46eb669cc94757c74b58",
      "tree": "581c1e55581ab1bd0d2a35a7f59a763fa4a4981b",
      "parents": [
        "56b2b30c5bd0df9d9cf3cdbe8d934e7db9cb8ca9"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Dec 05 10:21:04 2024 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Dec 06 16:42:25 2024 +1100"
      },
      "message": "libfdt_internal: fdt_find_string_len_()\n\nAllow specifying string length to `fdt_find_string_`.\nfdt_find_string_() now internally uses this function.\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20241205-setprop-namelen-v2-2-0d85a3d2e7b1@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "56b2b30c5bd0df9d9cf3cdbe8d934e7db9cb8ca9",
      "tree": "b698d5a5c4f1539a078919310804578b3beb3e60",
      "parents": [
        "1e8c5f60e1270391a51a1c55e2c16b235428afa2"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Dec 05 10:21:03 2024 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Dec 06 16:42:25 2024 +1100"
      },
      "message": "libfdt: add fdt_get_property_namelen_w()\n\nSimilar to the non-namelen variant, it is implemented in terms of\nfdt_get_property_namelen()\n\nReviewed-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20241205-setprop-namelen-v2-1-0d85a3d2e7b1@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "1e8c5f60e1270391a51a1c55e2c16b235428afa2",
      "tree": "71f59ed5a9e9f88f68452ef1d63b46fdd10d854d",
      "parents": [
        "6f183c7d9246bde8f05d2edbc31fdd497c4a8702"
      ],
      "author": {
        "name": "Ayush Singh",
        "email": "ayush@beagleboard.org",
        "time": "Thu Dec 05 19:50:02 2024 +0530"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Fri Dec 06 14:44:46 2024 +1100"
      },
      "message": "Add clang-format config\n\nAdd clang-format config based on Linux kernel clang-format config.\nAllows for consistent formatting rules for all future contributions.\n\nSigned-off-by: Ayush Singh \u003cayush@beagleboard.org\u003e\nMessage-ID: \u003c20241205-clang-format-v2-1-07d21007bdab@beagleboard.org\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "6f183c7d9246bde8f05d2edbc31fdd497c4a8702",
      "tree": "31a279bf460512724f6482d1f11c2f763d7a5a15",
      "parents": [
        "66c7d0e6f4f3c43636c70bab9ced2e157b4acf62"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "p.zabel@pengutronix.de",
        "time": "Wed Nov 06 14:01:08 2024 +0100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 27 12:52:56 2024 +1100"
      },
      "message": "checks: Relax avoid_unnecessary_addr_size check to allow child ranges properties\n\nDo not fail the unnecessary #address-cells/#size-cells check if any\nchildren of the node have a \"ranges\" property.\n\nSuggested-by: Rob Herring \u003crobh@kernel.org\u003e\nLink: https://lore.kernel.org/all/CAL_JsqKebRL454poAYZ9i\u003dsCsHqGzmocLy0psQcng-79UWJB-A@mail.gmail.com/\nSigned-off-by: Philipp Zabel \u003cp.zabel@pengutronix.de\u003e\nMessage-ID: \u003c20241106130108.852323-1-p.zabel@pengutronix.de\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "66c7d0e6f4f3c43636c70bab9ced2e157b4acf62",
      "tree": "ee92d17f836a885fd5dfcb3d165b245406023d21",
      "parents": [
        "9a969f3b70b07bbf1c9df44a38d7f8d1d3a6e2a5"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@gmail.com",
        "time": "Sat Nov 23 13:21:28 2024 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 25 12:52:43 2024 +1100"
      },
      "message": "tests/sw_tree1.c: fix unitialized saveptr\n\nBuilding the dtc tests on the Conda build system results in the\nfollowing error.\n\n\u003e In function \u0027__strtok_r_1c\u0027,                                                                                                                                     2024-11-23T19:17:20.7930512Z     inlined from \u0027main\u0027 at ../tests/sw_tree1.c:140:17:\n\u003e $BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr/include/bits/string2.h:1177:10: error: \u0027saveptr\u0027 may be used uninitialized [-Werror\u003dmaybe-uninitialized]\n\u003e  1177 |   while (*__s \u003d\u003d __sep)\n\u003e       |          ^~~~\n\u003e ../tests/sw_tree1.c: In function \u0027main\u0027:\n\u003e ../tests/sw_tree1.c:137:39: note: \u0027saveptr\u0027 was declared here\n\u003e   137 |                 char *str \u003d argv[2], *saveptr, *tok;\n\u003e       |                                       ^~~~~~~\n\u003e cc1: all warnings being treated as errors\n\nThe manpage `strtok(3)` says the following.\n\n\u003e VERSIONS\n\u003e   On some implementations, *saveptr is required to be NULL on the first call to strtok_r() that is being used to parse str.\n\nSo set it to NULL.\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@gmail.com\u003e\n"
    },
    {
      "commit": "9a969f3b70b07bbf1c9df44a38d7f8d1d3a6e2a5",
      "tree": "bb4a1a80dcb296f98ba2f94f16414f301e7865b4",
      "parents": [
        "4292b072a23a281fe3ff6c59f0d7985e37fd8454"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@gmail.com",
        "time": "Sun Nov 24 15:48:04 2024 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 25 12:43:19 2024 +1100"
      },
      "message": "pylibfdt/libfdt.i: fix backwards compatibility of return values\n\nWhen our Python functions wrap `fdt_getprop()` they return a list\ncontaining `[*data, length]`.\n\nIn SWIG v4.2 and earlier SWIG would discard `*data` if it is NULL/None.\nCausing the return value to just be `length`.\n\nBut starting in SWIG v4.3 it no longer discards `*data`. So the return\nvalue is now `[None, length]`.\n\nHandle this compatibility issue in libfdt.i by checking if the return\nvalue looks like the older 4.2 return value, and casting it to the newer\nstyle.\n\nSee https://github.com/swig/swig/pull/2907\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "4292b072a23a281fe3ff6c59f0d7985e37fd8454",
      "tree": "5cdf201774dcc424ac5c28f29f7bf7496941f171",
      "parents": [
        "1c745a9bd169e9e5ecd213ebb1e814754d831d21"
      ],
      "author": {
        "name": "Brandon Maier",
        "email": "brandon.maier@gmail.com",
        "time": "Sun Nov 24 16:01:47 2024 -0600"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 25 12:27:23 2024 +1100"
      },
      "message": ".github/workflows: update ubuntu runner to supported version\n\nThe Ubuntu runner fails with the following message\n\n\u003e E: The repository \u0027http://security.ubuntu.com/ubuntu mantic-security Release\u0027 does not have a Release file.\n\nUbuntu 23.10 is end-of-life as of July 2024 anyway. So switch to the\nlatest Ubuntu tag, which is currently 24.04.\n\nSee https://discourse.ubuntu.com/t/edubuntu-23-10-has-reached-end-of-life-eol/46325\n\nSigned-off-by: Brandon Maier \u003cbrandon.maier@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "1c745a9bd169e9e5ecd213ebb1e814754d831d21",
      "tree": "2b8cc00345f017753e95b60cb1623731b45498eb",
      "parents": [
        "b3bbee6b1242b4bb84fcb31365b76a3a45be3b6b"
      ],
      "author": {
        "name": "Bingwu Zhang",
        "email": "xtexchooser@duck.com",
        "time": "Sat Nov 23 17:48:14 2024 +0800"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 25 12:21:00 2024 +1100"
      },
      "message": "libfdt: Remove fdt parameter from overlay_fixup_one_phandle\n\nWhen compiling with -Wall -Wextra, the unused fdt parameter becomes a\nwarning. With -Werror, it becomes an error and fails the build.\n\nAs the parameter is not used in the function, let\u0027s remove it.\n\nSigned-off-by: Bingwu Zhang \u003cxtexchooser@duck.com\u003e\nMessage-ID: \u003c20241123094814.15504-2-xtex@envs.net\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "b3bbee6b1242b4bb84fcb31365b76a3a45be3b6b",
      "tree": "613ca1f22439bb20b847c126fb73b558431481ed",
      "parents": [
        "d1656730abfb8ce293af278a8d1f74456c137389"
      ],
      "author": {
        "name": "Richard Hughes",
        "email": "richard@hughsie.com",
        "time": "Mon Nov 18 09:18:08 2024 +0000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 20 16:16:57 2024 +1100"
      },
      "message": "libfdt: Move the SBOM authors section\n\nI was mistaken, and another maintainer pointed out the author-of-this-file\nmetadata needs to be in a different place. Apologies for the churn.\n\nSigned-off-by: Richard Hughes \u003crichard@hughsie.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "d1656730abfb8ce293af278a8d1f74456c137389",
      "tree": "3ed2c45937b65dbd8f1bad8f7e9c76c1948678e6",
      "parents": [
        "b75515af4576173850734d6aed87069cef733961"
      ],
      "author": {
        "name": "Richard Hughes",
        "email": "richard@hughsie.com",
        "time": "Sat Nov 16 11:28:16 2024 +0000"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 18 16:24:48 2024 +1100"
      },
      "message": "Add a SBOM file in CycloneDX format\n\nImprove supply chain security by including a SBOM file with substituted values.\n\nThis will be used to construct a composite platform SBOM.\n\nSigned-off-by: Richard Hughes \u003crichard@hughsie.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "b75515af4576173850734d6aed87069cef733961",
      "tree": "f250f39846b33df69d4b7224e2f6cf541c62779d",
      "parents": [
        "2d10aa2afe35527728db30b35ec491ecb6959e5c"
      ],
      "author": {
        "name": "Bingwu Zhang",
        "email": "xtexchooser@duck.com",
        "time": "Sat Nov 16 18:12:28 2024 +0800"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Mon Nov 18 14:26:34 2024 +1100"
      },
      "message": "libfdt: Remove extra semi-colons outside functions\n\nWhen compiling with -Werror -Wpedantic, both GCC and Clang fails, saying\nthat these semi-colons are redundant, so remove them.\n\nSigned-off-by: Bingwu Zhang \u003cxtexchooser@duck.com\u003e\nMessage-ID: \u003c20241116101228.164707-6-xtex@envs.net\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "2d10aa2afe35527728db30b35ec491ecb6959e5c",
      "tree": "f9d2399512d14b80b7d0107f079c98d214b3c8c1",
      "parents": [
        "48795c82bdb6cbc597853293fbb41799ccecb5c2"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 06 14:01:37 2024 +1100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 06 14:01:37 2024 +1100"
      },
      "message": "Bump version to v1.7.2\n\nPrepare for a new release.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "48795c82bdb6cbc597853293fbb41799ccecb5c2",
      "tree": "4921b1eb81fa5bda63ca78fb5dc4a39eeb67ba17",
      "parents": [
        "838f11e830e31cdd99e39c4134068bf36e4d9796"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 06 14:00:45 2024 +1100"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Nov 06 14:00:45 2024 +1100"
      },
      "message": "pylibfdt: Don\u0027t emit warnings from swig generate C code\n\nThe swig generated code has a heap of warnings with the flags we usually\nuse.  These aren\u0027t helpful, since there\u0027s nothing we can do about them from\nthe dtc side.  So, just disable the warnings flags when compiling the\nPython module.\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    },
    {
      "commit": "838f11e830e31cdd99e39c4134068bf36e4d9796",
      "tree": "e9cb0ee7d5e53b62bd8645c6326d6db4e089758f",
      "parents": [
        "d1e2384185c5eeb8e238f7a8174ff43ea0da5d92"
      ],
      "author": {
        "name": "Amjad Alsharafi",
        "email": "amjadsharafi10@gmail.com",
        "time": "Mon Oct 28 11:57:28 2024 +0800"
      },
      "committer": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Oct 30 16:01:37 2024 +1100"
      },
      "message": "fdtoverlay: provide better error message for missing `/__symbols__`\n\nThis was added because trying to apply overlay on dtb without knowing a lot\nabout the subject can be frustrating with strange error messages.\n\nBefore this, it will tell you:\n`Failed to apply \u0027overlay.dtbo\u0027: FDT_ERR_BADOFFSET`\n\nThis message is similar to what\u0027s shown in `u-boot` when\ntrying to apply overlay\n\nSigned-off-by: Amjad Alsharafi \u003camjadsharafi10@gmail.com\u003e\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\n"
    }
  ],
  "next": "d1e2384185c5eeb8e238f7a8174ff43ea0da5d92"
}
